数据链路层协议

来源:互联网 发布:att 4g网络频段 编辑:程序博客网 时间:2024/06/10 15:19

数据链路层协议主要来介绍一下ARP协议和RARP协议

1. ARP协议,工作在网络层的设备如路由器可以通过识别数据包发送和接受的IP地址来判断数据发送的原主机和目标主机,数据包在实际的传输过程中在网络链路层的传输是以数据帧的形式来传输的,数据帧在链路层的帧头中包含的是设备的物理地址,即MAC地址,帧头中包含了源主机和目标主机的MAC地址。主机和交换机等设备是通过MAC地址来进行源主机和目标主机之间的通信与识别,而路由器是通过IP地址来进行源主机与目标主机的识别。为了识别同一台主机的IP地址和MAC地址就必需在IP地址和MAC地址之间进行转换,地址解析协议ARP协议就可以实现主机IP地址与MAC地址之间的映射。

a) 先来说说这个MAC地址,MAC地址就是一个网络设备在出厂的时候被设定好的一个具有全球唯一性的地址,可以作为一个主机或者网络设备的全球标识。前面说过,每个数据帧的前面都应该有源主机和目标主机的MAC地址,如果目标主机的MAC地址未知的话,就需要通过ARP协议来获取。ARP协议是通过IP地址来获取物理地址(MAC)的一个TCP/IP协议。对前面的话来打一个比方吧,这个IP地址就好比是个经纬度,我一开始知道我想要去的地方的经纬度,假设我要去东经36.80度,北纬117.99度所指的地方,好了我现在通过这样的一个协议把这个经纬度转换成了山东淄博山东理工大学这个地址,中间的转换就需要这个协议,假设过了1000年之后,山东理工大学搬迁了,原来的地方换成了人民公园,经纬度是没有变的,但是东西却变成了人民公园,经纬度就相当于IP地址,经纬度所指向的那个地方就是MAC地址。

b) MAC地址的获取流程,首先在你的电脑里面有一个ARP缓存(windows可以使用arp -a查看),现在ARP缓存中查找,如果没找到的话,然后就会广播一个ARP request数据包,这个数据包只有那个目标IP所指向的主机才会回应,其他的主机收到这个数据包看到不是自己的IP那么它就会将其丢弃,那个与之匹配的主机响应一个ARP reply给源主机,并告诉他自己的MAC地址,这个过程完成之后,这个MAC地址也被记录进入ARP缓存,下一次可以直接从这个缓存中调用。

c) ARP协议基于网络中的各个主机都是互相信任的基础上的,网络中的主机可以自由发送ARP应答消息,而且源主机并不会检测报文的真实性,然后就将其记录进入ARP缓存

d) 对于不在同一个网络中的计算机,ARP无法解析到远程网络的计算机地址,这是一个物理网络内的过程,只有两台计算机在一个物理网络之内才可以进行解析。如果中间加了一个路由器,那么将先解析到路由器,然后再将路由器与目标设备连接的端口转发到源主机

2. RARP协议(逆向地址转换协议),这个协议与ARP的方向相反,这个是通过MAC将其解析为IP地址,这一点在无盘主机中会使用,这种主机只能靠ROM中固化的信息来进行引导,然后固化的信息中没有IP地址,就必需通过自己的MAC来获取IP地址

首发于我的个人网站: 点击打开链接

0 0