Packet / Fragment / Frame / Datagram / Segment

woolee의 기록보관소·2022년 11월 3일
0

FE개념정리

목록 보기
3/35

네트워크 데이터 단위 정리

네트워크는 정보 전송 및 공유를 쉽게 만들었다. 인터넷을 통해 로컬 네트워크 또는 전세계적으로 정보를 공유할 수 있다. 공유하는 동안의 데이터는 바이트(byte)로 표시된다. (네트워크란 2대 이상의 컴퓨터가 연결된 그룹을 말하며, 인터넷은 네트워크의 네트워크로 볼 수 있다)

데이터 바이트는 OSI 네트워크 모델에서 특정 형식을 갖는다. 각 계층마다 사용된 프로토콜 또는 연결에 따라 데이터 단위가 다르다.

각 계층을 거치면서 헤더 정보가 추가되고 그에 따라 데이터 단위의 이름도 달라진다(PDU, Protocol Data Unit).

Packet

OSI 모델에서 패킷은 네트워크 계층 내의 데이터 단위이다.

네트워크에서 sourse와 destination 간 통신의 기본 단위가 패킷(packet)이다. 네트워크를 통해 전송된 데이터는 패킷으로 분할되고 대상 장치에서 재결합된다. 데이터를 패킷으로 나누면 네트워크에서 서로 다른 대역폭, 경로 및 데이터를 공유하고 서로 독립적으로 패킷을 수신하는 여러 연결장치를 관리할 수 있다.

이론적으로 파일과 데이터는 패킷으로 쪼개지 않고 인터넷을 통해 전송할 수 있다. 하나의 컴퓨터는 끊어지지 않는 긴 비트 라인 형태(컴퓨터가 해석할 수 있는 정보의 단위)로 다른 컴퓨터에 데이터를 보낼 수 있다. 하지만 2대 이상의 컴퓨터가 관련되면 문제가 생긴다. 긴 비트라인이 두 컴퓨터 사이 전송되는 동안 제3의 컴퓨터는 차례를 기다려야 하기 때문이다.

그러므로 이와 달리 인터넷은 기본적으로 '패킷 교환' 네트워크(packet switching network)이다. 패킷 교환을 함으로써, 여러 대의 컴퓨터가 동일한 네트워크 장비로 서로 연결할 수 있다. 결과적으로 동시에 수많은 장치가 인터넷에서 동시에 데이터를 주고 받을 수 있게 된다.

각 패킷은 목적지에 도달하는 데 필요한 정보를 갖고 있다. 보낸 사람의 IP 주소, 받을 사람의 IP 주소, 해당 데이터가 얼마나 많은 패킷으로 분할되었는지 등.

패킷에는 약 1,000 ~ 1,500 byte의 데이터가 포함될 수 있으므로 전체 데이터를 구성하는 패킷의 수는 데이터 크기에 따라 다를 수 있다.

패킷 헤더는 패킷의 내용, 출발지 및 목적지에 대한 정보를 제공하는 일종의 "label"이다.

  • 패킷 길이 (일부 네트워크에는 고정 길이 패킷이 있지만 어쨌든 패킷 길이를 명시한다)
  • 동기화 (패킷이 네트워크와 일치하는 데 도움이 되는 몇 개의 비트들)
  • 패킷 번호
  • 프로토콜(프로토콜이란, 모든 컴퓨터에서 데이터를 해석할 수 있도록 데이터 형식을 지정하는 표준화된 방법이다. 이메일, 웹페이지, 스트리밍 비디오 등 패킷의 유형을 지정한다)
  • 목적지
  • 발신지

payload

패킷의 본문 또는 데이터라고 한다. 패킷이 만약 고정된 길이라면, 페이로드에 빈 정보를 채워 올바른 크기로 만들 수도 있다.

trailer

