数据链路层负责在同一个网络之间传递数据,主要是主机之间。对于跨过网络的不直接连接的网络上的通讯使用的是网络层。
主机地址全部是0和全部是1具有不同的用途,全0就是未知的主机地址,全1是广播地址。
路由的匹配,123.233.1.2/32 和 123.233/16与123.233.1/24都匹配,那么选择匹配长的地址转发。然后123.233.1.2/32和123.233.2/24是不配的。
对于接入私网的主机来说,可以使用内部的地址,加上NET技术和公网联系,而不是使用公网上面的唯一的地址。
IP层的MTU是65535字节,IP的首部长度是20-60,普通的IP首部长度就是20。
IP分片,就是IP包的长度超过了数据链路层的MTU的时候就会分片。会在IP头部加上一些标识
| Identification |R|DF|MF| Fragment Offset |
同一个IP数据包的identification都是一样的。DF表示是否允许分片,MF表示后续是否还有更多的分片,offset表示分片的偏移量。
使用MTU探测可以探测出传输过程之中的最小分片大小,就可以使得在发送端就对于数据进行分片发送,减小路由器的压力。
MTU探测,先发送一个不允许分片的包,路由器接收之后如果发现长度大于MTU就会发送ICMP回传告诉源主机MTU大小,然后主机以这个MTU为大小发送下一个包,重复,直到找到了一个MTU。