网络通信与OSI_8_第1页
网络通信与OSI_8_第2页
网络通信与OSI_8_第3页
网络通信与OSI_8_第4页
网络通信与OSI_8_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1 第八章 传输层n传输层的一般概念nTCPnUDP28.1.1 传输层概述传输层概述 应用层数据链路层网络层传输层物理层 网络功能用户功能传输层的位置 38.1.2 提供给高层的服务提供给高层的服务 最终目标:利用网络层提供的服务向其用户(一般是应用层的进程),提供有效、可靠且价格合理的服务。主要任务:在优化网络服务的基础上,从源端机到目的端机提供可靠的、价格合理的数据传输,使高层服务用户在相互通信时不必关心通信子网实现的细节,即与所使用的网络无关。4传输层Qosn连接建立迟延n连接建立失败概率n吞吐量n传输迟延n传输失败概率n释放迟延n释放失败概率n连接优先权n连接修复能力5服务类型nA型

2、网络服务 具有可接受的差错率和故障告知率;nB型网络服务 具有可接受的差错率和不可接受故障告知率;nC型网络服务 不具有可接受的差错率和故障告知率;6传输协议等级n0类型(TP0):简单类n1类型(TP1):基本差错修复类n2类型(TP2):复用类n3类型(TP3):差错修复和复用类n4类型(TP4):差错检测、修复和复用类 78.1.2 提供给高层的服务提供给高层的服务 网络1网络2AP1AP2AP3AP4多进程通信情况 88.1.2 提供给高层的服务提供给高层的服务 应用程序进行数据通信的过程 应用层传输层网络层数据链路层物理层应用层传输层网络层数据链路层物理层物理介质物理介质物理介质AP