footer라고도 한다. 예고편이라고도 하는데, 일반적으로 수신 장치에 패킷의 끝에 도달했음을 알려주는 몇 개의 비트가 포함되어 있다. 또한 일종의 오류 검사가 포함되어 있음. 패킷에 사용되는 가장 일반적인 오류 검사를 CRC(Cyclic Redundancy Check)라고 한다.

Fragment

각 네트워크에는 MTU(Maximum Transmitted Unit)라고 하는 최대 전송 데이터 크기가 존재한다. 패킷은 종종 최대 크기보다 클 수 있으므로 각 패킷은 Fragment라는 더 작은 데이터 조각으로 나뉜다. 네트워크 계층은 fragmentation을 담당한다.

네트워크마다 고유한 MTU 용량이 있으므로 전송을 위해서는 패킷의 fragmentation이 필요하다. 수신자는 IP fragment를 패킷으로 재조립해서 상위 계층으로 전달한다.

네트워크 계층은 패킷을 받으면 패킷의 MTU를 확인한다. 패킷 길이가 MTU보다 크면 네트워크 계층은 패킷과 관련된 Don’t Fragment (DF) flag를 확인한다. DF flag가 1이면 패킷을 버리고 1이 아니면, 네트워크 계층이 fragment 크기를 결정한 뒤, 헤더 내에 fragment를 넣어서 상위 계층으로 전달한다.

Frame

패킷과 프레임의 주요 차이점은 OSI 계층과의 연결이다.

패킷이 네트워크 계층에서 사용되는 데이터 단위라면
프레임은 OSI 모델의 데이터 링크 계층에서 사용되는 데이터 단위이다. 프레임에는 패킷보다 더 많은 정보를 포함한다.

Datagram

데이터그램은 네트워킹에서 데이터 전송 단위를 나타낸다. 전송 계층에서의 데이터 단위지만, TCP가 아닌 UDP에서는 패킷이 아니라 데이터그램이라고 부른다.

패킷은 연결지향인 TCP에서 사용하는 반면, 데이터그램은 UDP에서 사용되므로 응답메시지가 필요하지 않다. 그래서 정보를 적게 전달한다. 데이터그램은 헤더, sourse 및 destination의 IP 주소, 데이터로 구성된다.

데이터그램의 문제는 후속 또는 이전 데이터 통신을 관리할 수 없다는 점이다.

Segment

세그먼트는 각 패킷에 TCP 헤더가 있는 패킷 조각이다. 전송 계층에서의 데이터 단위이다.

소스 및 대상 포트와 함께 네트워크를 통해 전달된 데이터의 정확성을 보장하는 checksum 필드가 포함되어 있다. 세그먼트는 네트워크 성능의 효율성을 높이고 보안을 향상시킨다.

TCP 연결로 이메일을 보낸 경우, 작업을 완료하기 위해 전송 계층에 존재하는 데이터가 세그먼트의 예시이다.

참고

What is a packet? | Network packet definition
What is a packet?
Definition of Network Units: Packet, Fragment, Frame, Datagram, and Segment

07: Transport layer - Segmentation, packaging and reassembly part 1

profile
https://medium.com/@wooleejaan

2개의 댓글

comment-user-thumbnail
2024년 5월 17일

This is a good question. It highlights a key aspect sky crown online casino of the topic and encourages a deeper dive into the subject matter. Such a question promotes thoughtful discussion and can lead to significant insights and a more comprehensive understanding.

답글 달기
comment-user-thumbnail
2024년 9월 15일

With each hand, Jason became more invested, studying basic strategies and observing how other players managed their bets. He began applying what he had learned, gradually increasing his stakes as he felt more confident. This approach https://pin-up-casino-kaz.kz/ paid off when he hit a winning streak that significantly boosted his balance. By the end of the night, Jason had transitioned from a casual player to a high roller, thanks to his newfound understanding of blackjack strategy. His experience highlighted how dedication and strategic learning could turn a casual pastime into a thrilling and profitable endeavor.

답글 달기