TCP/UDP端口号 FTISD T S TeMNFN 应用层p1TsTM n P P P 25369)16 层间端口号 传输层 TCP UDP 端口号是TCP和UDP报文的地址 端口号描述了传输层上正在使用的上层协议 TCP和UD用端口号把数据传送到上层,端口号用来跟踪同一时间内通过网络的不同会话 端口号分配遵循RFClπ00定乂,如果会话不涉及到特殊端口号,将在特定取值范围内随机 分配一个端口号 TCP和UDP保留了一些端口,应用程序不能随便使用 端口号指定范围: *低于255的端口号用于公共应用 *255~1023的端口号被指定给各个公司 *高于1023的端口号未做规定
TCP/UDP端口号 F T P T e l n e t S M T P D N S T F T P S N M P 21 23 25 53 69 161 TCP UDP 应用层 传输层 层间端口号 — 端口号是TCP和UDP报文的地址 — 端口号描述了传输层上正在使用的上层协议 — TCP和UDP用端口号把数据传送到上层,端口号用来跟踪同一时间内通过网络的不同会话 — 端口号分配遵循RFC1700定义,如果会话不涉及到特殊端口号,将在特定取值范围内随机 分配一 个端口号 — TCP和UDP保留了一些端口,应用程序不能随便使用 — 端口号指定范围: * 低于255的端口号用于公共应用 * 255~1023的端口号被指定给各个公司 * 高于1023的端口号未做规定
TCP/UDP通信和端口号 Telnet B 目标端口号 23,将报文 主机A 主机B 发送到 Telnet 应用程序 源端口目的端口 1028 23 TCP/UDP中对等通信实体之间的通信相互用端口号标识; TCP报文目的端口号必须根据 Telnet协议的端口号确定 源端口号由源主机动态地分配起始源端口号,通常是 些高于1023的端口号
TCP/UDP通信和端口号 主机A 主机B Telnet B 目标端口号 =23,将报文 发送到Telnet 应用程序中 源端口 目的端口 1028 23 — TCP/UDP中对等通信实体之间的通信相互用端口号标识; — TCP报文目的端口号必须根据Telnet 协议的端口号确定; — 源端口号由源主机动态地分配起始源端口号,通常是一 些高于1023的端口号
TCP连接的建立 主机A 主机B Telnet b 发送SYN报文 (SEQ=X) 接收SYN报文 SEQ:序列号 ACK:确认号 (SEQ=X) 发送SYN报文 接收SYN报文 (SEQ=Y, ACK-X+1) (SEQ=Y, ACK-X+1) 发送确认报文 (ACK=Y+1) 接收确认报文 (ACK=Y+1) TCP连接的建立实际上是一同步过程(又称三次握手) 初始序列号ⅹ、Y的确定,不同的系统可能采用不同算法 TCP是一种点对点的平衡式通信方法,任何一方发起建立连接和终止连接
TCP连接的建立 主机A 主机B Telnet B 发送SYN报文 (SEQ=X) 接收SYN报文 (SEQ=X) 发送SYN报文 接收SYN报文 (SEQ=Y,ACK=X+1) (SEQ=Y,ACK=X+1) 发送确认报文 (ACK=Y+1) 接收 确认报文 (ACK=Y+1) — TCP连接的建立实际上是一同步过程(又称三次握手) — 初始序列号X、Y 的确定,不同的系统可能采用不同算法 — TCP是一种点对点的平衡式通信方法,任何一方发起建立连接和终止连接 SEQ:序列号 ACK:确认号
TCP连接的拆除 主机A 主机B Telnet b 发送FIN报文 (SEQ=X) 接收FⅣN报文(SEQX) 发送确认报文(ACK=X+1) 接收确认报文 (ACK=X+1) 通知上层应用程序,等待应用程序应答 发送FN报文(SEQ=Y,ACK=X+1) 接收FIN报文 (SEQ=Y, ACK=X+1) 发送确认报文 (ACK=Y+1) 接收确认报文 (ACK=Y+1) TCP连接的拆除与建立过程略有不同,在于主机B接收到FⅠN报文后需通知 上层应用程序,上层应用程序要花费一定时间才能给出响应(如等待人的 响应),所以必须先发送确认报文以防对方等待超时后重发FN报文
TCP连接的拆除 主机A 主机B Telnet B 发送FIN报文 (SEQ=X) 接收FIN报文(SEQ=X) 接收确认报文 通知上层应用程序,等待应用程序应答 (ACK=X+1) 发送确认报文 (ACK=Y+1) 接收 确认报文 (ACK=Y+1) — TCP连接的拆除与建立过程略有不同,在于主机B接收到FIN报文后需通知 上层应用程序,上层应用程序要花费一定时间才能给出响应(如等待人的 响应),所以必须先发送确认报文以防对方等待超时后重发FIN报文 发送确认报文(ACK=X+1) 发送FIN报文(SEQ=Y,ACK=X+1) 接收FIN报文 (SEQ=Y,ACK=X+1)
UDP报文格式 UDP( User Datagram Protoco)报文格式定义了5个字段 比特数 16 源端口目端口报头长度校验和数据 源端口( Source port):呼叫端端口号 目端口( Destination port):被叫端端口号 报头长度(HLEN):报文头部的字节数 校验和( Checksum):报头和数据字段的校验和 数据(Data):上层协议数据 UDP传输不提供ACK反向确认机制、流量和报文序列号控制,因此 UDP报文可能会丢失、重复或无序到达,通信的可靠性问题将由应 用层协议提供保障。但UDP报文格式和控制机制简单,因此通信开 销比较小,TFTP、SNMP、NFS和DNS应用层协议等都是用UDP传 输的
UDP报文格式 UDP(User Datagram Protocol)报文格式定义了5个字段: 源端口 目端口 报头长度 校验和 数据 比特数 16 16 16 16 — 源端口(Source Port):呼叫端端口号 — 目端口(Destination Port):被叫端端口号 — 报头长度(HLEN):报文头部的字节数 — 校验和(Checksum):报头和数据字段的校验和 — 数据(Data):上层协议数据 UDP传输不提供ACK反向确认机制、流量和报文序列号控制,因此 UDP报文可能会丢失、重复或无序到达,通信的可靠性问题将由应 用层协议提供保障。但UDP报文格式和控制机制简单,因此通信开 销比较小,TFTP、SNMP、NFS和DNS应用层协议等都是用UDP传 输的