数据链路层
数据链路层
网络层是将包从一个网络通过路由发送到另一个网络中,数据链路层则是如何在同一个局域网中从一条主机发送到另一台主机,但不经过路由器转发。
数据链路层的网络分为: 1. 点对点 2. 广播
1 透明传输
数据链路层会对数据加上帧开始符号和帧结束符,来对帧进行区分。为了解决数据中出现的帧开始符号和帧结束符号,数据链路层会对数据中出现的帧开始符号和帧结束符号进行转义。即字节填充方法,传输数据时对数据中的特殊字符添加转义符号,接收端接收到数据后将转义字符去掉。
2.CRC校验
能检测传输过去的帧是否由bit位错误,在当前讨论的数据链路层中,不要求可靠数据传输,可靠数据传输由上层协议保证。这是由于现在通讯线路质量好,不使用确认和重传可以提高传输效率
3. 点对点协议PPP
数据链路层简单的思想: 接收方每接受到一个帧,就进行CRC校验,如果校验正确,就收下这个帧,反之丢弃,其他什么都不做。
3.1 PPP协议组成
- PPP协议对IP数据报进行封装,信息最大长度位MTU
- 建立链路连接的链路控制协议LCP
- 一套网络控制协议NCP,其中一个协议支持不同的网络层协议,如IP,IPX,AppleTalk等
3.1.1 帧格式
首部4个字段 * 标志字段:0x7E 帧开始或结束 * 地址字段:0xFF 无地址 * 控制字段:0x03 无控制(最初是留给以后用的,但到现在也没用) * 协议字段:如 0x0021 IP协议 0x0023 ARP协议 尾部2个字段 * CRC校验:FCS * 帧结束符:0x7E
3.1.2 字节填充
在异步传输时(逐字符发送)为了实现透明传输,采用字节填充方法, 1. 当信息字段中出现0x7E时,转变为(0x7D, 0x5E) 2. 当data中出现0x7D时,转变为(0x7D, 0x5D) 3. 当data中出现ASCII码中的控制字符时(数值小于0x20),转变为(0x7D, data[i] + 0x20)如0x01转变为0x7D, 0x21
3.1.3 零比特填充
在使用SONET/SDH链路时,使用同步传输(一连串比特连续传送),为实现透明传输,采用零比特填充方法 > 在信息端出现连续5个1时,发送端在后面加一个0,接收端在接收到连续5个1时,如果后面是0,就丢弃0
3.2 PPP协议的工作状态
- 链路建立状态,建立链路层的LCP连接 发送LCP的配置请求帧,是一个PPP帧,协议字段位LCP对应代码,信息字段为配置请求。另一端可以发送配置回应帧,也可以发送拒绝帧,如果发送拒绝帧,就会重新发送配置请求帧,直到对方发送配置回应帧。结束后建立了LCP链路。
- 鉴别状态 只能发送LCP协议分组,鉴别协议分组。如使用口令鉴别协议PAP,通信一方发送身份识别符和口令,若鉴别成功,则进入网络控制协议NCP阶段
- 网络层协议状态 PPP链路两端的网络控制协议NCP根据网络层的不同协议互相交换网络层特定的网络分组。例如是IP协议,则配置IP协议模块时使用NCP中支持的IP协议,IP控制协议IPCP
- 网络层配置完成后,进入链路打开状态,两端互相发送分组。 由过程可以看到,PPP协议还包含物理层和网络层的内容,如协商网络层协议。
4. 使用广播信道的数据链路
局域网特点:
网络为一个单位所有,地理范围和站点数目有限。
局域网优点:
具有广播功能,一个站点可以方便的访问全网。
以太网: 局域网的同义词
适配器:
计算机与局域网的连接是通过适配器进行的,适配器是主板上的一块网络接口板,又称为网卡。适配器与局域网通过电缆通信,与电脑通过i/o总线以并行的方式进行通信。所以其一个主要作用是对数据进行串行传输和并行传输的转换。适配器在接受和发送时,不使用计算机的cpu
在总线型局域网使用广播的方式进行链路层通信,需要进行冲突检测,以太网使用CSMA/CD协议进行冲突检测。
星型局域网:
以太网的一种,在旧版本使用集线器组成,在逻辑上可以看作总线局域网,需要利用CSMA/CD协议进行冲突检测,现在使用以太网交换机,不需要冲突检测。
帧格式 :
以太网帧格式,包括帧开始符,目的地址,源地址,类型字段,数据字段,CRC校验字段,帧结束符。‘
扩展以太网:
虚拟局域网VLAN,将一个局域网划分为多个虚拟局域网,每个虚拟局域网是一个广播域,不同的虚拟局域网之间不能互相通信,可以通过交换机进行通信。在帧中加入VLAN标签,交换机根据VLAN标签进行转发。
MAC地址:
以太网中的地址,48位,前24位为厂商识别码,后24位为厂商分配的地址。在设备被生产时就固定,不会改变。在设备接收到帧时,会检查目的地址,如果不是自己的地址,就丢弃帧。但是设备还具有混杂模式,可以接收所有的帧。可以进行网络嗅探。
当使用局域网接入互联网时,使用PPPoe协议,将以太网帧封装在PPPoE帧中,然后通过ADSL接入互联网。