




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第4章 传输层协议 重点 端口 TCP连接的建立和拆除的握手机制 计时器 流量控制 拥塞控制 4.1.传输层 4.1.1. 传输层概述 一、传输层的作用 弥补网络层所提供的服务质量的不足,以 便为高层提供可靠的端到端通信。 l计算机网络在逻辑上分为资源子网和通 信子网 资源子网中的设备才有传输层,通信子 网中的设备一般只具备OSI下面三层的功 能。 资源子网中的端用户依靠在自己主机上所 增加的这个传输层来检测分组的丢失或数 据的残缺并采取相应的补救措施。 二、传输层功能 在网络层所提供的源到目标的分组传输服 务的基础上,向上层提供可靠的源主机到 目标主机的数据传输。 当上层的协议数据包的长度超
2、过网络互联 层所能承载的最大数据传输单元时,提供 分段和合并分段的功能。 提供多路复用机制,由于同时存在多个高 层应用,因此要求传输层能够同时为多个 高层应用服务,将多个高层应用复用到一 个网络层连接上。传输层是通过端口来实 现这一功能的。 三、端到端的传输 传输层就是为上三层提供端到端的传输服 务 声音信号 电信号 声音信号 电信号 点到点 点到点 点到点 端到端 四、TCP/IP 的传输层 两个主要的协议即传输控制协议(transport control protocol,简称TCP)和用户数据报协议 (user datagram protocol,简称UDP) TCP协议是一个可靠的面向
3、连接的传输层协议。 UDP协议将可靠性问题交给应用程序解决 指标指标 TCP UDP 是否 连 接 面向 连 接 无连 接 传输 可 靠 性 可靠 不可 靠 速度 较慢 较快 4.1.2.端口和套接字 一台主机中同时会有多个应用进程进行 通信,传输层必须将它们区分开来。因此网 络通信的最终地址应不仅包括主机地址,还 要包括可描述网络进程的某种标识。 这种标识称作传输层服务访问点, 即端口端口。 TCP/IP 定义一个16Bit长度的整数作为 端口标识,也就是说可定义2e16个端口, 其端口号从0到 2e161。 从0 到255 被规定作为公共应用服务的端口,如、 DNS 和电子邮件服务等,又被
4、称为著名端口 (Well-known ports)。这些端口所对应的服务是固 定、公开的,因此可以通过访问这些端口来访问 对应的服务。 从256 到1023 的端口,被保留用作商业性的应用 开发,如一些网络设备厂商专用协议的通信端口 等。 1023 以上端口未做限定,即作为自由端口,以本 地方式进行分配。 4.2. TCP协议 4.2.1.TCP协议概述 TCP,即传输控制协议,它提供面向连接 的、可靠的(没有数据重复或丢失)、全双工 的数据流传输服务。 TCP的协议数据单元被称为段(Segment) 数据段分为两部分,即段头和数据 段头一般长20字节(如有选项部分另加),是 TCP 为了实现
5、端到端可靠传输所加上的控制信 息。 而数据则是指由高层即应用层来的数据。数据 段的大小必须首先满足65535字节的IP包数据 长度限制。 源端口:主叫方的TCP 端口号。 目标端口:被叫方的TCP 端口号。 发送序号(SEQ): SYN=0表示数据段第一个数据字节的序号, 即该数据段在发送方的数据流中的位置; SYN=1表示建立本次连接的初始序号。 确认序号(ACK):下一个期望接收的 TCP 数据段号,顺序号和确认号共同用于 TCP 服务中的确认、差错控制。 头长:TCP头长,以32 位字长为单位。实 际上相当于给出数据在数据段中的开始位 置。 预留:未用的6 位,为将来的应用而保留, 目前
6、置为“0”。 控制字段(CTL):共6个控制字段,每个 占一位bit。TCP 数据段有多种应用,如建 立或关闭连接、传输数据、携带确认等, 这些控制字段用于给出与数据段的作用及 处理相关的控制信息。字段位值=1时有效。 窗口:窗口的大小表示本方可以接收的数 据量,以八位字长为计量单位。TCP使用 可变大小的滑动窗口来进行流量控制。 校验和:用于对数据段头和数据进行校验, 以判断接收的数据是否有错。 紧急指针:给出从当前段序号到紧急数据 位置的偏移量。 任选项:提供一种增加额外设置的方法, 如最大TCP 分段的大小的约定。 填充:当任选项字段长度不足32 位字长时, 需要加以填充。 数据:来自高
7、层即应用层的协议数据。 4.2.2.TCP的连接管理 TCP实现的是面向连接的数据传输服务, 即是一种虚电路的数据交换方式,在数据 传输以前需要在源主机和目标主机之间创 建相应的虚电路连接。 一、连接的建立 TCP 使用 三次握手协议 来建立连接。 主机1 首先发 起TCP 连接 请求,并在所 发送的数据段 中将控制字段 中的SYN置为 “1”、ACK置 为“0”。 主机2 收到该分段, 若同意建立连接,则 发送一个连接接受的 应答数据段,其中控 制字段的SYN 和ACK 均被置“1”,指示对 第一个SYN 报文段的 确认,以继续握手操 作;否则,主机2 要 发送一个将RST置为 “1”的应答
8、数据段, 表示拒绝建立连接。 主机1 收到主机 2 发来的同意建 立连接数据段后, 还有再次进行选 择的机会,若其 确认要建立这个 连接,则向主机 2 发送确认数据 段,用来通知主 机2 双方已完成 建立连接; 若其已不想建立这个连接,则可以发送一 个将RST置为“1”的应答数据段来告之主 机2 拒绝建立连接。 二、连接的拆除 TCP连接的关 闭过程是一个四 次握手的过程。 图5-9 四次握手拆除TCP 连接 当主机1 的数据 已发送完毕时, 其在等待确认 的同时可发送 一个将控制字 段FIN 置“1”的 数据段给主机2, 表示请求中断 主机1到主机2 的连接。 图5-9 四次握手拆除TCP
9、连接 若主机2 已正确接 收主机1 的所有分 段,则会发送一个 数据段正确接收的 确认段,同时通知 本地相应的应用程 序,对方要求关闭 连接,接着再发送 一个对主机1 所发 送的FIN段进行确 认的应答段。由此 便拆除了一个方向 的TCP连接。 图5-9 四次握手拆除TCP 连接 但是,此时在相反方向 上,主机2 仍然可以向 主机1 发送数据,直到 主机2 数据发送完毕并 要求关闭连接。这个方 向上连接的拆除同样要 经过(1)、(2)两步, 由主机2发起FIN段,主 机1应答确认ACK,拆 除另一方向的TCP连接。 图5-9 四次握手拆除TCP 连接 4.2.3.确认和超时重传 4.2.4.T
10、CP定时器 TCP设置多个定时器帮助其完成所承担的 服务。 一、重传定时器(Connection Establishment Timer) 重发定时器是TCP发送数据时设置的, 如果在定时器超时前该数据段被确认,就 关闭该定时器,否则,一旦超时则重发该 数据段。 二、连接建立定时器(Connection Establishment Timer) 当请求建立连接的SYN数据段发出时, 连接建立定时器就开始计时,如果在75秒 内未收到响应,则连接建立失败。 三、ACK延时定时器(Delayed ACK Timer) 当TCP实体收到数据时它必须返回确认, 但并不需要立即回复,它可以在200亳秒内
11、发送ACK报文,如果在这段时间内它恰好 有数据要发送,它就可以在数据内包含确 认信息,因此需要ACK延时定时器。 四、持续定时器(Persistence Timer) 防止死锁事情发生,发送方在收到接收 方发来一个窗口为0的数据时,就启动持续 定时器,等到该定时器超时还没有收到对 方修改窗口大小的数据段时,发送方就发 一个探测数据,对接收方对该探测数据的 响应应包含了窗口大小,若仍为0,则定时 器清0,重复以上步骤,否则则可以发送数 据。 五、保活定时器(The Keepalive Timer ) 当一个连接长时间闲置会造成保持存活 定时器会超时,这时就会发送一个空数据 段检测另一方是否仍然存
12、在(即连接是否 依然激活),如果它未得到响应,便终止 该连接 。 六、闲置定时器(The Quiet Timer) 当TCP连接断开后,为防止该连接上的 数据还在网络上,并被后续打开的具有相 同五元组的连接接收,要设置闲置定时器 以防止刚刚断开连接的端口号被立即重新 使用。 4.2.4.流量控制与滑动窗口机制 TCP实体在端设备中为每个连接开设两个 缓冲区, 一个是接收缓冲区,用来接收对方发送来的数 据。 第二个是发送缓冲区,TCP实体从应用进程接 收数据,存贮在发送缓冲区。 为了防止由于发送端与接收端之间的不 匹配而引起数据丢失,TCP采用滑动窗口 进行流量控制。 4.2.6.TCP的拥塞控
13、制 为了解决因网络传输能力导致拥塞的问 题,TCP对流量控制方法进行了改进,增 加了一个拥塞窗口。这样发送方TCP就有 两个窗口:一是接收方通告窗口,反映的 是接收方的数据接收能力;一是拥塞窗口, 反映的是网络的传输能力。而发送方可以 发送的字节数,即发送窗口的大小取这两 个窗口的最小值。 4.3. UDP协议 4.3.1. UDP协议 与TCP 相反,TCP/IP 传输层的另一大 协议UDP提供的是不可靠的面向无连接的 数据传输服务。 一、UDP数据报格式 图5-13 UDP数据报格式 源端口字段: 该字段是16 位长度的发送端UDP协议端口号。在UDP 协议中也采用与TCP 中类似的端口概念来标识同一主 机上的不同网络进程,并且两者在分配方式上也是类 似的。应用程序使用UDP协议而不直接采用原始IP协 议发送数据,最主要的原因就UDP协议提供了标识进 程的端口号。 目的端口字段: 该字段是16 位长度的接收端UDP协议端口号。 长度字段: 该字段标记该数据报的长度,以8位长的字节为长度单 位,包括报头和用户数据。 校验和字段: 该字段是可选择的,如该字段值为0 则表明不 进行校验。一般说来,使用校验和字段是必要 的。检查和的计算除了包括报头和用户数据外, 还要加上12字节的伪首部。 4. 伪首部: 该字段只用于计算校验和,不会在UDP数据报 中发送。它由源IP地址、目的IP地
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房产策划销售代理合同
- 小区物业服务合同补充协议
- 橱柜定制合同范本模版
- 代收货款合同范本
- 品牌特卖合同范本
- 农资网点合作合同范本
- 运营总监聘用合同范本
- 工地会议制度
- 农村发展对象培训总结
- 2025文具用品购销合同范本
- 2024安徽省徽商集团有限公司招聘若干人笔试参考题库附带答案详解
- 声屏障行业跨境出海战略研究报告
- 《4•15 第十个全民国家安全教育日》知识宣讲
- 院内VTE防控课件
- 汽车智能系统知识
- 中央2024年国家药品监督管理局中国食品药品检定研究院招聘笔试历年参考题库真题考点解题思路附带答案详解
- 2025温州二模253温州二模英语试卷
- 2025年离婚申请协议书模板电子版
- 人教版(2024)一年级数学下册第五单元100以内的笔算加、减法素养卷(含答案)
- 2025-2030中国便利店行业发展前景及发展策略与投资风险研究报告
- 2025上海劳动合同样本专业版(合同版本)
评论
0/150
提交评论