南京大学计算机网络课件03
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
南京大学计算机网络课件03
3.2.4 循环冗余校验
什么是模2运算?加法无进位,减法无借位
南京大学计算机网络课件03
CRC码的原理
K位数据代码 N位校验代码
•发送时K位数据代码在前, N位校验代码在后。共(K+N) 位传送码。
•K位数据代码用M(x)的 K-1阶多项式表示; •生成多项式P(x)为N阶多项式( n+1 位)。 •M(x)×XN / P(x)的余数R(x)就是校验代码CRC码。 •(M(x)×XN + R(x) )/ P(x)的商Q是传送码,接收码/ P(x)的余数 R(x)为0,传输正确。
南京大学计算机网络课件03
南京大学计算机网络课件03
南京大学计算机网络课件03
滑动窗口 发送W窗T口=2
6
7
0 1
1
1
5 432
接收到帧后,接收窗口滑动; 收到确认帧后,发送窗口滑动。
1
1
1
1
1
6
7
பைடு நூலகம்
0 1
1
5 432
1
1
1
1
1
1
接收窗口 初始状态
接收0 号帧后
确认0 号帧后
接收1 号帧后
发送0 号帧后
标 7志 E 地 F址 F 控 0制 3 协 议信 IP数 据 息 报验 帧 F 校 CS 标 7志 E
字 节1 1 1 2
21
小 于 1500字 节
PPP帧都应以07EFF03开始。
协议字段占2个字节:0x0021表示是IP数据报; 0xC021表示是PPP链路控制数据;而0x8021 表示是网络控制数据。由于PPP不是面向比特
传输层
传输层
网络层
网络层
数据链路层
数据链路层
物理层
物理层
通信媒体
南京大学计算机网络课件03
二.帧与报文
南京大学计算机网络课件03
三.数据链路层的主要功能
在物理连接上建立数据链路连接。检测 和校正物理层出现的错误,为网络层提 供可靠的数据链路。
南京大学计算机网络课件03
三.数据链路层的主要功能
发送1
发送2
号南京帧大学后计算机网络课件0号3 帧后
确认1 号帧后
信道利用率
U ld ld lh
ld:每帧中的数据部分(bit) 。 lh:每帧中的控制信息,帧头帧尾(bit)。
ld lh
ld lh
ld
南京大学计算机网络课件03
4.6 Internet的链路层协议
3.4 Internet的链路层协议
滑动窗口的概念
发送窗口:其大小WT表示在收到对方确认的信息之前, 可以连续发出的最多数据帧数(只有序号在窗口内的帧 才可以发送) 接收窗口:其大小WR可以连续接收的最多数据帧数(只 有序号在窗口内的帧才可以接收,否则丢弃) 接收窗口驱动发送窗口的转动
捎带应答:在数据帧中增加一个字段,专门用来携带给 对方的应答信息。
1. 链路管理 数据链路的建立、维持和释放就叫 做链路管理。
2. 帧同步 3. 流量控制(flow control) 4. 差错控制 5. 将数据和控制信息区分开 6. 透明传输 7. 寻址
南京大学计算机网络课件03
3.2 停止等待协议
3.2.1 不需要数据链路层协议的数 据传输
南京大学计算机网络课件03
用户接入Internet的一般方法有两种。一 种是利用电话线拨号接入,另一种是使 用专线接入。
不管使用哪一种方法,在传送数据时都 需要有数据链路层协议。全世界范围内 使用最多的协议为非常简单的点对点协 议PPP(Point-to-Point Protocol)。
南京大学计算机网络课件03
PPP的帧格式与HDLC帧格式很 相似:
的,因此帧的长度应为整数个字节。
南京大学计算机网络课件03
PPP的工作过程可通过PPP状态 图来描述:
检测到载波
建立
失败
静止
协商选项
鉴别
失败
载波停止
终止
通信结束
通信
鉴别成功 网络
NCP配置
南京大学计算机网络课件03
才智在线才智在线323实用的停止等待协议data0ackackabdata0naknakabdata0ab超时超时data0aback出错错丢失超时时才智在线才智在线重传丢失data1ackdata0data0ackackdata0ack丢弃1正常情况2帧校验错误3数据帧丢失4确认帧丢失时间重传重传确保以上协议实用的方法?循环冗余校验crc?超时计时器timeouttimer帧序号才智在线才智在线?帧序号324循环冗余校验?什么是模2运算
数据虚通路
数据实通路
数据实通路
数据链路/逻辑链路 = (物理)链路 + 通信规程
数据链路层提供的 物理层提供的无源 数据链路层协议
数字信道
点到点物理线路段
南京大学计算机网络课件03
两个路由器的数据链路
南京大学计算机网络课件03
二.帧与报文
报文 报文或分组
帧
用户
用户
应用层
应用层
表示层
表示层
会话层
会话层
南京大学计算机网络课件03
一.链路与数据链路
节点交换机
链 路 控 制
数据传输
调制解 调器
链路 数据链路
调制解 调器
节点交换机
链 路 控 制
南京大学计算机网络课件03
虚通路和实通路
南京大学计算机网络课件03
一.链路与数据链路
主机A
传输层协议
主机A
数据链路层协议
数据链路层协议
节点1
节点2
节点3
数据虚通路
网络两个节点数据链路层进行 通信的模型
南京大学计算机网络课件03
3.2.2 具有最简单流量控制的 数据链路层协议
由接收方控制发送方的数据流,乃是计算机网 络中流量控制的一个基本方法。
南京大学计算机网络课件03
3.2.3 实用的停止等待协议
A
B
DATA0
A
B
DATA0
A
B
DATA0
A
B
DATA0
CRC-16=X16+X15+X2+1 CRC-CCITT=X16+X12+X5+1 CRC-32=X32+X26+X23+X16+X12+X11+X10+X8+X7+X5+X4+X2+X+1
南京大学计算机网络课件03
校验和计算算法
若P(x)为n阶,信息帧为k位,其多项式为M(x),则 在原帧后面添加n个0,帧成为k+n位,相应多项式 xn×M(x) + R(x)
A
B
15mS 1mS
南京大学计算机网络课件03
连续ARQ的发送方式
30mS 等待时间为30mS,可以发30帧数据。所以可以连续发31帧数据后应 答帧才来。所以可以31个数据帧组成1个窗口,采用全双工方式传 输数据。
南京大学计算机网络课件03
Go-back-N ARQ(返回到出错帧 重发)
南京大学计算机网络课件03
南京大学计算机网络课件03
3.2.5 停止等待协议的算法 一.发送结点
1.从主机取一个数据帧。 2. V(S)←0 3. N(S)←V(S) 4.将发送缓存中的数据帧发送出去。 5.设置超时计时器 6.等待 7.收到ACKn,判断n=1-V(S)决定转到3或6 8.若收到否认帧NAK,转到4重传 9.超时转4重传
第3讲 数据链路层
3.1 数据链路层的基本概念
南京大学计算机网络课件03
一.链路与数据链路
链路(link)就是一条无源的点到点的物理线路段, 中间没有任何其他的交换结点。
数据链路(data link)则是另一个概念。这是因 为当需要在一条线路上传送数据时,除了必须 有一条物理线路外,还必须有一些必要通信协 议来控制这些数据的传输。
南京大学计算机网络课件03
3.2.6 停止等待协议中的几个 重要时间关系
南京大学计算机网络课件03
停止等待协议ARQ的优缺点
停止等待协议ARQ的优点就是简单,缺 点是通信信道的利用率不高,尤其是传 播时延很大时。
南京大学计算机网络课件03
3.3 连续ARQ协议
3.3.1 连续ARQ协议的工作原理
南京大学计算机网络课件03
检错思想
收发双方约定一个生成多项式P(x)(其最高阶和最低阶 系数必须为1),发送方在信息帧的末尾加上校验和R(x) , 使带校验和的帧的多项式能被P (x)整除;接收方收到后, 用P (x)除多项式,若有余数,则传输过程有错(无法确定 错误位置和数量)。若余数为零,有错的可能性很小。 常用的生成多项式:
按模2除法用对应于P(x)的位串去除对应于2n M(x) 的 位串,余数为R(x) , n位。
接收端也用P(x)去除收到的码多项式,余式为0无 错,否则出错。
南京大学计算机网络课件03
例题:
例题:若要传输的信息序列为1010001101,生成多项式为 P (x)=X5+X4+X2+1,求CRC校验码R(x) 。 解: 生成多项式为P(x)=X5+X4+X2+1,即110101,n=5, M(x)向左移5位 Xn*M(x) =1000 所以CRC校验码R(x)为01110, 传输的码字为1110
ACK
DATA1 时 间
ACK
NAK
出 错
丢失 超时
超 ACK 时 丢失
重传 DATA0 重传 DATA0 重传 DATA0 丢
ACK
ACK
ACK
弃
(1)正常情况 (2)帧校验错误 (3)数据帧丢失 (4)确认帧丢失
南京大学计算机网络课件03
确保以上协议实用的方法
循环冗余校验(CRC) 超时计时器(timeout timer) 帧序号
南京大学计算机网络课件03
停止等待协议通道利用率低
应答式停止等待流控方式是半双工方式,如传输延时TC=15mS, 数据帧L=1000bit,数据传输速率C=1Mb/s,发一帧数据的时间为 1000bit/1000000bit/s,即1mS。
从发一帧到有应答帧的时间为: 1+15+15=31mS
15mS
南京大学计算机网络课件03
二.接收结点
1. V(R)←0 2.等待 3.当收到一个数据帧,就检查有无产生传输差错 (如用CRC),有错则发NAK;若N(S) = V(R),则 执行后续算法,否则丢弃此数据帧,然后转到6 4.将收到的数据帧中的数据部分送交主机 5. V(R)←[1-V(R)] 6.发送却ACK,转到2
3.2.4 循环冗余校验
什么是模2运算?加法无进位,减法无借位
南京大学计算机网络课件03
CRC码的原理
K位数据代码 N位校验代码
•发送时K位数据代码在前, N位校验代码在后。共(K+N) 位传送码。
•K位数据代码用M(x)的 K-1阶多项式表示; •生成多项式P(x)为N阶多项式( n+1 位)。 •M(x)×XN / P(x)的余数R(x)就是校验代码CRC码。 •(M(x)×XN + R(x) )/ P(x)的商Q是传送码,接收码/ P(x)的余数 R(x)为0,传输正确。
南京大学计算机网络课件03
南京大学计算机网络课件03
南京大学计算机网络课件03
滑动窗口 发送W窗T口=2
6
7
0 1
1
1
5 432
接收到帧后,接收窗口滑动; 收到确认帧后,发送窗口滑动。
1
1
1
1
1
6
7
பைடு நூலகம்
0 1
1
5 432
1
1
1
1
1
1
接收窗口 初始状态
接收0 号帧后
确认0 号帧后
接收1 号帧后
发送0 号帧后
标 7志 E 地 F址 F 控 0制 3 协 议信 IP数 据 息 报验 帧 F 校 CS 标 7志 E
字 节1 1 1 2
21
小 于 1500字 节
PPP帧都应以07EFF03开始。
协议字段占2个字节:0x0021表示是IP数据报; 0xC021表示是PPP链路控制数据;而0x8021 表示是网络控制数据。由于PPP不是面向比特
传输层
传输层
网络层
网络层
数据链路层
数据链路层
物理层
物理层
通信媒体
南京大学计算机网络课件03
二.帧与报文
南京大学计算机网络课件03
三.数据链路层的主要功能
在物理连接上建立数据链路连接。检测 和校正物理层出现的错误,为网络层提 供可靠的数据链路。
南京大学计算机网络课件03
三.数据链路层的主要功能
发送1
发送2
号南京帧大学后计算机网络课件0号3 帧后
确认1 号帧后
信道利用率
U ld ld lh
ld:每帧中的数据部分(bit) 。 lh:每帧中的控制信息,帧头帧尾(bit)。
ld lh
ld lh
ld
南京大学计算机网络课件03
4.6 Internet的链路层协议
3.4 Internet的链路层协议
滑动窗口的概念
发送窗口:其大小WT表示在收到对方确认的信息之前, 可以连续发出的最多数据帧数(只有序号在窗口内的帧 才可以发送) 接收窗口:其大小WR可以连续接收的最多数据帧数(只 有序号在窗口内的帧才可以接收,否则丢弃) 接收窗口驱动发送窗口的转动
捎带应答:在数据帧中增加一个字段,专门用来携带给 对方的应答信息。
1. 链路管理 数据链路的建立、维持和释放就叫 做链路管理。
2. 帧同步 3. 流量控制(flow control) 4. 差错控制 5. 将数据和控制信息区分开 6. 透明传输 7. 寻址
南京大学计算机网络课件03
3.2 停止等待协议
3.2.1 不需要数据链路层协议的数 据传输
南京大学计算机网络课件03
用户接入Internet的一般方法有两种。一 种是利用电话线拨号接入,另一种是使 用专线接入。
不管使用哪一种方法,在传送数据时都 需要有数据链路层协议。全世界范围内 使用最多的协议为非常简单的点对点协 议PPP(Point-to-Point Protocol)。
南京大学计算机网络课件03
PPP的帧格式与HDLC帧格式很 相似:
的,因此帧的长度应为整数个字节。
南京大学计算机网络课件03
PPP的工作过程可通过PPP状态 图来描述:
检测到载波
建立
失败
静止
协商选项
鉴别
失败
载波停止
终止
通信结束
通信
鉴别成功 网络
NCP配置
南京大学计算机网络课件03
才智在线才智在线323实用的停止等待协议data0ackackabdata0naknakabdata0ab超时超时data0aback出错错丢失超时时才智在线才智在线重传丢失data1ackdata0data0ackackdata0ack丢弃1正常情况2帧校验错误3数据帧丢失4确认帧丢失时间重传重传确保以上协议实用的方法?循环冗余校验crc?超时计时器timeouttimer帧序号才智在线才智在线?帧序号324循环冗余校验?什么是模2运算
数据虚通路
数据实通路
数据实通路
数据链路/逻辑链路 = (物理)链路 + 通信规程
数据链路层提供的 物理层提供的无源 数据链路层协议
数字信道
点到点物理线路段
南京大学计算机网络课件03
两个路由器的数据链路
南京大学计算机网络课件03
二.帧与报文
报文 报文或分组
帧
用户
用户
应用层
应用层
表示层
表示层
会话层
会话层
南京大学计算机网络课件03
一.链路与数据链路
节点交换机
链 路 控 制
数据传输
调制解 调器
链路 数据链路
调制解 调器
节点交换机
链 路 控 制
南京大学计算机网络课件03
虚通路和实通路
南京大学计算机网络课件03
一.链路与数据链路
主机A
传输层协议
主机A
数据链路层协议
数据链路层协议
节点1
节点2
节点3
数据虚通路
网络两个节点数据链路层进行 通信的模型
南京大学计算机网络课件03
3.2.2 具有最简单流量控制的 数据链路层协议
由接收方控制发送方的数据流,乃是计算机网 络中流量控制的一个基本方法。
南京大学计算机网络课件03
3.2.3 实用的停止等待协议
A
B
DATA0
A
B
DATA0
A
B
DATA0
A
B
DATA0
CRC-16=X16+X15+X2+1 CRC-CCITT=X16+X12+X5+1 CRC-32=X32+X26+X23+X16+X12+X11+X10+X8+X7+X5+X4+X2+X+1
南京大学计算机网络课件03
校验和计算算法
若P(x)为n阶,信息帧为k位,其多项式为M(x),则 在原帧后面添加n个0,帧成为k+n位,相应多项式 xn×M(x) + R(x)
A
B
15mS 1mS
南京大学计算机网络课件03
连续ARQ的发送方式
30mS 等待时间为30mS,可以发30帧数据。所以可以连续发31帧数据后应 答帧才来。所以可以31个数据帧组成1个窗口,采用全双工方式传 输数据。
南京大学计算机网络课件03
Go-back-N ARQ(返回到出错帧 重发)
南京大学计算机网络课件03
南京大学计算机网络课件03
3.2.5 停止等待协议的算法 一.发送结点
1.从主机取一个数据帧。 2. V(S)←0 3. N(S)←V(S) 4.将发送缓存中的数据帧发送出去。 5.设置超时计时器 6.等待 7.收到ACKn,判断n=1-V(S)决定转到3或6 8.若收到否认帧NAK,转到4重传 9.超时转4重传
第3讲 数据链路层
3.1 数据链路层的基本概念
南京大学计算机网络课件03
一.链路与数据链路
链路(link)就是一条无源的点到点的物理线路段, 中间没有任何其他的交换结点。
数据链路(data link)则是另一个概念。这是因 为当需要在一条线路上传送数据时,除了必须 有一条物理线路外,还必须有一些必要通信协 议来控制这些数据的传输。
南京大学计算机网络课件03
3.2.6 停止等待协议中的几个 重要时间关系
南京大学计算机网络课件03
停止等待协议ARQ的优缺点
停止等待协议ARQ的优点就是简单,缺 点是通信信道的利用率不高,尤其是传 播时延很大时。
南京大学计算机网络课件03
3.3 连续ARQ协议
3.3.1 连续ARQ协议的工作原理
南京大学计算机网络课件03
检错思想
收发双方约定一个生成多项式P(x)(其最高阶和最低阶 系数必须为1),发送方在信息帧的末尾加上校验和R(x) , 使带校验和的帧的多项式能被P (x)整除;接收方收到后, 用P (x)除多项式,若有余数,则传输过程有错(无法确定 错误位置和数量)。若余数为零,有错的可能性很小。 常用的生成多项式:
按模2除法用对应于P(x)的位串去除对应于2n M(x) 的 位串,余数为R(x) , n位。
接收端也用P(x)去除收到的码多项式,余式为0无 错,否则出错。
南京大学计算机网络课件03
例题:
例题:若要传输的信息序列为1010001101,生成多项式为 P (x)=X5+X4+X2+1,求CRC校验码R(x) 。 解: 生成多项式为P(x)=X5+X4+X2+1,即110101,n=5, M(x)向左移5位 Xn*M(x) =1000 所以CRC校验码R(x)为01110, 传输的码字为1110
ACK
DATA1 时 间
ACK
NAK
出 错
丢失 超时
超 ACK 时 丢失
重传 DATA0 重传 DATA0 重传 DATA0 丢
ACK
ACK
ACK
弃
(1)正常情况 (2)帧校验错误 (3)数据帧丢失 (4)确认帧丢失
南京大学计算机网络课件03
确保以上协议实用的方法
循环冗余校验(CRC) 超时计时器(timeout timer) 帧序号
南京大学计算机网络课件03
停止等待协议通道利用率低
应答式停止等待流控方式是半双工方式,如传输延时TC=15mS, 数据帧L=1000bit,数据传输速率C=1Mb/s,发一帧数据的时间为 1000bit/1000000bit/s,即1mS。
从发一帧到有应答帧的时间为: 1+15+15=31mS
15mS
南京大学计算机网络课件03
二.接收结点
1. V(R)←0 2.等待 3.当收到一个数据帧,就检查有无产生传输差错 (如用CRC),有错则发NAK;若N(S) = V(R),则 执行后续算法,否则丢弃此数据帧,然后转到6 4.将收到的数据帧中的数据部分送交主机 5. V(R)←[1-V(R)] 6.发送却ACK,转到2