第七章 传输层-TCPUDP协议.ppt
文本预览下载声明
第七章 传输层-TCP/UDP协议 石高涛 shgt@ 天津大学计算机科学与技术学院 TCP/UDP概述 传输层的基本功能 端口与套接字 无连接协议UDP 面向连接的协议TCP TCP连接过程 TCP差错控制机制 TCP/UDP协议位于协议栈传输层,为上层分别提供面向连接的协议和无连接协议。 TCP是面向连接的协议,具有排序、流量控制等可靠性保证的能力 UDP是无连接协议,不提供可靠性保证。 TCP/UDP概述 传输层的基本功能 端口与套接字 无连接协议UDP 面向连接的协议TCP TCP连接过程 TCP差错控制机制 TCP/UDP协议提供端到端服务,只关注通信的实际收、发两端。 端到端的连接是一个逻辑链接,该链路可能经过了很复杂的物理路线,但两端主机不管,只认为是有两端的连接。 传输层协议负责在收发两端传输任意长度的信息,除了IP地址之外,还需要端口地址进行区分信息的通信实体。 端到端的连接需要特定的协议流程负责在收发两端建立和释放连接。 一般依靠三次握手来实现连接建立 为了防止数据包丢失造成的错误,一般需要设置计时器,超时重发。 双方通信结束后需要中止连接的操作。 传输层端到端通信需要进行差错控制、产错检测和差错处理。 传输层的差错控制是在通信底层基础上最后一道差错控制措施。 随着通信介质的可靠性提升,传输层的差错控制相对比较简单。 流量控制是对传输单元的传输速率的控制。 通过设置缓存,平衡双方的速率不匹配 拥塞现象是指到达通信子网中某一部分的分组数量过多,以致网络无法处理 传输层需要 监测网络系统拥塞情况,并将消息及时发送到发送端 根据拥塞消息,调整网络系统的运行 端到端的拥塞控制是将拥塞消息传输到发送端,由发送端采取措施,控制发送数据量。 TCP/UDP概述 传输层的基本功能 端口与套接字 无连接协议UDP 面向连接的协议TCP TCP连接过程 TCP差错控制机制 端口和套接字提供了一种统一的方式唯一地标识连接以及参与连接的程序和主机的方法。 端口是16位的号码,用以标识与某个消息对应的高层协议或者应用程序(进程) 通过端口,本地主机可以准确地将接收到的消息交付给本地的运行程序 端口分为公用端口和临时端口 公用端口属于标准服务,由端口号码机构预定分配,不可以挪为他用。 临时端口开放给用户程序使用,可由系统动态分配 端口和套接字提供了一种统一的方式唯一地标识连接以及参与连接的程序和主机的方法。 套接字是用于通信协议的用户编程接口,在实现上,被操作系统视为特殊的文件句柄。 套接字为一个进程提供与另外一个进程的全双工字节流连接通道。 一个套接字地址是一个三元组协议、本地地址、本地进程(端口) 在编写UDP和TCP程序时必须创建好套接字方可进行数据通信。 通过套接字提供字节流的传输 通过端口可以区分数据对应的程序或进程 当前存在三种套接字 流套接字:基于TCP,用于提供面向连接、可靠的数据传输服务。该服务将保证数据能够实现无差错、无重复发送,并按顺序接收。 数据报套接字:基于UDP,提供了一种无连接的服务。不能保证数据传输的可靠性,需要在程序中做相应的处理。 原始套接字:提供了一种可以读写内核没有处理的IP数据包的服务。 每一个具有网络通讯能力的平台或者编程环境都提供了相应的套接字API 主机发送数据时指定目的端口和IP。 每个数据报中都封装成具有IP地址、目的IP地址、源端口号和目的端口号的形式。 主机接收到IP报 检查数据分片中的目的端口号 将UDP交给该端口的套接字 主机使用IP地址和端口号来识别目的套接字 TCP/UDP概述 传输层的基本功能 端口与套接字 无连接协议UDP 面向连接的协议TCP TCP连接过程 TCP差错控制机制 UDP提供简单的传输服务,不提供可靠保障,只是简单地把高层数据封装成数据报发送出去。 由于无需收发双方的状态管理,因此,速度要比TCP更快。 常用知名端口号和UDP服务 UDP是无连接服务,每个数据报都和其它数据报无关。 用户数据报没有编号,也没有连接建立和连接终止序列。 每个数据报都是单独路由传输,接收数据报的顺序和发送的顺序可能不同。 UDP是及其简单且不可靠的协议,不提供流量控制和可靠性报账。 除了校验和,没有其它任何错误控制机制。 UDP TCP/UDP概述 传输层的基本功能 端口与套接字 无连接协议UDP 面向连接的协议TCP TCP连接过程 TCP差错控制机制 TCP是通过在对等端之间建立逻辑链接, 在收发端维持状态信息,以此来判断数据包传输状态。 通过序列号确定发送的数据量和无序数据 通过定时器推测丢包的发生 重传机制用来接收一定的丢失数据。 三个阶段 双方建立连接 数据传输 连接关闭 TCP是TCP/IP协议栈中最具有代表性的协议之一,支持多数据流操作,可提供可靠的
显示全部