MichaelBlog

double i = Double.MAX_VALUE; while(i == i + 1){ System.out.print ("学无止境");};

导航

计算机网络:数据链路层

计算机网络:数据链路层

数据链路层是 OSI 分层模型的第二层。该层是最复杂的层之一,具有复杂的功能和责任。数据链路层隐藏底层硬件的详细信息,并将自身表示到上层作为通信介质。

数据链路层在某种意义上直接连接的两个主机之间工作。这种直接连接可以是点对点(point to point)广播(Broadcast)。广播网络上的系统据说位于同一链路上。当数据链路层处理单个冲突域上的多个主机时,它的工作往往会变得更加复杂。

数据链路层负责将数据流逐位转换为信号,并通过底层硬件发送,从而起到承上启下的作用。在接收端,数据链路层从电信号形式的硬件中获取数据,以可识别的帧格式组装它们,然后移交给上层。

数据链路层有两个子层:
  1. 逻辑链路控制Logical Link Control:它处理协议protocols、流量控制flow-control和错误控制error control

  2. 媒体访问控制Media Access Control:它涉及媒体的实际控制

数据链路层的功能(Functionally of Data-link Layer)

数据链路层代表上层执行许多任务。e.g.:

  1. 框架Framing
    数据链路层从网络层获取数据包并将其封装到帧中。然后,它在硬件上逐位发送每个帧。在接收器端,数据链路层从硬件接收信号并将其组装成帧。

  2. 寻址Addressing
    数据链路层提供第 2 层硬件寻址机制。假定硬件地址在链路上是唯一的。它在制造时被编码到硬件中。

  3. 同步Synchronization
    在链路(Data-link)上发送数据帧时,必须同步两台计算机才能进行传输。

  4. 错误控制Error Control
    有时信号在转换中可能遇到问题,位被翻转。检测到这些错误并尝试恢复实际数据位。它还为发件人提供错误报告机制。

  5. 流控制Flow Control
    同一链路上的站可能具有不同的速度或容量。数据链路层确保流量控制,使两台机器能够以相同的速度交换数据。

  6. 多路访问Multi-Access
    当共享链路上的主机尝试传输数据时,它发生冲突的可能性很高。数据链路层提供 CSMA/CD 等机制,以配备访问多个系统之间共享媒体的能力。

数据链路(data-link)和帧(data frames)

  • 数据链路层模型
  • 链路(link)是一条无源的点到点的物理线路段,中间没有任何其他的交换结点。
  • 数据链路(data-link) 除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。
  • 数据链路层传送的是帧

封装成帧,差错控制,透明传输

请添加图片描述

  • (1) 封装成帧
    • 将网络层传下来的分组添加首部和尾部,用于标记帧的开始和结束。
      如上图所示data首尾
  • (2) 透明传输
    • 帧使用首部和尾部进行定界,如果帧的数据部分含有和首部尾部相同的内容,那么帧的开始和结束位置就会被错误的判定。需要在数据部分出现首部尾部相同的内容前面插入转义字符。如果数据部分出现转义字符,那么就在转义字符前面再加个转义字符。在接收端进行处理之后可以还原出原始数据。这个过程透明传输的内容是转义字符,用户察觉不到转义字符的存在。
      *
  • (3) 差错控制
    • 循环冗余检验 CRC
      目前数据链路层广泛使用了循环冗余检验(CRC)来检查比特差错。
    • 帧检验序列 FCS
      在数据后面添加上的冗余码称为帧检验序列 FCS (Frame Check Sequence)。

点对点协议 PPP(Point to Point Protocol)

PPP 协议的特点

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

PPP 协议的帧格式

在这里插入图片描述

F(Flag) 字段为帧的定界符规定(0x7E)
01111110
标志一个帧的开始。

A 和 C 字段0xFF,0x03。
FCS 字段是使用 CRC 的检验序列
信息部分的长度不超过 1500

尾部F0x7E,标志一个帧的结束。

PPP 协议的工作流程

当用户拨号接入 ISP 时,路由器的调制解调器对拨号做出确认,并建立一条物理连接。
PC 机向路由器发送一系列的 LCP 分组(封装成多个 PPP 帧)。
这些分组及其响应选择一些 PPP 参数,和进行网络层配置,NCP 给新接入的 PC机分配一个临时的 IP 地址,使 PC 机成为因特网上的一个主机。
通信完毕时,NCP 释放网络层连接,收回原来分配出去的 IP 地址。接着,LCP 释放数据链路层连接。最后释放的是物理层的连接。

使用广播信道的数据链路层

局域网的数据链路层

局域网是一种典型的广播信道,主要特点是网络为一个单位所拥有,且地理范围和站点数目均有限。

数据链路层的两个子层
1. 逻辑链路控制 LLC (Logical Link Control)子层
2. 媒体接入控制 MAC (Medium Access Control)子层。

适配器
网络接口板又称为通信适配器(adapter)或网络接口卡 NIC (Network Interface Card),或“网卡”。
在这里插入图片描述

CSMA/CD 协议

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

具体内容
* 记端到端的传播时延为 τ,最先发送的站点最多经过 2τ 就可以知道是否发生了碰撞,称 2τ 为争用期。只有经过争用期之后还没有检测到碰撞,才能肯定这次发送不会发生碰撞。
* 当发生碰撞时,站点要停止发送,等待一段时间再发送。这个时间采用 截断二进制指数退避算法 来确定。从离散的整数集合 {0, 1, …, (2k-1)} 中随机取出一个数,记作 r,然后取 r 倍的争用期作为重传等待时间。

