헤더를 무시하면 세그먼트, 패킷 및 프레임이 같은 크기입니까?


12

세그먼트, 패킷 및 프레임의 차이점과 내가 읽은 내용에 대한 설명을 찾았습니다.

  • 세그먼트는 원본 데이터 + 전송 계층 헤더입니다.
  • 패킷은 세그먼트 + 네트워크 계층 헤더입니다.
  • 프레임은 패킷 + 데이터 링크 계층 헤더입니다.

따라서 기본적으로 헤더를 제쳐 놓으면 세그먼트 = 패킷 = 프레임이됩니다.

데이터 링크 계층이 네트워크 계층에서 전송 한 데이터를 가져 와서 물리 계층이 전송할 작은 데이터 청크로 분할한다는 것을 기억합니다. 따라서 해당 프레임이 주어진 패킷의 작은 조각이라고 가정했습니다.

그러나 검색 할 때마다 세그먼트, 패킷 및 프레임의 유일한 차이점은 다른 레이어의 원본 데이터에 첨부 된 헤더이며 기본적으로는 각 레이어마다 고유하기 때문에 이름이 다릅니다. 같은 것.

세그먼트, 패킷 및 프레임은 각각에 포함 된 헤더를 제외하고는 실제로 동일한 것입니까? 모두 같은 크기입니까?


1
"채우기"또는 데이터 양이 다를 수 있습니다. 여러 네트워크 스택에 구현 된 "Nagle 알고리즘"을 살펴보십시오. en.wikipedia.org/wiki/Nagle's_algorithm
Florenz Kley

답변:


16

여기에 이미지 설명을 입력하십시오

다음과 같이 각 레이어에는 헤더가 있습니다.

  • 세그먼트 : 전송 계층 (TCP / UDP) = 전송 헤더 + 데이터 (상위 계층의)
  • 패킷 : 인터넷 계층 (IP) = 네트워크 헤더 + 전송 헤더 및 데이터 (전송 및 상위 계층의 데이터)
  • 프레임 : 네트워크 계층 (이더넷) = 프레임 헤더 + 네트워크, 전송 헤더 및 데이터 (3 개의 상위 계층).

따라서 귀하의 질문에 대답하기 위해 세그먼트, 패킷 및 프레임의 차이점은 기본적으로 해당 계층이 "데이터"로 간주하는 것입니다. 세그먼트에서 데이터는 응용 프로그램 계층에서 제공됩니다. 패킷에서, 데이터는 전송 계층 (전송 헤더 + 데이터)으로부터 온다; 프레임에서 데이터는 인터넷 계층 (전송 및 인터넷 헤더 + 응용 프로그램 계층의 데이터)에서 가져옵니다.


1
그리고 데이터가 결국 물리 계층을 통해 전송 되는 방식은 어떻습니까? 모든 데이터가 한 번에 전송되지 않으면 분할이 어떻게 작동합니까? 네트워크 및 데이터 링크 계층에서 동시에 발생하며 전송 계층에서 처리됩니까? 답변에서이 프로세스에 대해 자세히 설명해 주시겠습니까?
amiregelz

Diogo는 정확하지만 오해의 소지가있는 몇 가지 고려 사항도 있습니다. 100 바이트의 데이터를 전송하더라도 패킷은 여전히 ​​전체 MTU (일반적으로 ~ 1500 바이트)를 차지합니다. 단점은 작은 패킷을 많이 보내면 네트워크 링크에 대해 가능한 최대 대역폭을 얻을 수 없다는 것입니다. 캡슐화 된 터널 중 일부는이 낭비를 줄이거 나 최소화 할 수 있지만 다른 주제입니다.
TheCompWiz

@Diogo 내 의견에 따라 답변을 편집 할 수 있습니까? 감사합니다.
amiregelz

0

세그먼트, 패킷 및 프레임은 각각에 포함 된 헤더를 제외하고는 실제로 동일한 것입니까?

http://www.inetdaemon.com/tutorials/basic_concepts/communication/frames_packets_n_pdus.shtml

모두 같은 크기입니까?

레이어를 단일 엔티티로 생각하면 아니요. 그들은 모두 최대 및 최소 크기가 다릅니다. 서로에 대해 생각; 하위 계층은 위 계층에서 처리 할 수있는 최대 데이터 크기를 나타냅니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.