计算机网络 第三章
第三章 数据链路层
1.基本概念
1.数据链路层的作用:
-
判断数据帧的开头和结尾,从哪开始收,哪里是结束。
-
判断数据帧在传输过程是否产生错误,有错误则扔掉,没有错误则给网络层
2.信道的使用类型: -
点对点信道。一对一的通信方式。
-
广播信道。一对多的通信方式,由于连接的主机较多,必须使用专用的信道协议来协调这些主机的数据发送。
3.链路与数据链路
- 链路:一条点到点的物理线路,中间没有任何其他的交换结点。
- 数据链路:物理线路+实现这些协议(控制数据传输的通信协议)的硬件和软件。
- 现最常用的方法是使用适配器(即网卡)来实现这些协议的硬件和软件。
- 一般的适配器都包括数据链路层和物理层的功能。
4.数据链路层传送的是帧
帧=帧头+帧尾+物理层地址+校验值
2.数据链路层解决的三个问题
1.封装成帧:
- 一段数据的前后分别添加首部和尾部。
- 首部和尾部的作用:确定帧的界限。
·用控制字符进行帧定界的方法举例
2.透明传输
-
若传输的数据是ASCII码中“可打印字符(共95个)”集时,一切正常。
-
若传输的数据不是仅由“可打印字符”组成时,就会出问题,如下图。
·用字节填充法解决透明传输的问题
-
发送端的数据链路层在数据中出现控制字符"SOH"或"EOT"的,则在其前面插入一个转义字符"ESC"(十六进制编码是1B)。
-
同理,接收端的数据链路层在将数据送往网络层之前删除插入的转义字符。
3.差错控制
- 传输过程中可能会产生
比特差错
:1可能变成0,0也可能变成1。 - 在一段时间内,传输错误的比特占所传输比特总数的比率称为
误码率
。
1.发送端在传输过程中采用帧检验序列,帧检验序列的生成方式:CRC算法
-
循环冗余检验(CRC)的计算过程:进行不进位加法,商取除数和余数的首位。
-
FCS是添加在数据后面的冗余码,但CRC并非是用来获得FCS的唯一方法。
2.接收端对收到的每一帧进行CRC校验
- 同理,若余数R为0,则判断这个帧没有错误,就接受。
- 若余数R不为0,则判断这个帧有错误,就丢弃。
3.CRC检验的特点:
- 这种检验方法并不能确定究竟是哪一个或哪几个比特出现了差错。
- 只要经过严格的挑选,并使用位数足够多的除数P,那么出现检测不到的差错的概率就很小很小。
3.两种情况下的数据链路层
1.使用点对点信道的数据链路层–广域网、PPP协议
1.PPP协议:用户使用拨号电话线接入因特网。
PPP协议应满足的要求 | PPP协议无需满足的要求 |
---|---|
简单 | 纠错 |
*封装成帧 | 流量控制 |
*透明性 | 序号 |
多种网络层协议 | 多点线路 |
*差错检测 | 半双工或单工链路 |
检测连接状态 | |
最大传送单元 | |
网络层地址协商 | |
数据压缩协商 |
2.PPP协议的组成:
-
数据链路层协议可以用于异步串行或同步串行介质。
-
它使用LCP(链路控制协议)建立并维护数据链路连接。
-
网络控制协议(NCP)允许在点到点连接上使用多种网络层协议,如下图所示。
3.PPP协议的帧格式:
-
F
:7E的二进制是01111110–开始、结束的标志。0x表示十六进制。 -
A
:FF–地址字段,因为是点到点的传输,所以是固定的。地址字段实际不起作用。 -
C
:03–啥也没干,目的是做成控制字段,但是现在并没有作用。 -
协议
:2个字节,表示IP数据报包含的内容,如0x0021–PPP帧的信息字段就是IP数据报。 -
FCS
:帧检验序列–对方收到后,用FCS来判断是否有错误。 - PPP是面向字节的,所有的PPP帧的长度都是整数字节。
4.PPP协议的信息部分出现标志字段
的值(7E)
-
字节填充(信息部分为字节):
- 若信息字段中出现的每个0x7E字节转变成为2字节序列(0x7D,0x5E)。
- 若信息字段中出现一个0x7D的字节,则将其转变成为2字节序列(0x7D,0x5D)。
-
零比特填充法(信息部分为二进制流):
- 发送端,只要发现有5个连续1,即立即填入一个0。
- 接收端,对帧的比特流进行扫描,当发现5个连续1时,就把5个连续1后的一个0删除。
5.PPP协议的工作状态:
-
当用户拨号接入ISP时,路由器的调制解调器对拨号做出确认,并建立一条物理连接。PC机向路由器发送一系列的LCP分组(封装成多个PPP帧)NCP会给新接入的PC机分配一个临时的IP地址,使PC机成为因特网上的一个主机。
-
当通信完毕后,NCP释放网络层连接,收回原来分配的IP地址,LCP释放数据链路层连接,最后释放物理层连接。
2.使用广播信道的数据链路层–局域网、CSMA/CD协议
1.共享通信媒体
- 静态划分信道
- 频分复用
- 时分复用
- 波分复用
- 码分复用
- 动态媒体接入控制(多点接入)
- 随机接入(主要被以太网采用)
- 受控接入,如多点线路探询,或轮询。(目前也不被采用)
2.CSMA/CD协议(载波监听多点接入/碰撞检测协议)
- 多点接入:许多计算机连接一根总线。
- 载波监听:每一个站在发送数据之前要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞。
- 碰撞检测:
- 当几个计算机同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加)
- 当一个计算机检测到的信号电压摆动值超过一定的门限值时,认为总线上至少有两个计算机同时在发送数据,表明产生了
碰撞
。 -
碰撞
即发生了冲突。因此碰撞检测
也称为冲突检测
。
- 检测到碰撞后:
- 在发生碰撞时,总线上传输的信号会严重失真,无法从中恢复出有用的信息来。
- 每一个正在发送数据的计算机,一旦发现总线上出现了碰撞,就要立即停止发送,然后等待一段随机时间后再次发送。
3.CSMA/CD协议技术细节
-
传播时延对载波监听的影响
最长传播时延为2τ -
重要特性
- 使用CSMA/CD协议的以太网不能进行全双工通信而只能进行半双工通信。
- 每个计算机在发送数据之后的一小段时间内,存在着遭遇碰撞的可能性。
- 整个以太网的平均通信量小于以太网的最高数据率。
-
争用期:最先发送数据帧的计算机,在发送数据帧后至多经过时间2τ(2倍的端到端往返时延)就可知道发送的数据帧是否遭受了碰撞。
- 以太网的端到端往返时延2τ称为争用期,或碰撞窗口。通常,取51.2μs为争用期的长度。
- 对于10Mb/s的以太网,在争用期内可发送512bit,即64字节。
- 以太网在发送数据时,若前64字节未发生冲突,则后续的数据就不会发生冲突。
- 以太网规定了最短有效帧长为64字节,凡长度小于64字节的帧都是由于冲突而异常中止的无效帧。
4.二进制指数类型退避算法:发生碰撞的计算机在停止发送数据后,要推迟(退避)一个随机时间才能再发送数据。
-
确定
基本退避时间
,一般是取为争用期2τ. -
确定参数K,
K=Min[重传次数,10]
-
从整数集合[0,1,…,(2^k-1)]中随机取出一个数,记为r。重传所需的时延就是r倍的
基本退避时间
。 -
当重传16次仍不能成功时,即丢弃该帧,并向高层报告。
4.以太局域网(以太网)
1.以太网的两个标准
- DIX Ethernet V2是第一个局域网产品(以太网)的规约。
- IEEE的802.3标准。
严格的来说,以太网应当是符合DIX Ethernet V2标准的局域网。
2.以太网与数据链路层的两个子层
为了使数据链路层能更好的适应多种局域网标准,802委员会就将局域网的数据链路层拆成两个子层:
- 逻辑链路控制LLC子层
- 媒体接入控制MAC子层。
3.以太网提供的服务
- 以太网提供的服务是不可靠的交付,即尽最大努力的交付。
- 当接收站收到有差错的数据帧时就丢弃此帧,其他什么也不做。差错的纠正由高层来决定。
- 如果高层发现丢失了一些数据而进行重传,但以太网并不知道这是一个重传的帧,而是当作一个新的数据帧来发送。
4.以太网的结构
1.星型拓扑
2.集线器的结构
- 工作在物理层
- 不安全:A计算机向B计算机发包,则集线器上所有的计算机都能收到。
- 带宽共享:若集线器为10M带宽,则集线器上相连的计算机的带宽都是10M。
- 每个站(计算机)到集线器的距离不超过100M。
5.以太网信道利用率:参数a
1.a是以太网单程端到端时延τ与帧的发送时间T0之比
2.以太网的信道利用率:最大值
对以太网参数的要求:
- 当数据率(网速)一定时,以太网的连线的长度受到限制,否则τ的数值会太大
- 以太网的帧长不能太短,否则T0的值会太小,是a值太大
以太网信道利用率的最大值:
- 在理想情况下,以太网上不会发生碰撞,即总线一旦空闲就有某一个站立即发送数据。
- 发送一帧占用线路的时间是T0+τ,而帧本身发送的时间是T0。
6.以太网的MAC层
1.MAC层的硬件地址(MAC地址)
- 硬件地址:物理地址,即MAC地址
- MAC地址:48位二进制
- IEEE的
注册管理机构
负责向厂家分配地址字段的前三个字节(即高位24位)。 - 扩展标识符:地址字段的后三个字节(即低位24位),厂家自行指派。
- MAC地址实际上是适配器地址或适配器标识符EUI-48。
2.适配器检查MAC地址
适配器从网络上每收到一个MAC帧就首先用硬件检查MAC帧中的MAC地址。
- 是发往本站的帧则收下,然后再进行其他的处理。
- 否则就将此帧丢弃,不再进行其他的处理。
发往本站的帧包括以下三种帧:
- 单播帧:一对一
- 广播帧:一对全体
- 多播帧:一对多
3.MAC帧的格式
常用的以太网MAC帧格式的两个标准:
- DIX Ethernet V2标准
- IEEE的802.3标准
常用的MAC帧是以太网V2的格式
目的地址、源地址:指的是MAC地址
4.无效的MAC帧
- 帧的长度不是整数个字节;
- 数据字段的长度不在46~1500字节之间;
- 有效的MAC帧长度不在64~1518字节之间;
对于检查出的无效MAC帧就简单地丢弃。以太网不负责重传丢失的帧。
5.帧间最小间隔
- 帧间最小间隔为9.6μs,相当于96bit的发送时间
5.扩展以太网(标准版,10Mb/s)
1.距离:
- 双绞线:100M以内;
- 光纤:几公里。
2.以太网扩展方式及扩展缺点–冲突域:
方式:通过集线器级联,是网络中计算机数量增加。
缺点:组建了一个大的冲突域。
- 一系的A和B通信,则一系内的C、D等其他计算机就不能通信了。
- 一系的A和二系的M通信,则一系和二系内的其他计算机就不能通信了。
3.在数据链路层考虑扩展
在数据链路层扩展局域网是使用网桥
- 网桥工作在数据链路层,根据MAC帧的目的地址对接收到的帧进行转发。
- 网桥具有过滤的功能。当网桥然收到一个帧时,并不是向所有的接口转发此帧,而是先检查此帧的目的MAC地址,然后再确定将该帧转发到哪一个接口。
交换机
-
交换机的前身是网桥,交换机是全双工通信。基于MAC地址转发。
-
避免冲突:若A和B通信,则不影响C和D的通信。若A和B通信时,C也向B发了信息,则C发的信息需要排队。
-
端口带宽独享:若交换机的带宽是100M,则交换机上的所有计算机都是100M。
-
安全。
-
通过学习构建MAC地址表。
查看交换机上计算机的MAC 地址表命令:Switch#show mac-address-table
6.高速以太网(100Mb/s)
1.100BASE-T以太网(快速以太网)
-
速率达到或超过100Mb/s的以太网称为
高速以太网
-
在双绞线上传送100Mb/s基带信号的星型拓扑以太网,仍使用IEEE802.3的CSMA/CD协议。
1.100BASE-T以太网的物理层:
- 100BASE-TX:使用2对UTP5类线或屏蔽双绞线STP。
- 100BASE-FX:使用2对光纤。
- 100BASE-T4:使用4对UTP3类线或5类线。
2.100BASE-T以太网的特点
- 可在全双工方式下工作而无冲突发生。因此,不使用CSMA/CD协议。
- MAC帧格式仍然是802.3标准规定的。
- 最短帧长不变(64个字节),但将一个网段的最大电缆长度减小到100m。
- 帧间时间间隔从原来的9.6μs改为现在的0.96μs。
2.吉比特以太网
- 允许在1Gb/s下全双工和半双工两种方式工作。
- 使用802.3协议规定的帧格式。
- 在半双工方式下使用CSMA/CD协议(全双工方式不需要使用CSMA/CD协议)。
- 与10BASE-T和100BASE-T技术向后兼容。
- 当吉比特以太网工作在全双工方式时,不使用载波延伸和分组突发。
1.吉比特以太网的物理层
1000BASE-X 基于光纤通道的物理层:
- 1000BASE-SX:SX表示短波长,传输距离275或550米。
- 1000BASE-LX:LX表示长波长,550米或5000米。
- 1000BASE-CX:CX表示铜线,传输距离25米。
1000BASE-T
- 使用4对5类线UTP。
2.吉比特以太网的配置举例
3.10吉比特以太网
- 10吉比特以太网与10Mb/s,100Mb/s,1Gb/s以太网的帧格式完全相同。
- 10吉比特以太网保留了802.3标准规定的以太网最小和最大帧长,便于升级。
- 10吉比特以太网不再使用铜线而只使用光纤。
- 10吉比特以太网只工作在全双工方式,因此没有争用问题,也不使用CSMA/CD协议。
1.端到端的以太网传输
10吉比特以太网的出现,以太网的范围已经从局域网扩大到城域网和广域网,从而实现了端到端的以太网传输。
端到端的工作方式的好处:
- 技术成熟;
- 互操作性好;
- 在广域网中使用以太网的价格便宜;
- 统一的帧格式简化了操作和管理。