热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

计算机网络谢希仁第七版知识点整理第三章数据链路层

第3章数据链路层---帧本章介绍的数据链路层协议都不是可靠传输的协议数据链路层的两个子层:逻辑链路控制LLC(LogicalLinkControl)子层ÿ

第 3 章  数据链路层---  帧  本章介绍的数据链路层协议都不是可靠传输的协议  

数据链路层的两个子层:

逻辑链路控制 LLC (Logical Link Control)子层;

媒体接入控制 MAC (Medium Access Control)子层。

1 .数据链路层使用的信道主要有以下两种类型:

点对点信道。这种信道使用一对一的点对点通信方式。

广播信道。这种信道使用一对多的广播通信方式,


  1. 三个基本问题是:封装成帧 透明传输 差错控制
  2. 链路 (link) 是一条无源的点到点的物理线路段,中间没有任何其他的交换结点。
  3. 数据链路 (data link) 除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。
  4. 在互联网中网络层协议单元就是IP数据报(数据报,分组,包)
  5. 封装成帧 (framing) 就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。确定帧的界限。首部和尾部的一个重要作用就是进行帧定界。每一种 链路协议都规定了所能传送的帧的数据部分长度上限,最大传送单元MTU
  6.  

 

解决透明传输问题

 


 
 

解决方法:字节填充 (byte stuffing) 或字符填充

发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前面插入一个转义字符“ESC” (其十六进制编码是 1B)。接收端的数据链路层在将数据送往网络层之前删除插入的转义字符。如果转义字符也出现在数据当中,那么应在转义字符前面插入一个转义字符 ESC。当接收端收到连续的两个转义字符时,就删除其中前面的一个。

8.差错检测

在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率 BER (Bit Error Rate)。

误码率与信噪比有很大的关系。

循环冗余检验 CRC 的检错技术。

在数据后面添加上的冗余码称为帧检验序列 FCS (Frame Check Sequence)。

现在 k = 6, M = 101001。设 n = 3, 除数 P = 1101,被除数是 101001000。

模 2 运算的结果是:商 Q = 110101,余数 R = 001。

把余数 R 作为冗余码添加在数据 M 的后面发送出去级、、101001001,共 (k + n) 位。  传输传输差错的分类:

比特差错:1变0,0变1

帧丢失:丢失某个帧

帧重复:某个帧收到多次

帧失序:后发送的帧反而先到达接收端

9.点对点PPP 协议有三个组成部分:

(1) 一个将 IP 数据报封装到串行链路的方法。

(2) 链路控制协议 LCP (Link Control Protocol)。

(3) 网络控制协议 NCP (Network Control Protocol)。   

10.PPP 帧的首部和尾部分别为 4 个字段和 2 个字段,标志字段 F = 0x7E (符号“0x”表示后面的字符是用十六进制表示。十六进制的 7E 的二进制表示是 01111110),地址字段 A 只置为 0xFF。地址字段实际上并不起作用,控制字段 C 通常置为 0x03。

PPP 是面向字节的,所有的 PPP 帧的长度都是整数字节。

当 PPP 用在同步传输链路时,协议规定采用硬件来完成比特填充(和 HDLC 的做法一样)。

当 PPP 用在异步传输时,就使用一种特殊的字符填充法。

这时 PPP 协议采用零比特填充方法来实现透明传输。

在发送端,只要发现有 5 个连续 1,则立即填入一个 0。接收端对帧中的比特流进行扫描。每当发现 5 个连续1时,就把这 5 个连续 1 后的一个 0 删除

 


  1. 使用广播信道的数据链路层

局域网最主要的特点是:网络为一个单位所拥有;地理范围和站点数目均有限。

局域网的拓扑结构:总线网、环形网、星形网

IEEE 802 委员会就将局域网的数据链路层拆成两个子层:

逻辑链路控制 LLC (Logical Link Control)子层;

媒体接入控制 MAC (Medium Access Control)子层。

与接入到传输媒体有关的内容都放在 MAC子层,而 LLC 子层则与传输媒体无关。

网络接口板又称为通信适配器 (adapter) 或网络接口卡 NIC (Network Interface Card),或“网卡”。


  1. CSMA/CD 协议 含义:载波监听多点接入 / 碰撞检测

工作原理:先发先侦听,空闲即发送,边发边检测,冲突退避再发送

 

是指每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞。边发送数据边检测信道上的信号电压大小。每一个正在发送数据的站,一旦发现总线上出现了碰撞,就要立即停止发送,免得继续浪费网络资源,然后等待一段随机时间后再次发送。

多点接入:说明是总线型网络


  1. 使用 CSMA/CD 协议的以太网不能进行全双工通信而只能进行双向交替通信(半双工通信)最先发送数据帧的站,在发送数据帧后至多经过时间 2t (两倍的端到端往返时延)

以太网的端到端往返时延 2t 称为争用期,或碰撞窗口。

为了通信的简便,以太网采取了两种重要的措施:

(1) 采用较为灵活的无连接的工作方式

