TCP/IP 4계층 모델

  • TCP/IP 4계층은, TCP/IP 프로토콜 통신 과정에 초점을 맞추어, OSI 7계층을 좀 더 단순화 시킨 계층을 의미합니다.

 계층 구조

TCP/IP 모형은 현재의 인터넷에서 컴퓨터들이 서로 정보를 주고받는데 쓰이는 통신규약(프로토콜)의 모음으로 각 계층은 담당하는 위치마다 처리 역할을 구분해 진행함으로 서로 간의 간섭을 최소화하여 사용의 편리성을 높힌다
호환성 보장(다른 제조사 장비들끼리도 통신 가능)으로 인한 비용 절감쉬운 문제 해결(계층별로 문제 확인 가능)다른 계층끼리는 각 전달 과정을 알 필요없어 데이타의 캡슐화(헤더첨부)와 은닉이 가능

L4 애플리케이션(응용) 계층

  • FTP, HTTP, SSH, SMTP, DNS, TELNET 등 응용 프로그램이 사용되는 프로토콜 계층
  • 웹 서비스, 이메일 등 서비스를 실질적으로 사람들에게 제공하는 층
  • 사용자 응용프로그램 인터페이스를 담당
  • 데이터 단위: Data/Message

L3 전송 계층

  • 송신자와 수신자를 연결하는 통신 서비스를 제공
  • 연결 지향 데이터 스트림 지원, 신뢰성, 흐름 제어 제공
  • 애플리케이션 계층과 인터넷 계층 사이의 데이터가 전달될 때의 중계 역할
  • TCP, UDP, RTP, RTCP
  • 데이터 단위: Segment
    전송 주소: Port
TCP : 패킷 사이의 순서를 보장
           연결지향 프로토콜을 사용해서 연결을 하여 신뢰성을 구축해서 수신 여부를 확인
           '가상회선 패킷 교환 방식' 사용
UDP : 순서를 보장하지 않고 수신여부를 확인하지 않음
           단순히 데이터만 주는 '데이터그램 패킷 교환 방식'
TCP 연결 성립 과정
  • 3-way handshake 라는 작업을 진행
    1. SYN 단계: 클라이언트는 서버에 클라이언트의 ISN을 담아 SYN을 보냄. (ISN: 새로운 TCP 연결의 첫번째 패킷에 할당된 임의의 시퀀스 번호, 장치마다 다름)
    2. SYN+ACK 단계: 서버는 클라이언트의 SYN을 수신하고 서버의 ISN을 보내며 승인번호로 클라이언트의 ISN+1을 보냄
    3. ACK 단계: 클라이언트는 서버의 ISN+1 한 값인 승인번호를 담아 ACK를 서버에 보냄
  • 이 작업 이후 신뢰성이 구축되고 데이터 전송을 시작
  • UDP는 이 과정이 없기 때문에 신뢰성이 없는 계층이라고 함
TCP 연결 해제 과정
  • 4-way handshake 
    1. 클라이언트가 연결을 닫으려고 할 때 FIN으로 설정된 세그먼트를 보냄. 클라이언트는 FIN_WAIT_1 상태로 들어가고 서버의 응답을 기다림
    2. 서버는 클라이언트로 ACK라는 승인 세그먼트를 보냄. CLOSE_WAIT 상태에 들어감. 클라이언트가 세그먼트를 받으면 FIN_WAIT_2 상태에 들어감
    3. 서버는 ACK를 보내고 일정 시간 이후에 클라이언트에 FIN이라는 세그먼트를 보냄
    4. 클라이언트는 TIME_WAIT 상태가 되고 다시 서버로 ACK를 보내서 서버는 closed 상태가 됨. 
  • TIME_WAIT가 있는 이유? 
    • 지연 패킷이 발생할 경우를 대비하기 위함. 패킷이 뒤늦게 도달하고 이를 처리하지 못한다면 데이터 무결성 문제가 발생함.
    • 두 장치가 연결이 닫혔는지 확인하기 위함. 만약 LAST_ACK 상태에서 닫히게 되면 다시 새로운 연결을 하려고 할 때 장치는 줄곧 LAST_ACK로 되어있기 떄문에 접속오류가 나타남.
    • *TIME_WAIT: 소켓이 바로 소멸되지 않고 일정 시간 유지되는 상태. CentOS, 우분투에는 60초, 윈도우는 4분으로 설정되어 있음

L2 인터넷 계층

  • 장치로부터 받은 네트워크 패킷을 IP 주소로 지정된 목적지로 전송하기 위해 사용되는 계층
  • 패킷을 최종 목적지까지 라우팅하는 계층
  • IP, ARP, ICMP, RARP, OSPF
  • 데이터 단위: 패킷
    전송 주소: IP

L1 네트워크 액세스 계층

  • 데이터를 전기신호로 변환한 뒤, 물리적 주소인 MAC 주소를 사용해, 알맞은 기기로 데이터를 전달하는 계층
  • 물리 계층과 데이터 링크 계층으로 나누기도 한다
  • 물리 계층 : 무선 LAN과 유선LAN을 통해 0과 1로 이루어진 데이터를 보내는 계층
  • 데이터 링크 계층 : '이더넷 프레임'을 통해 에러 확인, 흐름 제어, 접근 제어를 담당하는 계층
  • 데이터 단위: 프레임
    전송 주소: MAC
  • Ethernet, Wi-Fi, PPP, Token Ring 과 같은 프로토콜이 사용

계층 간 데이터 송수신 과정

  • 데이터 전송 시, 데이터는 상위 계층에서 하위 계층으로 이동하고, 계층 이동 마다 필요한 정보(헤더)가 추가합니다.
    • 이를, 캡슐화라고 한다
  • 데이터 수신 시, 데이터는 하위 계층에서 상위 계층으로 이동하고, 계층 이동 마다 추가된 헤더를 읽고 알맞은 행동을 취한 후, 헤더를 제거합니다.
    • 이를, 역캡슐화라고 합니다.


PDU (Protocol Data Unit)

  • 네트워크의 어떠한 계층에서 계층으로 데이터가 전달될 때 한 덩어리의 단위를 'PDU'라고 합니다.
계층 PDU
애플리케이션 계층 메시지
전송 계층 세그먼트(TCP), 데이터그램(UDP)
인터넷 계층 패킷
링크 계층 프레임(데이터 링크), 비트(물리)

 

복사했습니다!