2016-12-04 2 views
0

900 바이트의 데이터와바이트의 TCP 헤더가 포함 된 TCP 메시지가 있다고 가정합니다. 이제 512 바이트의 최대 프레임 크기를 지원할 수있는 링크가있는 경우이 링크를 통해 전송할 수있을만큼 작은 크기의 전송 레이어에 2 개의 TCP 패킷을 갖게 될 것입니다. 아니면 데이터 링크 계층에서 조각화 될 것입니까?네트워크 계층에서 TCP 패킷 단편화

Transport layer: h1 data 
Network layer:  h2 h1 data 
data link layer: frame 1 - h3 h2 h1 data-part1 
        frame 2 - h3 h2 h1 data-part2 

또는

data link layer: frame 1 - h3 h2 h1 data-part1 
        frame 2 - h3 data-part2 

답변

1

분열에서 IPv4의 DNA의 일부이며, IPv4에서 레이어 3에서 발생합니다

는 다음 중이 발생합니다. IPv6은 단편화를 제거했으며 올바른 크기의 패킷 만 전송하는 것은 송신 호스트에 달려 있습니다 (데이터의 사전 조각화).

라우터는 계층 3 (네트워크 계층)에서 작동하며 IPv4의 라우터에서는 조각화가 발생합니다. IPv6 패킷이 다음 홉에 비해 너무 큰 경우 라우터에서 비정상적으로 삭제되고 ICMPv6 메시지가 원본 호스트로 다시 전송됩니다.

RFC 791, INTERNET PROTOCOL

:

필요한 경우 인터넷 프로토콜은 또한 "작은 패킷"네트워크를 통해 전송을 위해, 분열과 긴 데이터 그램의 재 조립 을 제공

. 주소 및 조각 :

인터넷 프로토콜은 두 가지 기본 기능을 구현합니다.

다른 하나 개의 인터넷 모듈로부터 메시지 라우팅

는 그램은 그 최대 패킷 크기 그램의 크기보다 작은 네트워크를 통과 할 필요가있다. 이러한 어려움을 극복하기 위해 인터넷 프로토콜에 프래그먼트 메커니즘이 제공됩니다.

분열 과정에 대한 설명 : 그것은 큰 패킷 크기를 허용하는 로컬 네트워크에 을 기원하고 을 통과해야하는 경우

분열 인터넷 데이터 그램의

분열이 필요하다 로컬 네트워크는 패킷을 더 작은 크기로 제한하여 목적지에 도달합니다.

인터넷 데이터 그램을 "조각 내기하지 마십시오"라고 표시 할 수 있습니다. 그렇게 표시된 모든 인터넷 데이터 그램은 어떤 환경 하에서도 인터넷 조각화되지 않아야합니다. 조각으로 표시하지 않은 인터넷 데이터 그램을 조각화하지 않고 목적지에 배달 할 수없는 경우에는 이 대신 폐기됩니다.

인터넷 프로토콜 모듈에서 보이지 않는 로컬 네트워크 을 통한 조각화, 전송 및 재 조립은 인트라넷 조각화라고하며 [6] 사용할 수 있습니다.

인터넷 조각화 및 재 조립 절차를 통해 은 데이터 그램을 나중에 임의의 수로 조각내어 나중에 다시 어셈블 할 수 있어야합니다. 프래그먼트의 수신자는 식별 필드를 사용하여 서로 다른 데이터 그램 의 조각이 섞이지 않도록합니다. 프래그먼트 오프셋 필드는 수신자에게 원래의 데이터 그램에있는 프래그먼트의 위치를 ​​알려줍니다 ( ). 프래그먼트 오프셋은 이고 길이는 으로 처리되는 원본 데이터 그램의 부분을 결정합니다. more-fragments 플래그는 마지막 조각을 나타냅니다 (재설정 됨). 이 필드는 데이터 그램을 재구성하는 데 충분한 정보를 제공합니다.

식별 필드는 하나의 데이터 그램의 조각을 다른 조각과 구별하기 위해 사용됩니다. 인터넷 데이터 그램의 발신 프로토콜 모듈은 식별 필드를 의 소스 - 대상 쌍과 프로토콜에 대해 고유 한 값으로 설정하고 인터넷 시스템에서 데이터 그램이 활성화됩니다. 원래의 데이터 그램의 프로토콜 모듈은 more-fragments 플래그를 으로 설정하고 조각 오프셋을 0으로 설정합니다.

는 신규 인터넷 헤더에 두 개의 새로운 인터넷 데이터 그램 복사 긴 데이터 그램이 인터넷 헤더 필드의 내용을 생성한다 (게이트웨이에서 예) 긴 인터넷 데이터 그램, 인터넷 프로토콜 모듈 단편 . 긴 데이터 그램의 데이터는 8 옥텟 (64 비트) 경계에서 두 부분으로 나뉘어집니다 (두 번째 부분 은 8 옥텟의 정수 배가 아닐 수도 있지만 첫 번째는 같아야합니다). 첫 번째 부분 NFB에서 8 옥텟 블록 수를 호출합니다 (조각 블록의 수는 ). 데이터의 첫 번째 부분은 첫 번째 새 인터넷 데이터 그램에 배치되고 총 길이 필드는 첫 번째 데이터 그램의 길이 인 으로 설정됩니다. more-fragments 플래그는 1로 설정됩니다. 데이터의 두 번째 부분은 두 번째 새 인터넷 데이터 그램에 배치되고 총 길이 필드는 두 번째 데이터 그램 인 의 길이로 설정됩니다. more-fragments 플래그는 긴 데이터 그램 인 과 동일한 값을 전달합니다. 두 번째 새로운 인터넷 데이터 그램의 프래그먼트 오프셋 필드는 해당 데이터 필드의 값인 데이터 그램과 NFB에 설정됩니다.

이 절차는 설명 된 양방향 분할 대신 n 방향 분할에 대해 일반화 할 수 있습니다. 식별, 소스, 목적지, 프로토콜 :

인터넷 모든 네 개의 필드에 대해 동일한 값을 가질 그램 결합 (목적지 호스트에서 예), 인터넷 프로토콜 모듈을 인터넷 데이터 그램의 단편을 조립 . 그 조합은 헤더 부분에있는 프래그먼트 오프셋으로 표시된 상대적인 위치에 각 프래그먼트의 데이터 부분을 배치하여 완료됩니다. 첫 번째 조각은 프래그먼트 오프셋이 0이고, 은 마지막 조각에 more-fragments 플래그가 0으로 재설정됩니다.