[计算机硬件及网络]第5章-传输层协议
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
辽宁工程技术大学 软件学院
Page 17
网络协议
第5章 传输层协议
(3)校验和(计算)
发送端计算校验和的步骤: ①将伪首部填加到UDP用户数据报上; ②将校验和字段填入0; ③将所有位划分为16位(2字节)的字,若字节总数
不是偶数,则增加一个字节(填充,全0)。填充只 是为了计算校验和,计算结束后将其丢弃; ④将所有16位的字模2加; ⑤将得到的结果取反,它是一个16位的数,将其插入 到校验和字段; ⑥将伪首部和填充去掉。
辽宁工程技术大学 软件学院
Page 14
网络协议
第5章 传输层协议
3.UDP应用
很多应用适合采用UDP传输数据,主要有: (1)不太关心数据丢失,如传输视频或 多媒体流数据。 (2)每次发送很少量数据。 (3)有自己的全套差错控制机制。 (4)实时性要求较高、差错控制要求不 高的场合。
辽宁工程技术大学 软件学院
的ICMP报文。
5.输出模块 输出模块负责创建和发送用户数据报。
辽宁工程技术大学 软件学院
Page 26
网络协议
第5章 传输层协议
5.3 传输控制协议(TCP)
5.3.1 TCP概述
1.TCP协议的功能 (1)寻址和复用 (2)创建、管理和终止连接 (3)处理并打包数据 (4)传输数据 (5)提供可靠性和传输质量的保证 (6)提供流量控制和拥塞控制
辽宁工程技术大学 软件学院
Page 29
网络协议
第5章 传输层协议
5.3.2 TCP报文格式
比特 0
32 bit
8
16
24
31
16位 源 端 口
16位 目 的 端 口
32位 序 列 号
TCP 首部
数据 偏移
32位 确 认 号
U AP RSF
保 留 R CS SYI
G KH TNN
窗口大小
检验和
紧急指针
辽宁工程技术大学 软件学院
Page 2
网络协议
第5章 传输层协议
5.1.2 传输层提供的服务
传输层在两个应用实体之间实现可靠的、透明 的、有效的数据传输,其主要功能是: 1.连接管理 2.优化网络层提供的服务质量 3.提供端到端的透明数据传输 4.多路复用和分流 5.状态报告 6.安全性 7.加速交付
辽宁工程技术大学 软件学院
Page 3
网络协议
第5章 传输层协议
5.1.3 传输层寻址与端口
(1)传输层寻址 根据OSI的观点,传输层应提供用户之间可靠和有效
的端到端传输服务。 在一个主机中可能存在多个应用进程同时分别和另一
个主机中的多个应用进程通信。因此,传输层必须具 有将一个主机中某一个用户进程和其他用户进程相互 区分的能力。 传输层通过传输地址来实现该功能,这里的传输地址 是指传输层服务访问点TSAP(称为端口),它是传 输层与应用层之间交换信息的抽象接口。
和端口号写入控制块表;
➢若未找到(没有空闲):使用事先定义的策略
删除一个已存在的状态为IN_USE项目。
辽宁工程技术大学 软件学院
Page 25
网络协议
说明
第5章 传输层协议
4.输入模块 输入模块负责从IP接收用户数据报。 查找控制块表,找出与该用户数据报的端口号
相同的表项。
若找到:将该数据报放入相应的输入队列中; 若未找到:丢弃报文,并发送一个“端口不可达”
首部和增加的填充,提交应用层,否则,表示该UD 报文出错,丢弃该报文。
辽宁工程技术大学 软件学院
Page 19
网络协议
第5章 传输层协议
5.2.3 UDP伪首部
UDP引入了长度为12个八位组一个伪首部 伪首部的作用是用于检验UDP数据报是否已
经到达正确的目的地,即正确的主机。
辽宁工程技术大学 软件学院
Page 15
网络协议
第5章 传输层协议
5.2.2 UDP报文格式
辽宁工程技术大学 软件学院
Page 16
网络协议
说明
第5章 传输层协议
(1)源端口和目的端口 源端口和目的端口字段为16位,它是UDP协
议的端口号,其中源端口是可选的,目的端口 必须填写。若源端口不选,则取值为0。 (2)长度 长度字段为16位,它记录UDP数据报的总长 度,包括UDP首部和用户数据,长度以八位组 为单位。
辽宁工程技术大学 软件学院
Page 11
网络协议
第5章 传输层协议
5.2 用户数据报协议(UDP)
用户数据报协议(UDP)采用无连接方式提 供高层协议间的事务处理服务
UDP是一种无连接的数据报投递服务,所以 不保证可靠投递
UDP也使用端口为高层协议服务 UDP承载在IP数据报中传递 UDP无流量和拥塞控制
辽宁工程技术大学 软件学院
Page 10
网络协议
第5章 传输层协议
3.TCP/IP协议族的传输层协议
(2)UDP协议 UDP是一个无连接的不可靠的传输层协议。 它在IP之上仅提供两个附加服务:
多路复用和对数据的错误检查 UDP可以(可选)检查整个UDP数据报的完
整性。 UDP比较简单,执行速度较快,实时性好。
辽宁工程技术大学 软件学院
Page 18
网络协议
第5章 传输层协议
(3)校验和(计算)
接收端计算校验和的步骤: ①把伪首部填加到UDP用户数据报上; ②把所有位划分为16位(2字节)的字,按需要增加
填充; ③把所有16位的字模2加; ④把得到的结果取反码; ⑤若得到结果为全0,表示该UDP报文正确,丢弃伪
UDP软件包的5个组成部分之间关系如图5-5所 示。
辽宁工程技术大学 软件学院
Page 22
网络协议
第5章 传输层协议
辽宁工程技术大学 软件学院
Page 23
网络协议
说明
第5章 传输层协议
1.控制块表 控制块表负责记录被UDP打开的端口,表中
的每一项就是一个端口,具有4个字段: 状态(值为FREE或IN_USE) 进程ID 端口号 相应的队列号
2.输入队列 UDP为每个进程创建一个输入队列。
辽宁工程技术大学 软件学院
Page 24
网络协议
第5章 传输层协议
3.控制块模块
控制块模块负责管理控制块表。 当进程启动时,该模块的工作:
负责接收进程ID和端口号(从操作系统申 请一个临时端口号);
查找控制块表中的状态为FREE项:
➢若找到:将其状态改为IN_USE,并将进程ID
20 字节
的 固定 首部
选 项 和 填 充(长 度 可 变)
辽宁工程技术大学 软件学院
Page 30
网络协议
第5章 传输层协议
TCP报文字段说明
紧急比特 URG : 当 URG=1 时,表明紧急指 针字段有效。表示报文段中有紧急数据,应尽 快传送(相当于高优先级的数据)。
确认比特 ACK: 当 ACK=1 时确认序号字段才有效; 当 ACK= 0 时,确认序号无效。
辽宁工程技术大学 软件学院
Page 27
网络协议
第5章 传输层协议
2.TCP协议的特点
TCP是面向连接的协议,提供可靠的、全双工 的、面向字节流的、端到端的服务。 (1)面向数据流 (2)虚电路连接 (3)有缓冲的传输 (4)无结构的数据流 (5)全双工连接
辽宁工程技术大学 软件学院
wenku.baidu.com
Page 28
Page 13
网络协议
第5章 传输层协议
2.UDP的端口
UDP常用的端口号有: (1)53:DNS(域名服务) (2)69:TFTP(简单文件传输协议) (3)123:NTP(网络时间协议) (4)161:SNMP(简单网络管理协议) (5)162:SNMP(简单网络管理协议) (6)520:RIP(路由信息协议)
网络协议
第5章 传输层协议
3.TCP常用的端口号
(1)20:FTP数据连接(文件传输协议:数 据连接)
(2)21:FTP控制连接(文件传输协议:控 制连接)
(3)23:Telnet(远程登录) (4)25:SMTP(简单邮件传输协议) (5)53:DNS(域名服务) (6)80:HTTP(超文本传输协议) (7)110:POP3(邮件协议)
推送比特 PSH (PuSH): 接收 TCP 收到PSH=1 的报文段,就尽快地交付给接收应用进程,而 不必等到整个缓存都填满后再向上交付。
辽宁工程技术大学 软件学院
Page 31
网络协议
第5章 传输层协议
TCP报文字段说明
复位比特 RST (ReSeT) : 当 RST=1 时,表明 TCP 连接中出现严重差错(如由于主机崩溃或 其他原因),必须释放连接,然后再重新建立 传输连接。
Page 20
网络协议
第5章 传输层协议
例1 计算下图所示的UDP数据报的校验和。
辽宁工程技术大学 软件学院
Page 21
网络协议
第5章 传输层协议
5.2.4 UDP模块
UDP软件包一般应包括5个部分: 一个控制块表 若干个输入队列(每个端口对应一个输入 队列) 一个控制模块 一个输入模块 一个输出模块
网络协议
第5章 传输层协议
第5章 传输层协议
5.1 传输层概述 5.2 用户数据报协议(UDP) 5.3 传输控制协议(TCP)
辽宁工程技术大学 软件学院
Page 1
网络协议
第5章 传输层协议
5.1 传输层概述
5.1.1 引入传输层的必要性
传输层在应用层和IP层之间起着承上启下的作 用,它应该满足以下三个要求: 1.传输层要提供比IP层质量更高的服务。 2.传输层要提供识别应用层进程的机制。 3.传输层要针对不同尺寸的应用层数据进 行适当的处理。
辽宁工程技术大学 软件学院
Page 12
网络协议
第5章 传输层协议
5.2.1 UDP概述
1.UDP的功能及特点 (1)提供无连接的服务,简单、快速。 (2)UDP的主机不需要维持复杂的连接状态
表。 (3)UDP报文只有8个字节的首部开销。 (4)网络出现的拥塞不会使源主机的发送速
率降低。
辽宁工程技术大学 软件学院
使用分离功能,通过不同的端口把这些报文分 别递交给相应的应用进程。 因此,端口是用来标识不同应用层进程的。
辽宁工程技术大学 软件学院
Page 6
网络协议
第5章 传输层协议
(3)TCP/IP的端口
描述一个应用进程的标识如下:
源IP地址,源端口号,协议,目的IP地址,目的端口号
其中: 源IP地址和目的IP地址用于区分不同主机 源端口号和目的端口号用于区分不同主机中 的不同进程 协议用于区分基于UDP协议或TCP协议
同步比特 SYN :同步比特 SYN 置为 1,就表示 这是一个连接请求或连接接受报文。
终止比特 FIN (FINal): 用来释放一个连接。当 FIN=1 时,表明此报文段的发送端的数据已发 送完毕,并要求释放传输连接。
辽宁工程技术大学 软件学院
释放连接三个阶段。
辽宁工程技术大学 软件学院
Page 9
网络协议
第5章 传输层协议
3.TCP/IP协议族的传输层协议
TCP/IP协议族提供的两个传输层协议:传输 控制协议TCP和用户数据报协议UDP
(1)TCP协议 TCP提供面向连接的可靠的传输服务,因此不
可避免地增加了许多开销,如确认、流量控制、 计时器以及连接管理等。 TCP不提供广播或组播服务。
辽宁工程技术大学 软件学院
Page 4
网络协议
第5章 传输层协议
传输层与应用层、网络层的关系
辽宁工程技术大学 软件学院
Page 5
网络协议
第5章 传输层协议
5.1.3 传输层寻址与端口
(2)端口 端口就是传输层服务访问点TSAP。 应用层不同进程的报文通过不同的端口向下递
交到传输层,由传输层复用并传递给网络层。 当这些报文到达目的主机后,目的主机传输层
辽宁工程技术大学 软件学院
Page 8
网络协议
第5章 传输层协议
5.1.4 无连接服务与面向连接服务
1.无连接的传输服务 无连接的传输服务比较简单,发送数据之前不
需要事先建立连接。 2.面向连接的传输服务 面向连接的传输服务要求两个用户(或进程)
相互通信之前,必须先建立连接。 一次完整的数据传输包括建立连接、传输数据、
辽宁工程技术大学 软件学院
Page 7
网络协议
第5章 传输层协议
(4)IANA规定的三类端口
在TCP和UDP协议中的端口域为16位,可以使用的端 口号为0~65535。 IANA(互联网编号分配机构)规定, 端口号分为以下三类: (1)熟知端口号:或称公认端口号,由IANA统 一分配和定义其含义,一般在服务器端使用,其 范围是0~1023。 (2)注册端口号:用户根据需要在IANA注册, 以避免重复,其范围是1024~49151。 (3)临时端口号:客户端程序自己定义和使用的 端口号,可随机分配,其范围是49152~65535。