计算机网络技术第6章.ppt_第1页
计算机网络技术第6章.ppt_第2页
计算机网络技术第6章.ppt_第3页
计算机网络技术第6章.ppt_第4页
计算机网络技术第6章.ppt_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

1、第6章 传输层,主要内容,6.1传输层协议概述 6.2Internet的传输层 6.3用户数据报协议 6.4传输控制协议,网络层协议主要运行于ISP的路由器上 ,而目前应用最为广泛的因特网网络层提供是无连接的不可靠的服务,要解决网络层服务太差的问题,只能通过运行在自己机器上的更高的层来解决,这个层就是传输层。 传输层的存在使得网络服务更加可靠,丢失的分组和损坏的数据可以在传输层上检测出来,并且由传输层来补偿。,6.1传输层协议概述,传输层是整个协议层次结构的核心,其功能是从源主机到目的主机提供可靠的、性价比合理的数据传输,并且与当前所使用的物理网络完全独立。 如果没有传输层,那么分层协议的整个

2、概念将变得没有意义。 传输层主要有3三个基本功能 端到端的连接 复用与分用 面向连接的服务和无连接的服务,端到端的连接,两个主机进行通信实际上就是两个主机中应用进程的互相通信 ,传输层为网络环境中主机的应用进程提供了端到端进程通信服务,复用与分用功能,应用层不同的进程将传下来的报文交给传输层后,再往下就共用网络层提供的服务。,面向连接的服务和无连接的服务,面向连接的服务通信可靠。 一是数据不丢失,二是数据的发送和接收顺序是一致的。传输层提供的面向连接的服务通过确认重发机制来保证数据不丢失;发送和接收顺序一致是通过其缓冲区来实现的,传输层为每个数据设置了一个序号,收到一个数据后并不直接交给上层,

3、而是先查看其序号,如果序号小的数据还没有到来,则需要将该数据放到缓冲区,等待前面的数据都到达并排序后才交给上层。 无连接的服务主要提供一个应用进程的标识,是一种不可靠的服务,不提供确认重传机制,所以协议开销比较小,通信效率高。,6.2Internet的传输层,6.2.1传输层的两个协议 6.2.2端口和套接字,6.2.1传输层的两个协议,Internet为传输层设计了如下两个协议。 用户数据报协议(User Datagram Protocol,UDP)。 UDP是一种无连接的、不可靠的传输层协议。 传输控制协议(Transmission Control Protocol,TCP)。 TCP提供

4、面向连接的服务。,6.2.2端口和套接字,UDP和TCP都使用了应用层接口处的端口(Port)与上层的应用进程通信。端口号是应用进程的标识。 端口号是一个16位的地址,分为3类:熟知端口号、注册端口号和临时端口号。 熟知端口号的范围是01023,它被统一分配和控制。 注册端口号的范围是102449151,用户根据需要可以在IANA注册,以防止重复。 临时端口号的范围是4915265535,随机分配给用户进程来使用。 一个IP地址和一个端口号的组合称为套接字(Socket),6.3用户数据报协议,UDP的特点及应用 UDP数据报格式,UDP的特点及应用,UDP是一种无连接的、不可靠的传输层协议,

5、它仅仅在IP数据报服务的基础上增加了端口功能和差错检测的功能。它以最小的开销来实现网络环境中的进程通信。 UDP适合于可靠性较高的局域网,也适合于发送很短的,或者对可靠性要求不高的报文。 应用层TFTP、RFC、NTP、BOOTP、 DNS都使用UDP协议。 有些实时的应用,因为对延迟的要求比较高,而对可靠性要求不高,广泛使用UDP协议作为它们的传输层协议,如IP电话、视频会议等。 路由选择协议RIP、网络管理协议SNMP、网络文件服务NFS、网络电话VOIP等的传输层也采用UDP协议。,UDP数据报格式,基本结构,UDP校验和的计算方法有些特殊,在计算前需要增加12个字节的伪头部。,伪头部,

6、6.4传输控制协议,6.4.1TCP协议的主要特点 6.4.2TCP报文段格式 6.4.3TCP连接的建立与释放 6.4.4TCP的差错控制机制 6.4.5TCP的流量与拥塞控制 6.4.6TCP用到的计时器,6.4.1TCP协议的主要特点,提供面向连接的服务(Connection Oritention) 高可靠性(High Reliability) 全双工通信(Full Duplex Communication) 支持流传输(Stream Interface) 可靠的连接建立与释放(Reliable Connection Startup and Shutdown) 提供流量控制与拥塞控制,6

7、.4.2TCP报文段格式,6.4.2TCP报文段格式(续),端口号的长度为32位,包括一个16位的源端口号和一个16位的目的端口号 序号的长度为32位 ,序号域即是指本报文段的第一个字节的序号。 确认号的长度为32位。表示接收端希望接收到的下一个报文段数据第1个字节的序号。 头部长度为4位。因为选项域是可变长度的,所以头部是变长度的。这个字段的值是在5至15之间,报头的长度在2060B之间。 保留字段长度为6位。目前这个域的值全部为0,即这个域从设计到现在仍然未被使用。 窗口域的长度为16位。TCP的流控制是通过一个可变大小的滑动窗口来完成的。窗口大小域指明了从被确认的字节算起可以发送多少个字

