1.21k likes | 1.36k Views
第 5 章 运输层. 教学内容 5.1 传输层协议概述 5.2 用户数据报协议 UDP 5.3 传输控制协议 TCP 概述 5.4 可靠传输的工作原理 5.5 TCP 报文段的首部格式 5.6 TCP 可靠传输的实现 5.7 TCP 的流量控制 5.8 TCP 的拥塞控制 5.9 TCP 的运输连接管理. 第 5 章 运输层. 本章重点 运输层协议的功能 端口与套接字 TCP 报文格式 TCP 的流量控制与拥塞控制 TCP 和连接与释放. 5.1 传输层协议概述. 5.1.1 进程之间的通信 传输层在层次体系结构中的地位
E N D
第5章 运输层 • 教学内容 5.1 传输层协议概述 5.2 用户数据报协议UDP 5.3 传输控制协议TCP概述 5.4 可靠传输的工作原理 5.5 TCP报文段的首部格式 5.6 TCP可靠传输的实现 5.7 TCP的流量控制 5.8 TCP的拥塞控制 5.9 TCP的运输连接管理 计算机工程学院 伍俊明
第5章 运输层 • 本章重点 • 运输层协议的功能 • 端口与套接字 • TCP报文格式 • TCP的流量控制与拥塞控制 • TCP和连接与释放 计算机工程学院 伍俊明
5.1 传输层协议概述 5.1.1 进程之间的通信 • 传输层在层次体系结构中的地位 • 属于面向通信部分的最高层,用户功能中的最低层 • 为应用层提供通信服务 应用层 面向信息处理 用户功能 运输层 网络层 数据链路层 面向通信 网络功能 物理层 计算机工程学院 伍俊明
5.1 传输层协议概述 • 为应用进程提供逻辑通信 应用进程 应用进程 AP4 AP1 AP2 5 4 3 2 1 AP3 5 4 3 2 1 端口 端口 运输层提供应用进程间的逻辑通信 IP 层 主机 A 主机 B 路由器 1 路由器 2 AP1 AP3 LAN1 LAN2 WAN AP2 AP4 IP 协议的作用范围 运输层协议 TCP 和 UDP 的作用范围 计算机工程学院 伍俊明
5.1 传输层协议概述 • 如何为应用进程提供逻辑通信 • 两个主机进行通信实际上就是两个主机中的应用进程互相通信。应用进程之间的通信又称为端到端的通信。 • 传输层根据下面通信子网的特性最佳地利用网络资源,以可靠和经济的方式在两端主机的应用进程之间,建立一条运输连接,以透明地传送报文,即运输层向上一层为进行通信的两个进程之间提供一个端到端的逻辑通信,使它们看不见运输层以下的数据通信细节。 • 在通信子网内的各个交换节点以及连接各通信子网的路由器只能为主机之间提供逻辑通信,而且都没有运输层,所以,运输层只能存在于通信子网外面的主机中。 • 运输层的一个很重要的功能就是复用和分用。应用层不同进程的报文通过不同的端口向下交到运输层,再往下就共用网络层提供的服务。 计算机工程学院 伍俊明
5.1 传输层协议概述 • 运输层协议和网络层协议的主要区别 应用进程 应用进程 … … 因 特 网 IP 协议的作用范围 (提供主机之间的逻辑通信) TCP 和 UDP 协议的作用范围 (提供进程之间的逻辑通信) 计算机工程学院 伍俊明
5.1 传输层协议概述 • 传输层的必要性 • 消除网络层的不可靠性——网络层分组传送不可靠; • 无法确定数据到达终点的时间,因为子网中各站点存储转发的随机性 • 无法确定数据未达终点的状态,因为存在丢失/延迟/即刻到达的现象 • 在一个网络连接上实现多对进程之间通信的复用与分用 • 解决多互连的通信子网的通信协议的差异和提供的服务功能的不同 • 解决通信子网自身不能解决的传输错误 提供从源端主机到目的端主机的可靠的、与实际使用的(而且用户无法控制的)网络无关的信息传输。 如:电信公司提供的通信网 计算机工程学院 伍俊明
Source IP: C Dest IP: B source port: x dest. port: 80 Source IP: C Dest IP: B source port: y dest. port: 80 Source IP: A Dest IP: B source port: x dest. port: 80 5.1 传输层协议概述 • 传输层的主要功能 • 端到端的连接管理与端-端通信 • 建立连接 • 数据传输 • 释放连接 • 流量控制 • 差错控制(数据部分) • 复用和分用 Web客户端 主机 C Web 服务器 B Web客户端 主机 A 端口的使用: Web 服务器 计算机工程学院 伍俊明
主机A 传输服务用户 (应用层实体) 主机B 传输服务用户 (应用层实体) 应用层 传输层服务 访问点TSAP 层接口 传输层 传输层实体 传输层实体 传输层协议 层接口 网络层 网络层服务 访问点NSAP 5.1 传输层协议概述 • 传输层与其上下层之间的关系及其OSI表示 计算机工程学院 伍俊明
5.1 传输层协议概述 • 传输层提供的服务: • 面向连接的可靠传输服务(如因特网中的TCP协议) • 无连接的不可靠传输服务(如因特网中的UDP协议) 。 • 传输服务的工作模式是客户机/服务器模式 发 送 进 程 接 收 进 程 发 送 进 程 接 收 进 程 ? 应 用 层 数据 数据 数据 数据 运 输 层 全双工可靠信道 不可靠信道 使用 TCP 协议 使用 UDP 协议 使用UDP协议 计算机工程学院 伍俊明
5.1 传输层协议概述 • 服务质量:可以由一些特定的参数来描述 计算机工程学院 伍俊明
5.1 传输层协议概述 • 选项协商:通信双方以及网络可以协商确定一些服务质量参数 计算机工程学院 伍俊明
应用层 UDP TCP IP 与各种网络接口 5.1 传输层协议概述 5.1.2 传输层中的两个协议 • 用户数据报协议UDP(User Datagram Protocol) • 提供不可靠的无连接的服务,实现尽力而为的传输 • TPDU称为UDP报文或用户数据报 • 传输控制协议TCP(Transmission Control Protocol) • 提供可靠的面向连接的服务,由于需要确认、流量控制、计时和连接管理,会增加许多开销 • TPDU称为TCP报文段 • 两点强调 • UDP数据报与IP数据报存在很大区别:IP数据报要经过互连网中的路由器进行转发,而UDP数据报是在传输层之间的端到端的逻辑信道中传输 • TCP和网络层中的虚电路完全不同:TCP报文段是在传输层的端到端的逻辑信道中传送,是可靠的全双工通信,但这样的信道却不知道经过哪些路由器,而路由器也不知道上面是否建立了TCP连接 计算机工程学院 伍俊明
5.1 传输层协议概述 • 使用UDP和TCP协议的各种应用和应用层协议 计算机工程学院 伍俊明
5.1 传输层协议概述 • 使用UDP和TCP协议的各种应用和应用层协议 计算机工程学院 伍俊明
5.1 传输层协议概述 5.1.3 运输层的端口 • 传输层与网络层最大的区别是传输层提供应用进程之间通信能力。因此,通信端点的标识不仅是主机地址,还包括可以描述进程的某种信息。为此TCP/IP协议提出了协议端口TSAP的概念,用于标识通信的进程。 • 端口是一种抽象的软件结构,包括一些数据结构和I/O缓冲区。 • 端口用一个16位的端口号进行标识,端口号只具有本地意义和动态特性,用来标识区分本机中应用层的各进程。 • UDP和TCP都使用端口与上层的应用进程进行通信和交互,因此在传输协议数据单元TPDU的首部都需要写入源端口和目的端口。 • 应用进程通过系统调用与某端口建立连接(binding绑定)后,从该端口将数据发给传输层,传输层传给该端口的数据都被相应绑定的进程所接收。因此,端口标志着应用层的进程。 • 采用了复用和分用技术,在传输层与网络层的交互中只看见TCP报文段或UDP数据报,看不见应用进程。 计算机工程学院 伍俊明
发送方 应用进程 接收方 应用进程 端口 端口 TCP复用 UDP复用 TCP分用 UDP分用 TCP报文段 UDP报文 TCP报文段 UDP报文 IP复用 IP分用 IP数据报 IP数据报 IP网络 5.1 传输层协议概述 • 端口在进程通信中所起的作用 计算机工程学院 伍俊明
5.1 传输层协议概述 • 端口号的分类 • 熟知端口(well-known port):0—1023由因特网指派名字和号码公司ICANN负责分配给一些常用的应用层程序固定使用: • 登记端口(1024 — 49151):为防止重复,需在ICANN登记。 • 客户端口(49152 —65535):用来随时分配给请求通信的客户进程,当进程需要访问传输层服务时,向本地操作系统提出申请,操作系统返回本地唯一的端口号,进程再通过合适的系统调用,将自己和该端口绑定起来。 计算机工程学院 伍俊明
客户机 服务器 210.25.33.92: 1234 218.92.9.156: 80 IP 地址 端口号 1500 131.6.23.13 协议 IP地址 端口号 插口(socket) 131.6.23.13 : 1500 5.1 传输层协议概述 • 套接字socket,即套接口,或插口,由IP地址和端口号两部分组成,用来表示连接一个端点,好比单位电话号码+内部分机号码唯一表示通话的一方。无论是面向连接的TCP协议,还是无连接的UDP协议都需用到套接字的概念。 插口和端口、IP 地址的关系 计算机工程学院 伍俊明
5.1 传输层协议概述 • 同一个名词 socket有多种不同的意思 • 应用编程接口API称为 socket API, 简称为 socket。 • socket API 中使用的一个函数名也叫作socket。 • 调用 socket 函数的端点称为 socket。 • 调用 socket函数时其返回值称为socket描述符,可简称为 socket。 • 在操作系统内核中连网协议的Berkeley实现,称为 socket 实现。 计算机工程学院 伍俊明
5.1 传输层协议概述 • 识别接收端的TSAP(IP地址:端口号)——选讲 • 连接的发起方如何确定对方的TSAP? • 静态分配TSAP • 每个用户进程拥有固定的、公开的TASP • 每个用户进程始终侦听TSAP • 动态分配TSAP(用C/S方式) • 进程服务器,统一处理传输连接请求 • 名字(或目录)服务器 计算机工程学院 伍俊明
5.2 用户数据报协议UDP 5.2.1 UDP概述 • 用户数据报协议UDP:建立在IP之上的一种无连接的、不可靠的数据报传输服务,它只比IP数据报服务增加了端口、复用与分用和差错控制的功能。UDP实体只是将数据报送上网络,或者从网上接收数据报。 • UDP与IP的差别 • IP由系统管理的网络软件使用,一般用户无法使用 • UDP可由普通用户直接使用,故称为用户数据报UDP • UDP必须运行在IP之上,增加端口、差错控制等功能。 • UDP保留应用程序定义的边界 • 不会将两个以上应用报文合并为一个 • 不会将一个应用报文分为几段。 • UDP根据端口(Port)号对若干个应用程序进行多路复用,并能利用检验和检查数据的完整性。 计算机工程学院 伍俊明
5.2 用户数据报协议UDP • 基于UDP的应用程序必须自己解决可靠性问题,如报文丢失、报文重复、报文失序、流量控制等。 • 虽然 UDP 用户数据报只能提供不可靠的交付,但 UDP 在某些方面有其特殊的优点。 • 无连接:发送数据之前不需要建立连接。 • 尽最大努力传输:不保证可靠交付,不使用拥塞控制,因此,不需要维持复杂的连接状态表。 • 没有拥塞控制,出现拥塞也不会降低发送速率,可满足某些实时应用(视频会议、IP电话等)。 • 面向报文:应用进程的报文不再划分成分组传送。 • 支持一对一、一对多、多对一和多对多通信。 • 开销小:只有8个字节的首部,不需要建立/释放连接。 计算机工程学院 伍俊明
TFTP客户 TFTP服务器 应用层 出队列 入队列 出队列 入队列 传输层 UDP 端口5100 UDP 端口69 UDP数据报 5.2 用户数据报协议UDP • UDP与应用层之间的端口都用报文队列来实现。 • 发送端 • 分配源端口,指定宿端口,构造UDP数据报,交IP层 • 接收端 • 匹配UDP报头宿端口的应用进程 • 匹配成功,数据报排入相应的队列,若端口队列满,则丢弃数据报;匹配不成功,丢弃数据报,回送“宿端口不可达”的ICMP报文 计算机工程学院 伍俊明
5.2 用户数据报协议UDP • UDP是面向报文的。发送方 UDP 对应用程序交下来的报文,在添加首部后就向下交付 IP 层。接收方 UDP 对 IP 层交上来的 UDP 用户数据报,在去除首部后就原封不动地交付上层的应用进程,一次交付一个完整的报文。 • UDP保持报文的边界。应用层交给 UDP 多长的报文,UDP就照样发送。应用程序必须选择合适大小的报文。 应用层报文 应用层 运输层 UDP 首部 UDP 用户数据报的数据部分 IP 层 IP 首部 IP 数据报的数据部分 计算机工程学院 伍俊明
5.2 用户数据报协议UDP 5.2.2 UDP用户数据报的首部格式 4 4 1 1 2 字节 源 IP 地址 目的 IP 地址 0 17 UDP长度 字节 12 2 2 2 2 长 度 伪首部 源端口 目的端口 检验和 UDP 用户数据报 首 部 数 据 发送在前 首 部 数 据 IP 数据报 计算机工程学院 伍俊明
5.2 用户数据报协议UDP • 伪首部:并不是UDP数据报真正的首部,只是在计算校验和时和UDP用户数据报连接在一起进行计算,它无需向下传送,也无需向上递交,仅是为了计算检验和。 • UDP首部字段的含义 • 源端口号、目的端口号 • 长度:用户数据报的长度 • 检验和:对首部(含伪首部)和数据按16位为一组,求和后取其反码 计算机工程学院 伍俊明
填充 5.2 用户数据报协议UDP • UDP 检验和 10011001 00010011 → 153.19 00001000 01101000 → 8.104 10101011 00000011 → 171.3 00001110 00001011 → 14.11 00000000 00010001 → 0 和 17 00000000 00001111 → 15 00000100 00111111 → 1087 00000000 00001101 → 13 00000000 00001111 → 15 00000000 00000000 → 0(检验和) 01010100 01000101 → 数据 01010011 01010100 → 数据 01001001 01001110 → 数据 01000111 00000000 → 数据和 0(填充) 10010110 11101101 → 求和得出的结果 01101001 00010010 → 检验和 153.19.8.104 12 字节 伪首部 171.3.14.11 全 0 17 15 1087 13 15 全 0 数据 数据 数据 数据 数据 数据 数据 全 0 8 字节 UDP 首部 7 字节 数据 按二进制反码运算求和 将得出的结果求反码 计算机工程学院 伍俊明
端口 1 端口 2 端口 3 UDP 分用 UDP 数据报到达 IP 层 5.2 用户数据报协议UDP • UDP基于端口的分用 计算机工程学院 伍俊明
5.2 用户数据报协议UDP • UDP支持的应用层协议主要有: • 名字转换:DNS,端口号为53 • 文件传送:TFTP,端口号为69 • 路由选择协议:RIP,端口号为520 • 远程过程调用:SUNPRC,端口号为111 • IP地址配置:BOOTP,端口号为67 • 简单网络管理:SNMP,端口号为161和162 • 远程文件服务器:NFS • IP电话 • 流式多媒体通信 计算机工程学院 伍俊明
5.3 传输控制协议TCP概述 5.3.1 TCP最主要的特点 • TCP是TCP/IP体系中面向连接的传输层协议,在不可靠的因特网上提供面向连接的、可靠的、端到端的、全双工的、基于字节流的传输服务。 • TCP协议提供可靠性服务 • 将应用程序数据(字节流)封装成TPDU • 选择适合发送的数据块大小(不超过64K,通常为1500字节) • 对发送的TPDU启动计时器,超时重传 • 对正确接收的TPDU进行确认 • 对报头和数据计算校验和 • 对接收TPDU检错,丢弃差错的TPDU • 识别并丢弃重复的TPDU • 提供流量控制(实行缓冲区管理) 计算机工程学院 伍俊明
5.3 传输控制协议TCP概述 • TCP最主要的特点 • TCP 是面向连接的运输层协议。 • 每一条 TCP 连接只能有两个端点(endpoint),实际上是一对套接字对,每一条 TCP 连接只能实现一对一通信,不支持广播和多播。 • TCP 提供可靠交付的服务。 • TCP 提供全双工通信。 • 面向字节流。 计算机工程学院 伍俊明
21 0 20 1 10 9 19 2 3 13 12 11 H 8 H 5 4 7 6 5.3 传输控制协议TCP概述 • TCP面向字节流的概念 发送方 接收方 表示 TCP 报文段的首部 H 应用进程 应用进程 表示序号为 x 的数据字节 x 字节流 字节流 从接收缓存 读取字节 把字节写入 发送缓存 TCP TCP 加上 TCP 首部 构成 TCP 报文段 18 17 16 15 14 发送 TCP 报文段 H TCP 连接 计算机工程学院 伍俊明
5.3 传输控制协议TCP概述 • TCP是面向字节流的。 • 当两个应用程序转移大量数据时,TCP把数据看成字节流。 • 流投递服务将源机器上发送方交给它的字节序列不加改变地传给接收方。 • TCP为它的高层协议数据“流”中的每一字节都分配一个顺序号。 • 在与对等的TCP实体交换报文段时,TCP给这些段附加的控制信息包括该段中第1个字节的顺序号以及该段中所有数据字节的个数。 • 接收端TCP能将这些段还原成一个不间断的数据“流”送给它自己的高层协议。 计算机工程学院 伍俊明
5.3 传输控制协议TCP概述 几点注意 • TCP 连接是一条虚连接,而不是一条真正的物理连接。 • TCP 对应用进程一次把多长的报文发送到TCP 的缓存中是不关心的。 • TCP 根据对方给出的窗口值和当前网络拥塞的程度来决定一个报文段应包含多少个字节(UDP 发送的报文长度是应用进程给出的)。 • TCP 可把太长的数据块划分短一些再传送。TCP 也可等待积累有足够多的字节后再构成报文段发送出去。 计算机工程学院 伍俊明
5.3 传输控制协议TCP概述 • TCP发送报文段的过程----只提供一对一通信 发送端 接收端 应用进程 应用进程 向发送缓存写入数据块 从接收缓存读取数据块 端口 端口 TCP TCP 发送缓存 接收缓存 报文段 报文段 报文段 计算机工程学院 伍俊明
4 1 2 TSAP(传输地址) 3 3 2 4 1 应用进程 应用进程 TPDU TPDU TCP TCP 传输协议 IP IP 5.3 传输控制协议TCP概述 5.3.2 TCP的连接 • TCP协议提供面向连接的端到端的服务 • 发送方和接收方分别创建一个套接字获得TCP服务 计算机工程学院 伍俊明
应用:ftp 15.22.65.7 主机B 主机A 建立端到端连接 server (15.22.65.7, 21) client (125.6.4.190, 1234) 5.3 传输控制协议TCP概述 • TCP协议提供面向连接的服务 • 每条连接用套接字对(套接字1,套接字2)来表示,套接字用来标识应用进程的端点 • TCP连接是点到点的全双工通道, 该全双工可视为两个不同方向的单工通道 • TCP不支持多点组播或广播,只提供一对一通信。 计算机工程学院 伍俊明
5.4 可靠传输的工作原理 一、理想的传输条件 • 传输信道不会产生差错 • 不管发送方如何发送,接收方总来得及接收 二、停止-等待协议 • 无差错情况——需要确认,无需校验 • 有差错情况——需要确认,差错校验,超时重传,数据编号 三、连续ARQ协议 • 滑动窗口协议:发送窗口、接收窗口 • Go-Back-N方式 • 选择重传方式 计算机工程学院 伍俊明
5.5 TCP 报文段的首部格式 32 位 位 0 8 16 24 31 源 端 口 目 的 端 口 序 号 20 字节的 固定首部 确 认 号 TCP 首部 数据 偏移 U R G A C K P S H R S T S Y N F I N 窗 口 保 留 检 验 和 紧 急 指 针 选 项 (长 度 可 变) 填 充 TCP 首部 TCP 数据部分 TCP 报文段 发送在前 计算机工程学院 伍俊明 IP 首部 IP 数据部分
位 0 8 16 24 31 源 端 口 目 的 端 口 序 号 20 字节 固定 首部 确 认 号 TCP 首部 数据 偏移 U R G A C K P S H R S T S Y N F I N 窗 口 保 留 检 验 和 紧 急 指 针 选 项 (长 度 可 变) 填 充 源端口和目的端口字段——各占 2 字节。端口是运输层与应用层的服务接口。运输层的复用和分用功能都要通过端口才能实现。 计算机工程学院 伍俊明
位 0 8 16 24 31 源 端 口 目 的 端 口 序 号 20 字节 固定 首部 确 认 号 TCP 首部 数据 偏移 U R G A C K P S H R S T S Y N F I N 窗 口 保 留 检 验 和 紧 急 指 针 选 项 (长 度 可 变) 填 充 序号字段——占 4 字节。TCP 连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。 计算机工程学院 伍俊明
位 0 8 16 24 31 源 端 口 目 的 端 口 序 号 20 字节 固定 首部 确 认 号 TCP 首部 数据 偏移 U R G A C K P S H R S T S Y N F I N 窗 口 保 留 检 验 和 紧 急 指 针 选 项 (长 度 可 变) 填 充 确认号字段——占 4 字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。 计算机工程学院 伍俊明
位 0 8 16 24 31 源 端 口 目 的 端 口 序 号 20 字节 固定 首部 确 认 号 TCP 首部 数据 偏移 U R G A C K P S H R S T S Y N F I N 窗 口 保 留 检 验 和 紧 急 指 针 选 项 (长 度 可 变) 填 充 数据偏移(即首部长度)——占 4 位,它指出 TCP 报文段的数据起始处距离 TCP 报文段的起始处有多远。“数据偏移”的单位是 32 位字(以 4 字节为计算单位)。 计算机工程学院 伍俊明
位 0 8 16 24 31 源 端 口 目 的 端 口 序 号 20 字节 固定 首部 确 认 号 TCP 首部 数据 偏移 U R G A C K P S H R S T S Y N F I N 窗 口 保 留 检 验 和 紧 急 指 针 选 项 (长 度 可 变) 填 充 保留字段——占 6 位,保留为今后使用,但目前应置为 0。 计算机工程学院 伍俊明
位 0 8 16 24 31 源 端 口 目 的 端 口 序 号 20 字节 固定 首部 确 认 号 TCP 首部 数据 偏移 U R G A C K P S H R S T S Y N F I N 窗 口 保 留 检 验 和 紧 急 指 针 选 项 (长 度 可 变) 填 充 紧急 URG —— 当 URG 1 时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据)。 计算机工程学院 伍俊明
位 0 8 16 24 31 源 端 口 目 的 端 口 序 号 20 字节 固定 首部 确 认 号 TCP 首部 数据 偏移 U R G A C K P S H R S T S Y N F I N 窗 口 保 留 检 验 和 紧 急 指 针 选 项 (长 度 可 变) 填 充 确认 ACK —— 只有当 ACK 1 时确认号字段才有效。当 ACK 0 时,确认号无效。 计算机工程学院 伍俊明
位 0 8 16 24 31 源 端 口 目 的 端 口 序 号 20 字节 固定 首部 确 认 号 TCP 首部 数据 偏移 U R G A C K P S H R S T S Y N F I N 窗 口 保 留 检 验 和 紧 急 指 针 选 项 (长 度 可 变) 填 充 推送 PSH (PuSH) —— 接收 TCP 收到 PSH = 1 的报文段,就尽快地交付接收应用进程,而不再等到整个缓存都填满了后再向上交付。 计算机工程学院 伍俊明
位 0 8 16 24 31 源 端 口 目 的 端 口 序 号 20 字节 固定 首部 确 认 号 TCP 首部 数据 偏移 U R G A C K P S H R S T S Y N F I N 窗 口 保 留 检 验 和 紧 急 指 针 选 项 (长 度 可 变) 填 充 复位 RST (ReSeT) —— 当 RST 1 时,表明 TCP 连接中出现严重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立运输连接。 计算机工程学院 伍俊明
位 0 8 16 24 31 源 端 口 目 的 端 口 序 号 20 字节 固定 首部 确 认 号 TCP 首部 数据 偏移 U R G A C K P S H R S T S Y N F I N 窗 口 保 留 检 验 和 紧 急 指 针 选 项 (长 度 可 变) 填 充 同步 SYN —— 同步 SYN = 1 表示这是一个连接请求或连接接受报文。 计算机工程学院 伍俊明