版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第七章运输层1运输层运输层实现网络上应用进程间的逻辑通信(端到端的通信)逻辑通信:网络上的主机运输层之间并没有实际的物理连接,运输层之间的通信要通过调用下层(网络层)功能。运输层向应用进程屏蔽了下面通信子网的细节(如网络拓扑、采用的协议),它使应用进程看见的就是好像在两个运输层实体之间有一条端到端的逻辑通信信道运输层的两个不同的运输协议:面向连接的TCP和面向无连接的UDP(两个协议最大的区别)尽管网络层提供的服务是不可靠的,但TCP采用了顺序号、累积确认、校验、超时/重传的可靠传输的机制,提供了全双工可靠传输服务。2运输层的两个重要协议TCP和UDP可靠传输:无差错、按序、无丢失、无重复不可靠传输:不按序、可能会丢失和重复UDP协议是不可靠的,因为应用进程通过UDP协议接收的数据可能会有差错?(这个说法是错误的!)传输控制协议TCP(TransmissionControlProtocol)面向连接的可靠传输,实现较复杂。协议数据单元为TCP报文段(segment)用户数据报协议UDP(UserDatagramProtocol)面向无连接的可靠传输,实现简单。协议数据单元为用户数据报(UDP报文)3端口(port)应用层的进程通过端口与运输层实体进行交互,运输层通过端口号找到具体的应用进程,因此在TCP报文段和用户数据报首部要写入源端口号和目的端口号。端口用16位的端口号进行标识例如:HTTP(80)、FTP(21)网络上进程通信所用到的地址:IP地址+端口号IP地址+端口号可以抽象为插口(socket,套接字)C++中,采用下面命令创建一个插口
Csocketm_socket;m_socket.Create();
m_socket.Connect(m_ip,6666);4用户数据报协议UDPUDP只在IP数据报服务的基础上增加了很少的功能,即端口功能(分用、复用功能)和差错检测功能。UDP适合于允许丢失一些数据,但不允许太大时延的场合IP电话、流媒体通信、DNS、TFTP、RIP、
SNMP、BOOTP/DHCP、NFSUDP计算检验和与IP数据报计算首部检验和的方法类似。IP数据报的检验和只检验IP数据报首部,UDP的检验和将首部和数据部分一起检验。(了解)5传输控制协议TCPTCP概述应用进程不断的将数据块通过端口写到TCP发送缓存中,TCP每次从缓存中取出一定数量的数据,将其组成TCP报文段TCP报文段的首部源端口、目的端口序号。指的是本报文段数据的第一个字节的编号确认号。期望收到的下一个字节的编号,即下一个报文段的序号。确认比特ACK。ACK=1时确认号才有效同步比特。连接建立时用来同步序号。SYS置为1时表示这是一个连接请求或连接接受报文。终止比特FIN。用来释放连接。当FIN=1表示数据发送完毕,要求释放连接。6窗口。确定对方发送窗口的上限检验和。检验整个报文段(首部和数据)7TCP如何决定发送一个报文段的时机(了解)三种基本机制发送缓存中的数据达到MSS字节,就组装成一个报文段发送出去发送端应用进程指明要求发送报文段,即推送(push)操作设置计时器,时间到则发送报文段Nagle算法:发送端不发送很小的报文段糊涂窗口综合症(sillywindowsyndrome)解决的方法:接收端不要在缓存刚有了一点小的空位置就急忙把一个很小的窗口大小通知给发送端收到乱序的报文段,TCP未明确规定要如何处理可以将乱序的报文段丢弃,也可以将其暂存于接收缓存中(连续ARQ协议或称为GBN协议、滑动窗口协议,选择重传ARQ协议或称为SR协议)8流量控制流量控制的实现:接受端设置发送端发送窗口的上限,限制发送端的发送速率。发送窗口:发送端使用的一个数据结构,用来管理存储允许发送报文段的缓存。包括下列信息允许发送的未确认区间(第一个字节与最后一个字节编号表示)若干已发送的未确认报文段(第一个字节与最后一个字节编号)若干可用的空闲区接收窗口:接收端使用的一个数据结构,用来管理存储允许接收报文段的缓存。只有当收到的报文段的序号落入接收窗口内才接收该报文段,并发出确认。连续ARQ协议接收窗口大小为1。允许接收的区间若干个已收到但未确认的报文段若干可用的空闲区9发送方,接收方的窗口10选择重传上层数据到达:如果窗口中的下一个序号可用,则发送下一个报文段timeout(n):第n个计时器跳重发报文段n,计时器复位ACK(n)到达nє[sendbase,sendbase+N]:标记报文段n已经收到如n为unACKed分组中的最小值,将窗口向前移动到下一个unACKed
seq#
发送方分组n到达nє[rcvbase,rcvbase+N-1]发送ACK(n),窗口大小如果失序:缓存如果有序:递交到上层(同时递交缓存中的其他有序分组),将窗口推进到下一个尚未收到的分组分组n到达[rcvbase-N,rcvbase-1]虽然接收方曾经确认,但仍然需要ACK(n)其他情况:忽略分组接收方11接收端如何设置发送端的发送窗口大小以实现流量控制发送窗口接收窗口?应用进程从接收缓存中读取的最后一个字节LastByteReadLastByteRcvd放入接收缓存中的最后一个字节接收端窗口rwnd(或叫通知窗口)=接收缓存中空闲区的大小=Buffer-[LastByteRcvd-LastByteRead]由此,将发送端的发送窗口的上限设置为7接收缓存12拥塞控制发送端有一个拥塞窗口变量cwnd,发送窗口的大小不超过cwnd。发送窗口的上限=min(拥塞窗口,接收端窗口)发送端没有按时收到确认信息,就认为网络出现拥塞。拥塞控制算法:(1)慢开始。cwnd=1;每收到一个新报文段的确认cwnd加1个MSS,这是一个指数增长的过程;cwnd达到慢开始门限值ssthresh时慢开始阶段结束;(2)拥塞避免阶段。每经过一个往返时延RTTcwnd
就增加1个MSS,这是一个线性增长的过程13拥塞控制(续)(3)无论何时,只要发现网络出现拥塞(出现超时),慢开始门限降为当前拥塞窗口的一半,然后拥塞窗口降为1个MSS拥塞控制两个改进算法(了解)快重传:收到三个重复的ack(4个相等的ack)则认为有报文段丢失,网络出现拥塞。此时立即重传丢失的报文段快恢复:收到三个重复的ack判断出现拥塞,此时不是将拥塞窗口降为1,而是降为ssthreash+3*MSS,收到n个重复的ack则降为ssthreash+n*MSS14TCP的重传机制TCP每发送一个报文段,就对这个报文段设置一次计时器,超时则重传。超时重传时间RTO(RetransmissionTime-Out)一般设为比平均往返时延(RTT,往返时延P19)稍长一点RTO=ß*RTT(ß原先推荐为2)平均RTT计算中的问题RTTnew=a*RTTold+(1-a)*RTTnowKarn算法(了解):重传的报文段,得到的RTT不计算在平均RTT之内Karn算法修正(了解):报文段每重传一次,就将超时重传时间增大一些15采用随机早期丢弃RED(Random
EarlyDiscard)进行拥塞控制(了解)路由器溢出造成后来到达的分组全部丢失,影响到多个相关的TCP连接因为拥塞控制而进入慢开始状态,网络上的通信量突然下降很多。通信量的不稳定造成了平均通信量的下降。要尽量推迟路由器进入溢出状态的时间,由此在路由器还没有出现溢出之前就开始随机的丢弃一些分组。16TCP的运输连接管理运输连接的三个阶段连接释放、数据传送、连接释放连接建立要解决的问题(理解)每一方确知对方的存在允许双方协商一些参数(如最大报文段长度MSS、最大窗口大小、服务质量)能够对运输实体资源(缓存大小、连接表项目、其它管理连接的数据结构)进行分配发起TCP连接的进程叫作客户,响应连接申请的进程叫作服务器17连接建立的三次握手主机A的TCP向主机B的TCP发出连接请求报文段,其首部同步比特SYS置1,选择一个序号x主机B收到连接请求报文段后,如同意,则发回确认。确认报文段中SYS和ACK置1,确认号为x+1,同时选择自己的序号y主机A收到B的确认后,给B再发一个确认,其ACK置1,确认号y+1,自己的序号为x+1。并且A通知自己上层的应用进程,连接已经建立。B收到A的确认后,也通知自己上层的应用进程,连接已经建立。
(了解)主机A发送的第一个报文段其序号仍为x+1为什么要发送第三个报文段(第三次握手)?(理解)18用三次握手建立TCP连接SYN,SEQ=x主机BSYN,ACK,SEQ=y,ACK=x1ACK,SEQ=x+1,ACK=y
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工作总结之护理实习总结范文
- 工作总结之单片机毕业设计总结
- 银行员工培训计划制度
- 酒店餐饮卫生许可证管理及检查制度
- 《数字媒体概述》课件
- 酒店实习报告总结800字(33篇)
- 《保单价值与准备金》课件
- 《记忆效果研究》课件
- 2024届高考语文一轮复习第1章信息类文本阅读6第五节分析文本论证课件
- 女装款式设计-第四章 礼服设计
- 工程竣工结算审计申请书
- DB11-T 1013-2022绿化种植分项工程施工工艺规程
- 污水系统运维方案
- 7.5组态王使用手册api接口函数说明
- 列车自动驾驶子系统ATO
- 医务人员职业暴露处理流程考核试题与答案
- 大象和他的长鼻子
- 人教版高中数学必修一教科书课后答案(全)
- touchstone第四册第3单元
- 3D打印技术教案(3D one)
- CTCS3列控车载系统介绍
评论
0/150
提交评论