3、1AP3端到端通信通信子网98.1.2 提供给高层的服务提供给高层的服务 在物理层上可以透明地传输数据的比特流;在数据链路层上使得各条链路能传送无差错的数据帧(数据帧按顺序、无丢失、不重复);在网络层上提供了路由选择和网络互连的功能,使得主机A发送的数据段能够按照合理的路由到达主机B。服务的质量是否满足?再次优化网络服务!服务与协议的关系!10传输层独特问题n端到端差错控制 解决网络层以下不能解决的差错控制;n端到端传输连接管理 “三次握手方式”与流水线类似n传输层超时和拥塞控制nnnWW)1 (1118.1.2 提供给高层的服务提供给高层的服务 传输层实体传输层实体应用层应用层TSAPTSA

4、PNSAPNSAP传输层协议主机A主机B传输层服务用户传输服务提供者传输层与其上下层之间的关系 传输层中完成传输功能的硬件和软件被称为传输实体TSAP通过传输实体,传输层可以向应用层提供传输服务128.1.3 TCP/IP协议中的传输层协议中的传输层 在TCP/IP协议中有两个并列的协议:UDP和TCP。 UDP(User Datagram Protocol,用户数据报协议)是面向无连接的,即在进行数据传输之前不需要建立连接,而目的主机收到数据报后也不需要发回确认。这种协议提供了一种高效的传输服务。TCP(Transmission Control Protocol,传输控制协议)是面向连接的,

5、即在进行数据传输之前需要先建立连接,而且目的主机收到数据报后要发回确认信息。这种协议提供了一种可靠的传输服务。与UDP相比提供了较多的功能,但是相对的报文格式和运行机制也较为复杂。138.1.4 端口端口 TCP/IP传输层可以通过协议端口(protocol port,简称端口)来标识通信的应用进程。传输层是通过端口与应用层的应用程序进行信息交互的。端口实际上是一个16Bit长的地址,范围可以从0至65535。将0至1023端口号称为熟知端口(Well-Known Port),其余1024至6 5 5 3 5 端 口 号 称 为 一 般 端 口 或 ( 动 态 ) 连 接 端 口(Regist

6、ered/Dynamic。148.1.4 端口端口 各端口的意义 158.1.4 端口端口 协议端口号关键字描述UDP42NAMESERVER主机名字服务器UDP53DOMAIN域名服务器UDP67BOOTP Client客户端启动协议服务UDP68BOOTP Server服务器端启动协议服务UDP69TFTP简单文件传输协议UDP111RPC微系统公司RPCTCP20文件传输服务器(数据连接)TCP21文件传输服务器(控制连接)TCP23Telnet远程终端服务器TCP25SMTP简单邮件传输协议TCP80HTTP超文本传输协议168.1.4 端口端口 IP=1IP=1

7、5IP=0端口200端口201端口200端口25ABC连接1连接2连接3通过SMTP进行通信的主机 178.1.4 端口端口 插口包括IP地址(32位)和端口号(16位),共48位,构成插口或套接字(Scoket)端口的应用7.1 传输层提供的服务传输层提供的服务开放课题-NAT1、了解NAT的工作原理2、NAT的意义3、应用188.2 传输控制协议传输控制协议TCP TCP是TCP/IP体系中的传输层协议,是面向连接的,因而可以提供可靠的全双工信息服务。在数据传输的过程中,应用层的数据报传送到传输层后,加上TCP首部,就构成了TCP的数据传送单位,称

8、为报文段(Segment),在发送的时候作为IP数据报的数据。加上IP首部后成为IP数据报;在接收的时候,网络层将IP数据报的IP首部去掉后上交给传输层,得到TCP报文段,传输层再将TCP首部去掉,然后上交给应用层,得到应用层所需要的报文段 198.2.1 TCP报文的格式报文的格式 208.2.1 TCP报文的格式报文的格式 1源端口号和目的端口号源端口号和目的端口号各占16位,2个字节,分别标识连接两端的两个通信的应用进程 2发送序号发送序号占32位,4个字节,TCP的序号编号是对每一个字节进行编号,因此在这个字段中给出的数字是本报文段所发送的数据部分的第一个字节的序号 3接收序号接收序号

9、又称作确认序号,占32位,4个字节,确认序号指的是期望收到对方下次发送的数据报的第一个字节的序号,也就是期望收到的下一个报文段的首部中的发送序号,同时确认以前收到的报文。218.2.1 TCP报文的格式报文的格式 4数据偏移数据偏移占4位,此字段指出在TCP数据报内实际的数据到TCP报文段的起始位置的距离,实际上就是整个TCP报文段首部的长度。数据偏移字段存储的数值的单位是32位的字。5保留字段与标志位保留字段与标志位占6位,设置的值为0,供功能扩展使用,新的TCP版本有些位已被启用。标志位,共有6个,每个占1位 :(1)紧急比特位(URG) ,(2)确认比特(ACK) ,(3)紧迫比特(PS

10、H) ,(4)重建比特(RST) ,(5)同步比特(SYN) ,(6)终止比特(FIN) 228.2.1 TCP报文的格式报文的格式 6窗口窗口占2字节,设置的值为发送方接收窗口的大小,单位为字节 7检验和检验和占2字节,用来检验首部和数据部分以及伪首部之和 8紧急指针紧急指针与紧急比特配合使用处理紧急情况,指出在本报文段中的紧急数据的最后一个字节的序号 238.2.1 TCP报文的格式报文的格式 9选项和填充选项和填充TCP首部可以有多达40字节的可选信息。此字段为可变部分,它们用来将附加信息传递给目的站,或用来将其它选项对齐。TCP定义了两类选项:一字节选项和多字节选项 248.2.2 T

11、CP8.2.2 TCP的编号与确认的编号与确认 在TCP报文段首部含有确认序号字段,通过它可以完成TCP报文的确认,具体的确认是对接收到的数据的最高序号进行确认,返回的确认序号是已经收到的数据的最高序号加1。由于TCP采用全双工的通信方式,因此进行通信的每一方都不必专门发送确认报文段,可以在传送数据的同时进行确认,这种方式称为捎带确认。258.2.3 TCP8.2.3 TCP的流量控制机制的流量控制机制 两用户进程间的流量控制和链路层两相邻结点间的流量控制类似,都要防止快速的发送数据时超过接收者的能力,采用的方法都是基于滑动窗口的原理。但是链路层常采用固定窗口大小,而传输层则采用可变窗口大小和

12、使用动态缓冲分配。在TCP报文段首部的窗口字段写入的数值就是当前设定的接收窗口的大小。假设发送端要发送的数据为8个报文段,每个报文段的长度为100个字节,而此时接收端许诺的发送窗口为400个字节,具体情况如下图所示: 268.2.3 TCP8.2.3 TCP的流量控制机制的流量控制机制 滑动窗口机制 278.2.3 TCP8.2.3 TCP的流量控制机制的流量控制机制 发送端 接收端 288.2.3 TCP8.2.3 TCP的流量控制机制的流量控制机制 实际上实现流量控制并非仅仅为了使得接收方来得及接收而已,还要有控制网络拥塞的作用。比如接收端正处于较空闲的状态,而整个网络的负载却很多,这时如

13、果发送方仍然按照接收方的要求发送数据就会加重网络负荷,由此会引起报文段的时延增大,使得主机不能及时地收到确认,因此会重发更多的报文段,更加剧了网络的阻塞,形成恶性循环。为了避免发生这种情况,主机应该及时地调整发送速率。 298.2.3 TCP8.2.3 TCP的流量控制机制的流量控制机制 发送端主机在发送数据时,既要考虑到接收方的接收能力,也要考虑网络目前的使用情况,发送方发送窗口大小应该考虑以下几点:(1)通知窗口(advertised window):这是接收方根据自己的接收能力而确定的接收窗口的大小。(2)拥塞窗口(congestion window):这是发送方根据目前网络的使用情况而

14、得出的窗口值,也就是来自发送方的流量控制。当中最小的一个最为适宜,即:发送窗口=Min通知窗口,拥塞窗口 进行拥塞控制,Internet标准推荐使用三种技术,即慢启动(slow-start),加速递减(multiplicative decrease)和拥塞避免(congestion avoidance)。308.2.4 TCP8.2.4 TCP的差错控制的差错控制 1差错检测和纠正差错检测和纠正TCP中的差错检测是通过三种简单工具来完成的:检验和、确认和超时。 每一个报文段都包括检验和字段,用来检查受到损伤的报文段;若报文段受到损伤,就由目的TCP将其丢弃。TCP使用确认的方法来证实收到了某些

15、报文段,它们已经无损伤地到达了目的TCP。 TCP不使用否认。若一个报文段在超时截止期之前未被确认,则被认为是受到损伤或已丢失。 318.2.4 TCP8.2.4 TCP的差错控制的差错控制 2受损伤的报文段受损伤的报文段。 328.2.4 TCP8.2.4 TCP的差错控制的差错控制 3丢失的报文段丢失的报文段对于一个丢失的报文段。这与受损报文段的情况完全一样。4 4重复的报文段重复的报文段当含有同样序号的分组作为另一个收到的报文段到达时,目的TCP丢弃这个分组。5 5失序的报文段失序的报文段对失序的报文段不确认,直到收到所有它以前的报文段为止 338.2.4 TCP8.2.4 TCP的差错

16、控制的差错控制 6丢失的确认丢失的确认348.2.5 TCP8.2.5 TCP的重发机制的重发机制 在传输层中,TCP确认到达的时间概率分布不是很集中,所以确定超时重发的时间就很困难。TCP采用了一种自适应算法来计算重发超时时间。这种算法把每次每个报文段发出的时间和收到此报文段确认的时间都记录下来,两时间之差称为报文段的往返时延。针对所有发送正确的报文段的往返时延进行加权平均,得到报文段的平均往返时延RT,而将TCP测量该往返时延所用的时间设为M,根据得到的时延,按照下列公式进行计算修正的RT:RT=RT+(1-)M式中,是修正因子,一般取值为7/8。358.2.5 TCP8.2.5 TCP的

17、重发机制的重发机制 1988年,Jacobson提出一种动态的确定超时重发时间的方法,他提出的变化要与确认到达时间的概率密度函数的标准偏差大致成比例,并建议采用平均偏差作为对标准偏差的粗略估计。在这种算法中,需要保存另一个修正因子D(偏差值),按照下列公式进行新的计算:D=D+(1-)|RT-M|这时得到的D值与上面的RT值相比,更加令人满意。但是当数据段重发,并确认到达后,不清楚确认是针对先发的数据段还是对重发的数据段进行的,如果只是进行凭空的猜测将导致对数据的严重破坏。368.2.6 TCP8.2.6 TCP的传输连接管理的传输连接管理 1. TCP1. TCP连接的建立连接的建立 第一次

18、握手:源端机发送一个带有本次连接序号的请求。 第二次握手:目的主机收到请求后,如果同意连接,则发回一个带有本次连接序号和源端机连接序号的确认。 第三次握手:源端机收到含有两次初始序号的应答后,再向目的主机发送一个带有两次连接序号的确认。 378.2.6 TCP8.2.6 TCP的传输连接管理的传输连接管理 TCP协议中连接建立的过程 388.2.6 TCP8.2.6 TCP的传输连接管理的传输连接管理 2. 2. 连接的释放连接的释放 第一次握手:由进行数据通信的任意一方提出要求释放连接的请求报文段。 第二次握手:接收端收到此请求后,会发送确认报文段,同时当接收端的所有数据也都已经发送完毕后,

19、接收端会向发送端发送一个带有其自己序号的报文段。 第三次握手:发送端收到接收端的要求释放连接的报文段后,发送反向确认。39主 机 A主 机 BFIN, SEQ=xACK=x+1FIN, SEQ=y,ACK=x+1ACK=y+1TCP连接的释放过程 40*8.3 一个一个TCP/IP数据包实例数据包实例为了读者便于理解,我们在网上捕获了一个数据包,学习时可以对照曾经讲过的TCP/IP各层数据报的格式来阅读下面的数据例子。在分析这个例子的时候,请注意以下几个方面:(1)网络上传输的数据包是逐层封装的(2)数据包是从最底层开始分析的(3)数据的下面,是分层对协议报头各字段的分析。41*8.3 一个一

20、个TCP/IP数据包实例数据包实例数据包实例:00 03 0f ff ba f1 02 e0 3b e8 6c 13 08 00 45 0005 a8 19 1b 40 00 77 06 ad f1 d3 61 a8 af d2 1fe9 12 00 50 0c cc 20 d9 04 4c d6 20 e3 fe 50 10fe f2 39 89 00 00 协议分析:Frame 1 (1462 on wire, 1462 captured) Arrival Time: Apr 27, 2004 15:37:08.310024000 Frame Number: 1 Packet Length

21、: 1462 bytes Capture Length: 1462 bytes42*8.3 一个一个TCP/IP数据包实例数据包实例Ethernet II 00 03 0f ff ba f1;Destination: 00:03:0f:ff:ba:f1 02 e0 3b e8 6c 13;Source: 02:e0:3b:e8:6c:13 08 00;Type: IP (0 x0800)Internet Protocol, Src Addr: (75), Dst Addr: lao-ji (8) 45;Version: 4 (0100B) ;He

22、ader length: 20 bytes (0101B)00 ;Differentiated Services Field: Default; ECN: 0 x00)0000 00. = Differentiated Services Codepoint: Default (0 x00) . .0. = ECN-Capable Transport (ECT): 0 . .0 = ECN-CE: 0 05 a8;Total Length: 1448 19 1b;Identification: 0 x191b 43*8.3 一个一个TCP/IP数据包实例数据包实例 4;Flags: 0 x04

23、.1. = Dont fragment: Set .0. = More fragments: Not set0 00;Fragment offset: 077;Time to live: 11906;Protocol: TCP (0 x06)ad f1;Header checksum: 0 xadf1 (correct)d3 61 a8 af ;Source: 75 (75)d2 1f e9 12;Destination: lao-ji (8)44*8.3 一个一个TCP/IP数据包实例数据包实例 Transmission

24、 Control Protocol, Src Port: http (80), Dst Port: 3276 (3276), Seq: 551093324, Ack: 359247974200 50;Source port: http (80)0c cc;Destination port: 3276 (3276)20 d9 04 4c ;Sequence number: 551093324;Next sequence number: 551094732d6 20 e3 fe ;Acknowledgement number: 35924797425;Header length: 20 bytes

25、45*8.3 一个一个TCP/IP数据包实例数据包实例 010;Flags: 0 x0010 (ACK)0. . = Congestion Window Reduced (CWR): Not set.0. . = ECN-Echo: Not set .0. . = Urgent: Not set .1 . = Acknowledgment: Set . 0. = Push: Not set . .0. = Reset: Not set. .0. = Syn: Not set . .0 = Fin: Not setfe f2;Window size: 6526639 89;Checksum: 0 x3989 (correct)00 00;Urgent 46*8.3 一个一个TCP/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论