**
一、了解交换机的基本原理。
**
交换机的工作原理:
当交换机收到数据时,它会检查它的目的MAC地址,然后把数据从目的主机所在的接口转发出去。交换机之所以能实现这一功能,是因为交换机内部有一个MAC地址表,MAC地址表记录了网络中所有MAC地址与该交换机各端口的对应信息。某一数据帧需要转发时,交换机根据该数据帧的目的MAC地址来查找MAC地址表,从而得到该地址对应的端口,即知道具有该MAC地址的设备是连接在交换机的哪个端口上,然后交换机把数据帧从该端口转发出去。
1.交换机根据收到数据帧中的源MAC地址建立该地址同交换机端口的映射,并将其写入MAC地址表中。
2.交换机将数据帧中的目的MAC地址同已建立的MAC地址表进行比较,以决定由哪个端口进行转发。
3.如数据帧中的目的MAC地址不在MAC地址表中,则向所有端口转发。这一过程称为泛洪(flood)。
4.广播帧和组播帧向所有的端口转发。
**
二、MAC地址表的构建过程
**
为快速转发报文,以太网交换机需要建立和维护MAC地址表。交换机采用源MAC地址学习的方法建立MAC地址表。
(1)交换机初始状态
交换机的初始状态MAC地址表为空,如图2所示。
(2)地址表源MAC地址学习
当计算机PC1要发送数据帧给计算机PC6时,因此时地址表是空的,交换机将向除PC1连接端口E0/1以外的其他所有端口转发数据帧。在转发之前,首先检查该数据帧的源MAC地址(00-10-B5-4B-30-85),并在交换机的MAC地址表中添加一条记录(00-10-B5-4B-30-85,E0/1)使之和端口E0/1相对应。
(3)计算机PC6接收数据帧
计算机PC6收到发送的数据帧后,用该数据帧的目的MAC地址和本机的MAC地址比较,发现PC1找的正是它,则接收该数据帧,其他计算机丢弃数据帧。
计算机PC6回复PC1时,交换机直接从端口E0/1转发,并学习到(00-10-B5-4B-30-65)为PC6连接的端口,将其添加到地址表中,如图3所示。
交换机的其他端口利用源MAC地址学习的方法在MAC地址表中不断添加新的MAC地址与端口号的对应信息。直到MAC地址表添加完整为止。
为了保证MAC地址表中的信息能够实时地反映网络情况,每个学习到的记录都有一个老化时间,如果在老化时间内收到地址信息则刷新记录。对没有收到相应的地址信息的则删除该记录。例如,计算机PC6停止了和交换机通信,达到老化时间后,交换机会将其对应的记录从MAC地址表中删除。
也可以手工添加交换机的MAC地址表的静态记录,手工配置的静态记录没有老化时间的限制。由于MAC地址表中对于同一个MAC地址只能有一条记录,所以如果手工配置了MAC地址和端口号对应关系后,交换机就不再动态学习这台计算机的MAC地址了
**
三、了解ARP的工作方式。
网络中的一个重要的协议——ARP协议(地址解析协议)
网络要想通信就离不开四个重要的地址:源IP地址,目的IP地址,源MAC地址,目的MAC地址。
我们可以把这四个地址看作寄邮件时用的姓名和地点。IP地址相当于我们的名字,MAC地址相当于地理位置。
现在小编想寄一封信给大家,源IP地址指的就是小编,源MAC地址指的是南京聚策网络实验室,目的IP地址指的是大家,那么目的MAC是什么呢?小编并不知道大家住在哪儿?
而ARP协议也是如此,通过目的IP地址,解析目的MAC地址。
如图1-1所示主机A要想访问10.0.0.3。源IP地指的是主机A的IP地址:10.0.0.1/24,目的IP地址指的是:10.0.0.3。
源MAC地址指的是主机A的MAC地址:00-01-02-03-04-AA,目的MAC地址是多少呢?对于主机A而言它并不知道,因此在这儿主机A想要知道10.0.0.3的MAC地址。
于是它会这么做,
第一步:查看主机的ARP缓存表
如图1-2所示看缓存表里面有没有去往目的主机的IP地址和MAC地址的一个映射。
如图1-2所示:主机A通过arp -a这条命令查看主机的缓存表,发现缓存表里面为空。并没有去目的主机的MAC地址,于是它要在网络上广播式请求.
第二步:源主机广播式请求目标主机的MAC地址
如图1-3所示源主机通过Request报文在以太网链路上广播式请求目标主机的MAC地址。
第三步:当其他主机收到主机A发送出来的Request报文后
如图1-4所示主机B发现不是来找自己的于是它会丢弃,而主机C发现是来找自己的于是它会接收,它会先把源主机发送过来的Request报文中的源IP地址和MAC地址放入自己的缓存表里面。再回应源主机自己的MAC地址
第四步:主机响应自己的MAC地址
如图1-5所示主机C会向主机A回应ARP Reply报文。ARP Reply报文中的源IP地址是主机C的IP地址,目标IP地址是主机A的IP地址,目的MAC地址是主机A的MAC地址,源MAC地址是自己的MAC地址,在这儿ARP Reply报文是通过单播方式进行传送
第五步:收到了目标主机的MAC地址后
如图1-6所示:主机A收到主机C发送过来的ARP Reply报文后会放入自己的缓存表里面。然后主机A和主机C就可以进行后面的通信了。
ARP的缓存表的默认时间为1200秒,如果超过了1200秒还没有通信那么它会在缓存表里面删除。
以上内容摘自链接:ARP协议基本原理
FTP请求ARP运行过程分析:
都会进行以下这些步骤。这些步骤的序号如图 4 - 2所示。
1)应用程序FTP客户端调用函数gethostbyname(3)把主机名(bsdi)转换成32bit的IP地址。这个函数在DNS(域名系统)中称作解析器,我们将在第14章对它进行介绍。这个转换过程或者使用DNS,或者在较小网络中使用一个静态的主机文件(/etc/hosts)。
2)FTP客户端请求TCP用得到的IP地址建立连接。
3)TCP发送一个连接请求分段到远端的主机,即用上述IP地址发送一份IP数据报
4)如果目的主机在本地网络上(如以太网、令牌环网或点对点链接的另一端),那么IP数据报可以直接送到目的主机上。如果目的主机在一个远程网络上,那么就通过IP选路函数来确定位于本地网络上的下一站路由器地址,并让它转发IP数据报。在这两种情况下,IP数据报都是被送到位于本地网络上的一台主机或路由器。
5)假定是一个以太网,那么发送端主机必须把32bit的IP地址变换成48bit的以太网地址。从逻辑Internet地址到对应的物理硬件地址需要进行翻译。这就是ARP的功能。ARP本来是用于广播网络的,有许多主机或路由器连在同一个网络上。
6)ARP发送一份称作ARP请求的以太网数据帧给以太网上的每个主机。这个过程称作广播,如图4-2中的虚线所示。ARP请求数据帧中包含目的主机的IP地址(主机名为bsdi),其意思是“如果你是这个IP地址的拥有者,请回答你的硬件地址。”
7)目的主机的ARP层收到这份广播报文后,识别出这是发送端在寻问它的IP地址,于是发送一个ARP应答。这个ARP应答包含IP地址及对应的硬件地址。
8)收到ARP应答后,使ARP进行请求—应答交换的IP数据报现在就可以传送了。
9)发送IP数据报到目的主机。
在ARP背后有一个基本概念,那就是网络接口有一个硬件地址(一个48bit的值,标识不同的以太网或令牌环网络接口)。在硬件层次上进行的数据帧交换必须有正确的接口地址。但是,TCP/IP有自己的地址:32bit的IP地址。知道主机的IP地址并不能让内核发送一帧数据给主机。内核(如以太网驱动程序)必须知道目的端的硬件地址才能发送数据。ARP的功能是在32bit的IP地址和采用不同网络技术的硬件地址之间提供动态映射。
四、代理ARP
五、免费ARP
MTU路径MTU发现
如果对你有帮助的话记得给我点赞加收藏哦~你的认可是对我最大的鼓励!