《计算机网络》谢希仁版第三章前两小节总结 - CSDN博客

第三章: 数据链路层


1. 数据链路层使用的信道主要有两种类型:点对点信道(一对一的点对点通信方式),广播信道(一对多的广播通信方式)
2. 从整个互联网来看,局域网仍属于数据链路层范围
3. 点对点信道最常用的点对点协议PPP
4. 数据链路层的三个基本问题:封装成帧、透明传输和差错检测
5. 两台主机通过互联网进行通信时数据链路层所处地位如图
(注意路由器在转发分组时使用的协议栈只有下面的三层,根据所使用的路由选择协议的不同,也有可能需要使用运输层协议),
链路路径:H1的链路层-R1的链路层-R2的链路层-R3的链路层-H2的链路层
H1-R1,R1-R2,R2-R3,R3-H2这四段不同的链路层可能采用不同的数据链路层协议

 

3.1 使用点对点信道的数据链路层

3.1.1 数据链路和帧
1. 链路:是指从一个结点到相邻结点的一段物理线路(有线或无线),而中间没有任何其他的交换结点。
2. 数据链路:在一条线路上传输数据时,除了必须有一条物理线路外,还必须有一些必要的通信协议来控制这些数据的传输,若把实现这些协议的硬件和软件加到链路上,就构成了数据链路,现在最常用的方法是使用网络适配器(既有硬件,也包括软件)来实现这些协议,一般的适配器都包括了数据链路层和物理层这两层功能
3. 点对点信道的数据链路层的协议数据单元:帧
4. 网络层协议数据单元:IP数据报(或简称为数据报、分组或包)

5. 点对点信道的数据链路层主要通信步骤
(1)结点A的数据链路层把网络层交下来的IP数据报添加首部和尾部封装成帧
(2)结点A把封装好的帧发送给结点B的数据链路层
(3)若结点B的数据链路层收到的帧无差错,则从收到的帧中提取出IP数据报交给上面的网络层;否则丢弃这个帧

3.1.2 三个基本问题(封装成帧、透明传输和差错检测)

(1) 封装成帧
1. 封装成帧:就是在一段数据的前后分别添加首部和尾部,这样就构成了一个帧
2. 帧长:帧长 = 帧的数据部分长度 + 帧首部长度 + 帧尾部长度 (提高帧的传输效率应使帧的数据部分长度尽可能大)
3. 首部和尾部作用:(1)帧定界-确定帧的界限,(2)包含必要的控制信息
4. 最大传输单元MTU:链路层协议规定的所能传送的帧的数据部分长度上限 (如linux上可以去/etc/sysconfig/network-scripts/ifcfg-eth0下查看或配置)

5. 帧定界符:当数据是可打印的ASCII码(ASCII码是7位编码,共可组成128种不同的ASCII码,其中可打印的有95个,而不可打印的控制字符有33个)组成的文本文件时,帧定界可以使用特殊的帧定界符
6. 可打印字符:即可以从键盘上输入的字符(因而也是可打印的),我们使用的标准键盘有47个键可输入94个字符,加上空格键共95个

7. 带有SOH和EOT的才是一个完整的帧(start of header/end of transmission)

(2)透明传输
1. 所传输的数据中的任何8bit的组合一定不允许和用作帧定界的控制字符的bit编码一样,否则出现帧定界错误
2. 透明传输:当传送的帧是用文本文件组成的帧时(文本文件种字符都是从键盘输入的),其数据部分显然不会出现像SOH/EOT这样的帧定界控制字符,可见不管从键盘上输入什么字符都可以放在这样的帧中传输过去,因此这样的传输就是透明传输。
3. 数据部分是非ASCII码的文本文件时(如二进制代码的计算机程序或图像等),数据部分某字节的二进制可能和SOH/EOT控制字符一样,此时会错误的接收帧并丢弃剩下部分。

4. 透明:表示某一个实际存在的事物看起来却好像不存在一样(如我们看不见我们前面有块100%透明的玻璃一样)
5. 字节(符)填充:将数据部分可能出现的控制字符SOH/EOT前面插入转义字符ESC,如果转义字符也包含在数据当中,解决办法是在转义字符前再插入一个转义字符。

