(네트워크) TCP/IP 모델

  • by

TCP/IP란?

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


IP란?

  • 지정된 IP 주소에 데이터 조각을 패킷 단위로 가능한 한 빨리 목적지로 보내는 역할
  • 순서나 누락에 대해 신경쓰지 않는다

– 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)”


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 (파일 전송 프로토콜) : TCP 환경에서의 파일 전송 프로토콜
  • TFTP (Trival File Transfer Protocol) : UDP 환경에서의 파일 전송 프로토콜
  • HTTP(Hypertext Transfer Protocol): 웹사이트 방문

– 전송 계층

  • TCP
  • UDP

– 인터넷 계층

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

– 네트워크 액세스 계층