TCP/TP基础(二)以太网协议,ARP协议,ICMP协议

来源:互联网 发布:bootstrap input控件js 编辑:程序博客网 时间:2024/06/05 12:07

(1)最大传输单元MTU

以太网和IEEE 802.3对数据帧的长度都有一个限制,其最大值分别是1500和1492字节。链路层的这个特性称作M T U,最大传输单元。不同类型的网络大多数都有一个上限。
如果IP层有一个数据报要传,而且数据的长度比链路层的MTU还大,那么IP层就需要进行分片(fragmentation),把数据报分成若干片,这样每一片都小于MTU。

路径MTU
当在同一个网络上的两台主机互相进行通信时,该网络的MTU是非常重要的。但是如果两台主机之间的通信要通过多个网络,那么每个网络的链路层就可能有不同的MTU。重要的不是两台主机所在网络的MTU的值,重要的是两台通信主机路径中的最小MTU。它被称作路径MTU。


路径MTU其实和TCP一个数据报的数据字段的最大长度有很大关系,如果TCP头部IP头部都没有选项时,一般路径MTU最大为576,则最大数据字段MSS=576-20-20.

(2)以太网协议

说到以太网协议,其实链路层在上一文中其实有所提及,其中包含ARP协议,RARP协议和以太网协议

以太网的头部14个字节,分别是6个字节的目的地址(MAC),6个字节的源地址(MAC),以及2个字节的协议类型,来表示以太网协议(0800),ARP协议(0806),RARP协议(8035)




ARP在不知道对方MAC地址也就是缺省表里没有对应目的IP的MAC地址时,会在以太网中发出广播,如果目的IP地址的主机收到的时候,就会做出响应,其他机器会忽视这个报文.

如果说根本没有这个IP地址的话,那就需要ICMP协议来告诉发起者出现差错

I C M P经常被认为是 I P层的一个组成部分。它传递差错报文以及其他需要注意的信息。I C M P报文通常被I P层或更高层协议( T C P或U D P)使用。一些I C M P报文把差错报文返回给用户进程。
I C M P报文是在I P数据报内部被传输的

接下来我们就可以看看Ping怎么在网络里面进行传输,也就是数据的传输


首先如果我们直接给出IP地址,那么直接就开始发送ICMP包,如果给出主机名那就进行DNS解析,获得IP地址,再进行操作,发送ICMP包的时候,先通过ARP广播寻找到目的主机,如果没有则ICMP返回报错信息,如果有,则对面主机返回ARP响应,则把ICMP包填充以太网目的地址,通过以太网发送过去,到对面主机上,进行分用,在IP层得到ICMP,然后返回响应.

阅读全文
0 0