详解网络链路层协议(下)

本文介绍了局域网中的通信机制,涉及路由器与交换机的区别,MAC地址的全局唯一性,以及地址解析协议ARP的工作原理。ARP通过将IP地址转换为MAC地址实现数据帧的正确转发。交换机通过自学习建立交换表,实现数据帧的高效转发。同时,讨论了交换表的更新机制和交换机在数据转发中的作用。
摘要由CSDN通过智能技术生成

一、交换局域网

路由器:具有网络层、链路层和物理层功能,具有IP路由和链路帧转发的功能

​ 交换机:具有链路层和物理层功能,只负责链路帧的转发

​ 在链路层对数据帧转发时,需要知道每个出口对应的MAC地址(物理地址),根据MAC地址将 数据帧从该出口传出

MAC地址

并不是主机或路由器具有链路层地址,而是它们的适配器(网卡/网络接口)具有链路层地址。因此具有多个网络接口的主机或路由器将具有与之相关联的多个链路层地址。

  • 链路层地址有各种不同的称呼:LAN地址(LAN address)、物理地址(physical address)或MAC地址(MAC address)

    对于大多数局域网而言,MAC地址长度为6个字节,48位,每个字节用16进制表示,共有2^48个可能的MAC地址,世界上没有任何两块适配器具有相同的MAC地址,全局唯一

地址解析协议(ARP)

地址解析协议(Address Resolution Protocol,ARP)

ARP协议用于将一个IP地址转换为MAC地址,然后从MAC地址对应的端口发出。

为了成功发送数据报,源主机必须要向它的适配器不仅提供IP数据报,还要提供目的主机的MAC地址(同一局域网内)或下一跳的MAC地址(不同局域网)

如何确定下一跳的MAC地址?

每台主机或路由器在内存中具有一个ARP表,包含了IP地址到MAC地址的映射关系,ARP只为在同一子网上的主机和路由器接口解析IP地址。当ARP表里面没有该IP地址对应的MAC地址时,发送方构造一个ARP分组的特殊分组,ARP分组的字段包括发送和接收IP地址及MAC地址,适配器用MAC广播地址(FF-FF-FF-FF-FF-FF)向子网中所有其他适配器来发送这个分组。当其他适配器收到这个ARP分组时,检验它的IP地址与ARP分组中的IP地址(下一跳的IP地址)是否一致,如果一致,则给查询主机发送一个带有所希望映射的响应ARP分组,然后查询主机更新它的ARP分组,并发送它的IP数据报,该数据报封装在一个链路层帧中,并且该帧的目的MAC地址就是先前ARP请求进行响应的主机或路由器的MAC地址。

ARP表也包含一个寿命值TTL,表示该映射关系的过期时间,一般是20分钟,过期之后,过期后该主机或路由器的适配器向子网上个所有的其他适配器发送ARP分组的MAC广播报文,获取过期表项的IP地址对应的MAC地址。

在跨网络传输时,网络层会根据目标IP地址计算当前节点下一跳的IP地址,链路层根据下一跳的IP地址,在链路层数据帧中封装下一跳的MAC地址,下一跳接受到帧之后会检验目的MAC地址是否与自己的MAC地址一致,如果不一致将会把帧丢弃,如果一致则交给网络层进行处理。

交换机表

交换机的过滤和转发借助于交换机表,过滤是决定一个帧应该是转发到某个接口还是应当将其丢弃的交换机功能;转发是决定一个帧应该被导向哪个接口,并把该帧移动到那些接口的交换机功能。

交换机的每个接口对应一个唯一的MAC地址(MAC地址可能会变化)

交换机表包含某局域网上某些(只有与交换机相连的)主机和路由器的全部表项:

  • MAC地址
  • 通向该MAC地址的交换机接口
  • 表项放置在表中的时间

交换机表的表项记录的是每个入口对饮的MAC地址和接口号

交换表工作的情况,假设目的地址为DD-DD-DD-DD-DD-DD的帧从交换机接口x到达:

  • 表中没有对于DD-DD-DD-DD-DD-DD的表项,交换机向除x接口以外的所有接口广播该帧
  • 表中有一个表项DD-DD-DD-DD-DD-DD与x接口相关联,说明数据帧进来的接口和出去的接口一样,则直接将该帧丢弃
  • 表中有一个表项DD-DD-DD-DD-DD-DD与y!=x接口相关联,说明数据帧可以从接口y发送出去,交换机将该帧放在接口y前面的输出缓存完成转发

交换机的自学习:
交换机表是自动、动态和自治建立的,属于交换机的自学习能力

  • 交换机初始表是空的
  • 交换机接口对于收到的每个入帧,该交换机在表中存储
    • 该帧源MAC地址
    • 该帧到达的接口
    • 当前时间
  • 如果一段时间后,交换机没有收到以该MAC地址作为源地址的帧,就在表中删除这个地址
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值