데이터? 세그먼트? 패킷? 헷갈릴 땐 PDU를 알아보자

이대현·2020년 5월 8일
12

Network

목록 보기
7/9

1. 프로토콜 데이터 단위 (PDU)

프로토콜 데이터 단위(Protocol Data Unit)는 데이터 통신에서 상위 계층이 전달한 데이터에 붙이는 제어정보를 뜻한다.

모든 계층에서, 우리가 전송하는 데이터를 데이터라고 부를까? PDU를 알고난 후 부터는 그렇지 않을 것이다. 물론 데이터 자체는 동일하지만 각 레이어를 거치면서 헤더 정보가 추가되면서 이름이 달라진다.

쉽게 생각하면 -

사용자는 Data 라고 부르고,

TCP는 Segment 라고 부르고,

IP는 Packet 이라고 부르고,

데이터링크는 Frame,

컴퓨터 하드웨어는 그것을 Bit 로 연산하고 다루게 되는 것.

1.1. 세그먼트 (전송 계층(4))

예를 들면, 상위 계층에서 데이터를 전달받은 전송계층에서는 아래의 정보들를 추가해 그룹화 한다. 이때부터 데이터는 데이터가 아니라, 세그먼트라고 불리는 것이다.

  • 발신지 포트 : 발신하는 application의 포트
  • 목적지 포트 : 수신해야 할 application의 포트
  • 순서 번호 : 순차적 전송할 경우 순서를 붙이며, 순서가 어긋나면 목적지 프로토콜이 이를 바로 잡는다.
  • 오류검출코드 : 발신지와 목적지 프로토콜은 세그먼트를 연산하여 오류 검출 코드를 각각 만든다. 만약 발신지에서 전송한 세그먼트에 포함된 오류 검출 코드와 목적지에서 만든 오류 검출 코드가 다르다면 전송되는 과정에서 오류가 발생한 것이다. 이 경우, 수신측은 그 세그먼트를 폐기하고 복구 절차를 밟는다. 오류검출코드는 체크섬, 프레임 체크 시퀀스라고도 부른다.

자세한 내용은 이전 글TCP Header 항목 확인.

1.2. 패킷 (네트워크 계층(3))

전송 계층으로 부터 전달받은 세그먼트는 네트워크 계층의 정보를 포함해 패킷이라고 불리게 된다.

  • 발신지 컴퓨터 주소(Destination IP) : 패킷의 발신자 주소
  • 목적지 컴퓨터 주소(Source IP) : 패킷의 수신자 주소
  • 서비스 요청 : 네트워크 접속 프로토콜은 우선 순위와 같은 서브 네트워크의 사용을 요청할 수 있다.

전반적인 네트워킹에서의 packet의 의미
Circuit switching vs Packet switching 의 개념으로 회선교환(circuit switching)에 대비되는 모든 데이터 교환을 일컬어 packet switching이라고 할 수 있다. ATM cell switching은 물론이고, Ethernet frame switching, Frame Relay frame switching, 등등 회선교환이 아닌 모든 데이터 단위가 packet의 범주에 들어간다.

패킷의 구조이 블로그에서, 패킷의 자세한 전달과정여기서 확인할 수 있다.

2. 그 외 헷갈리던 용어 정리

  • Datagram : 데이터그램은 사용자의 순수한 message를 다르게 부르는 말이다.

  • IP Packet : IP packet에서의 packet은 이 사용자 datagram을 layer-2의 MTU에 맞춰서 토막을 낸 상태. 그러니까 packet은 토막난 상태의 사용자 정보 스트림을 말한다.

  • SDU(Service Data Unit) : PDU와 SDU는 다른 용어이니 헷갈리면 안된다. SDU는 상향/하향 통신 레이어 간에 전달되는 실제 정보를 말한다. PDU는 동일 레이어 내에서 데이터 단위를 부르는 이름이고.

    즉, PDU = PCI(프로토콜 통신 유닛의 줄인말로 쉽게 말하면 헤더 정보) + SDU 라고 생각하자.

3. 참고

http://www.ktword.co.kr/abbr_view.php?m_temp1=310

profile
삽질의 기록들 👨‍💻

1개의 댓글

comment-user-thumbnail
2021년 9월 13일

네트워크 공부하다가 이해가 잘 안가 들렀는 데, 궁금했던 부분들을 해소해주셨습니다!! 감사합니다!!

답글 달기