- 1、本文档共73页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
图8-11TCP报文段的首部
第8章 运 输 层 运输层是整个网络体系结构中的关键层次之一。 8.1 运输协议概述 8.1.1 进程之间的通信 从通信和信息处理的角度看,运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层。在通信子网中没有运输层。运输层只存在于通信子网以外的主机中。 两个主机进行通信实际上就是两个主机中的应用进程互相通信。从运输层的角度看,通信的真正端点并不是主机而是主机中的进程。因此从运输层来看,端到端的通信是应用进程之间的通信。 运输层的一个很重要的功能就是复用和分用。应用层不同进程的报文通过不同的端口向下交到运输层,再往下就共用网络层提供的服务。 “运输层提供应用进程间的逻辑通信”。“逻辑通信”的意思是:运输层之间的通信好像是沿水平方向传送数据。但事实上这两个运输层之间并没有一条水平方向的物理连接。要传送的数据是沿着图中上下多次的虚线方向传送的。 网络层是为主机之间提供逻辑通信,而运输层为应用进程之间提供端到端的逻辑通信,如图8-2所示。 运输层还要对收到的报文进行差错检测。根据应用的不同,运输层需要有两种不同的运输协议,即面向连接的TCP和无连接的UDP, 运输层中向应用层提供运输服务的是运输实体。使用运输服务的是运输服务用户。运输层中的两个对等运输实体之间的通信遵循着运输协议。运输协议保证了运输层能够向应用层提供运输服务。 运输层提供的运输服务也使用了下面网络层向上提供的网络服务。TSAP和NSAP分别是运输层服务访问点和网络层服务访问点,它们都是层与层之间交换信息的抽象接口。 运输层向高层用户屏蔽了下面通信子网的细节(如网络拓扑、所采用的协议等),它使应用进程看见的就是好像在两个运输层实体之间有一条端到端的逻辑通信信道,但这条逻辑通信信道对上层的表现却因运输层使用的不同协议而有很大的差别。 当运输层采用面向连接的TCP协议时,尽管下面的网络是不可靠的(即只提供尽最大努力服务),但这种逻辑通信信道就相当于一条全双工的可靠信道。但当运输层采用无连接的UDP协议时,这种逻辑通信信道仍然是一条不可靠信道。不可靠信道的特点就是不保证交付。 TCP/IP的运输层有两个不同的协议,如图8-5所示,它们都是因特网的正式标准,即: (1)用户数据报协议UDP (User Datagram Protocol) (2)传输控制协议TCP (Transmission Control Protocol) 两个对等运输实体在通信时传送的数据单位叫做运输协议数据单元TPDU ,TCP报文段 (segment) 或UDP报文或用户数据报。 UDP在传送数据之前不需要先建立连接。TCP则提供面向连接的服务。 8.1.3 运输层的端口 UDP和TCP都使用了与应用层接口处的端口 (port) 与上层的应用进程进行通信。端口是个非常重要的概念,因为应用层的各种进程是通过相应的端口与运输实体进行交互。 因此在运输协议数据单元(即TCP报文段或UDP用户数据报)的首部中都要写入源端口号和目的端口号。 用OSI的术语,图中的端口就是运输层服务访问点TSAP。端口的作用就是让应用层的各种应用进程都能把数据通过相应的端口向下交付给运输层,以及让运输层知道应当把报文段中的数据向上通过合适的端口交付给应用层相应的进程。 端口用一个16位端口号进行标识。但端口号只具有本地意义,它只是为了标识本计算机应用层中的各进程。在因特网不同计算机中相同的端口号是没有联系的。 端口号共分为3类。 (1)熟知端口 (well-known port) 其数值为0~1023。这一类端口由因特网指派名字和号码公司ICANN负责分配给一些常用的应用层程序固定使用。 (2)登记端口 (3)动态端口 8.2 用户数据报协议UDP 8.2.1 UDP概述 UDP在某些方面有其特殊的优点: (1)UDP是无连接的,即发送数据之前不需要建立连接(当然发送数据结束时也没有连接可释放),因此减少了开销和发送数据之前的时延。 (2)UDP使用尽最大努力交付,即不保证可靠交付,同时也不使用拥塞控制,因此主机不需要维持具有许多参数的、复杂的连接状态表。 (3)由于UDP没有拥塞控制,因此网络出现的拥塞不会使源主机的发送速率降低。这对某些实时应用是很重要的。 (4)UDP是面向报文的。 (5)UDP支持一对一、一对多、多对一和多对多的交互通信。 (6)用户数据报只有8个字节的首部开销,比TCP的20个字节的首部要短。 8.2.2 UDP的首部格式 用户数据报UDP有两个字段:数据字段和首部字段。每个字段都是两个字
文档评论(0)