- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第8章 运 输 层 运输协议(transport protocol)是整个网络体系结构中的关键之一。 8.1 运输协议概述 8.2 TCP/IP体系中的运输层 8.3 用户数据报协议UDP 8.4 运输控制协议TCP 8.1 运输协议概述 从通信和信息处理的角度看,运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层。运输层只存在于通信子网以外的主机中,在通信子网中没有运输层,如图8-1所示。 运输层为应用进程之间提供逻辑通信,但网络层是为主机之间提供逻辑通信,如图8-3所示。 OSI使用了简洁的抽象方法将运输层与其上下层之间的关系归纳如图8-4所示。 运输层向高层用户屏蔽了下面通信子网的细节,它使应用进程看见的就是好像在两个运输层实体之间有一条端到端的逻辑通信信道,但这条逻辑通信信道对上层的表现却因运输层使用的不同协议而有很大的差别。当运输层采用面向连接的TCP协议时,尽管下面的网络是不可靠的(即只提供尽最大努力服务),但这种逻辑通信信道就相当于一条全双工的可靠信道。但当运输层采用无连接的UDP协议时,这种逻辑通信信道则是一条不可靠信道。在图8-5中将可靠信道画成一个管道,这意味着报文在这样的“管道”中运输时,可以做到无差错、按序(接收的顺序和发送的顺序一样)、无丢失和无重复。 8.2 TCP/IP体系结构中的传输层 8.2.1 传输层中的两个协议 在 TCP/IP 体系结构中,根据实际应用的需求,其传输层分别设计了两种传输服务协议,即无连接的用户数据报协议(UDP)和面向连接的传输控制协议(TCP)。TCP 提供了一种可靠性高的传输服务,UDP则提供一种高效率的、但不可靠的传输服务。 常用的熟知端口号 53 DNS 域名服务器 67 BOOTPS 启动协议服务 69 TFTP 简单文件传输 161 SNMP 简单网络管理协议 …… 21 FTP 文件传输协议 23 TELNET 远程登录终端 25 SMTP 简单邮件传输协议 80 HTTP WEB 服务 …… 一个TCP连接由它的两个端点来标志,而每一个端点又是由IP地址和端口号决定的。因此,TCP使用“连接”(而不仅仅是“端口”)作为最基本的抽象,同时将TCP连接的端点称为插口(socket),和套接字、套接口。下图给出了插口、端口、IP地址的关系 与主机C的SMTP建立的三个连接 连接1的一对socket是(1,500)和(30,25) 连接2的一对socket是(1,501)和(30,25) 连接3的一对socket是(7,500)和(30,25) TCP/UDP 分别用于不同的应用场合:在可靠性更重要的场合(如文件传输、大量报文交换、远程登录等),采用 TCP 以保证高可靠性;在效率和实时性更重要的的场合(例如交互式应用、数据查询以及实时多媒体传输等),UDP 协议则是更好的选择。特别是在通信子网比较可靠的环境中(例如局域网),UDP 更可以体现出开销小,效率高的优势。 UDP 比较适合于少量的、对可靠性要求不高的报文数据交换。UDP 报文在传输时直接利用了 IP 的转发功能,各个 UDP 报文独立传送,因此,在传输过程中不能保证源报文的顺序。同时,由于 UDP 不进行差错控制,因此 UDP 报文出现的错误或丢失不能被恢复,在目的端也可能会出现重复的 UDP 报文。 由于 UDP 传输层不进行任何传输可靠性方面的工作,因此所有维护传输可靠性的工作需要用户在应用层来完成。应用实体可以根据应用的需要,来灵活设计自己的可靠性机制。 UDP 协议封装 UDP 数据报由两部分构成:UDP 首部和数据区 UDP 报文是封装在 IP 分组中进行传送的 UDP 数据报的格式 UDP 数据报的校验 UDP 数据报校验是一项可选的功能 用户禁止该功能可以进一步提高通信的效率 UDP 校验和的计算方法:与 IP 分组头的校验相同 校验和计算:数据报的检验和仅计算IP报头,而UDP(和TCP)的检验和包括报头和数据部分的内容。 UDP检验和还要用到“伪首部” (Pseudo header),伪首部仅为检验和计算而构造。 UDP 基本工作过程 UDP 数据报的发送和接收通过 UDP 端口实现 端口是一个可读写的结构,具有内部的报文缓冲区 数据报发送 UDP 软件将用户数据封装在 UDP 数据报中 转交给 IP 软件,进行 IP 封装和转发 数据报的接收 IP 层接收到 UDP 数据报, 提交给 UDP 软件的各端口 端口判断该报文的目的端口号是否与当前端口匹配 若匹配成功,将该数据报保存到相应端口的接收队列中;(若队列已满,则丢弃该数据报) 若未匹配,则丢弃该数据报,同时向源端发送 “端口不可达
文档评论(0)