8、节。窗口所对应的最大数据长度为65535B。,6.4.2TCP报文段格式(续),控制域 定义了6种不同的控制位或标志位,使用时可在同一时间设置一位或多位。控制域用于TCP流量控制、连接建立和终止,以及数据传送方式等。 (1) 紧急(URG) 当URG=1时,表明此报文段应尽快传送,而不是按原来的排队序列来传送。 (2) 确认(ACK) 只有当ACK=1时确认号域才有意义。当ACK=0时,则该数据段不包含确认信息,所以确认号域应该被忽略。 (3) 急迫(PSH) 当PSH=1时,接收方在收到数据后应立即请求将数据递交给应用程序,而不是等到整个缓冲区都填满了再向上交付。 (4) 复位(RST) 当

9、RST=1时,表明出现严重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立。复位比特还可以用来拒绝一个非法的报文段或拒绝打开一个连接。 (5) 同步(SYN) 在建立连接时使用。当SYN=1而ACK=0时,表明这是一个连接请求报文段。对方若同意建立连接,则应在发回的报文段中使SYN=1和ACK=1。因此,同步比特SYN置1,就表示这是一个连接请求或连接接受报文,而ACK比特的值用来区分是哪一种报文。 (6) 终止(FIN) 用来释放一个连接。当FIN=1时,表明欲发送的字节串已经发完,并要求释放连接。,6.4.2TCP报文段格式(续),紧急指针域的长度为16位。只有当控制域中的紧

10、急位URG=1时,紧急指针才有效。紧急指针指出在本报文段中紧急数据的最后一个字节的序号。紧急指针使接收方可以知道紧急数据有多长。 选项域长度可变,最大可以到40B。选项包括单字节选项和多字节选项。单字节选项有两个:选项结束和无操作。多字节选项有3个:最大报文段长度、窗口扩大因子以及时间戳。 TCP校验和与UDP校验和计算过程是一样的,也需要在TCP头部加上12B的伪报头,所不同的是UDP协议中是否采用校验和是可选的,而对于TCP来说是必须采用的。伪报头中表示TCP协议的值是6。,6.4.3TCP连接的建立与释放,TCP是面向连接的协议。在数据传输之前,必须首先建立连接;在数据传输结束后,需要释

11、放连接。 TCP采用客户/服务器模式。 通过3次握手的方式来建立连接防止因已失效的连接请求而产生错误。,6.4.3TCP连接的建立与释放(续),在用户数据传输结束时,需要释放传输连接。参与传输连接的任何一方都可以释放连接。 客户与服务器的数据报文是双向传输的,一次传输连接的释放过程也需要经过3次握手,6.4.4TCP的差错控制机制,TCP是一个可靠的传输层协议 发送端的应用进程将数据流交付给TCP,它将依靠TCP将整个数据流按顺序、无差错、不丢和重复地交付给接收端应用进程。 TCP协议的差错检测通过3种简单工具完成:校验和、确认和超时。 校验和用来确认是否出现错误 确认用来判断报文段是否顺利到

12、达目的地 传输过程出现错误或报文段未能顺利到达时,TCP通过重传来解决,几种情况下TCP的差错控制机制,乱序的报文段 对于乱序的报文段的处理方法很简单,就是只有在收到某个序号前所有报文段时才会对这个序号的报文段进行确认。 出错或丢失的报文段 丢失报文段和报文段出错,发送端TCP不会收到接收端TCP的确认信息。发送端TCP会等待一段时间,直到接收确认超时,重传未得到确认的报文段。 重复的报文段 接收端TCP收到报文段后,首先查看其序号,如果已有相同序号被确认,则丢弃重复的报文段。 确认丢失 如果在传输过程中某个序号的报文段确认丢失,若发送端TCP收到了大于该序号的报文段确认,则也可以证明接收端进

13、程已经成功收到该序号的报文段。发送端可以忽略之前的确认丢失。,6.4.5TCP的流量与拥塞控制,TCP的流量控制 TCP的拥塞控制,TCP的流量控制,TCP采用大小可变的窗口进行流量与拥塞控制。当一个传输连接建立时,连接的每端都要分配一块缓冲区来存储接收到的数据,并将缓冲区的大小发送给另一端。 发送窗口在连接建立时由双方商定。,TCP利用窗口进行流量控制的过程示例,TCP的拥塞控制,发送端的主机在发送数据时,既要考虑到接收端的接收能力,又要使网络不要发生拥塞。所以发送端的发送窗口应该按以下方式确定: 发送窗口=Min(通知窗口,拥塞窗口) 通知窗口是接收端根据其接收能力确定的窗口值,是来自接收

14、端的流量控制。 拥塞窗口是发送端根据网络拥塞情况确定的窗口值,它由发送端流量控制算法来决定。,6.4.6TCP用到的计时器,为了实现TCP协议的功能,TCP使用了几种计时器,如重传计时器、持续计时器、保活计时器。,重传计时器,为了控制丢失的或是丢弃的报文段,TCP采用了重传计时器来计算确认到达的时间,以决定报文段是否需要重传及重传的时间。如果在计时器截止时间到达前确认到来,则撤销计时器,否则重传该报文并将计时器复位。 由于TCP连接的两台主机可能在同一网络,也可能远隔数千互联的网络,所以TCP重传时间的确定要比数据链路层复杂得多,持续计时器,当接收端TCP发布一个零窗口时,发送端会停止发送数据并等待一个非零窗口的到来。如果此时接收端TCP发出了一个非零窗口,而此非零窗口恰好又丢失了,则可能会出现这种情况:发送端一直等待一个非零窗口的到来,接收端一直等待数据的到来,这就出现了死锁。 为了避免这种情况的出现,TCP为每个连接使用一个持续计时器。当发送端收到一个零窗口通告时,启动计时器,若计时器期限到达时仍未收到一个非

温馨提示

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

评论

0/150

提交评论