计算机通信之数据链路层

数据链路层在不可靠的物理介质上提供可靠的传输,对应的连接设备:网桥、交换机。
职责:链路管理,封装成帧,流量控制,差错控制,透明传输,寻址。

数据链路层概述

数据链路层为网络层提供服务:

    无确认的无连接服务

    有确认的无连接服务

    有确认的面向连接服务


基本服务:
    将一个节点的网络层接收来的数据帧,无比特差错地传输到相邻节点的网络层。

信道类型

点对点信道:
	这种信道使用一对一的点对点通信方式,在点对点的专线上通信,不会产生冲突。

广播信道:
	这种信道使用一对多的广播通信方式。
	广播信道上连接的主机很多,会产生冲突,因此必须使用共享信道协议来协调这些主机的数据发送。

链路与数据链路

链路:
	是一条点到点的物理线路段,中间没有任何其他的交换结点。一条链路只是一条通路的一个组成部分。


数据链路:
	除了物理线路外,还必须有通信协议来控制这些数据的传输。
	若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。


现今最常用的方法是使用适配器(即网卡)来作为实现这些协议的硬件和软件:
	一般的适配器都包括了数据链路层和物理层这两层的功能。

数据链路层传输的是帧

封装成帧的目的:
	能从物理层收到的比特流中识别各帧的开始和结束。

数据链路层就像一个数字管道,而在这条数字管道上传输的数据单位就是帧。

数据链路层帧格式

以太网MAC层的MAC帧格式

FCS:帧校验

从层次上看数据的流动

仅从数据链路层观察帧的流动

数据链路层解决的基本问题

封装成帧:
	将网络层传下来的分组添加首部和尾部,用于标记帧的开始和结束。

透明传输:
	帧中有首部和尾部,如果帧的数据部分含有和首部尾部相同的内容,那么帧的开始和结束位置就会被错误的判定。

	需要在数据中出现首部尾部相同的内容前面插入转义字符。
	如果需要传输的内容正好就是转义字符,那么就在转义字符前面再加个转义字符,在接收端进行处理之后可以还原出原始数据。

	这个过程透明传输的内容是转义字符,用户察觉不到转义字符的存在。

差错控制:
	使用了循环冗余检验(CRC)来检查比特差错。

透明传输

原文地址:https://www.cnblogs.com/loveer/p/11722303.html