图解 TCP/IP(二) 数据链路

数据链路层的相关技术:MAC 寻址、介质共享、分组交换、虚拟局域网等。

数据链路层的传输方式:以太网、无线局域网、PPP(点对点协议)等。

一、MAC技术

1.1 MAC地址

作用:用于识别数据链路中互联的节点,  唯一标识网络适配器(网卡)。

技术:在总线型与环路型的网络中,先暂时获取所有目标站的帧,然后通过 MAC 寻址,如果是发给自己的就接受,如果不是就丢弃。在令牌环的这种情况下,依次转发给下一个站。

规格:长48比特,以十六进制数表示,两个数为一段,一共6段。

MAC 地址也不总是唯一的,即使 MAC 地址相同,只要不是同属一个数据链路就不会出现问题。

1.2 根据 MAC 地址转发

以太网交换机就是持有多个端口的网桥,其根据数据链路层中每个帧的目标 MAC 地址,决定从那个网络端口发送数据。所参考的记录发送接口的表就是 地址转发表。

交换机自学原理:数据链路层的每个节点在接到包时,会从中将源 MAC 地址以及曾经接收该地址发送的数据包的接口作为对应关系记录到转发表中。

正是由于这种自学习能力,因此交换机是一种即插即用设备,不需要网络管理员手动配置交换表内容。

下图中,交换机有 4 个接口,主机 A 向主机 B 发送数据帧时,交换机把主机 A 到接口 1 的映射写入交换表中。为了发送数据帧到 B,先查交换表,此时没有主机 B 的表项,那么主机 A 就发送广播帧,主机 C 和主机 D 会丢弃该帧,主机 B 回应该帧向主机 A 发送数据包时,交换机查找交换表得到主机 A 映射的接口为 1,就发送数据帧到接口 1,同时交换机添加主机 B 到接口 2 的映射。

由于 MAC 地址没有层次性,设备数量增加时,转发表会随之变大,检索转发表的时间也就会越来越长。

二、介质共享

2.1 共享介质网络

多为半双工通信,双向交替传输。

2.1.1 CSMA/CD 载波监听多路访问 / 碰撞检测。

  • 多点接入 :说明这是总线型网络,许多主机以多点的方式连接到总线上。
  • 载波监听 :每个主机都必须不停地监听信道。在发送前,如果监听到信道正在使用,就必须等待。
  • 碰撞检测 :在发送中,如果监听到信道已有其它主机正在发送数据,就表示发生了碰撞。虽然每个主机在发送数据之前都已经监听到信道为空闲,但是由于电磁波的传播时延的存在,还是有可能会发生碰撞。

工作流程:

  1. 确认没有任何设备发送数据
  2. 发送数据的同时监控电压
  3. 直到发送完数据,如果电压一直处于规定范围内,就认为数据已经正常发送。
  4. 发送途中,如果电压超出规定范围,就认为是发生了冲突。
  5. 发生冲突时先发送一个阻塞报文之后,放弃发送数据帧,在随机一段时间后进行重发。

记端到端的传播时延为 τ,最先发送的站点最多经过 2τ 就可以知道是否发生了碰撞,称 2τ 为 争用期 。只有经过争用期之后还没有检测到碰撞,才能肯定这次发送不会发生碰撞。

当发生碰撞时,站点要停止发送,等待一段时间再发送。这个时间采用 截断二进制指数退避算法 来确定。从离散的整数集合 {0, 1, .., (2k-1)} 中随机取出一个数,记作 r,然后取 r 倍的争用期作为重传等待时间。

2.1.2 令牌传递方式

沿着令牌环发送一种叫做“令牌”的特殊报文,只有获得令牌的站才能发送数据。

两个特点:1.不会有冲突  2.每个站都有通过平等循环获得令牌的机会。  所以即使网络拥堵也不会导致性能下降。

缺点:一个站在没有令牌的情况下不能发送数据帧,所以网络不太拥堵的情况下链路利用率就达不到100%。

2.2 非共享介质网络

每个站直连交换机,采用全双工通信,双向同时传输。

三、VLAN 

虚拟局域网

  1. 虚拟局域网可以建立与物理位置无关的逻辑组,即使连接了同一个交换集线器,也可以分成不同的网段,使得在同一个虚拟局域网中的成员才会收到链路层广播信息。
  2. 管理员在分散网络负载,变换部署网络设备拓扑位置时,不必再重新修改布线,只要修改网段即可。
  3. 虚拟网络的交换机按照其端口区分了多个网段,从而区分了广播数据传播的范围、减少了网络负载并提高了网络的安全性。

例如下图中 (A1, A2, A3, A4) 属于一个虚拟局域网,A1 发送的广播会被 A2、A3、A4 收到,而其它站点收不到。

使用 VLAN 干线连接来建立虚拟局域网,每台交换机上的一个特殊接口被设置为干线接口,以互连 VLAN 交换机。IEEE 定义了一种扩展的以太网帧格式 802.1Q,它在标准以太网帧上加进了 4 字节首部 VLAN 标签,用于表示该帧属于哪一个虚拟局域网。

四、以太网

帧格式

前导码+以太网帧本体

前导码由0、1数字交替组合而成,是对端网卡能够确保帧同步的标志。

  • 类型 :标记上层使用的协议;
  • 数据 :长度在 46-1500 之间,如果太小则需要填充;
  • FCS :帧检验序列,使用的是 CRC 检验方法;

以太网是一种星型拓扑结构局域网。

早期使用集线器进行连接,集线器是一种物理层设备, 作用于比特而不是帧,当一个比特到达接口时,集线器重新生成这个比特,并将其能量强度放大,从而扩大网络的传输距离,之后再将这个比特发送到其它所有接口。如果集线器同时收到两个不同接口的帧,那么就发生了碰撞。

目前以太网使用交换机替代了集线器,交换机是一种链路层设备,它不会发生碰撞,能根据 MAC 地址进行存储转发。

五、PPP 点对点协议

互联网用户通常需要连接到某个 ISP 之后才能接入到互联网,PPP 协议是用户计算机和 ISP 进行通信时所使用的数据链路层协议。

PPP 的帧格式:

  • F 字段为帧的定界符
  • A 和 C 字段暂时没有意义
  • FCS 字段是使用 CRC 的检验序列
  • 类型字节指上一层的协议类型
  • 信息部分的长度不超过 1500
  • 包尾的 F 表示区分帧的分界 

猜你喜欢

转载自blog.csdn.net/SimonxxSun/article/details/87878184