第五章 运输层
运输层协议概述
用户数据报协议UDP概述
传输控制协议TCP概述
可靠传输的工作原理
TCP报文段的首部格式
TCP可靠传输的实现
TCP的流量控制
TCP的拥塞控制
TCP的运输连接管理
第六章 应用层
域名系统DNS
文件传送协议
远程终端协议TELNET
万维网WWW
电子邮件
动态主机配置协议DHCP
简单网络管理协议SNMP
应用进程跨越网络的通信
P2P应用
运输层协议概述
进程之间的通信
从通信和信息处理的角度看,运输层向它上面的的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能的最低层。
严格来说,两台主机之间的通信就是两台主机间的应用进程互相通信。通信的两端应该是两个主机中的应用进程,也就是说,端到端的通信是两个应用进程之间的通信。
出于实际应用,运输层有两个很重要的功能,分用和复用。
运输层提供应用进程之间的逻辑通信,因此看起来好像这种通信是水平的,但实际上并没有水平的物理连接,数据传送是通过多个层次传送的。
网络层为主机上之间的通信提供服务,而运输层为应用进程之间提供服务。
运输层还要进行差错检测。根据不同应用程序的需求,运输层需要有两种不同的运输协议,即面向连接的TCP和无连接的UDP。
运输层向高层用户屏蔽了下面网络核心的细节,它使应用进程看见的好像就是在两个运输层实体之间有一条端到端的逻辑通信通道。
当运输层采用TCP连接时,尽管下面的网络是不可靠的,但是运输层的逻辑通道可相当于一条全双工的可靠通信道。但当运输层采用的是无连接的UDP协议时,这种逻辑通道则被视为是一条不可靠通道。
运输层的两个主要协议,即用户数据报协议UDP和传输控制协议TCP。
按照OSI的术语,两个对等运输实体在通信时传送的数据单位叫传输协议数据单元TPDU,但在TCP/IP协体系中,则根据需要使用的是TCP协议还是UDP协议,分别称之为TCP报文段或UDP用户数据报。
TCP提供面向连接的服务。
使用UDP的应用有:DNS(域名系统)、TFTP(简单文件传送协议)、RIP(路由信息协议)、DHCP(动态主机配置协议)、SNMP(简单网络管理协议)、NFS(网络文件系统)、专用协议(IP电话、流式多媒体通信)、多播(IGMP);
使用TCP的应用有:电子邮件(SMTP简单邮件传送协议)、远程终端接入(TELNET 远程终端协议)、万维网(HTTP超文本传输协议)、文件传送(FTP文件传送协议)。
运输层的端口
要实现分用与复用的技术,给应用进程标志是很重要的。这样的抽象终点,即端口。
协议栈层之间的抽象 的协议端口是软件端口,与路由器或交换机上的硬件端口是完全不同的概念。硬件端口是不同硬件设备进行交互的接口,而软甲端口是应用层的各种协议进程与运输实体之间进行层间交互的地点。
在UDP和TCP字段中,就有源端口和目的端口两个重要字段。TCP/IP体系使用16位的端口号来标志一个端口,但是,端口号只有本地意义,在不同的计算机中,相同的端口号是没有关联的。
互联网上的通信采用的客户-服务器方式,所以客户在发起请求时,必须先知道对方服务器的IP地址(用来寻找目的主机)和端口号(用来寻找目的进程)。运输层的端口号分为两大类:
(1)服务器端使用的端口号:这里又分为两类,最重要的一类叫做熟知端口号或全球通用端口号,0-1023 。另一类叫做登记端口号,数值为1024-49151,这类端口号是为没有熟知端口号的应用程序使用的。使用这类端口号必须的登记,以防止重复。
(2)客户端使用的端口号:数值为49152-65535,由于这类端口号仅在客户进程运行时才选择,因而叫做短暂端口号。
用户数据报协议UDP
UDP概述
用户数据报协议UDP只在IP的数据报服务之上增加了很少一点的功能,这就是复用和分用的功能以及差错检测的功能。UDP的主要特点是:
UDP是无连接;
UDP使用尽最大努力交付;
UDP是面向报文的;
UDP没有拥塞控制;
UDP支持一对一、一对多、多对一和多对多的交互通信;
UDP的首部开销小。
UDP的首部格式
源端口、目的端口、长度、检验和
传输控制协议TCP概述
TCP的最主要的特带你
TCP是面向连接的运输层协议
每一条TCP连接只能有两个断点。每条TCP都是点对点的。TCP提供可靠交付的服务。TCP面向字节流。其中的流指的是流入到进程或从进程流出的字节序列。TCP连接是逻辑连接。
TCP的连接
TCP把连接作为最基本的抽象。每一条TCP连接唯一地被通信两端的两个端点(即套接字)所确定。
可靠传输工作原理
停止等待协议
无差错情况、出现差错、确认丢失和确认迟到、信道利用率
连续ARQ协议
累积确认、按序到达的最后一个分组发送确认。
TCP报文段的首部格式
源端口和目的端口
序号
确认号
数据偏移
保留
确认ACK
复位RST
同步SYN
终止FIN
窗口
多接收窗口
检验和
紧急指针
TCP可靠传输的实现
假定数据传输只在一个方向进行
超时重传时间的选择
报文段的往返时间RTT
超时计时器设置的超时重传时间RTO。
选择确认SACK
TCP的流量控制
利用滑动窗口实现流量控制
所谓流量控制机制就是让发送方发送的速度不要太快,要让接收方来得及接收。
发送方的发送窗口不能超过接收方所给出的接收窗口的数值。
TCP的传输效率
TCP的拥塞控制
拥塞控制的一般原理
网络中的资源如链路容量、交换节点中的缓存和处理机等,在网络中的需求量超过其承载能力,即拥塞。
所谓拥塞控制就是防止过多的数据涌入网络中,这样使得网络中的路由器或链路不至于过载。使得网络能够承受现有的网络负荷。因此,拥塞控制是一个全局性的过程。
TCP进行拥塞控制的算法有四种:慢开始、拥塞避免、快重传、快恢复。
慢开始,从小到大逐渐增加注入到网络中的数据字节,就是说,由小到大逐渐在增大拥塞窗口数值。