- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章?传输层和高层协议 韶关学院信息工程学院 骆耀祖 内 容 提 要 本章描述传输层和TCP协议规范实现的一些方法,讨论了TCP/IP中最为常见的应用层协议:Telnet、FTP、小文件传输协议TFTP、简单邮件传输协议SMTP和HTTP协议,讨论这些协议与TCP和IP的关系、控制代码及特点以及典型应用实例。读者在读完本章后,应充分理解为何要使用这些协议以及这些协议是如何适应TCP/IP的。 6.1 传输层和TCP协议规范? 传输控制协议TCP(Transfer Control Protocol)是一种面向连接的协议,该协议可以保证客户端和服务端的连接是可靠的、安全的,所以大多数程序采用TCP协议。用户数据报协议UDP(User Datagram Protocol)是一种非面向连接的协议,它不能保证网络程序的连接是可靠的,但由于它速度快,在要求速度和效率的场合可能会使用UDP协议。 6.1.1 TCP协议规范 TCP协议是面向连接的端到端的可靠协议。它支持多种网络应用程序。TCP假定下层只能提供不可靠的数据报服务,对下层服务没有多少要求,它可以在多种硬件构成的网络上运行。在层次式结构中,TCP的下层是IP协议,TCP可以根据IP协议提供的服务传送大小不定的数据,IP协议负责对数据进行分段和重组,在多种网络中传送。 TCP的上层接口包括一系列类似于操作系统中断的调用。对于上层应用程序来说,TCP应该能够异步传送数据。为了在并不可靠的网络上实现面向连接的可靠的传送数据,TCP必须解决可靠性和流量控制的问题,必须能够为上层应用程序提供多个接口,同时为多个应用程序提供数据。同时,TCP是面向连接的,必须解决连接问题。最后,TCP也必须能够解决通信安全性的问题。 主机上不同的协议有不同的端口号,一对进程通过这个端口号进行通信。网络上的计算机被看作包传送的源和目的节点。进程为了传送数据,将数据和相应的参数传送给TCP,通过将TCP包打包在IP包内在网络上传送到目的TCP。TCP会保证接收数据顺序的正确性。网关在接收到这个包后,会将包解开,看看是不是已经到目的地了,如果没有到,网关会根据下一个网络内的协议情况再次将TCP包打包传送。有时还需要把这个包分成几段再传送。这个落地检查的过程是一个耗时的过程。接收方TCP在接收到数据后与上层应用程序通信。具体过程可能还要复杂得多。 在实现TCP的主机上,TCP可以被看成是一个模块,和文件系统区别不大,TCP也可以调用一些操作系统的功能。TCP不直接和网络打交道,TCP只是调用IP接口,IP向TCP提供所有TCP需要的服务。控制网络的任务由专门的设备驱动模块完成。 TCP连接是可靠的,而且保证了所传送数据包的顺序,保证顺序是用一个序号来保证的。响应包内也包括一个序列号,表示接收方准备好这个序号的包。在TCP传送一个数据包时,它同时把这个数据包放入重发队列中,同时启动记数器,如果收到了关于这个包的确认信息,将此包从队列中删除,如果计时超时则需要重新发送此包。从TCP返回的确认信息并不保证最终接收者接收到数据,这个责任由接收方负责。 1. TCP 协议数据单元 urg如果设置紧急数据指针,则该位为1; ack如果确认号正确,那么为1; psh如果设置为1,那么接收方收到数据后,立即交给上一层程序; rst为1的时候,表示请求重新连接; syn为1的时候,表示请求建立连接; fin为1的时候,表示请求关闭连接; 2. TCP接口 网络协议的分层结构决定了TCP有两个接口,向上的用户接口和与下层的接口。对下层协议接口依赖于下层协议,由下层协议来描述,但也会讨论到一些TCP要使用的参数。 (1)用户/TCP接口(TCP用户命令) TCP的实现与具体的操作系统相关,因系统不同具体实现可能不同。不同的TCP实现可能有不同的用户接口,但是有一些功能是最基本的,本节讨论的都是调用的源语形式,其参数都支持TCP最低限度的子集。 为了实现通信功能,TCP不能只会接收命令,而且能够返回消息给它服务的进程,这些消息包括:关于连接的通常消息,如中断,远程关闭等等;对用户命令做出应答,是成功还是失败。 (2)TCP与下层接口 在互联网上,通常认为TCP的下层是IP协议。对TCP与下层(通常是IP,但不一定是) 对话的模型却没有规定。TCP 要求其下面的层定义通信的方式。TCP要调用下层服务才能在网络上传输数据。IP层提供一些例如服务类型和生存时间等的参数。通常假定TCP与网络层采用异步方式进行通信。 如果下层是IP而且使用源地址路由,接口必须允许路由信息的通信。这对建立连接和进行路由是十分重要的。当然也可以不使用IP协议作为TCP的底层协议,但无论下层协议是什么,都必须提供源地址,目的地址和协议域,以及
文档评论(0)