网络体系结构广域网技术局域网数据链路层通信模型带宽高速局域网局域.pptxVIP

  • 1
  • 0
  • 约3.11千字
  • 约 47页
  • 2021-08-09 发布于河北
  • 举报

网络体系结构广域网技术局域网数据链路层通信模型带宽高速局域网局域.pptx

第8章 运 输 层;8.1 运输协议概述; 运输层为应用进程之间提供逻辑通信,但网络层是为主机之间提供逻辑通信,如图8-3所示。; OSI使用了简洁的抽象方法将运输层与其上下层之间的关系归纳如图8-4所示。 ; 运输层向高层用户屏蔽了下面通信子网的细节,它使应用进程看见的就是好像在两个运输层实体之间有一条端到端的逻辑通信信道,但这条逻辑通信信道对上层的表现却因运输层使用的不同协议而有很大的差别。当运输层采用面向连接的TCP协议时,尽管下面的网络是不可靠的(即只提供尽最大努力服务),但这种逻辑通信信道就相当于一条全双工的可靠信道。但当运输层采用无连接的UDP协议时,这种逻辑通信信道则是一条不可靠信道。在图8-5中将可靠信道画成一个管道,这意味着报文在这样的“管道”中运输时,可以做到无差错、按序(接收的顺序和发送的顺序一样)、无丢失和无重复。;8.2 TCP/IP体系中的运输层;8.2.2 端口的概念 UDP和TCP都使用了与应用层接口处的端口(port)与上层的应用进程进行通信。图8-7说明了端口在进程之间的通信中所起的作用。 ; 若没有端口,运输层就无法知道数据应当交付给应用层的哪一个进程。端口是用来标识应用层的进程。 端口号分为两类。一类是由因特网指派名字和号码公司ICANN负责分配给一些常用的应用层程序固定使用的熟知端口(well-known port),其数值一般为0~1023,见[RFC 1700]。例如,FTP用21,TELNET用23,SMTP用25,DNS用53,HTTP用80,SNMP用161,等等。当一种新的应用程序出现时,必须为它指派一个熟知端口,否则其他的应用进程就无法和它进行交互。 图8-8举例说明了端口的作用。; 插口包括IP地址(32 bit)和端口号(16 bit),共48 bit。插口和端口、IP地址的关系如图8-9所示。 ;8.3 用户数据报协议UDP; (2)UDP没有拥塞控制,也不保证可靠交付,因此主机不需要维持具有许多参数的、复杂的连接状态表。 (3)UDP用户数据报只有8个字节的首部开销,比TCP的20个字节的首部要短。 (4)由于UDP没有拥塞控制,因此网络出现的拥塞不会使源主机的发送速率降低。 表8-1给出了一些应用和应用层协议主要使用的运输层协议(UDP或TCP)。 ; 通常用UDP的报文队列来具体实现一个UDP端口,如图8-10所示。;8.3.2 用户数据报的格式 用户数据报UDP有两个字段:数据字段和首部字段。首部字段很简单,只有8个字节,如图8-11所示,由4个字段组成,每个字段都是两个字节。各字段意义如下所述。 (1)源端口字段:源端口号。 (2)目的端口字段:目的端口号。 (3)长度字段:UDP用户数据报的长度。 (4)检验和字段:防止UDP用户数据报在传输中出错。 ;图8-12给出了一个计算UDP检验和的例子。;8.4 传输控制协议TCP;首部固定部分各字段的意义如下所述。 (1)源端口和目的端口 (2)序号 (3)确认序号 (4)数据偏移 (5)保留 (6)紧急比特URG (URGent) ;(7)确认比特ACK (8)推送比特PSH (PuSH) (9)复位比特RST (ReSeT) (10)同步比特SYN (11)终止比特FIN (FINal) (12)窗口 (13)检验和 (14)选项;8.4.2 TCP的数据编号与确认 TCP协议是面向字节的。TCP将所要传送的整个报文(这可能包括许多个报文段)看成是一个个字节组成的数据流,并使每一个字节对应于一个序号。 TCP的确认是对接收到的数据的最高序号(即收到的数据流中的最后一个序号)表示确认。但接收端返回的确认序号是已收到的数据的最高序号加1。也就是说,确认序号表示接收端期望下次收到的数据中的第一个数据字节的序号。 图8-14是TCP发送报文段的过程的示意图。;8.4.3 TCP的流量控制与拥塞控制 为了提高报文段的传输效率,TCP采用大小可变的滑动窗口进行流量控制。窗口大小的单位是字节。在TCP报文段首部的窗口字段写入的数值就是当前给对方设置的窗口数值。 图8-15表示的是在TCP中使用的窗口概念。;8.4.4 TCP的重传机制 重传机制是TCP中最重要和最复杂的问题之一。TCP每发送一个报文段,就设置一次计时器。只要计时器设置的重传时间已经到了但还没有收到确认,就要重传这一报文段。 图8-17画出了数据链路层和运输层的往返时延概率分布的对比。对于运输层来说,其往返时延的方差很大。; 计时器设置的重传时间应略大于上面得出的平均往返时延,即: 重传时间 ?β(平均往返时延); Karn提出了一个算法:

文档评论(0)

1亿VIP精品文档

相关文档