计算机网络基础---数据链路层

Posted xiaokang01

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机网络基础---数据链路层相关的知识,希望对你有一定的参考价值。

数据链路层知识梳理

在数据链路层传输的数据单位为:帧

 

链路和数据链路

链路:一条点到点的物理线路。

数据链路:除了物理线路外,还必须有通信协议来控制这些数据的传输。

若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。(用网卡来实现这些协议的硬件和软件)

数据发送的模型

技术分享图片

 

数据链路层主要使用的通道:

广播讯道:

一对多通信,一个节点发送的数据能够被广播信道上所有的节点接收到。

所有的节点都在同一个广播信道上发送数据,因此需要有专门的控制方法进行协调,避免发生冲突(冲突也叫碰撞)。

主要有两种控制方法进行协调,一个是使用信道复用技术,一是使用 CSMA/CD 协议。

点对点传播

一对一通信。

因为不会发生碰撞,因此也比较简单,使用 PPP 协议进行控制。

 

数据链路层传输的是帧:

技术分享图片

 

数据链路层的三个基本问题:封装成帧,透明传输,差错检测

封装成帧

技术分享图片

 

就是在一段数据的前后添加首部和尾部,就构成了一个帧,确定帧的界限。

首部和尾部的一个重要作用就是进行帧定界。  (分片)

MTU:最大传输单元,不能超过1500字节

 

为什么加一个头部和尾部:

如果在接收端,只收到首部或者尾部,没有全都收到,就会将这个不完整的帧丢弃,重新接受

 

透明传输

透明表示一个实际存在的事物看起来好像不存在一样。

帧使用首部和尾部进行定界,如果帧的数据部分含有和首部尾部相同的内容,那么帧的开始和结束位置就会被错误的判定。

需要在数据部分出现首部尾部相同的内容前面插入转义字符。如果数据部分出现转义字符,那么就在转义字符前面再加个转义字符。

在接收端进行处理之后可以还原出原始数据。这个过程透明传输的内容是转义字符,用户察觉不到转义字符的存在。

技术分享图片

技术分享图片

在传输过程中,我们用一般传输的是ASCII,其中有打印字符和非打印字符,

我们用非打印字符作为帧定界符:代码SOHStart Of Header)作为帧开始定界符,代码EOTEnd Of Transmission)作为帧结束定界符。

如果我们传输的文本中也含有帧定界符的话, 为了防止错误就要加上转义字符,ESC作为转义字符。 

 

差错检测

目前数据链路层广泛使用了循环冗余检验(CRC)来检查比特差错。

现实的通信链路都不会是理想的。这就是说,比特在传输过程中可能会产生差错:1可能会变成0,而0也可能变成1,这就叫做比特差错。

为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施。目前在数据链路层广泛使用了循环冗余检验CRC(Cyclic Redundancy Check)的差错检验技术

降低误码率(BER,Bit Error Rate),广泛使用循环冗余检测(CRC,Cyclic Redundancy Check)

 

PPP协议

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

技术分享图片

PPP 的帧格式:

  • F 字段为帧的定界符
  • A 和 C 字段暂时没有意义
  • FCS 字段是使用 CRC 的检验序列
  • 信息部分的长度不超过 1500

技术分享图片

PPP的帧格式分为首部和尾部,分别为四个字段和两个字段。

首部的Fflag)表示帧定界,如果连续出现两个表示为空帧。

AC目前无意义。然后是协议字段。表示后面的ip数据报存放的是什么信息数据。

信息部分长度不能超过1500字节

尾部的FCS2个字节表示使用CRC的帧检验序列。

 

MAC地址

 

MAC 地址是链路层地址,长度为 6 字节(48 位),用于唯一标识网络适配器(网卡)。

一台主机拥有多少个网络适配器就有多少个 MAC 地址。例如笔记本电脑普遍存在无线网络适配器和有线网络适配器,因此就有两个 MAC 地址。

mac帧格式:

前两个字段为6字节的目的地址和源地址字段,第三个字段是2字节的类型字段,表示数据段的是什么信息。

第四个字段是46--1500字节的数据字段(46字节=64字节减去18字节的首部和尾部),第五个字段是4个字节的帧检验序列。

技术分享图片

 

局域网:

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

主要有以太网、令牌环网、FDDI 和 ATM 等局域网技术,目前以太网占领着有线局域网市场。

可以按照网络拓扑结构对局域网进行分类

技术分享图片

 

以太网

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

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

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

以太网帧格式:

  • 类型 :标记上层使用的协议;
  • 数据 :长度在 46-1500 之间,如果太小则需要填充;
  • FCS :帧检验序列,使用的是 CRC 检验方法;
  • 前同步码 :只是为了计算 FCS 临时加入的,计算结束之后会丢弃。

 技术分享图片

 

虚拟局域网

虚拟局域网可以建立与物理位置无关的逻辑组,只有在同一个虚拟局域网中的成员才会收到链路层广播信息。

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

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

 技术分享图片

 

以上是关于计算机网络基础---数据链路层的主要内容,如果未能解决你的问题,请参考以下文章

计算机网络基础-3-数据链路层

计算机网络基础---数据链路层

计算机网络:数据链路层

计算机网络-数据链路层

计算机网络--链路层

计算机网络—— 数据链路层:数据链路层概述