data life

[네트워크] TCP/IP 모델 본문

카테고리 없음

[네트워크] TCP/IP 모델

주술회전목마 2023. 2. 17. 20:00

TCP / IP 란?

앞서 소개한 OSI7 계층은 표준 모델로서 작용하고 현재 우리가 인터넷을 사용하기 위해 작용하는 모델은 TCP / IP 계층이다.

 

IP 란?

  • 지정한 IP 주소에 데이터의 조각들을 패킷(packet) 단위로 최대한 빨리 목적지로 보내는 역할
  • 순서나 누락에 대해 신경쓰지 않음

- IPv4 : Internet Protocol version 4

   : 32bit로 구성 (8bit.8bit.8bit.8bit : 0.0.0.0 ~ 255.255.255.255)

- IPv6 : Internet Protocol version 6

   : 128bit로 구성

 

TCP 란?

  • 정확한 패킷 데이터의 전달로 보낸 순서대로 받게 해줌
  • 도착한 조각을 확인하여 손상/누락된 데이터를 다시 요청
  • 고유의 'SYN'와 'ACK'라는 TCP 플래그를 사용한다. (일종의 확인 마크 정도로 이해하면 된다)
    • SYN : 접속 요청
    • ACK : 요청 수락

 

📌 TCP 연결 방식

3-way-handshake

- 연결 과정

- 3단계로 구성

   : "보내도됨? (SYN)"  ➡️  "ㅇㅇ(SYN + ACK)"  ➡️  "ㅇㅋ보냄(ACK + 데이터)"

https://ipcisco.com/lesson/tcp-transmission-control-protocol/

4-way-handshake

 

- 연결 해제 과정

- 4단계로 구성

  : "나 가도 됨? (FIN)" ➡️ "잠만 가야됨? (ACK)" ➡️  "ㅇㅋㅇㅋ 가셈 (FIN)" ➡️  "ㅂㅂ (ACK)"

https://ipcisco.com/lesson/tcp-transmission-control-protocol/

📌 TCP 제어

네트워크 트래픽에 따라 신뢰적이고 효율적인 데이터 전송을 위한 제어 알고리즘을 적용한다.

흐름 제어 : Sliding Window

  • 송신 측은 수신 측의 데이터 처리 속도를 파악하고 얼마나 빠르게 어느 정도의 데이터를 전송할 지 제어
  • 슬라이딩 윈도우(Sliding Window) 방식 사용
    • Window(= 데이터를 담는 공간)의 사이즈를 확인해서 ACK 없이 연속해서 송신하는 방식

https://blog.kakaocdn.net/dn/Y1hRn/btrIdYGWFmy/It23g80iNdRjZqnbmTMLr0/img.png

>> 다음과 같이 요청, 요청수락 과정에서 윈도우 사이즈 정보도 교환하게 됨

 

혼잡 제어 :

  • 네트워크 혼잡 상태가 감지되면 송식 측의 전송 데이터 크기를 조절하여 전송량을 제어
  • 송신제어를 위한 윈도우
    • RWND : 흐름 제어에서 활용
    • CWND : 네트워크 혼잡 제어를 위해 활용
  • Tahoe, Reno, New Reno, Cubic, Elastic-TCP ..등 다양한 혼잡 제어 기법이 존재

 

 

TCP / IP 계층

- 응용계층

  • DNS (Domain Name System) : 이름 해석
  • SMTP/POP3 (Simple Mail Transfer Protocol) : 메일 송/수신
  • FTP (File Transfer Protocol) : TCP 환경에서 파일 전송 프로토콜
  • TFTP (Trival File Transfer Protocol) : UDP 환경에서 파일 전송 프로토콜
  • HTTP (Hypertext Transfer Protocol) : 웹사이트 접속

- 전송계층

  • TCP
  • UDP

- 인터넷 계층

  • IP : 비연결 서비스
  • ICMP : IP 제어
  • ARP : 논리 주소(IP) > 물리 주소(MAC)
  • RARP : 물리 주소(MAC) > 논리 주소(IP)

- 네트워크 접근 계층