- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第七章 传输层协议 7.1 进程通信与端口 7.2 UDP协议 7.3 TCP协议 7.1 进程通信与端口 网络层或互联网层提供主机通信服务 传输层提供程通信服务 为了提供进程通信功能,TCP/IP协议族提出了端口(port)的概念,用于标识进程。 传输层与网络层或互联网层的关系 网络层与互联网层 功能:主机通信 协议:IP、 CLNP (ISO/OSI) 特点:hop-by-hop 传输层 功能:进程通信 协议:UDP和TCP、 TP0~4 (ISO/OSI) 特点:end-to-end IP地址和端口 端口分配方法 第一种叫全局分配 这是一种集中控制方式,由IANA进行统一分配,并将结果公布于众。 众所周知端口就是属于这一类。 第二种是本地分配 注册端口 动态分配 动态绑定 TCP/UDP 众所周知端口号 7.2 UDP协议 提供主机通信 IP服务特性 报文可能丢失 报文可能出错 报文可能乱序到达 报文在网络上可能被延迟任意长时间 支持多路复用 提供进程通信 UDP服务特性 报文可能丢失 报文可能出错 报文可能乱序到达 报文在网络上可能被延迟任意长时间 支持多路复用 IP与UDP关系 IP 提供主机通信 通信对象命名是IP 地址 IP地址定位到主机 UDP 提供进程通信 通信对象命名是Port 号 Port号定位到进程 1、报文格式 2、多路复用 3、伪头部 7.3 TCP协议 7.3.1 服务特性 7.3.2 报文格式 7.3.3 连接建立和终止 7.3.4 差错控制 7.3.5 重传定时器 7.3.6 流量控制 7.3.7 拥塞控制 7.3.8 TCP扩展 7.3.9 触发传输 7.3.10 记录边界 7.3.1 服务特性(1) 面向连接 全双工 点到点 可靠 字节流服务 多路复用 服务特性(2) 流量控制 保证发送方不要“淹没”接收方 拥塞控制 保证发送方不要“淹没”网络 字节流(1) 字节流(2) 1) 发送和接受,TCP都使用缓存 2) 应用进程发送的数据首先保留在TCP发送缓存中,当数据量达到一个报文段大小时,TCP就向外发送数据。 3) 应用进程的多个发送请求,可能对应一个TCP数据发送; 字节流(3) 4) 可以使用PUSH机制使应用进程的每个发送请求都对应一个TCP数据发送; 5) TCP收到保文后存放在接收缓存中,等待应用进程读取; 6) 一个TCP发送可以对应多个TCP读操作;多个TCP发送可以对应一个读操作。 7.3.2 报文格式 字段含义(1) (1)源端口和目的端口 各2个字节,表示源和目的端口号。 (2)发送序号 4字节,指出报文中数据在发送方的数据流中的位置(以字节编号)。 (3)确认序号 4字节,指接收方希望下一次接收的字节序号。 (4)TCP头长 4比特,指出以32比特为单位的报文头部长度。该域是针对变长的“选项”域设计的。 字段含义(2) (5)同步标志位SYN, 当SYN=1而ACK=0时,表明这是一个建立连接请求报文,若对方同意建立该连接,则应在发回的报文中使将SYN和ACK标志位同时置1。 (6)确认标志位ACK 只有当ACK=1时确认序号字段才有意义。当ACK=0时,确认序号没有意义。 (7)终止标志位FIN(FINal) 当FIN=1时,表明数据已经发送完毕,并请求释放连接。 字段含义(3) (8)重建标志位RST(ReSeT) 当RST=1时,表明出现严重差错,必须释放连接,然后重新建立连接。 (9)紧急标志位URG(URGent) 当URG=1时,表明此报文是紧急数据,应尽快传送出去。 (10)急迫标志位PSH(PuSH) 当PSH=1时,请求接收方TCP协议将该报文立即交给应用程序。 字段含义(4) (11)通告窗口 2字节。该字段实际上是接收方告诉发送方它的接收窗口大小,其单位为字节。通告窗口字段主要是用于流量控制。 (12)校验和 2字节。校验和字段检验的范围包括TCP报文的头部和数据区这两部分。 (13)可选项 长度可变。最常用的选项,即最大报文长度MSS(Maximum Segment Size)。 7.3.3 连接建立和终止 TCP状态变换图 7.3.4 差错控制 字节编号 字节确认 超时重传 1、字节编号 每个TCP连接传输的字节数据由TCP进行随机编号,即每个TCP连接开始时第一个TCP报文段第一字节数据的编号是随机选取的(避免初始序列号ISN攻击)。 举例 假设某条TCP连接要传送5000字节的文件,TCP对第一个字节的编号从10001(随机选取的)开始。假设这个文件分为5个TCP报文段进行传送,每个TCP报文段携带1000字节,那么每个TCP报文段的字节编号如下所示: 报文段1 ? 顺序号: 10,001 (范围: 10,0
文档评论(0)