您的位置:首页 > 理论基础 > 计算机网络

《TCP-IP详解 卷1:协议》学习笔记(三)

2013-08-30 19:50 549 查看
四、ARP

1、ARP地址解析过程

以太网中,发送IP包前判断目标主机是否在同一子网,如果是同一子网,请求目标主机MAC,如果是不同子网,请求网关/下一跳MAC。

源主机查看 ARP 缓存,是否存在要解析的IP—MAC的ARP映射表项。如果有,利用该表项对IP包进行封装并发送以太网帧。如果没

有,则缓存该IP包,并建立ARP临时表项。

以广播方式发送ARP请求报文。ARP请求报文中的Sender IP和Sender
MAC为源主机A的IP地址和MAC地址,Target
IP和Target MAC地址

为被请求节点的IP地址和全
0的MAC地址。

同一个广播域内的所有主机都可以则接收到该请求,但只有被请求的节点会对该请求进行处理。

被请求节点比较自己的IP地址和请求报文中的Target IP,如果相同将ARP
请求报文中的Sender IP和Sender MAC存入自己的ARP表

中,并以单播方式发送ARP响应报文给源主机,其中Sender
IP和Sender MAC是自己的IP和MAC。

源主机 收到ARP响应报文后,将被请求节点的MAC地址加入到自己的
ARP缓存中,同时将
IP包进行封装后发送出去。

处理流程如下图所示:



2、免费ARP

免费ARP报文是一种特殊的ARP报文,该报文携带的发送端IP地址和目标IP的地址都是本机的IP地址,报文的源MAC地址是本机的MAC

地址,目的MAC地址是广播地址。

功能:

(1)确定其他设备IP地址是否与本机的IP地址冲突

(2)设备改变了硬件地址,通过发送免费ARP报文通知其他设备更新ARP表项

 

五、交换机

1、交换机的三种转发方式

(1)cut-Through(直通式):交换机收到目的地址即开始转发

优点:不需要存储,延迟非常小,交换非常快

缺点:由于数据包内容没有被交换机存储下来,所以无法检查所传送的数据包是否有误,不能提供错误检测能力。由于没有缓存,

不能将具有不同速率的输入/输出端口直接接通,而且容易丢包。

(2)store-and-Forward(存储转发):交换机将全部的内容接收才转发,是计算机网络领域中应用最为广泛的方式。

它把输入端的数据包检查,在对错误包处理后才取出数据包的目的地址,通过查找表转换成输出端口送出包,正因为如此,存储转

发方式在数据处理时延时大,这是它的不足,但是它可以对进入交换机的数据包进行错误检测,有效的改善网络性能。尤其重要的

是它可以支持不同端口间的切换,保持高速端口与低速端口之间的协同工作。

(3)Frag-free(碎片隔离):交换机接收完数据包的前64个字节(一个最短帧长),然后根据头信息查表转发。

它是介于前两者之间的一种解决方案,它检查数据包的长度是否够64个字节,如果小于64个字节,说明是假包,则丢弃该包,如果

大于64个字节,则发送该包,这种方式也不提供数据检查,它的数据处理速度比存储转发方式快,但比直通式慢。

附加一个问题:为啥最小帧长是64字节?

最小数据帧的设计原因和以太网电缆长度有关,为的是让两个相距最远的站点能够感知到双方的数据发生了碰撞;最远两端数据的往

返时间就是争用期,以太网的争用期是51.2微妙,正好发送64byte数据。

2、交换机工作流程

(1)当交换机从某个端口收到一个数据包,它先读取包头中的源MAC地址,这样它就知道源MAC地址的机器是连在哪个端口上的;

(2)再去读取包头中的目的MAC地址,并在地址表中查找相应的端口;

(3)如表中有与这目的MAC地址对应的端口,把数据包直接复制到这端口上;

(4)如表中找不到相应的端口则把数据包广播到所有端口上,当目的机器对源机器回应时,交换机又可以学习一目的MAC地址与哪个

端口对应,在下次传送数据时就不再需要对所有端口进行广播了。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息