본문 바로가기
Network/네트워크 기초 이론

[네트워크 기초 이론] 네트워크에서 언급되는 데이터 단위 (7/38)

by ganyga 2024. 2. 16.

이 글은 YouTube 널널한 개발자 TV님의 영상을 보고 정리한 글입니다. 해당 영상의 주소는 하단에 첨부했습니다.

 

L5, L6, L7계층을 묶어서 Application이라고 하면, 이 수준은 Socket 수준임
User mode 수준 = Socket 수준

 

 

데이터가 실제로 생성되고 사라지는 과정을 알아보면,

어떤 Process가 존재할 때 Kernel을 추상화한 것이 File인데, 이 File을 Socket이라고 함

File = Socket

 

Kernel 요소에 대한 User mode 접근은 모두 장치 'File'로 이루어짐

Socket File이기 때문에 데이터 단위를 Stream이라고 생각하면 됨

 

Stream은 시작은 있는데 언제 끝나는지 모름

중요한 것은 길이가 굉장히 길어져서 IP 수준에서 논하는 단위보다 길어질 수 있음

 

네트워크 전송 흐름

Transport 전송 계층(L4) : TCP 수준에서 다루는 단위는 Segment

Network 네트워크 계층(L3) : IP 수준에서 다루는 단위는 Packet

H/W 수준은 Frame

 

User mode에서 Application Process가 File에 Stream 데이터를 Write 함

이때, User mode에서 Kernel로 내려가서 TCP를 만나면, Stream 데이터가 Segment화 됨, 쉽게 말하면 분해(자르기)가 됨

이 과정을 Segmentation 이라고 함

 

Stream 데이터를 일정 크기로 자르는 데,

일정 길이의 최대 길이는 TCP 수준에서 MSS(Maximum Segment Size)이라고 함

MSS는 Packet에 최대 전송 크기인 MTU(Maximum Transmission Unit)에 기초에 의해 만들어짐

특별한 이유가 없다면 MTU는 1,500 bytes임

 

정리)

네트워크 데이터 전송 흐름

  1. Usermode 수준(= Socket 수준)에서는 Application Process가 Socket(File)에 Stream 데이터를 Write 함
  2. Kernel 수준에서는
    Transport 계층에서 Stream 데이터에 대해 MSS(Maximum Segment Size)를 기준으로 일정 크기로 잘라서 Segment로 만듦(Segmentation)
    Network 계층에서 잘라진 조각인 Segment를 인터넷으로 전송 가능한 형태인 Packet으로 포장함
    즉, Packet에 최대 크기인 MTU에 Segment를 포장하므로 MTU > MSS임
  3. H/W 수준에서 Packet을 실어 나르기 위해 다시 Frame으로 데이터를 넣음(Encapsulation)함

출처

YouTube 널널한 개발자 TV - 네트워크에서 언급되는 데이터 단위