【计算机网络】 “IPv4协议”典型例题

一、前言

接着上一次的博客,这次记录 “IPv4协议”部分的一个典型例题。

二、题目

1.如图所示网络。
【计算机网络】 “IPv4协议”典型例题_第1张图片
请回答下列问题:
(1)主机在配置IP地址时,其正确的子网掩码和默认网关分别是多少?
(2)若路由器R在向互联网转发一个由主机192.168.1.5发送、ID=12345、length=500B、DF=1的IP分组时,则该IP分组首部的哪些字段会被修改?如何修改?
(3)若主机192.168.1.10向互联网ID=6789、length=1500B、DF=0的IP分组时,路由器需要将该IP分组分为几片(每片尽可能封装为最大片)?给出分片结果,包括每片的ID、DF、MF、length、offset的取值。

答案:

1)子网掩码:255.255.255.240,默认网关:192.168.1.1。

2)该IP分组首部的源IP地址、生存时间TTL和首部校验和字段会被修改,源IP地址192.168.1.5会被替换为130.11.22.3,生存时间TTL减1,首部校验和字段会重新计算。

3)路由器需要将该IP分组分为4片,分片结果如下:

第1片:{ID=6789,DF=0,MF=1,length=508,ffset=0};

第2片:{ID=6789,DF=0,MF=1,length=508,ffset=61};

第3片:{ID=6789,DF=0,MF=1,length=508,offset=122};

第4片:{ID=6789,DF=0,MF=0,length=36,offset=183}。

解析:

1)由图中主机192.168.1.0/28, 得“/28”是主机的子网掩码,即32位子网掩码有28个1:
11111111.11111111.11111111.11110000 = 255.255.255.240。
默认网关即主机通过的第一个路由器接口的IP地址:192.168.1.1。

2)由图知,采用 NAT 技术,所以将私网地址192.168.1.5更换为公网地址130.11.22,数据报中的生存时间 TTL因跳步一个路由器减1,首部校验和字段因为跳步进行重新校验。

附上一篇写的很详细的NAT技术的博文:

https://blog.csdn.net/gui951753/article/details/79593307

3)由题意,

最大分片封装的数据 d =[(M - 20)/ 8 ] * 8 = [(1500 - 20)/ 8 ] * 8 = 488 (下取整)

需要的总片数 n = (L - 20 )/ d = (1500 - 20 )/ 488 = 4(上取整)
每片的总长度字段为 在这里插入图片描述
每片的片偏移字段取值为在这里插入图片描述

得到结果:

第1片:{ID=6789,DF=0,MF=1,length=508,ffset=0};

第2片:{ID=6789,DF=0,MF=1,length=508,ffset=61};

第3片:{ID=6789,DF=0,MF=1,length=508,offset=122};

第4片:{ID=6789,DF=0,MF=0,length=36,offset=183}。

IP分片格式格式(不确定):

Identification | DF | MF | Length | Fragment Offset

( Identification:发送端发送的IP数据包标识字段都是一个唯一值,该值在分片时被复制到每个片中。DF:Don’t Fragment,"不分片"位,如果将这一比特置1,IP层将不对数据报进行分片。MF:More Fragment,“更多的片”,除了最后一片外,其他每个组成数据报的片都要把该比特置1。Length: 每片的总长度字段。Fragment Offset:该片偏移原始数据包开始处的位置。偏移的字节数是该值乘以8。)

你可能感兴趣的:(计算机网络)