2) 以太网发送的数据都使用曼彻斯特 (Manchester) 编码

14.10 Mbit/s 以太网取 51.2 ms 为争用期的长度。

对于 10 Mbit/s 以太网,在争用期内可发送 512 bit,即 64 字节。以太网在发送数据时,若前 64 字节没有发生冲突,则后续的数据就不会发生冲突。以太网规定了最短有效帧长为 64 字节,凡长度小于 64 字节的帧都是由于冲突而异常中止的无效帧。

15. 使用无屏蔽双绞线,采用星形拓扑

集线器特点:广播域冲突域

使用集线器的以太网在逻辑上仍是一个总线网,各工作站使用的还是 CSMA/CD 协议,并共享逻辑上的总线。 集线器很像一个多接口的转发器,工作在物理层:集线器采用了专门的芯片,进行自适应串音回波抵消,减少了近端串音

注意与交换机的区别:

交换机:数据链路层,

假设 t 是以太网单程端到端传播时延。则争用期长度为 2t,即端到端传播时延的两倍。检测到碰撞后不发送干扰信号。设帧长为 L (bit),数据发送速率为 C (bit/s),则帧的发送时间为  T0 = L/C (s)。


  1. 以太的网信道利用率

以太网信道的利用率:由于会发生碰撞,实际利用率达不到100%

成功发送一个帧占用信道的时间:T0+τ

参数a:

a=τ/T0    是单程端到端时延τ与帧的发送时间T0之比

 a->0表示一发生碰撞就能立即检测出来并停止发送,而a越大,争用期占比越大,使信道利用率降低

因此a的值越小越好;当数据率一定时,以太网连线的长度受到限制,同时以太网的帧长不能太短

极限信道利用率Smax: Smax=T0/(T0+τ)=1/1+a

只有参数a远小于1才能得到尽可能高的极限信道利用率

17. 以太网的 MAC 层

硬件地址又称为物理地址,或 MAC 地址,IEEE 802 标准规定 MAC 地址字段可采用 6 字节 ( 48位) 或 2 字节 ( 16 位) 这两种中的一种。

向厂家分配地址字段 6 个字节中的前三个字节 (即高位 24 位),称为组织唯一标识符。

地址字段 6 个字节中的后三个字节 (即低位 24 位) 产品序号,称为扩展唯一标识符,

了解


  1. 在数据链路层扩展以太网

网桥工作在数据链路层。

以太网交换机的特点:接口有存储器;即,插即用设备;专用的交换结构芯片;交换机上的主机是全双工工作,不会产生冲突,交换机中存有地址表通过自学习算法建立,交换机上所有端口在同一个广播域上

以太网交换机实质上就是一个多接口的网桥,具有并行性。工作在全双工方式

帧转发方式:

直通:收到帧之后直接转发,不必事先把整个数据帧缓存,但也不对帧进行检验

存储转发:将所有帧都收到后进行检查,然后再发送

交换机的自学习功能:

地址表的形成:收到未知的地址后,存储源地址和接口的对应关系,向除来源端口的其它端口广播,目的地址不符则丢弃,否则接收并回复,收到回复后存储对应关系;地址表有有效时间,超过有效时间则失效

生成树协议STP:解决无限循环的问题

广播风暴

总线以太网使用CSMA/CD协议,以半双工方式


  1. 虚拟局域网

虚拟局域网(VLAN):是一些局域网网段构成的与物理位置无关的逻辑组

*VLAN标记:在MAC帧的源地址和类型间插入4字节的VLAN标记,交换机收到帧后只向所属VLAN转发,而不进行广播

最大帧长变为1522字节(1518+4)

IEEE802.1Q  

补充:课后题

3.网络适配器的作用是什么?工作在哪一层?

解:适配器是用来实现数据链路层和物理层这两层的协议的硬件和软件;工作在数据链路层和物理层

4.数据链路层的三个基本问题为什么必须解决?

解:帧定界是分组交换的必然要求;透明传输避免消息符号与帧定界符混淆;差错检验防止差错的无效帧浪费后续路由上的传输和处理资源

19.以太网使用的CSMA/CD协议是以争用方式接入到共享信道。这与传统的时分复用TDM相比优缺点如何?

解:传统时分复用是静态时隙分配,均匀高负荷时信道利用率高,低负荷或负荷不均匀时资源浪费较大;CSMA/CD动态使用空闲资源,低负荷时信道利用率高,但控制复杂,高负荷时信道冲突大

20.假定1km长的CSMA/CD网络的数据率为1Gb/s。设信号在网络上的传播速率为200000km/s。求能够使用此协议的最短帧长。

解:对于1km长的电缆,单程传播时间为1/200000=5μs,来回传播时间即为10μs,所以最小帧的发射时间不能小于10μs,以1Gb/s速率工作,10μs能发送的比特数为10*10^-6*1*10^9=10000.因此,最短帧长是10000位


