티스토리 뷰

문제 1.

답.

4480 옥텟의 데이터그램을 쪼개야 한다. 4480 의 데이터 그램은 TCP 까지 포함된 길이이다.모든 단편화된 프레그먼트 ( 패킷 ) 들은 IP 헤더 20 옥텟을 포함해야 된다.

최대 페이로드가 1500 옥텟 이므로 [ 1480옥텟 ( 데이터 ) + 20 (IP 헤더) ] 의 모습을 가지게 된다. 4480 옥텟이므로 이를 나눠보면 1480+1480+1480+40 이 된다. 총 4개의 프레그먼트가 생성이 된다.

1번 프레그먼트 : 20 (IP 헤더) + 1480 ( 데이터 ) // flag : 1 // offset : 0

2번 프레그먼트 : 20 (IP 헤더) + 1480 ( 데이터 ) // flag : 1 // offset : 185

3번 프레그먼트 : 20 (IP 헤더) + 1480 ( 데이터 ) // flag : 1 // offset : 370

4번 프레그먼트 : 20 (IP 헤더) + 40 ( 데이터 ) // flag : 0 // offset : 555

1,2,3번은 뒤에 이어지는 단편이 있으므로 flag 는 1값을 가진다. offset = 자기보다 앞선 단편의 길이 / 8 이다.

2번 프레그먼트의 경우 1480 / 8 이 되고, 3번은 2860 / 8 , 4번은 4440 /8 이 offset 값이 된다.

 


 

문제2.

답.

1번 문제 )

32개는 2^5 이므로 32개의 IP 주소 중 27개는 네트워크 주소이고 5개가 호스트 주소가 된다. 서브넷 마스크는

네트워크 주소를 1 호스트 주소를 0으로 표현하므로 다음과 같다.

2진수 표현

11111111 11111111 11111111 11100000

10진수 표현

255.255.255.224

2번 문제 )

IP 주소의 /27 은 서브넷 마스크의 1의 개수를 의미한다. 네트워크 주소가 총 27비트이고 호스트 주소가 총 5비트이다. 따라서 호스트 주소는 총 32개가 인가 되었다.

문제에서 159 가 마지막 주소라고 하였으므로 첫번째 주소의 마지막 8비트는 159-32+1= 128 이 된다.

답 : 202.166.100.128 / 32개

※ 2번 문제에서 마지막 주소를 이진수로 표현하면 아래와 같다. 만약 네트워크 클래스 C를 사용한다고 하면

11001010 10100110 1100100 10011111

여기서 앞의 27 비트가 네트워크 주소이다.

네트워크 주소 : 11001010 10100110 1100100 100

C 클래스의 경우 24 비트가 네트워크 주소이므로 서브넷 주소는 100 이 된다.

따라서 서브넷 번호는 100(2) = 4

호스트 번호는 호스트의 주소를 의미하므로 11111 이 된다.

따라서 호스트 번호는 11111(2) = 32