- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第八章 运 输 层
HYPERLINK \l d8_1 8.1 运输层的概念
HYPERLINK \l d8_2 8.2 TCP/IP体系中的运输层
HYPERLINK \l d8_2_1 8.2.1 TCP/IP的运输层中的两个协议
HYPERLINK \l d8_2_2 8.2.2 端口的概念
HYPERLINK \l d8_3 8.3 用户数据报协议UDP
HYPERLINK \l d8_4 8.4 传输控制协议TCP
HYPERLINK \l d8_4_1 8.4.1 TCP的报文编号与接收确认
HYPERLINK \l d8_4_2 8.4.2 TCP的流量控制
HYPERLINK \l d8_4_3 8.4.3 TCP的重发机制
HYPERLINK \l d8_4_4 8.4.4 TCP报文段的格式
8.1 运输层的概念
运输层处于通信子网以外的资源子网中,运输层为源主机和目标主机之间提供端到端的可靠通信服务。也就是说,运输层将屏蔽掉各通信子网的细节和差异,使高层用户看不到实现通信功能的物理链路是什么,看不见数据链路采用的协议是什么。向用户进程提供端到端(即进程到进程)的、可靠的、全双工通信通道。
运输层一方面为会话层提供服务,另一方面使用网络层所提供的报务。这样,运输层的协议就和网络层提供的服务有关。网络层提供的服务愈完善,运输层协议就愈简单;网络层提供的服务愈简单,运输层协议就愈复杂。所以在不同服务类别的网络层中进行通信时,所使用的运输层协议的功能也就不同。
8.2 TCP/IP体系中的运输层
8.2.1 TCP/IP的运输层中的两个协议
应用层UDPTCPIP网络接口TCP/IP的运输层中有两个不同的协议:用户数据报协议UDP(User Datagram Protocol)和传输控制协议TCP(Transmission Control Protocol)。如图8-4所示。
图8-4 TCP/IP运输层的UDP和TCP
·UDP和TCP都使用IP协议。也就是说,这两面三刀个协议在发送数据时,其协议数据单元PDU(Protocol Data Unit)都作为下层IP数据报中的数据。接收数据时,IP数据报将首部去掉后,根据上层使用的运输协议,把数据部分交给上层的UDP或TCP。
·UDP在传送数据之前不需要预先建立连接。远地主机的运输层在收到UDP数据报,不需要给出任何应答。在TCP/IP体系中的许多应用服务都采用这种运输方式,如:TFTP、NFS等。
·TCP提供面向连接的服务,但不提供广播或多播服务。由于TCP提供面向连接的可靠服务,因此增加了许多的开销,如应答、流量控制、连接管理等。
主动发起连接建立的进程叫做客户(client),被动等待连接建立的进程叫做服务器(server)。
8.2.2 端口的概念
端口
应用层的各种进程是通过相应的端口与运输层进行交互的,在运输层与应用层的接口上所设置的端口是一个16bit的地址,用端口号进行标识。端口分为两类:一类是专门分配给一些最常用的应用程序,叫做熟知端口,商品号为0~1023。图8-5中举出了几个常用的熟知端口。另一类是一般的端口,用来随时分配给请求通信的客户进程。
套接字
TCP所使用的“连接”是指两个端点之间的虚连接,这样的端点叫做插口(socket),或套接字。插口由IP地址(32bit)和端口号(16bit)组成,共48bit。
比如:图8-6中连接1的一对插口是:
(3,500) 和 (5,25)
连接2的一对插口是:
(3,501) 和 (5,25)
现在常把运输层与应用层之间的接口通称为应用程序接口API(Application Programming Interface)。
8.3 用户数据报协议UDP
用户数据报协议只在IP数据报服务的基础上增加了一点功能,这就是端口功能。UDP数据报有两个字段:首部字段和数据字段。
首部字段中含8个字节,分为4个字段,每段都是2个字节。各字段的意义如下:
·源端口字段:源端口号
·目的端口字段:目的端口号
·长度字段:UDP数据报的长度
·检验和字段:防止UDP数据报在传输中出错
UDP数据报首部中检验和的计算方法有些特殊:在计算检验和时在UDP数据报之前添加12个字节的伪首部,所谓伪首部是因为它不是UDP数据报的真正首部,只是在计算检验和时,临时和UDP数据连接在一起,得到一个过渡的UDP数据报,检验和就是按照这个过渡的UDP数据报来计算的。伪首部既不向下传送,也不向上递交。
字节 12 2 2 2
文档评论(0)