5. 数据链路层概述(3/4)

3.7 MAC地址、IP地址和ARP协议

MAC地址是以太网的MAC子层所使用的地址。(数据链路层)
IP地址是TCP/IP体系结构网际层所使用的地址。(网际层)
ARP协议属于TCP/IP体系结构的网际层。作用是,已知设配所分配的IP地址,使用ARP协议可以通过该IP地址获得设备的MAC地址。(网际层)

3.7.1 MAC地址

使用点对点信道的数据链路层不需要使用地址,而使用广播信道的数据链路层必须使用地址来区分各主机。
当多个主机连接在同一个广播信道上,要想实现两个主机之间的通信,则每个主机都必须有一个唯一标识,即一个数据链路层地址。

在每个主机发送的帧中,必须携带标识发送主机和接收主机的地址。由于这类地址是用于媒体接入控制MAC,因此这类地址被称为MAC地址。

MAC地址有时被称为物理地址,但注意,这并不意味着MAC地址属于物理层。

FF-FF-FF-FF-FF-FF为广播MAC地址,收到广播帧的主机,发现该帧是广播帧,就都会接收该帧。

如果MAC地址第一个字节的bit0为1,就是多播地址。

3.7.2 IP地址

IP地址属于网络层的范畴,而不是数据链路层。

IP地址是因特网(Internet)上的主机和路由器所使用的地址,用于标识2部分信息,

  • 网络编号
    标识因特网上数以百万计的网络。

  • 主机编号
    标识同一网络上不同主机,或路由器各接口。

MAC地址不具备区分不同网络的功能,而IP地址具备这样的功能。如果只是一个单独的网络,不接入因特网,可以只使用MAC地址。

3.7.2.1 数据包转发过程中IP地址与MAC地址的变化

总结就是,数据包在转发过程中,网络层的IP地址保持不变,而数据链路层的MAC地址会逐个链路或逐个网络改变。
在这里插入图片描述
传输过程中,

  • H1知道应该把包传给R1,由R1帮其转发出去。H1知道R1相应接口的IP地址为IP3,但不知道其对应的MAC地址是什么
  • R1知道应该把包传给R2。R1知道R2相应接口的IP地址为IP5,但不知道其对应的MAC地址是什么
  • R2知道应该把包传给H2。R2知道H2相应接口的IP地址为IP2,但不知道其对应的MAC地址是什么

这就要使用地址解析协议ARP,通过IP地址获取MAC地址。

3.7.3 ARP协议

主机B要给主机C发送报文,知道C的IP地址,但是不知道C的MAC地址,那么在数据链路层封装报文时就会缺少目的MAC地址。

一般每个主机都有一张高速缓存表,存放的是IP地址与MAC地址的对应关系,主机发送报文时,都会去查这张表,查表不命中,就需要发送ARP请求报文(广播),目的MAC地址为FF-FF-FF-FF-FF-FF。

“我的IP为xx,我的MAC地址为xxx,我想知道IP地址为yy的主机的MAC地址”

总线上的其他主机都会收到该广播帧,收到该广播帧后,交由上层ARP进程处理,解析ARP请求报文,

  • 主机A发现所询问的IP地址不是自己的IP地址,不理会

  • 主机C发现所询问的IP地址是自己的IP地址,需要进行响应。主机C首先将ARP请求报文中所携带的IP地址与MAC地址记录到自己的ARP高速缓存表中,然后给主机B发送ARP响应报文(单播),以告知自己的MAC地址。主机B收到后,送到上层解析,并将主机C的IP地址与MAC地址记录到自己的ARP高速缓存表中。现在主机B就可以发送数据包给主机C了。

ARP高速缓存表中,有2种记录类型,

  • 动态
    自动获取,生命周期默认为2分钟。过期后自动删除。

  • 静态
    手工设置,不同操作系统下的生命周期不同,例如系统重启后不存在或系统重启后依然有效。

ARP协议只能在一段链路或一个网络内使用,而不能跨网络使用。