使用广播信道的以太网

使用集线器的星形拓扑

  • 传统以太网最初是使用粗同轴电缆,后来演进到使用比较便宜的细同轴电缆,最后发展为使用更便宜和更灵活的双绞线。
    这种以太网采用星形拓扑,在星形的中心则增加了一种可靠性非常高的设备,叫做集线器(hub)

以太网的信道利用率

  • 一个帧从开始发送,经可能发生的碰撞后,将再重传数次,到发送成功且信道转为空闲(即再经过时间 τ 使得信道上无信号在传播)时为止,是发送一帧所需的平均时间Tav。
  • 发送一帧占用线路的时间是 T0 + τ ,而帧本身的发送时间是 T0。于是我们可计算出理想情况下的极限信道利用率 Smax为:Smax=T0/(T0+t)=1/(1+a)

以太网的 MAC 层

  • MAC 地址是链路层地址,长度为 6 字节(48 位),用于唯一标识网络适配器(网卡)。
  • 一台主机拥有多少个网络适配器就有多少个 MAC 地址。例如笔记本电脑普遍存在无线网络适配器和有线网络适配器,因此就有两个 MAC 物理地址。

以太网帧格式:

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

扩展的以太网

在物理层扩展以太网

  • 用多个集线器可连成更大的局域网
    • 用集线器组成更大的局域网都在一个碰撞域中
      • 优点
        • 使原来属于不同碰撞域的局域网上的计算机能够进行跨碰撞域的通信。
        • 扩大了局域网覆盖的地理范围。
      • 缺点
        • 碰撞域增大了,但总的吞吐量并未提高。
        • 如果不同的碰撞域使用不同的数据率,那么就不能用集线器将它们互连起来。

在数据链路层扩展以太网

在数据链路层扩展局域网是使用网桥。
网桥工作在数据链路层,它根据 MAC 帧的目的地址对收到的帧进行转发
网桥具有过滤帧的功能。当网桥收到一个帧时,并不是向所有的接口转发此帧,而是先检查此帧的目的 MAC 地址,然后再确定将该帧转发到哪一个接口 。

网桥优点
1. 过滤通信量。网桥可以使局域网的一个网段上各工作站之间的信息量局限在本网段的范围内,而不会经过网桥溜到其他网段去。
2. 扩大了物理范围,也增加了整个局域网上的工作站的最大数目。
3. 可使用不同的物理层,可互连不同的局域网。
4.提高了可靠性。如果把较大的局域网分割成若干较小的局域网,并且每个小的局域网内部的信息量明显地高于网间的信息量,那么整个互连网络的性能就变得更好。
网桥缺点
1. 由于网桥对接收的帧要先存储和查找站表,然后转发,这就增加了时延。
2. 在MAC子层并没有流量控制功能。当网络上负荷很重时,可能因网桥缓冲区的存储空间不够而发生溢出,以致产生帧丢失的现象。
3. 具有不同MAC子层的网段桥接在一起时,网桥在转发一个帧之前,必须修改帧的某些字段的内容,以适合另一个MAC子层的要求,增加时延。
4. 网桥只适合于用户数不太多(不超过几百个)和信息量不太大的局域网,否则有时会产生较大的广播风暴。

交换机Switch

请添加图片描述
交换机具有自学习能力,学习的是交换表的内容,交换表中存储着 MAC 地址到接口的映射。
正是由于这种自学习能力,因此交换机是一种即插即用设备,不需要网络管理员手动配置交换表内容。

虚拟局域网

虚拟局域网只有在同一个虚拟局域网中的成员才会收到链路层广播信息。
使用 VLAN 干线连接来建立虚拟局域网,每台交换机上的一个特殊接口被设置为干线接口,以互连 VLAN 交换机。IEEE 定义了一种扩展的以太网帧格式 802.1Q,它在标准以太网帧上加进了 4 字节首部 VLAN 标签,用于表示该帧属于哪一个虚拟局域网。

高速以太网

100BASE-T 以太网

速率达到或超过 100 Mb/s 的以太网称为高速以太网
可在全双工方式下工作而无冲突发生。因此,不使用 CSMA/CD 协议。

吉比特以太网

  • 允许在 1 Gb/s 下全双工和半双工两种方式工作。
  • 在半双工方式下使用 CSMA/CD 协议(全双工方式不需要使用 CSMA/CD 协议)。

10 吉比特以太网

(10 Gigabit Ethernet,缩写为10GbE、10 GigE或10GE)10 吉比特以太网只工作在全双工方式不使用 CSMA/CD 协议。

使用高速以太网进行宽带接入

  • 以太网接入的重要特点是它可提供双向的宽带通信,并且可根据用户对带宽的需求灵活地进行带宽升级。
  • 采用以太网接入可实现端到端的以太网传输,中间不需要再进行帧格式的转换。这就提高了数据的传输效率和降低了传输的成本。

集线器在转发帧时,不对传输媒体进行检测。

网桥在转发帧之前必须执行 CSMA/CD 算法。

posted on 2022-04-16 09:48  Michael_chemic  阅读(200)  评论(0编辑  收藏  举报