传输层协议—TGP与UDP 传输层提供了面向连接的传输控制协议 (Transmission Control Protocol, TCP)A 无连接的用户数据报协议( User Datagram Protoco,UDP),将任意数据通过网络从发 送方传输到接收方。 TGP提供可靠的、可控的传输服务;UDP提 供的服务轻便但不可靠
传输层协议——TCP与UDP 传输层提供了面向连接的传输控制协议 (Transmission Control Protocol ,TCP)和 无连接的用户数据报协议(User Datagram Protocol ,UDP),将任意数据通过网络从发 送方传输到接收方。 TCP提供可靠的、可控的传输服务;UDP提 供的服务轻便但不可靠
第7章传输层协议——TCP与UDP 学习要点 ·TCP协议 TCP段格式(重点) TC连接(重点) TCP可靠性(重点) UDP协议 UDP数据报格式
第7章 传输层协议——TCP与UDP 学 习 要 点 • TCP协议 • TCP段格式(重点) • TCP连接(重点) • TCP可靠性(重点) • UDP协议 • UDP数据报格式
7.1传输层协议概述(P138) 传输层介于网络层与应用层之间。 TCP和UDP协议位于传输层,在TCP/|P协议栈中的位置如图: 应用层 :re 澜D:传输层 冈终层 网络接口层
7.1 传输层协议概述(P138) • 传输层介于网络层与应用层之间。 • TCP和UDP协议位于传输层,在TCP/IP协议栈中的位置如图: 传输层 应用层 TCP UDP 网络层 网络接口层
传输层协议概述 传输层协议的基本功能: 创建进程到进程的通信。进程之间通过传输层进行通信。 提供控制机制,如流量控制(Flow¢ ontro l)、差错控制。 定义端到端用户之间的流量控制。 提供连接机制。在数据传输开始,通信双方需要建立连接; 在传输过程中,双方需要继续通过协议进行通信,并验证 数据是否被正确接收;数据传输完成后,任一方可以关闭 连接
传输层协议概述 传输层协议的基本功能: • 创建进程到进程的通信。进程之间通过传输层进行通信。 • 提供控制机制,如流量控制(Flow Control)、差错控制。 定义端到端用户之间的流量控制。 • 提供连接机制。在数据传输开始,通信双方需要建立连接; 在传输过程中,双方需要继续通过协议进行通信,并验证 数据是否被正确接收;数据传输完成后,任一方可以关闭 连接
7.1.1TcP协议(P139) RFC793TRANSMI SS I ON CONTROL PROTOCOL DARPA NTERNET PR0 GRAM PROTOC0 SPEC| FICATION是TcP协议的正式规范文件。 1.TGP协议的特性 面向连接。它向应用程序提供面向连接的服务,两个需要通 过TGP进行数据传输的进程之间首先必须建立一个TCP连接, 并且在数据传输完成后释放连接。 全双工。只要建立了TP连接,就能在两个进程之间进行双向 的数据传输服务,但是这种传输只是端到端的传输,不支持 广播和多播。 可靠。TGP提供流量控制,解决了接收方不能及时处理数据的 问题;提供拥塞控制,解决因网络拥堵带来的数据丢失问题; 提供差错控制解决数据被破坏、重复、失序和丢失的问题, 从而保证数据传输的可靠性
7.1.1 TCP协议(P139) 1. TCP协议的特性 • 面向连接。它向应用程序提供面向连接的服务,两个需要通 过TCP进行数据传输的进程之间首先必须建立一个TCP连接, 并且在数据传输完成后释放连接。 • 全双工。只要建立了TCP连接,就能在两个进程之间进行双向 的数据传输服务,但是这种传输只是端到端的传输,不支持 广播和多播。 • 可靠。TCP提供流量控制,解决了接收方不能及时处理数据的 问题;提供拥塞控制,解决因网络拥堵带来的数据丢失问题; 提供差错控制解决数据被破坏、重复、失序和丢失的问题, 从而保证数据传输的可靠性。 RFC793“TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAM PROTOCOL SPECIFICATION”是TCP协议的正式规范文件
TCP协议 基于字节流。提供面向字节流的服务,两个建立了TCP连 接的应用进程之间交换的是字节流。发送进程以字节流形 式发送数据,接收进程也把数据作为字节流来接收。在传 输层上数据被当做没有信息的字节序列来对待。 2.TcP协议的功能 TCP安全、稳定,但是效率不高,占用资源较多。 ·TcP的作用是在计算机之间可靠地传输数据。 目前大多数 nternet信息交付服务都使用TCP协议,这样 便于开发人员专注于服务本身,而不是处理可靠性和数据 交付问题
TCP协议 • 基于字节流。提供面向字节流的服务,两个建立了TCP连 接的应用进程之间交换的是字节流。发送进程以字节流形 式发送数据,接收进程也把数据作为字节流来接收。在传 输层上数据被当做没有信息的字节序列来对待。 2. TCP协议的功能 • TCP安全、稳定,但是效率不高,占用资源较多。 • TCP的作用是在计算机之间可靠地传输数据。 • 目前大多数Internet信息交付服务都使用TCP协议,这样 便于开发人员专注于服务本身,而不是处理可靠性和数据 交付问题
7.1.2UDP协议(P139) RFG768 User Datagram protoco”是UDP协议的正式规范文件。 1.UDP协议的特性 ·传输数据之前通信双方不需要建立连接,发出的每一个UDP数 据报都是独立的,携带了目的地址,可选择不同的路径到达。 ·不需要建立连接,因此不存在连接建立的时延。 ·传输数据不需要维护连接状态,包括收发状态等,这样一台 服务器可同时向多个客户端传输相同的数据,可以多播。 ·UDP数据报首部很短,只有8字节,相对于TcP的20字节首部的 开销要小很多。 ·吞吐量不受流量控制算法的调节,只受应用软件生成数据的 速率、传输带宽、信源和信宿主机性能的限制
7.1.2 UDP协议(P139) RFC768“User Datagram Protocol”是UDP协议的正式规范文件。 1. UDP协议的特性 • 传输数据之前通信双方不需要建立连接,发出的每一个UDP数 据报都是独立的,携带了目的地址,可选择不同的路径到达。 • 不需要建立连接,因此不存在连接建立的时延。 • 传输数据不需要维护连接状态,包括收发状态等,这样一台 服务器可同时向多个客户端传输相同的数据,可以多播。 • UDP数据报首部很短,只有8字节,相对于TCP的20字节首部的 开销要小很多。 • 吞吐量不受流量控制算法的调节,只受应用软件生成数据的 速率、传输带宽、信源和信宿主机性能的限制
2.UDP协议的功能 ·只需要简单数据交换的应用,例如DNS服务,它不需要复 杂的可靠性保证机制,这样,利用UDP来传输数据既可以 节省系统开销又提高了网络的传输效率。 ·不需要关心数据的差错控制和流量控制的应用。 实时性要求较高但可承受一定的数据错误的应用,如实时 语音传输、视频通信等。 ·实现一对多数据发送的应用,例如广播和多播。 UDP的可靠性由用户的应用程序来决定
2. UDP协议的功能 • 只需要简单数据交换的应用,例如DNS服务,它不需要复 杂的可靠性保证机制,这样,利用UDP来传输数据既可以 节省系统开销又提高了网络的传输效率。 • 不需要关心数据的差错控制和流量控制的应用。 • 实时性要求较高但可承受一定的数据错误的应用,如实时 语音传输、视频通信等。 • 实现一对多数据发送的应用,例如广播和多播。 • UDP的可靠性由用户的应用程序来决定
TCP与UDP的区别(P140) TCP UDP 面向连接 无连接 可靠性高 效率高 一次传输大量报文次传输少量报文 复杂 简单
TCP与UDP的区别(P140) TCP UDP 面向连接 无连接 可靠性高 效率高 一次传输大量报文 一次传输少量报文 复杂 简单
7.1.3进程之间的通信(P140) 进程之间通信与主机之间通信 进程 进程 IP(主机之间通信) TCP/UDP(进程之间通信) 1.进程标识 ·为保证数据能够正确地到达指定的目的进程,必须显式地 给出全局惟一的目的进程标识符 要全局惟一地标识一个进程,必须采用一个三元组(协议, 主机地址,端口号) 两个进程之间的关联用一个五元组(协议,本地主机地址, 远程主机地址,本地端口号,远程端口号)
7.1.3 进程之间的通信(P140) • 进程之间通信与主机之间通信 1. 进程标识 • 为保证数据能够正确地到达指定的目的进程,必须显式地 给出全局惟一的目的进程标识符 • 要全局惟一地标识一个进程,必须采用一个三元组(协议, 主机地址,端口号) • 两个进程之间的关联用一个五元组(协议,本地主机地址, 远程主机地址,本地端口号,远程端口号) 进程 进程 IP(主机之间通信) TCP/UDP(进程之间通信)