计算机网络自顶向下方法(第四版)-中文版课件-第五章.ppt
《计算机网络自顶向下方法(第四版)-中文版课件-第五章.ppt》由会员分享,可在线阅读,更多相关《计算机网络自顶向下方法(第四版)-中文版课件-第五章.ppt(185页珍藏版)》请在冰豆网上搜索。
1,第5章链路层和局域网,网络层:
提供两台主机之间的通信服务。
通信路径由源主机和目的主机之间的一系列通信链路和路由器组成。
链路,2,链路层:
分组如何通过各段链路网络层的数据报如何被封装成链路层的帧;链路层协议是否能够提供路由器之间的可靠数据传输;通信路径上不同的链路是否采用不同的链路层协议。
链路,3,学习目的,了解数据链路层服务及协议原理:
差错检测和纠错共享广播信道:
多址访问协议链路层寻址可靠传输各种链路层技术的实现,4,链路层信道类型,广播链路和点对点通信链路两种。
广播链路:
许多主机被连接到相同的通信信道。
需要媒体访问协议来协调传输和避免“碰撞”(冲突)。
常用于局域网LAN、无线LAN、卫星网和光纤电缆混合(HFC)接入网。
5,链路层的两类信道,点对点通信链路:
直接链接两个节点的链路,每一端有一个节点。
访问控制简单。
主要解决问题:
如成帧、可靠数据传输、差错检测和流量控制等。
如两台路由器之间的通信链路,或住宅的拨号调制解调器与ISP路由器之间的通信链路。
6,主要内容,5.1概述与服务5.2差错检测和纠错5.3多路访问协议5.4链路层编址5.5以太网5.6集线器和交换机5.7PPP5.8链路虚拟化:
ATM5.9小结,7,5.1概述和服务,节点(node):
主机和路由器链路(link):
连接相邻节点的通信信道。
链路层传输数据报的过程:
沿端到端路径上的每段独立的链路传输。
发送节点先将数据报封装成链路层帧,发送到链路上;接收节点接收该帧,并提取出数据报。
节点,链路,5.1.1链路层提供的服务5.1.2适配器通信,8,5.1.1链路层提供的服务,链路层功能:
将分组通过一个链路,从一个节点传输到邻近的另一个节点。
链路层协议:
用来在单段链路上传输分组。
定义了在链路两端的节点之间交互的分组格式,以及当发送和接收分组时节点采取的动作。
交换的数据单元称为帧(frame),封装了一个网络层的数据报。
所采取的动作:
包括差错检测、重传、流量控制和随机访问。
典型协议:
以太网、802.11无线LAN、令牌环和PPP,以及ATM。
9,网络层与链路层关系,网络层:
将运输层报文段从源主机传送到目的主机。
能够在各段链路层提供异构服务的情况下,完成端到端的工作。
链路层:
将网络层数据报从一个节点传送到下一个节点(单段链路)。
不同的链路采用不同的链路层协议,提供的服务不同。
10,类比例,旅行社组织游客从A地到B地。
经过3段旅程,如图。
游客:
数据报;运输区段:
通信链路;运输方式:
链路层协议,如汽车、飞机和火车。
旅行社:
选路协议。
11,链路层提供的服务,将数据报通过一条通信链路从一个节点“移动”到相邻的节点。
成帧:
把网络层数据报封装成链路层帧,再传送到链路上。
首部包括若干字段:
如编号、物理地址等。
不同的链路层协议,帧格式可能不同。
12,链路访问:
由媒体访问控制MAC协议定义帧在链路上传输的规则。
点对点链路:
一个发送方和一个接收方,MAC协议比较简单(或不存在),即任何时候只要链路空闲,发送方都能够发送帧。
广播链路:
多个节点共享一个链路(多路访问),使用MAC协议协调多个节点的帧传输。
链路层提供的服务,13,链路层提供的服务,可靠交付:
保证网络层的数据报无差错地通过链路层。
与运输层类似,可通过确认和重传获得。
高差错率的链路:
如无线链路,在本地(发生差错的链路)纠正差错,不通过运输层或应用层协议进行端到端的数据重传;低差错率的链路:
如光纤、同轴电缆、双绞线链路,不需提供可靠的传输服务。
14,流量控制:
防止发送节点的发送速率过高,避免接收节点来不及处理。
链路节点的帧缓存容量有限。
当帧到达接收节点的速率大于其处理速率,接收方缓冲区产生溢出,帧会丢失。
链路层提供的服务,15,链路层提供的服务,差错检测:
帧在传输时有可能出现比特差错(10、01)。
差错检测用来检测是否存在一个或多个差错。
发送节点:
在帧中设置差错检测比特;接收节点:
对收到的帧进行差错检测。
通过硬件实现。
差错纠正:
与差错检测类似。
接收方不仅能检测帧中是否出现差错,还能判断差错的位置,并进行纠正。
16,链路层提供的服务,半双工和全双工:
全双工传输:
链路两端的节点可以同时传输分组。
半双工传输:
链路两端的节点不能同时传输和接收,只能交替。
17,链路层服务和运输层服务比较,运输层协议:
在端到端的基础上为两个进程之间提供可靠传输;流量控制是在端到端的基础上提供。
链路层协议:
在一条链路相连的两个节点之间提供可靠传输。
流量控制是在相邻节点之间的基础上提供。
18,5.1.2适配器通信,适配器(adapter):
网络接口卡(NIC,networkinterfacecard)。
是一个电路板(或PCMCIA板),包括RAM、DSP芯片、主机总线接口和链路接口。
实现物理层及链路层的主要功能。
19,链路层功能实现,相邻节点间帧的传输:
成帧,传输帧,接收帧,解封发送节点:
网络层将数据报传递到适配器,封装成帧,将帧传输到通信链路。
接收节点:
适配器接收帧,解封取出数据报,传递给网络层。
差错检测:
发送适配器设置差错检测比特,接收适配器完成差错检测。
可靠交付:
具体实现可靠交付的机制(如序号、定时器和确认)。
随机访问:
实现随机访问协议。
20,特点,是一个半自治的单元。
适配器接收帧,并判断是否有差错出错:
直接丢弃该帧,不通知它的“父节点”(适配器所在的节点)。
正确:
向上传递网络层数据报,中断其“父节点”。
适配器发送帧:
节点把网络层数据报向下传给适配器,由适配器负责在链路上传输数据报。
硬件上:
适配器和节点的其他部分在同一个物理盒子中,共享电源和总线,在节点的控制之下。
21,适配器组成,总线接口:
负责与父节点通信。
在适配器和父节点之间传输数据和控制信息。
链路接口:
负责实现链路层协议。
将数据报成帧(发送)、解帧获得数据报(接收),并提供差错检测、随机访问和其他链路层功能。
包含传输和接收电路。
网卡速率:
10Mbps、100Mbps、10/100M自适应。
22,5.2差错检测和纠错技术,比特级差错检测和纠错对一个节点发送到一个相邻节点的帧,检测是否出现比特差错,并纠正。
相关技术很多。
差错检测和纠错的过程,网络层,数据链路层,帧,23,发送节点将数据D附加若干差错检测和纠错位EDC,一起发送到链路。
数据D包括网络层传来的数据报,以及链路级寻址信息、序列号和其他字段。
保护范围包括数据D的所有字段。
网络层,数据链路层,帧,24,接收节点接收比特序列D和EDC。
如果发生传输比特错误(01,10),D和EDC可能与发送的D和EDC不同。
接收方根据D和EDC,判断D是否和初始的D相同(D的传输是否正确)。
正确:
解封取出数据报,交给网络层;出错:
差错处理。
网络层,数据链路层,帧,25,说明:
差错检测和纠正技术不能保证接收方检测到所有的比特差错,即可能出现未检测到的比特差错,而接收方并未发现。
选择一个合适的差错检测方案使未检测到的情况发生的概率很小。
差错检测和纠错技术越好,越复杂,开销更大。
26,三种主要差错检测技术,奇偶校验:
最基本的方法。
检查和方法:
常用于运输层。
循环冗余检测:
常用于链路层。
5.2.1奇偶校验5.2.2检查和方法5.2.3循环冗余检测,27,1、一比特奇偶校验,发送方:
在要发送的信息D(d位)后面附加一个奇偶校验位使“1”的个数是奇数(奇校验)或偶数(偶校验)一起传输发送(d+1位)。
0111000110101011,1,d位数据,校验位,偶校验,28,接收方:
检测收到的信息(d+1位)中“1”的个数。
偶校验:
发现奇数个“1”,至少有一个比特发生差错(奇数个比特差错)。
奇校验:
发现偶数个“1”,至少有一个比特发生差错。
29,特点,可以查出任意奇数个错误,但不能发现偶数个错误。
若比特差错概率很小,差错独立发生,一比特奇偶校验可满足要求。
若差错集中一起“突发”(突发差错),一帧中未检测到的差错的概率达到50%。
30,2、二维奇偶校验,基本思想:
将要传信息D(d比特)划分为i行j列(i个组,每组j位);对每行和每列分别计算奇偶值;结果的i+j+1个奇偶比特构成了帧的差错检测比特。
i行,j列,31,例,特点:
可以检测并纠正单个比特差错(数据或校验位中)。
能够检测(但不能纠正)分组中任意两个比特的差错。
行、列确定,要发送的数据比特101011111001110,划分3组,每组5个比特。
进行行、列偶校验,32,前向差错纠正FEC,接收方可以检测并纠正差错。
可与ARQ技术一起应用,接收方立即纠正差错,减少发送方重发的次数。
降低分组传输的往返传播时延,适用于实时网络应用。
33,5.2.2检查和方法,把要发送的d位数据看成是一个k位整数的序列,将这些k位整数加起来,得到的和作为差错检测比特。
TCP和UDP协议:
对所有字段(包括首部和数据字段)都计算因特网检查和。
有些协议:
对首部计算一个检查和,对整个分组计算另一个检查和。
34,检查和,发送方:
将数据的每两个字节当作一个16位的整数,可分成若干整数;将所有16位的整数求和;对得到的和逐位取反,作为检查和,放在报文段首部,一起发送。
接收方:
对接收到的信息(包括检查和)按与发送方相同的方法求和。
全“1”:
收到的数据无差错;其中有“0”:
收到的数据出现差错。
或者核对计算的检查和是否等于检查和字段的值。
35,011001100110000001010101010101011000111100001100101001010110000010100101011000010,例子,注意当数字作加法时,最高位的进位要回加到结果中。
例,有三个16比特的字:
回卷,和,检查和(取反),无差错,和为:
1011010100111101,1111111111111111,36,检查和特点:
分组开销小:
检查和位数比较少;差错检测能力弱:
适用于运输层(差错检测用软件实现,检查和方法简单、快速)。
链路层的差错检测由适配器中专用的硬件实现,采用更强的CRC方法。
37,5.2.3循环冗余检测,计算机网络中广泛采用。
循环冗余检测CRC(cyclicredundancycheck)编码:
即多项式编码,把要发送的比特串看作为系数是0或1的一个多项式,对比特串的操作看作为多项式运算。
基本思想:
设发送节点要把数据D(d比特)发送给接收节点。
发送方和接收方先共同选定一个生成多项式G(r+1比特),最高有效位(最左边)是1。
10111x4+x2+x+1,38,发送方:
计算出一个r位附加比特R,添加到D的后面产生DR(d+r比特)DR能被G模2运算整除,一起发送。
接收方:
用G去除接收到的DR(d+r比特)余数非0:
传输发生差错;余数为0:
传输正确,去掉尾部r位,得所需数据D。
基本思想,D:
要发送的数据(d位),R:
CRC校验(r位),DR(d+r位),39,模2运算:
加法不进位,减法不借位,即操作数的按位异或(XOR)例1011XOR0101=1110;1011-0101=11101001XOR1101=0100;1001-1101=0100乘法和除法与二进制运算类似,其中加法或减法没有进位或借位。
乘以2r,即比特模式左移r个位置。
D2rXORR=D0000XORR=DR(d+r比特),40,计算R(CRC比特):
DR能被G模2运算整除:
即D2rXORR=nG等式两边都用R异或,得到D2r=nGXORR即用G来除D2r,余数值刚好为R。
R的计算:
将数据D后面添加r个0,除以给定的生成多项式G,所得余数即为R(r位)。
41,例,设D=101110,d=6,G=1001,r=3,实际传输的数据形式是:
101110011,r+1位,D后添加3个0,3位,42,