推荐阅读
  • 本文回顾了作者初次接触Unicode编码时的经历,并详细探讨了ASCII、ANSI、GB2312、UNICODE以及UTF-8和UTF-16编码的区别和应用场景。通过实例分析,帮助读者更好地理解和使用这些编码。 ... [详细]
  • 在《Linux高性能服务器编程》一书中,第3.2节深入探讨了TCP报头的结构与功能。TCP报头是每个TCP数据段中不可或缺的部分,它不仅包含了源端口和目的端口的信息,还负责管理TCP连接的状态和控制。本节内容详尽地解析了TCP报头的各项字段及其作用,为读者提供了深入理解TCP协议的基础。 ... [详细]
  • Java Socket 关键参数详解与优化建议
    Java Socket 的 API 虽然被广泛使用,但其关键参数的用途却鲜为人知。本文详细解析了 Java Socket 中的重要参数,如 backlog 参数,它用于控制服务器等待连接请求的队列长度。此外,还探讨了其他参数如 SO_TIMEOUT、SO_REUSEADDR 等的配置方法及其对性能的影响,并提供了优化建议,帮助开发者提升网络通信的稳定性和效率。 ... [详细]
  • 利用ZFS和Gluster实现分布式存储系统的高效迁移与应用
    本文探讨了在Ubuntu 18.04系统中利用ZFS和Gluster文件系统实现分布式存储系统的高效迁移与应用。通过详细的技术分析和实践案例,展示了这两种文件系统在数据迁移、高可用性和性能优化方面的优势,为分布式存储系统的部署和管理提供了宝贵的参考。 ... [详细]
  • 在交换机链路聚合中,负载均衡算法通过哈希表实现。每当创建一个新的聚合组时,交换机的底层硬件会生成一个对应的哈希表,该表存储在交换芯片上。哈希表的结构包括索引(Index)和相应的条目,这些索引由硬件支持,用于确定数据包的传输路径。通过这种方式,负载均衡算法能够高效地分配网络流量,提高链路利用率和系统性能。 ... [详细]
  • 考前准备方面,我的考试时间安排在上午11点至12点,只需提前20分钟到达考场的接待休息区即可。由于我居住在福田区,交通便利,可以选择多种方式前往考场。为了确保顺利通过考试,我建议考生提前熟悉考试流程和环境,并合理规划出行时间,以保持良好的心态和状态。此外,考前复习应注重理论与实践相结合,多做模拟题,加强对重点知识点的理解和掌握。 ... [详细]
  • 兆芯X86 CPU架构的演进与现状(国产CPU系列)
    本文详细介绍了兆芯X86 CPU架构的发展历程,从公司成立背景到关键技术授权,再到具体芯片架构的演进,全面解析了兆芯在国产CPU领域的贡献与挑战。 ... [详细]
  • 2020年9月15日,Oracle正式发布了最新的JDK 15版本。本次更新带来了许多新特性,包括隐藏类、EdDSA签名算法、模式匹配、记录类、封闭类和文本块等。 ... [详细]
  • 浅析python实现布隆过滤器及Redis中的缓存穿透原理_python
    本文带你了解了位图的实现,布隆过滤器的原理及Python中的使用,以及布隆过滤器如何应对Redis中的缓存穿透,相信你对布隆过滤 ... [详细]
  • Ihavetwomethodsofgeneratingmdistinctrandomnumbersintherange[0..n-1]我有两种方法在范围[0.n-1]中生 ... [详细]
  • 本章介绍了TCP/IP协议族中的链路层,其主要功能是为IP模块发送和接收IP数据报。链路层还支持一些辅助性协议,如ARP。此外,本文详细探讨了不同类型的链路层技术及其应用。 ... [详细]
  • MySQL Decimal 类型的最大值解析及其在数据处理中的应用艺术
    在关系型数据库中,表的设计与SQL语句的编写对性能的影响至关重要,甚至可占到90%以上。本文将重点探讨MySQL中Decimal类型的最大值及其在数据处理中的应用技巧,通过实例分析和优化建议,帮助读者深入理解并掌握这一重要知识点。 ... [详细]
  • 深入解析C语言中结构体的内存对齐机制及其优化方法
    为了提高CPU访问效率,C语言中的结构体成员在内存中遵循特定的对齐规则。本文详细解析了这些对齐机制,并探讨了如何通过合理的布局和编译器选项来优化结构体的内存使用,从而提升程序性能。 ... [详细]
  • 在C#编程中,数值结果的格式化展示是提高代码可读性和用户体验的重要手段。本文探讨了多种格式化方法和技巧,如使用格式说明符、自定义格式字符串等,以实现对数值结果的精确控制。通过实例演示,展示了如何灵活运用这些技术来满足不同的展示需求。 ... [详细]
  • 本指南介绍了如何在ASP.NET Web应用程序中利用C#和JavaScript实现基于指纹识别的登录系统。通过集成指纹识别技术,用户无需输入传统的登录ID即可完成身份验证,从而提升用户体验和安全性。我们将详细探讨如何配置和部署这一功能,确保系统的稳定性和可靠性。 ... [详细]
author-avatar
人生-顺势而为
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有