- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 -1 TCP协议 第三章-1主要内容 传输层概述 进程间通信 TCP段格式 TCP连接的建立和拆除 TCP流量控制 TCP拥塞控制 TCP差错控制 TCP状态转换图 传输层概述 传输层在TCP/IP协议中非常重要 ∵ 网络层用数据报统一了MAC层的帧,用IP地址统一了MAC地址,但对服务没有统一。 通信子网主要有运营商建立、维护并对外提供服务,用户无法控制通信子网。 不同的通信子网在服务和服务质量QOS方面存在较大差异,用户只有通过传输层对通信子网的服务进行加强,屏蔽其差异性,向上层提供一个标准的、完善的服务界面。 传输层概述 传输层的目的:弥补和加强通信子网服务 弥补:针对服务类型而言,传输层提供端到端进程间的通信,而通信子网网络层提供的是点到点主机的通信。 加强:针对QOS而言,主要是提高服务的可靠性。 传输层概述 传输层的高可靠性的代价:较大的开销 传输层提供多种不同类型的服务,用户根据需要进行选择。 TCP:面向连接的传输控制协议,适用于可靠性较差的底层网络(比如:广域网)。 UDP:无连接的用户数据报协议,适用于可靠性较高的底层网络(比如:局域网)。 传输层概述 传输层以下各层只提供相邻机器的点对点传输,而传输层提供了端到端的数据传输。 端到端:不仅仅是源主机到目的主机的端到端通信,而且指源进程到目的进程的端到端通信。 3.1 进程间通信 由于在一台计算机中同时存在多个进程,要进行进程间的通信,首先要解决进程的标识问题。TCP和UDP采用协议端口来标识某一主机上的通信进程。 必须给出全局惟一的信宿端的进程标识符。主机可以用IP地址进行标识,IP地址是全局惟一的,再给主机上的进程赋予一个本地惟一的标识符—“端口号”,二者加起来,便形成了进程的全局惟一标识符。 第一节 进程间通信 端口:传输层服务访问点TSAP(Transport Service Access Point)。 从内部实现看,端口是一种抽象的软件结构(数据结构和I/O缓冲区) 从通信对方看,端口是通信进程的标识,应用进程通过系统调用与端口建立关联后,传输层传给该端口的数据都会被相应的应用进程所接收; 从本地应用进程看,端口是进程访问传输服务的入口点。 每个端口拥有一个端口号(port number),端口号是16比特的标识符,因此,端口号的取值范围是从0到65535。 端口分配有两种基本的方式:全局端口分配和本地端口分配。 端口分配方式:全局端口分配、本地端口分配。 全局端口分配:集中式控制,权威管理机构根据用户需要统一进行分配,并将结果对外公开。 特点:特定应用程序对应的端口是众所周知的,方便对进程的寻址。 不足:需求无限增长,全局分配不能适应。 本地端口分配:进程需要访问传输服务时,向本地操作系统提出动态申请,系统返回一个本地唯一的端口号,进程通过系统调用将自己和相应端口号关联起来。 特点:灵活方便 不足:其他主机难以得知分配结果。 TCP和UDP都是提供进程通信能力的传输层协议,各有一套端口号,都是从0到65535。 同一个端口在TCP和UDP中可能对应于不同类型的应用进程,也可能对应于相同类型的应用进程。为了区别TCP和UDP的进程,除了给出主机IP地址和端口号之外,还要指明协议。不同协议的端口之间不会互相干扰,没有任何联系。 因特网中要全局惟一地标识一个进程必须采用一个三元组: (协议,主机地址,端口号) 网络通信是两个进程之间的通信,两个通信的进程构成一个关联。这个关联应该包含两个三元组,由于通信双方采用的协议必须是相同的,可用一个五元组描述两个进程的关联: (协议,本地主机地址,本地端口号,远地主机地址,远地端口号) 因特网通信进程间的相互作用模式:客户/服务器模型。客户/服务器模型相互作用的过程是:客户向服务器发出服务请求,服务器完成客户所要求的操作,然后给出响应。 服务器一般先于客户端启动,为了让客户能够找到服务器,服务器必须使用一个客户熟知的地址,客户可以根据此地址向服务器提出服务请求。 熟知(well known)地址的含义:协议是双方约定的协议,主机IP地址是固定且公开的,端口号是大家所熟知的。 每一个标准的服务器都拥有一个熟知的端口号,不同主机上相同服务器的端口号是相同的。e.g 21\20\23\80\25\110. 客户进程一般采用临时端口号(ephemeral humber),而不采用熟知的端口号。临时端口是使用时向操作系统申请,由操作系统分配,使用完后再交由操作系统管理的端口。 因此,不管有多少应用程序,只要同一时间同一主机上的应用进程数量不超过可分配的临时端口数量,就
文档评论(0)