3.8 集线器与交换机

3.8.1 集线器

早期以太网使用总线型,利用同轴线缆连接,后续被集线器Hub淘汰。

使用Hub的以太网在逻辑上仍是一个总线网,各站共享总线资源,使用的还是CSMA/CD协议。

集线器只工作在物理层,每个接口仅简单的转发bit,不进行碰撞检测,碰撞检测由各站的网卡负责。

集线器一般都有少量的容错能力和网络管理功能。例如,若网络中某个网卡出了故障,不停的发送帧,此时,集线器可以检测到这个问题,在内部断开与故障网卡的连接,使整个以太网仍然能正常工作。

集线器用来在物理层扩展网络。

集线器与交换机的区别是,

  • 3台主机通过集线器连接,A发给C的单播帧会共享的发送给B和C,即连接在集线器上的主机都会收到该帧

  • 3台主机通过交换机连接,A发给C的单播帧只会发送给C,而不是网络中的其他各个主机。

3.8.2 交换机

  • 以太网交换机通常有多个接口。每个接口都可以直接与一台主机或另一个以太网交换机相连。一般都工作在全双工模式。需要说明,集线器内部通过CSMA/CD协议互联,工作在半双工模式。

  • 以太网交换机具有并行性,能同时连通多对接口,使多对主机能同时通信,无碰撞,不使用CSMA/CD协议。

  • 以太网交换机一般具有多种速率的接口,例如10Mb/s、100Mb/s、1Gb/s、10Gb/s接口的多种组合。

  • 以太网交换机工作在数据链路层(也包括物理层),它收到帧后,在帧交换表中查找帧的目的MAC地址所对应的接口号,然后通过该接口转发该帧。

  • 以太网交换机是一种即插即用设备,其内部的帧交换表是通过自学习算法自动的逐渐建立。

  • 帧的两种转发方式

    • 存储转发:最常见。

    • 直通交换:采用基于硬件的交叉矩阵,交换时延非常小,但是不检查帧是否有差错。

采用集线器扩张以太网,会同时扩展广播域和碰撞域。而如果2个集线器网络之间使用交换机互联,那么就会仅扩展广播域,而不扩展碰撞域,交换机此时起到了隔离碰撞域的作用,如下图所示,
在这里插入图片描述

3.9 以太网交换机自学习和转发帧的流程

每个连接在交换机接口上的主机,在发送帧时,帧进入交换机,交换机就会登记发送主机的MAC地址和进入接口号,登记到帧交换表中。

交换机转发该帧时,会首先用目的MAC地址查询帧交换表,如果未查中,就会向除进入端口外的其他所有端口转发该帧,这个转发是盲目转发,也称泛洪。

随着交换机的工作,交换机逐渐登记了各个端口所连主机的MAC地址,再进行转发时就是明确转发,即仅向某一个端口转发帧。

帧交换表中的每条记录都有有效时间,到期就自动删除。

3.10 以太网交换机生成树协议STP

如何提高以太网的可靠性?

添加冗余链路。

但是,添加冗余链路会带来负面效应 - 形成网络环路,如下图所示,

在这里插入图片描述

  • 广播风暴

    大量消耗网络资源,使得网络无法正常转发其他数据帧

  • 主机收到重复的广播帧

    大量消耗主机资源

  • 交换机的帧交换表震荡(漂移)

以太网交换机使用生成树协议(Spanning Tree Protocol, STP),可以在增加冗余链路来提高网络可靠性的同时,又避免网络环路带来的各种问题。

不论交换机之间采用怎样的物理连接,交换机都能够自动计算并构建一个逻辑上没有环路的网络,其逻辑拓扑结构必须是树型的,无逻辑环路。

最终生成的树型逻辑拓扑要确保连通整个网络。

当首次连接交换机或网络拓扑发生变化时,有可能是人为改变或故障,交换机都将进行生成树的重新计算。

在这里插入图片描述
假设一段链路出现故障,如下,交换机就会生成新的生成树,

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值