(3)差错检测
1. 比特差错:比特在传输过程中可能会产生差错-1可能变为0,0也可能变为1
2. 误码率BER:传输错误的比特占所传输比特总数的比率。误码率与信噪比有很大关系。提高信噪比可减少误码率。
3. 为提高数据传输可靠性,网络传输数据时,必须采用各种差错检测措施,目前数据链路层广泛使用的是循环冗余校验CRC。
4. CRC计算举例:参考百度https://baike.baidu.com/item/%E5%BE%AA%E7%8E%AF%E5%86%97%E4%BD%99%E6%A0%A1%E9%AA%8C%E7%A0%81/10168758?fromtitle=CRC%E6%A0%A1%E9%AA%8C&fromid=3439037
5. 帧检验序列FCS:为了进行检错而添加的冗余码(如CRC校验码)(注意CRC和FCS不是一个概念,CRC是一种检错方法,FCS是添加在数据后面的冗余码,且CRC不是唯一检错方法)
6. 模2运算:相当于异或操作


7. 传输无差错,接收端CRC校验后余数肯定为0(当然不排除余数有非常非常小的概率为0)
8. 目前广泛使用的生成多项式:CRC-16,CRC-CCITT,CRC-32 
9. 在数据链路层若仅仅用CRC,则只能做到对帧的无差错接受,即凡是接收端数据链路层接受的帧,我们都能以非常接近于1的概率认为这些帧在传输过程中没有产生差错。但这不是可靠传输,还要考虑到传输差错。
10. 除了比特差错,还有传输差错:如帧丢失、帧重复、帧失序。
11. 可靠传输区别对待:对于通信质量良好的有线传输链路,数据链路层协议不适用确认和重传机制,对于通信质量较差的无线传输链路,数据链路层协议使用确认和重传机制。

3.2 点对点协议PPP

3.2.1 PPP协议的特点
1. 在通信线路质量较差的年代,在数据链路层使用可靠性传输协议如高级数据链路控制HDLC,但现在很少用了,目前最广泛的是点对点协议PPP。
2. PPP协议是用户计算机和ISP进行通信时所使用的数据链路层协议。

3. PPP协议是IETF在1992年制定的,1994年成为互联网的正式标准,RFC1661.
4. PPP协议应满足的需求:
(1)简单(对数据链路层的帧不纠错,不需要序号,不需要控制流量,接收方每收到一个帧,就进行CRC检验,正确就收下这个帧,反之就丢弃)
(2)封装成帧(PPP协议必须规定特殊的字符作为帧定界符)
(3)透明性(数据中碰巧出现和帧定界符一样的比特组合时,就必须采取有效措施解决)
(4)多种网络层协议(PPP协议必须能够在同一条物理链路上同时支持多种网络层协议,如IP和IPX等)
(5)多种类型链路(除了支持多种网络层协议外,还必须能够在多种类型的链路上运行,串行的或并行的、同步的或异步的、低俗的或高速的、电的或光的等)
(6)差错检测(对接收端收到的帧进行检测,并立即丢弃有差错的帧,如不丢弃,该无用帧还会再网络中转发并浪费网络资源)
(7)检测连接状态(检测链路是否正常工作)
(8)最大传输单元(如高层协议发送的分组过长并超过MTU数值,PPP需要丢弃这样的帧,MTU是数据链路层的帧可以载荷的数据部分最大长度,而不是帧的总长度)
(9)数据压缩协商(PPP必须提供一种方法来协商使用数据压缩算法)
5. PPPoE:1999年公布的链路层协议,该协议将PPP帧再封装在以太网帧中,数据传输速率较高,因此可让多个连网用户共享一条到ISP的宽带链路(当然即便一个人用也是PPPoE协议),找到家里网速慢的原因了,哈哈!
6. TCP/IP协议族中,可靠性传输由运输层的TCP协议负责,因此数据链路层的PPP协议不需要进行纠错,不需要设置序号,不需要流量控制,PPP不支持多点线路,且只支持全双工链路。
7. PPP协议三个组成部分
(1)一个将IP数据报封装到串行链路的方法
(2)一个用来建立、配置和测试数据链路连接的链路控制协议LCP
(3)一套网络控制协议NCP
8. MTU默认值是1500字节,在RFC1661中MTU叫做最大接收单元MRU,TCP的早期版本也叫做NCP,这个NCP和PPP协议组成的NCP不是一回事

