当前位置:文档之家› TCP-UDP协议

TCP-UDP协议

第7章TCP/UDP协议

主要内容

1.TCP协议基本原理。

2.UCP协议基本原理。

sat实验。

能力要求

1.理解传输层在OSI体系结构中的地位和作用。

2.了解传输层如何保证通信服务的可靠性。

3.掌握TCP/UDP协议基本原理和报文数据结构。

因为世界上各种通信子网在性能上存在着很大差异,例如电话交换网、分组交换网、公用数据交换网,局域网等通信子网等,但网络的互联互通的特性决定了它们必须互连,而它们提供的吞吐量、传输速率、数据延迟通信费用各不相同,但对于会话层来说,却要求有一性能恒定的界面,传输层就承担了这一功能。传输层(Transport Layer)是OSI体系结构中重要、关键的一层,负责总体的数据传输和数据控制。传输层提供端到端的交换数据的机制。传输层对会话层等高三层提供可靠的传输服务,对网络层提供可靠的目的地站点信息。传输层协议主要包括TCP/UDP协议。它屏蔽了网络底层技术的差异,使会话层感受不到各种通信子网在技术标准和网络结构上的区别。此外传输层还要具备差错恢复,流量控制等功能。传输层面对的数据对象已不是网络地址和主机地址,而是端口。

传输层的最终目的是为会话提供可靠的、无误的数据传输。传输层的服务一般要经历传输连接建立阶段、数据传送阶段、传输连接释放阶段3个阶段才算完成一个完整的服务过程。在数据传输过程中,传输层要保证提供通信服务的可靠性,避免报文的出错、丢失、延迟时间紊乱、重复、乱序等差错。

7.1 传输层功能概述

传输层也称为运输层,是介于低3层通信子网系统和高3层之间的一层,是源端到目的端对数据传送进行控制从低到高的最后一层。

传输层功能的目的是为会话提供可靠、无误的数据传输服务。传输层的服务一般要经历传输连接建立阶段、数据传送阶段、传输连接释放阶段3个阶段才算完成一个完整的服务过程。为完成这一服务,传输层要具备以下基本功能:

199

(1)连接管理(Connection Management):定义了允许两个用户像直接连接一样开始交谈的规则。通常把连接的定义和建立的过程称为握手(handshake)。传输层要建立、维持和终止一个会话。在数据传输开始时,发送方和接收方的应用都要通知各自的操作系统初始化一个连接,一个连接就建立了,数据传输也就开始了,在传输的过程中,两台主机还需要继续通过协议软件来通信以验证数据是否被正确接收。数据传输完成后,发送端主机发送一个标识数据传输结束的指示。接收端主机在数据传输完成后确认数据传输结束,连接终止。

(2)流量控制(Flow Control):就是以网络普遍接受的速度发送数据,从而防止网络拥塞造成数据报的丢失。

(3)差错检测(Error Detection):数据链路层的差错检测功能提供了可靠的链路传输,但无法保证源点和目的之间的传输完全无错,比如网络中的路由器收到了完整无缺的IP分组,但是在将含有分组的帧重新格式化的过程中出现了影响分组内容的错误。这种错误可能是由于软件或硬件问题导致路由器在进行分组期间引起的,也就是说并不是由于物理链路在进行数据传输的过程中产生的差错,因此数据链路层的差错检测功能无法通过校验识别出差错。传输层的差错检测机制会检测到这种类型的错误。

(4)对用户请求的响应(Response to User's Request):包括对发送和接收数据请求的响应,以及特定请求的响应,如用户可能要求高吞吐率、低延迟或可靠的服务。传输层面对的数据对象不是网络地址和主机地址,而是端口。

(5)建立无连接或面向连接的通信:TCP/IP协议的TCP提供面向连接的传输层服务,UDP则提供无连接的传输层服务。

为了评价传输层提供的服务质量(QoS),我们一般用一组量化的指标来衡量,主要有:

(1)连接建立延迟/连接释放延迟

(2)连接建立/释放失败概率

(3)传输时延

(4)吞吐率

(5)残留误码率

(6)传输失败概率

总之,我们设计传输层的目的就是提高传输服务的可靠性和保证服务质量QoS,下面我们分别就传输层的两个重要协议TCP和UDP分别介绍。

200

7.2 TCP协议

用户的应用程序进程最终需要得到的是端到端的通信服务,传输层的主要任务就是建立应用程序间的端到端连接,并且为数据传输提供可靠或不可靠的通信服务。

TCP/IP协议族的传输层协议主要包括TCP(Transmission Control Protocol,传输控制协议)和UDP(User Datagram Protocol,用户数据报协议)。TCP是面向连接的可靠的传输层协议,它支持在不可靠网络上实现面向连接的可靠的数据传输。

7.2.1 TCP协议的特点

RFC 793定义的TCP是一种面向连接的、端到端的可靠传输协议。TCP的主要特点如下:

(1)三次握手(Three-Way Handshake)建立连接:确保连接建立的可靠性。

(2)端口号:通过端口号标识上层协议和服务,实现了网络通道的多路复用。

(3)完整性检验:通过对协议和载荷数据计算校验和,保证了接收方能检测出传输过程中可能出现的差错。

(4)确认机制:对于正确接收到的数据,接收方通过显式应答通告发送方,超出一定时间之后,发送方将重传没有被确认的段,确保传输的可靠

性。

(5)序列号:发送的所有数据都拥有唯一的序列号,这样不但唯一标识了每一个段,而且明确了每个段在整个数据流中的位置,接收方可以利

用这些信息实现确认、丢失检测、乱序重排等功能。

(6)窗口机制:通过可调节的窗口,TCP接收方可以通告期望的发送速度,从而控制数据的流量。

由于TCP具有这些特点,一些对数据传输可靠性、次序等比较敏感的应用程序和协议使用TCP作为其传输层协议。这些应用和协议包括FTP、Telnet、E-mail(SMTP/POP3)等。

7.2.2 TCP/UDP端口号

在IP网络中,一个IP地址可以唯一地标识一个主机。但一个主机上却可能

201

相关主题