概述
数据链路层的最重要内容
1.数据链路层的点对点信道和广播信道的特点,及这两种信道的协议的特点。
2.数据链路层的三个基本问题:封装成帧,透明传输,差错检测
3.以太网MAC地址的硬件地址
4.链路层中,适配器,转发器,集线器(物理层),网桥和以太网交换机作用和作用场合。
三个基本问题
三个基本问题:封装成帧,透明传输,差错检测
封装成帧
将网络层传下来的分组添加首部和尾部,用于标记帧的开始和结束。
透明传输
透明表示一个实际存在的事物看起来好像不存在一样。
帧使用首部和尾部进行定界,如果帧的数据部分含有和首部尾部相同的内容,那么帧的开始和结束位置就会被错误的判定。需要在数据部分出现首部尾部相同的内容前面插入转义字符。如果数据部分出现转义字符,那么就在转义字符前面再加个转义字符。在接收端进行处理之后可以还原出原始数据。这个过程透明传输的内容是转义字符,用户察觉不到转义字符的存在。
差错检测
目前数据链路层广泛使用了循环冗余检验(CRC,Cyclic Redundancy Check)来检查比特差错。
点对点信道
链路和数据链路
链路:一个节点到相邻节点的一段物理线路(有线或无线),而中间没有任何其他的交换节点。
数据链路:一条物理路线加上必要的通信协议,这些硬件加软件就构成了数据链路,通信协议的增加一般通过网络适配器。
简单来进行区分,链路就是指一条物理链路,数据链路就是指逻辑链路。
点对点信道的数据链路层协议
可以用3-3(a)所示的三层模型来简化数据链路中数据传输的过程。
PPP协议
一对一通信,不会发生碰撞,使用PPP协议进行控制。
互联网用户通常需要连接到某个 ISP 之后才能接入到互联网,PPP 协议是用户计算机和 ISP 进行通信时所使用的数据链路层协议。
PPP 的帧格式:
F 字段为帧的定界符
A 和 C 字段暂时没有意义
FCS 字段是使用 CRC 的检验序列
信息部分的长度不超过 1500
广播信道
CSMA/CD 协议
CSMA/CD 表示载波监听多点接入 / 碰撞检测。
多点接入:说明这是总线型网络,许多主机以多点的方式连接到总线上。
载波监听 :每个主机都必须不停地监听信道。在发送前,如果监听到信道正在使用,就必须等待。
碰撞检测:在发送中,如果监听到信道已有其它主机正在发送数据,就表示发生了碰撞。虽然每个主机在发送数据之前都已经监听到信道为空闲,但是由于电磁波的传播时延的存在,还是有可能会发生碰撞。
记端到端的传播时延为 τ,最先发送的站点最多经过 2τ 就可以知道是否发生了碰撞,称 2τ 为 争用期 。只有经过争用期之后还没有检测到碰撞,才能肯定这次发送不会发生碰撞。
当发生碰撞时,站点要停止发送,等待一段时间再发送。这个时间采用 截断二进制指数退避算法 来确定。从离散的整数集合 0 , 1 , . . , ( 2 k − 1 ) { 0, 1, .., (2^k - 1) } 0,1,..,(2k−1) 中随机取出一个数,记作 r,然后取 r 倍的争用期作为重传等待时间。
以太网
以太网帧格式:
类型 :标记上层使用的协议;
数据 :长度在 46-1500 之间,如果太小则需要填充;
FCS :帧检验序列,使用的是 CRC 检验方法;
交换机
交换机具有自学习能力,学习的是交换表的内容,交换表中存储着 MAC 地址到接口的映射。
正是由于这种自学习能力,因此交换机是一种即插即用设备,不需要网络管理员手动配置交换表内容。
下图中,交换机有 4 个接口,主机 A 向主机 B 发送数据帧时,交换机把主机 A 到接口 1 的映射写入交换表中。为了发送数据帧到 B,先查交换表,此时没有主机 B 的表项,那么主机 A 就发送广播帧,主机 C 和主机 D 会丢弃该帧,主机 B 回应该帧向主机 A 发送数据包时,交换机查找交换表得到主机 A 映射的接口为 1,就发送数据帧到接口 1,同时交换机添加主机 B 到接口 2 的映射。
虚拟局域网
虚拟局域网可以建立与物理位置无关的逻辑组,只有在同一个虚拟局域网中的成员才会收到链路层广播信息。
例如下图中 (A1, A2, A3, A4) 属于一个虚拟局域网,A1 发送的广播会被 A2、A3、A4 收到,而其它站点收不到。
使用 VLAN 干线连接来建立虚拟局域网,每台交换机上的一个特殊接口被设置为干线接口,以互连 VLAN 交换机。IEEE 定义了一种扩展的以太网帧格式 802.1Q,它在标准以太网帧上加进了 4 字节首部 VLAN 标签,用于表示该帧属于哪一个虚拟局域网。
参考
1.CyC2018@GitHub
2.计算机网络-谢希仁
最后
以上就是羞涩盼望为你收集整理的计算机网络-链路层的全部内容,希望文章能够帮你解决计算机网络-链路层所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复