3.2.2 PPP协议的帧格式
1. PPP帧首部四个字段,尾部两个字段,首部第一字段和尾部第二个字段都是标志字段(为0x7E),标志字段表示一个帧的开始和结束,因此标志字段就是PPP帧的定界符。具体格式参考下图

2. 字节填充:处理信息字段中出现的和标志字段一样的比特,比如异步传输时,添加各种转义字符,发送端填充,接收端去除。
3. 零比特填充:PPP协议用在SONET/SDH链路时,使用同步传输,此时采用该方法实现透明传输。
4. PPP协议的工作状态:


 

3.3 使用广播信道(一对多的通信)的数据链路层
1. 局域网特点:网络为一个单位所拥有,且地理范围和站点数目均有限。
2. 局域网优点:广播功能、便于扩展、提高系统的可靠性可用性和生存性。
3. 局域网传输媒体:双绞线->光纤。
4. 共享信道两个方法:静态划分信道(代价高,不适合局域网)、动态媒体接入控制(又称多点接入,非固定分配,分为随机接入-碰撞和受控接入-轮询两类)。
5. 以太网两个标准:DIX Ethernet V2(世界上第一个局域网产品规约)、IEEE 802.3(如图3-14,把数据链路层拆为逻辑链路控制LLC子层和媒体接入控制MAC子层,目前各厂商仅装有MAC协议而没有LLC协议)。


6. 适配器:主机箱内插入的一块网络接口板,又称网卡(即网络接口卡NIC),上面装有处理器和存储器(RAM/ROM),与局域网之间通信通过电缆或双绞线以串行方式进行,与计算机之间通信通过计算机主板I/O总线以并行方式进行。
7. 适配器功能(作用):进行数据串行传输和并行传输的转换。
8. 计算机硬件地址在适配器ROM中,计算机软件地址(IP地址)在计算机存储器中。如图3-15.


9. 总线的特点:当一台计算机发送数据时,总线上的所有计算机都能检测到这个数据,即广播通信方式。
10. 为了通信简便以太网采取的两种措施:CSMA/CD协议(载波监听多点接入/碰撞检测,同一时间只允许一台计算机发送数据)、以太网发送的数据都使用曼彻斯特编码的信号(如图3-16,缺点是频带宽度比原始的基带信号增加了一倍)。


11. 传播时延对载波监听的影响,如图3-17.


12. 使用CSMA/CD协议时,一个站不可能同时进行发送和接收(但必须边发送边监听信道),即不可能进行全双工通信只能进行双向交替通信(半双工通信)。
13. 以太网使用截断二进制指数退避算法来确定碰撞后重传的时机。
14. 双绞线以太网总是和集线器配合使用的。
15. 以太网信道被占用的情况:如图3-21.

16. 硬件地址又称物理地址或MAC地址(因为这种地址用在MAC帧中)。
17. 局域网的“地址”应当是每一个站的“名字”或标识符。(6个字节48位,IEEE标准还有个2字节16位,但是2字节对于全球范围内的局域网适配器不够用)
18. IEEE的注册管理机构RA是局域网全球地址的法定管理机构,它负责分配地址字段的6各字节中的前三个字节(即高24位,世界所有厂商都需要向IEEE购买这3个字节构成的地址块-组织唯一标识符OUI),低24位(即扩展标识符,有2的24次方)由厂家自行指派。
19. 存在部分厂商不愿向IEEE的RA购买OUI,为此IEEE把地址字段第一字节的最低第二位规定为G/L位,G/L为0时是全球管理(全球没有相同地址,厂商购买的OUI都是全球管理),G/L为1是本地管理,以太网不理会这个G/L位。
20. MAC地址分配总有用完时间,预测2020年前不会耗尽。
21. 适配器有过滤功能,从网络上每收到一个MAC帧就先用硬件检查MAC帧中的目的地址,如果是发往本站的则收下,反之丢弃。
22. 发往本站的帧分三种:单播帧(一对一,帧MAC地址与本站MAC地址相同)、广播帧(一对全体,全1地址)、多播帧(一对多,发送本局域网上部分站点的帧)。
23. 混杂模式:只要“听到”有帧在以太网上传输就悄悄接收下来,而不管这些帧发送哪个站。即黑客所谓的“窃听”,有利也有弊。(比如有种网络工具叫嗅探器就使用了设置为混杂方式的网络适配器)
24. 以太网V2的MAC帧格式:如图3-22.

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值