问题1

一个数据报长度为4000字节(固定首部长度,长度为20字节).现在经过一个网络传送,网络能传送的最大数据长度为1500字节.试问应当划分成几个短些的数据报片?各数据报片的数据字段长度,片偏移字段和MF标志应为何值.
解析:
标准IP头部20字节,MTU=1500,数据长度最多1480字节
第一个包:IP头部20字节,数据长度1480,偏移量=0/8=0,MF=1
第二个包:IP头部20字节,数据长度1480,偏移量=1480/8=185,MF=1
第三个包:IP头部20字节,数据长度=3980-2 * 1480=1020 ,偏移量=2*1480/8=370,MF=0
1)数据长度:除最后一个数据片,其它数据片长度:L+20≤1500,并且能被8整除。满足两个条件的最大值
2)MF的确定:后面有分片是1,无分片为0
3)片偏移的确定(为什么÷8):片偏移以8个字节为一个单位

问题2

某单位分配到一个地址块136.23.12.64/26。现在需要进一步划分4个一样大的子网。
某单位分配到一个地址块136.23.12.64/26。现在需要进一步划分4个一样大的子网。试问:
(1)每个子网的前缀有多长?
(2)每一个子网中有多少个地址?
(3)每一个子网的地址块是什么?
(4)每一个子网可分配给主机使用的最小地址和最大地址是什么?

首先记住公式:

可容纳主机数 = 2 ^ (借位数中"0"的个数)
可用地址 = 可容纳主机数 - 2 (减去网络号和广播号)
可容纳子网数 = 2 ^ (借位数中"1"的个数)

题目某单位分配到一个地址块136.23.12.64/26。现在需要进一步划分4个一样大的子网

问:(1)每个子网的前缀有多长?

根据公式:可容纳子网数 = 2 ^ (借位数中"1"的个数)
2 ^ ? = 4 ( 2 ^ 2 = 4)

那么由此可推算出子网掩码中二进制中借了2位
但是题目要求基于136.23.12.64/26细分,那么我们要在26位的基础上+2
11111111.11111111.11111111.11110000
子网的前缀即是:子网掩码二进制中"1"的个数
答:每个子网的前缀/28。

问:(2)每一个子网中有多少个地址?
根据公式:可容纳主机数 = 2 ^ (借位数中"0"的个数)
子网掩码:11111111.11111111.11111111.11110000
2 ^ 4 = 16

答:每一个子网中有16个地址?

问:(3)每一个子网的地址块是什么?(专业术语:地址池)
现已计算出每段子网容纳16个地址,那么我们填写出地址池。从136.23.12.64开始!

答:136.23.12.64 - 136.23.12.79
136.23.12.80 - 136.23.12.95
136.23.12.96 - 136.23.12.111
136.23.12.112 - 136.23.12.127

问:(4)每一个子网可分配给主机使用的最小地址和最大地址是什么?
答:此问题实际没有意义。上问题已经得出。

假如问题(3)非要用专业写法,那么可以将问题(3)的答案填写到问题(4)
那么问题(3)的答案写成如下:
136.23.12.64/28
136.23.12.80/28
136.23.12.96/28
136.23.12.112/28

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