ssung_끄적끄적/CS지식_끄적

TCP/IP 4계층 모델

ssungcohol 2023. 8. 30. 23:32

 - 인터넷 프로토콜 스위트 (internet protocol suite)는 인터넷에서 컴퓨터들이 정보를 주고받는데 쓰이는 프로토콜의 집합

 - 이를 TCP/IP 4계층 모델 또는 OSI 7계층 모델로 불림


계층 구조

 - TCP/IP 계층은 네개의 계층을 가지고, OSI 7계층과 많이 비교

  • TCP/IP 계층 
    • 더보기
       - 애플리케이션 계층
       - 전송 계층
       - 인터넷 계층
       - 링크 계층
  • OSI 7계층 
    • 더보기
       - 애플리케이션 계층
       - 프레젠테이션 계층
       - 세션 계층
       - 전송 계층
       - 네트워크 계층
       - 데이터 링크 계층
       - 물리 계층

 - TCP/IP 계층과 달리 OSI 계층은 애플리케이션 계층을 세 개로 쪼개고 링크 계층을 데이터 링크 계층, 물리 계층으로 나눠서 표현한 것이 다르며, 인터넷 계층을 네트워크 계층으로 부름

 - 이 계층들은 특정 계층이 변경되었을 때 다른 계층이 영향을 받지 않도록 설계됨

  • 애플리케이션 계층
     - FTP, HTTP, SSH, SMTP, DNS 등 응용 프로그램이 사용되는 프로토콜 계층
     - 웹 서비스, 이메일 등 서비스를 실질적으로 사람들에게 제공하는 층
  • 전송 계층
     - 송신자와 수신자를 연결하는 통신 서비스를 제공
     - 연결 지향 데이터 스트림 지원, 신뢰성, 흐름 제어를 제공
     - 애플리케이션과 인터넷 계층 사이의 데이터가 전달될 때의 중계 역할
     - 대표적으로 TCP와 UDP가 있음
    • TCP
       - 패킷 사이의 순서를 보장하고 연결지향 프로토콜을 사용하여 연결
       - 신뢰성을 구축하여 수신 부를 확인하며 '가상회선 패킷 교환 방식'을 사용
       - 가상회선 패킷 교환 방식 : 순서대로 패킷이 도착하는 방식
      • TCP 연결 성립 과정
         - TCP는 신뢰성을 확보 할 때 '3-way handshake' 작업을 진행
         - UDP는 해당 과정이 없음
      • TCP 연결 해제 과정
         - 연결을 해제 할 때는 '4-way handshake' 과정을 진행
    • UDP
       - 순서를 보장하지 않고 수신 여부를 확인하지 않음
       - 단순히 데이터만 주는 '데이터그램 패킷 교환 방식'을 사용
       - 데이터 그램 패킷 교환 방식 : 패킷이 다른 경로로 전송되어 도착 순서가 다를 수 있는 방식

인터넷 계층

 - 장치로부터 받은 네트워크 패킷을 IP주소로 지정된 목적지로 전송하기 위해 사용되는 계층
 - IP, ARP, ICMP등이 있으며 패킷을 수신할 상대의 주소를 지정하여 데이터 전달
 - 상대방이 제대로 받았는지 보장하지 않는 비연결형적인 특징


링크 계층

 - 전선, 광섬유, 무선 등 실직적으로 데이터를 전달하며 장치 간에 신호를 주고받는 '규칙'을 정하는 계층
 - '네트워크 접근 계층' 이라고도 함
 - 물리 계층과 데이터 링크 계층으로 나누기도 함
 - 물리 계층은 무선 LAN과 유선 LAN을 통해 0과 1로 이루어진 데이터를 보내는 계층
 - 데이터 링크 계층은 '이더넷 프레임'을 통해 에러 확인, 흐름제어, 접근 제어를 담당하는 계층


계층 간 데이터 송수신 과정

 - HTTP를 예로 들면, 애플리케이션 계층에서 전송 계층으로 보내는 요청 값들이 캡슐화 과정을 거쳐 전달
 - 이를 링크 계층을 통해 해당 서버와 통신
 - 서버의 링크 계층으로부터 애플리케이션까지 비캡슐화 과정을 거쳐 데이터가 전송

  • 캡슐화 과정
     - 상위 계층의 헤더와 데이터를 하위 계층의 데이터 부분에 포함시키고 해당 계층의 헤더를 삽입하는 과정
     - 애플리케이션 계층의 데이터가 전송 계층으로 전달되면서 '세그먼트' 또는 '데이터그램'화가 진행되어 TCP(L4) 헤더가 붙여짐
     - 이후, 인터넷 계층으로 가면서 IP(L3) 헤더가 붙여지며 '패킷'화가 진행
     - 마지막으로 링크 계층으로 전달되면서 프레임 헤더와 프레임 트레일러가 붙어 '프레임'화가 됨
  • 비캡슐화 과정
     - 하위 계층에서 상위 계층으로 가며 각 계층의 헤더 부분을 제거하는 과정
     - 캡슐화된 데이터를 받게 되면 링크 계층부터 타고 올라오면서 프레임화 된 데이터는 다시 패킷화를 거침
     - 이후, 세그먼트-데이터그램화를 거쳐 메시지화가 되는 비캡슐화 과정이 이루어짐
     - 최종적으로 사용자에게 애플리케이션의 PDU인 메시지로 전달

PDU (Protocol Data Unit)

 - 네트워크의 어떠한 계층에서 계층으로 데이터가 전달될 때 한 덩어리의 단위
 - PDU는 제어 관련 정보들이 포함된 '헤더', 데이터를 의미하는 '페이로드'로 구성되어 계층마다 부르는 명칭이 다름
    - 애플리케이션 계층 = 메시지
    - 전송 계층 = 세그먼트(TCP), 데이터그램(UDP)
    - 인터넷 계층 = 패킷

    - 링크 계층 = 프레임(데이터 링크 계층), 비트(물리 계층)

 - PDU 중 아래 계층인 비트로 송수신하는 것이 모든 PDU 중 가장 빠르고 효율성이 좋음

 - 하지만, 애플리케이션 계층에서는 문자열을 기반으로 송수신함
    - > 이유는, 헤더에 autorization 값 등 다른 값들을 넣는 확장이 쉽기 때문

728x90