版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第八章传输层主要内容8.1 传输效力8.2 传输协议8.3 Internet传输协议8.1 传输效力1n引入传输层的缘由n消除网络层的不可靠性;n提供从源端主机到目的端主机的可靠的、与实践运用的网络无关的信息传输。n传输效力n传输实体transport entity:完成传输层功能的硬软件;n传输层实体利用网络层提供的效力向高层提供有效、可靠的效力;nFig. 6-1n传输层提供两种效力n面向衔接的传输效力:衔接建立,数据传输,衔接释放n无衔接的传输效力。n1 4层称为传输效力提供者transport service provider,4层以上称为传输效力用户transport service
2、 user。8.1 传输效力2n传输效力原语Transport Service Primitivesn传输用户运用程序经过传输效力原语访问传输效力n一个简单传输效力的原语nTPDU8.1 传输效力3q撤除衔接方式有两种q不对称方式:任何一方都可以封锁双向衔接;q对称方式:每个方向的衔接单独封锁,双方都执行DISCONNECT才干封锁整条衔接。q简单衔接纳理形状图8.1 传输效力4qBerkeley Socketsq衔接释放是对称的8.1 传输效力5n运用举例n一个效力程序和几个远程客户程序利用面向衔接的传输层效力完成通讯。n建立衔接n效力程序n调用socket创建一个新的套接字,并在传输层实体
3、中分配表空间,前往一个文件描画符用于以后调用中运用该套接字;n调用bind将一个地址赋予该套接字,使得远程客户程序能访问该效力程序;n调用listen分配数据空间,以便存储多个用户的衔接建立恳求;8.1 传输效力6q调用accept将效力程序阻塞起来,等待接纳客户程序发来的衔接恳求。当传输层实体接纳到建立衔接的TPDU时,新创建一个和原来的套接字一样属性的套接字并前往其文件描画符。效力程序创建一个子进程处置此次衔接,然后继续等待发往原来套接字的衔接恳求。q客户程序q调用socket创建一个新的套接字,并在传输层实体中分配表空间,前往一个文件描画符用于在以后的调用中运用该套接字;q调用conne
4、ct阻塞客户程序,传输层实体开场建立衔接,当衔接建立完成时,取消阻塞;q数据传输q双方运用send和receive完成数据的全双工发送。q释放衔接q每一方运用close原语单独释放衔接。8.2 传输协议1n寻址Addressingn方法:定义传输效力访问点TSAPTransport Service Access Point,将运用进程与这些TSAP相连。在Internet中,TSAP为IP address, local port;nFig. 6-8n远方客户程序如何获得效力程序的TSAP?n方法1:预先商定、广为人知的,象telnet是IP地址,端口23;n方法2:从名字效力器name ser
5、ver或目录效力器directory server获得TSAPn一个特殊的进程称为名字效力器或目录效力器TSAP众所周知;n用户与名字效力器建立衔接,发送效力称号,获得效力进程的TSAP,释放与称号效力器的衔接;n与效力进程建立衔接。8.2 传输协议2q当效力程序很多时,运用初始衔接协议initial connection protocolq一个称为进程效力器process server的进程(inetd)同时在多个端口上监听;q远方客户程序向它实践想访问的效力程序的TSAP发出衔接建立恳求;q假设没有效力程序在此TSAP上监听,那么远方客户和进程效力器建立衔接;q进程效力器产生所恳求的效力进
6、程,并使该进程承继和远程客户的衔接;q进程效力器前往继续监听;q远方客户程序与所希望的效力程序进展数据传输。qFig. 6-98.2 传输协议3n建立衔接n网络能够丧失、反复包,特别是延迟反复包delayed duplicates的存在,导致传输层建立衔接的复杂性;n处理延迟反复包的关键是丢弃过时的包;n两次握手方案nA发出衔接恳求CR TPDU,B发回衔接确认CC TPDU;n失败的缘由:网络层会丧失、存储和反复包。n三次握手方案three-way handshakenA 发出序号为X的CR TPDU;nB 发出序号为Y的CC TPDU并确认A的序号为X的CR TPDU;8.2 传输协议4n
7、A 发出序号为X+1的第一个数据TPDU,并确认B的序号为Y的CR TPDU。nFig. 6-11 DATA序号应为X+1n三次握手方案处理了由于网络层会丧失、存储和反复包带来的问题。8.2 传输协议5n释放衔接n两种衔接释放方法n非对称式:一方释放衔接,整个衔接断开,存在丧失数据的危险;n8.2 传输协议6n对称式:由于两军问题two-army problem的存在,可以证明不存在平安的经过N次握手实现对称式衔接释放的方法;nn但是在实践的通讯过程中,运用三次握手 + 定时器的方法释放衔接在绝大多数情况下是胜利的。nFig. 6-148.2 传输协议7n流控和缓存Flow Control a
8、nd Bufferingn缓存:由于网络层效力是不可靠的,传输层实体必需缓存一切衔接发出的TPDU,而且为每个衔接单独做缓存,以便用于错误情况下的重传。接纳方的传输层实体既可以做也可以不做缓存。缓存区的设计有三种。nFig. 6-15n流控:传输层利用可变滑动窗口协议来实现流控。所谓可变滑动窗口协议,是指发送方的发送窗口大小是由接纳方根据本人的实践缓存情况给出的。为了防止控制TPDU丧失导致死锁,主机应该周期性的发送TPDU。nFig. 6-168.3 Internet传输协议1n传输控制协议TCPTransmission Control Protocoln面向衔接的、可靠的、端到端的、基于字
9、节流的传输协议;nRFC 793,1122,1323,2021,2581等。n用户数据协议UDPUser Data Protocoln无衔接的端到端传输协议;nRFC 768。8.3 Internet传输协议28.3.1TCP 协议效力模型运用程序访问TCP效力是经过在收发双方创建套接字来实现的;套接字的地址是用IP地址,主机端口号来表示的。256以下的端口号被规范效力保管,如FTP/21,TELNET/23;每条衔接用(套接字1,套接字2)来表示,是点到点的全双工通道;TCP不支持多播multicast和广播broadcast;TCP衔接是基于字节流的,而非音讯流,音讯的边境在端到端的传输中
10、不能得到保管;Fig. 6-238.3 Internet传输协议3q对于运用程序发来的数据,TCP可以立刻发送,也可以缓存一段时间以便一次发送更多的数据。为了强迫数据发送,可以运用PUSH标志;q对于紧急数据urgent data,可以运用URGENT标志。qTCP协议需求处理的主要问题qreliable transferq滑动窗口qflow controlq可变滑动窗口q慢启动slow start、拥塞防止congestion avoidanceqconnection managementq建立衔接:三次握手q释放衔接:三次握手 + 定时器8.3 Internet传输协议4nTCP 协议n按
11、字节分配序号,每个字节有一个32位的序号;n传输实体之间运用段(segment)TPDU交换数据;n每个段包含一个20字节的头选项部分另加和0个或多个数据字节。段的大小必需首先满足65535字节的IP包数据净荷长度限制,还要满足底层网络传输介质的最大传输单元MTU的限制,比如以太网的MTU为1500字节;nTCP实体运用滑动窗口协议,确认序号等于接纳方希望接纳的下一个序号。8.3 Internet传输协议5nTCP段头8.3 Internet传输协议6q源端口和目的端口:各16位;q序号和确认号:以字节为单位编号,各32位;qTCP头的长度:4位,长度单位为32位字,包含可选项域;q6位的保管
12、域;q6位的标识位:置1表示有效qURG:和紧急指针配合运用,发送紧急数据;qACK:确认号能否有效;qPSH:指示发送方和接纳方将数据不做缓存,立刻发送或接纳;qRST:由于不可恢复的错误重置衔接;qSYN:用于衔接建立指示;qFIN:用于衔接释放指示8.3 Internet传输协议7q窗口大小:用于基于可变滑动窗口的流控,指示发送方从确认号开场可以再发送窗口大小的字节流;q校验和:为添加可靠性,对TCP头,数据和伪头计算校验和;qq可选项域。8.3 Internet传输协议8nTCP衔接纳理n三次握手建立衔接n效力器方执行LISTEN和ACCEPT原语,被动监听;n客户方执行connect
13、原语,产生一个SYN为1和ACK为0的TCP段,表示衔接恳求;n效力器方的传输实体接纳到这个TCP段后,首先检查能否有效力进程在所恳求的端口上监听,假设没有,回答RST置位的TCP段;n假设有效力进程在所恳求的端口上监听,该效力进程可以决议能否接受该恳求。在接受后,发出一个SYN置1和ACK置1的TCP段表示衔接确认,并恳求与对方的衔接;n发起方收到确认后,发出一个SYN置0和ACK置1的TCP段表示给对方的衔接确认;8.3 Internet传输协议9n假设两个主机同时试图建立彼此间的衔接,那么只能建立一条衔接。n单向的衔接释放n释放衔接时,发出FIN位置1的TCP段并启动定时器,在收到确认后
14、封锁衔接。假设无确认并且超时,也封锁衔接。8.3 Internet传输协议10 TCP A TCP B1. CLOSED LISTEN2. SYN-SENT - - SYN-RECEIVED3. ESTABLISHED - - ESTABLISHED5. ESTABLISHED - - ESTABLISHED Basic 3-Way Handshake for Connection SynchronizationNote that the ACK does not occupy sequence number space (if it did, we would wind up ACKing
15、ACKs!).8.3 Internet传输协议11qTCP衔接纳理的有限形状机8.3 Internet传输协议12nTCP传输战略nTCP的窗口管理机制n基于确认和可变窗口大小;nFig. 6-29n窗口大小为0时,正常情况下,发送方不能再发TCP段,但有两个例外n紧急数据可以发送;n为防止死锁,发送方可以发送1字节的TCP段,以便让接纳方重新声明确认号和窗口大小。n如何改良传输层的性能?n战略1:发送方缓存运用程序的数据,等到构成一个比较大的段再发出;n战略2:在没有能够进展“捎带的情况下,接纳方延迟发送确认段;8.3 Internet传输协议13n战略3:运用Nagle算法:当运用程序每次
16、向传输实体发出一个字节时,传输实体发出第一个字节并缓存一切其后的字节直至收到对第一个字节确实认;然后将已缓存的一切字节组段发出并对再收到的字节缓存,直至收到下一个确认;n战略4:运用Clark算法处理傻窗口病症silly window syndromen傻窗口病症:当运用程序一次从传输层实体读出一个字节时,传输层实领会产生一个一字节的窗口更新段,使得发送方只能发送一个字节;nFig. 6-30n处理方法:限制收方只需在具备一半的空缓存或最大段长的空缓存时,才产生一个窗口更新段。8.3 Internet传输协议14nTCP拥塞控制n出现拥塞的两种情况n快网络小缓存接纳者n慢网络大缓存接纳者nFi
17、g. 6-31n导致网络拥塞的两个潜在要素是:网络才干和接纳才干。nTCP处置第一种拥塞的措施n在衔接建立时声明最大可接受段长度;n利用可变滑动窗口协议防止出现拥塞;8.3 Internet传输协议15qTCP处置第二种拥塞的措施q发送方维护两个窗口:可变发送窗口和拥塞窗口,按两个窗口的最小值发送;q拥塞窗口按照慢启动slow start算法和拥塞防止congestion avoidance算法变化。q慢启动slow start算法q衔接建立时拥塞窗口congwin初始值为该衔接允许的最大段长,阈值threshold为64K;q发出一个最大段长的TCP段,假设正确确认,拥塞窗口变为两个最大段长
18、;q发出 拥塞窗口/最大段长个最大长度的TCP段,假设都得到确认,那么拥塞窗口加倍;q反复上一步,直至发生丢包超时事件,或拥塞窗口大于阈值。8.3 Internet传输协议16nexponential increase (per RTT) in window size (not so slow!)nRTT: Round Trip Timeinitialize: Congwin = 1for (each segment ACKed) Congwin+until (loss event OR CongWin threshold)Slowstart algorithmHost Aone segmen
19、tRTTHost Btimetwo segmentsfour segments8.3 Internet传输协议17q拥塞防止congestion avoidance算法q假设拥塞窗口大于阈值,从此时开场,拥塞窗口线形增长,一个RTT周期添加一个最大段长,直至发生丢包超时事件;q当超时事件发生后,阈值设置为当前拥塞窗口大小的一半,拥塞窗口重新设置为一个最大段长;q执行慢启动算法。qFig. 6-32/* slowstart is over */ /* Congwin threshold */Until (loss event) every w segments ACKed: Congwin+ t
20、hreshold = Congwin/2Congwin = 1perform slowstartCongestion avoidancew is the current value of the congestion window, and w is larger than threshold. After w acknowledgments have arrived, TCP replaces w with w+1.问题A、B双方曾经建立了TCP衔接,采用Slow Start算法进展流控,初始的阈值为32K字节(1K = 1024), 最大发送段长MSS为1K字节。发送方向为A-B, B没有
21、数据要发送, B每收到一个数据报文都会发出一个应对报文。在整个过程中上层不断有数据要发送, 并且都以MSS大小的报文发送。A的发送序列号从0开场。1. 在传输过程中, A收到1个ACK为10240的报文,收到这个应对报文后, A处拥塞窗口的大小是多少?2. 当收到ACK = 32768的报文后,A处拥塞窗口的大小是多少?3. 当阈值为32K字节、拥塞窗口为40K字节, 时, 发送方发生了超时,求超时发生后拥塞窗口的大小和阈值的大小。 1收到的为第10个报文的应对, 变化后拥塞窗口的大小为112收到的为第32个报文的应对, 这时拥塞窗口曾经超越阈值, 该当运用线性增长,变化后的拥塞窗口大小为 32 K字节。3拥塞窗口 1 MSS = 1KB 阈值 40 / 2 = 20 KB8.3 Internet传输协议188.3.2UDP User Datagram Protocol协议Why is there a UDP?no connection establishment (which
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (2026年)幼儿园春季园务工作总结
- (2026年)预防校园欺凌专项行动情况报告
- 仪器分析实验电化学理论
- 外墙渗漏暨工程技术部管理培训
- 客户经理制的推行及管理
- 2026下半年高中化学教资面试有机物专项题库
- 屈莹不同电阻率太阳能电池制作工艺探索及电性能研究
- 2026下半年小学信息技术教资面试编程思维题库
- 2026窗口服务岗事业单位面试易错题试卷含解析
- 2026医疗岗事业单位面试经典例题试卷含解析
- 主动脉夹层诊疗中国专家共识(2025版)
- 2026年中国太平洋保险集团股份有限公司人员招聘笔试参考题库及详细答案解析
- 2026云南省综合评标专家库专家考试历年参考题库含答案详解
- 劳动用工风险防控手册
- GA/T 2355-2025机动车驾驶人考试组织工作规程
- 2026人教版五年级数学上册第五单元第1课《用字母表示数量关系》课件
- 交通运输部所属事业单位统一招聘笔试真题2025
- 2026年远程客服兼职合同协议
- 梦幻交易账号合同
- 学堂在线 面向未来社会的服务设计与管理 章节测试答案
- 2025-2026学年江苏省南通市海安市高三上学期期中考试历史试题(解析版)
评论
0/150
提交评论