- 1、本文档共48页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章计算机网络的体系结构
第八章传输层 主要内容 8.1 传输服务 8.2 传输协议 8.3 Internet传输协议 8.1 传输服务(1) 引入传输层的原因 消除网络层的不可靠性; 提供从源端主机到目的端主机的可靠的、与实际使用的网络无关的信息传输。 传输服务 传输实体(transport entity):完成传输层功能的硬软件; 传输层实体利用网络层提供的服务向高层提供有效、可靠的服务; Fig. 6-1 传输层提供两种服务 面向连接的传输服务:连接建立,数据传输,连接释放 无连接的传输服务。 1 ~ 4层称为传输服务提供者(transport service provider),4层以上称为传输服务用户(transport service user)。 8.1 传输服务(2) 传输服务原语(Transport Service Primitives) 传输用户(应用程序)通过传输服务原语访问传输服务 一个简单传输服务的原语 TPDU 8.1 传输服务(3) 拆除连接方式有两种 不对称方式:任何一方都可以关闭双向连接; 对称方式:每个方向的连接单独关闭,双方都执行DISCONNECT才能关闭整条连接。 简单连接管理状态图 8.1 传输服务(4) Berkeley Sockets 连接释放是对称的 8.1 传输服务(5) 应用举例 一个服务程序和几个远程客户程序利用面向连接的传输层服务完成通信。 建立连接 服务程序 调用socket创建一个新的套接字,并在传输层实体中分配表空间,返回一个文件描述符用于以后调用中使用该套接字; 调用bind将一个地址赋予该套接字,使得远程客户程序能访问该服务程序; 调用listen分配数据空间,以便存储多个用户的连接建立请求; 8.1 传输服务(6) 调用accept将服务程序阻塞起来,等待接收客户程序发来的连接请求。当传输层实体接收到建立连接的TPDU时,新创建一个和原来的套接字相同属性的套接字并返回其文件描述符。服务程序创建一个子进程处理此次连接,然后继续等待发往原来套接字的连接请求。 客户程序 调用socket创建一个新的套接字,并在传输层实体中分配表空间,返回一个文件描述符用于在以后的调用中使用该套接字; 调用connect阻塞客户程序,传输层实体开始建立连接,当连接建立完成时,取消阻塞; 数据传输 双方使用send和receive完成数据的全双工发送。 释放连接 每一方使用close原语单独释放连接。 8.2 传输协议(1) 寻址(Addressing) 方法:定义传输服务访问点TSAP(Transport Service Access Point),将应用进程与这些TSAP相连。在Internet中,TSAP为(IP address, local port); Fig. 6-8 远方客户程序如何获得服务程序的TSAP? 方法1:预先约定、广为人知的,象telnet是(IP地址,端口23); 方法2:从名字服务器(name server)或目录服务器(directory server)获得TSAP 一个特殊的进程称为名字服务器或目录服务器(TSAP众所周知); 用户与名字服务器建立连接,发送服务名称,获得服务进程的TSAP,释放与名称服务器的连接; 与服务进程建立连接。 8.2 传输协议(2) 当服务程序很多时,使用初始连接协议(initial connection protocol) 一个称为进程服务器(process server)的进程(inetd)同时在多个端口上监听; 远方客户程序向它实际想访问的服务程序的TSAP发出连接建立请求; 如果没有服务程序在此TSAP上监听,则远方客户和进程服务器建立连接; 进程服务器产生所请求的服务进程,并使该进程继承和远程客户的连接; 进程服务器返回继续监听; 远方客户程序与所希望的服务程序进行数据传输。 Fig. 6-9 8.2 传输协议(3) 建立连接 网络可能丢失、重复包,特别是延迟重复包(delayed duplicates)的存在,导致传输层建立连接的复杂性; 解决延迟重复包的关键是丢弃过时的包; 两次握手方案 A发出连接请求CR TPDU,B发回连接确认CC TPDU; 失败的原因:网络层会丢失、存储和重复包。 三次握手方案(three-way handshake) A 发出序号为X的CR TPDU; B 发出序号为Y的CC TPDU并确认A的序号为X的CR TPDU; 8.2 传输协议(4) A 发出序号为X+1的第一个数据TPDU,并确认B的序号为Y的CR TPDU。 Fig. 6-11 (DATA序号应为X+1) 三次握手方案解决了由于网络层会丢失、存储和重复包带来的问题。 8.2 传输协议(5) 释放连接 两种连接释放方法 非对称式
文档评论(0)