18강. ip 데이터그램의 캡슗화, 단편화와 재조립
Download
Report
Transcript 18강. ip 데이터그램의 캡슗화, 단편화와 재조립
(6장. 인터넷과 IP)
5. IP 데이터그램의 캡슐화,
단편화와 재조립
IP 데 이 터 그 램 을 해 당 물 리 망 을 통 해 전 송 하 려 면 해 당
물리망의 프레임에 캡슐화되어야 함.
IP 데이터그램이 해당 물리망의 프레임이 운반할 수 있는
데이터의 최대 크기보다 크면 단편화되어야 하고,
목적지에서는 다시 재조립되어야 함.
5.1 IP 데이터그램의 캡슐화와 프레임 전송
◑ IP는 IP 데이터그램의 목적지 IP 주소를 보고 라우팅 테이블에
의거하여 다음 홉을 결정한다. 즉, 다음 홉의 IP 주소를 구한다.
◑ ARP를 이용하여 다음 홉의 IP주소에 대응하는 물리주소를 구한다.
◑ 다음 홉으로 전달하기 위해 거쳐야 할 물리망의 종류에 따라
해당 물리망의 프레임을 준비하고, 헤드에 물리주소를 채운 후,
데이타그램을 프레임에 캡슐화하여 다음 홉으로 전송한다.
◑ 다음 홉이 프레임을 수신하면 데이터그램을 추출하여 IP 계층으로
올린다. 위 절차의 반복을 통하여 최종 목적지에 데이터그램이
전달되게 된다.
2
5.2 캡슐화
◑ 물리적 네트워크를 통한 데이터그램의 전송은 데이터그램의 형식
을 이해하지 못하므로 프레임으로 캡슐화하여 전송함.
◑ IP를 위해 예약된 특정 값을 프레임 유형 필드에 저장. (IP: 0800)
◑ 프레임의 목적지 주소에 다음 홉의 물리주소를 저장하여 전송.
3
5.3 인터넷을 통한 전송
◑ Animation 17_1
4
◑ 호스트/라우터는 추가적 헤더 없이 메모리에 데이터그램을 저장.
데이터그램은 해당 네트워크의 프레임에 캡슐화되어야 함.
◑ 프레임 헤더와 송수신주소는 물리망의 종류 따라 달라짐.
예) 이더넷 헤더, 토큰링 헤더
◑ 프레임 헤더는 인터넷을 통해 이동하는 동안 누적되지 않음.
◑ 프레임이 도착하면 수신자는 프레임의 데이터 영역으로부터
데이터그램을 추출하고 프레임 헤더는 버린다.
◑ 라우팅에 의해 다음 홉이 결정되면 다음 홉으로의 전달을 위해
거쳐야 할 물리망의 종류에 따라 해당 프레임을 준비하고, 헤드
정보를 채운후, 데이타그램을 프레임에 캡슐화하여 전송한다.
5
질문) 송신 컴퓨터가 전송한 데이터그램의 목적지 주소와 이 데이터
그램이 네트워크를 통과할 때 캡슐화된 프레임의 목적지 주소를 비교
하라.
데이터그램에는 최종 목적지의 IP 주소가 적혀있지만, 프레임에는
그 프레임이 네트워크를 통해 전송될 다음 홉의 물리주소가 실려있다.
라우팅 표에는 다음 홉의 주소가 IP주소로 저장되므로, 이 IP주소
에 대응되는 물리주소로 변환하여 프레임의 목적주소로 사용한다.
이 과정에서 ARP가 사용될 수 있다. 프레임은 네트워크를 통해
다음 홉으로 전달된 후에는 아무 의미가 없게 된다.
6
5.4 MTU, 데이터그램 크기, 그리고 캡슐화
◑ 프레임이 운반할 수 있는 데이터의 최대 양을 명시
이를 MTU (Maximum Transmission Unit)라고 한다.
◑ 단편화(fragmentation): 데이터그램의 크기가 전송할 네트워크
의 MTU보다 크면, 라우터는 그 데이터그램을 단편이라 불리는
작은 조각으로 나누어 각 단편을 독립적으로 보낸다.
◑ 재조립(reassembly): 단편들을 재조합하여 원래 데이터크램의
복사본을 생성하는 과정.
7
질문) 이더넷의 MTU는 얼마인가?
◑ 이더넷 프레임의 데이터 부분은 46 – 1500 바이트이므로, DIX
이더넷의 MTU는 1500바이트이다.
◑ IEEE 802.3에서 정의된 CSMA/CD의 MTU는 (1500바이트
중에서 첫 8바이트는 데이터의 유형을 나타내는 LLC/SNAP
으로 사용되므로) 1492바이트이다.
8
◑ 라우터는 네트워크 MTU와 데이터그램 헤더를 사용하여 단편 생성
◑ 헤더의 FLAGS 필드의 한 비트가 데이터그램이 단편인지 완전한
데이터그램인지를 명시
◑ FRAGMENT OFFSET 필드는 원래 데이터그램에서 그 단편이
어디에 속하는지를 명시
9
5.5 재조립
◑ 단편들로부터 원래 데이터그램을 생성: 재조립(reassembly)
◑ 모든 단편들은 원래 데이터그램과 동일한 목적지 주소를 갖는다.
◑ 자료의 마지막 단편은 헤더에 추가적인 한 비트를 0로 설정함.
◑ 최종 목적지 호스트가 단편들을 재조립한다.
질문) 최종 수신자가 단편들을 재조립할 때, 단편들이 동일한 데이터
그램으로부터 단편화된 것을 어떻게 알 수 있는가?
답변) 동일한 데이터그래으로부터 단편화된 단편들은 헤더의
IDENTIFICATION 필드에 동일한 값을 갖는다. FLAGS=0 이 될때까
지 단편을 재조립하여 원래의 데이터그램을 만든다.
10
질문) 나누어진 단편들을 라우터가 재조립하지 않고 최종 목적지에서
재조립하는 것은 어떤 이유에서인가?
답변) 최종 목적지에서 재조립하면 라우터가 저장할 상태 정보양을
줄일 수 있다. 즉, 데이터그램을 전송할 때, 라우터는 그 데이터그램이
단편인지를 알 필요가 없다.
또한, 만약 중간 라우터가 단편들을 재조립하면, 모든 단편들이 그
라우터에 도착해야 할 것이다. 최종 목적지까지 재조립을
연기함으로써, IP는 데이터그램의 일부 단편들을 다른 단편들과는
다른 경로를 따라 보낼 수 있다는 유연성을 가질 수 있다.
11
5.6 데이터그램 식별
1) IP는 전달을 보증하지 않는다.
=> 개별 단편들은 손실되거나 순서가 어긋나게 도착할 수 있다.
2) 순서가 어긋나게 도착하는 단편들의 재조립
=> IDENTIFICATION 필드가 동일한 단편들을 버퍼링한다.
3) FRAGMENT OFFSET필드: 단편들의 순서를 결정한다.
FLAGS=0 인 단편이 데이터그램의 마지막 단편이다.
12