Internet运输层协议(TCP)(1) ■传输控制协议TCP和用户数据报协议UDP TCP和UDP所使用的网络层协议是IP,提 供不可靠的网络服务(C类网络) TCP的主要作用:在不可靠的网络服务上 提供端到端的可靠的字节流 TCP由RFC793定义,RFC1122进行了修 改和改进,RFC1323进行了扩展
Internet运输层协议(TCP)(1) ◼ 传输控制协议TCP和用户数据报协议UDP ◼ TCP和UDP所使用的网络层协议是IP,提 供不可靠的网络服务(C类网络) ◼ TCP的主要作用:在不可靠的网络服务上 提供端到端的可靠的字节流 ◼ TCP由RFC 793定义,RFC1122进行了修 改和改进,RFC1323进行了扩展
Internet运输层协议(TCP)(2) TCP的服务提供方式和Uni密切相关 ■通过端口号来区分TCP的用户 ■所有TCP服务都是通过套接字来完成的 TCP连接是全双工和点对点的 可同时发送接受数据,不可支持广播和多播 TCP是面向字节流的(用户数据无边界) PUSH标志:马上发送数据 ■ URGENT标志:最高优先级发送紧急数据
Internet运输层协议(TCP)(2) ◼ TCP的服务提供方式和Unix密切相关 ◼ 通过端口号来区分TCP的用户 ◼ 所有TCP服务都是通过套接字来完成的 ◼ TCP连接是全双工和点对点的 ◼ 可同时发送接受数据,不可支持广播和多播 ◼ TCP是面向字节流的(用户数据无边界) ◼ PUSH标志:马上发送数据 ◼ URGENT标志:最高优先级发送紧急数据
Internet运输层协议(TCP)(3) Unⅸ中TCP通过 Socke来实现TCP的服务 TCP服务 功能含义 SOCKET 建立一个 Socket BIND 为建立的 Socke建立一个标识 LISTEN 在一个 Sokce上监听外来的连接请求 ACCEPT 接受 Socket上到来的连接 CONNECT 在一个 Socket上建立连接 SHUT DOWN 关闭连接 SEND 在一条连接上发送数据 RECEIVE 在一条连接上接受数据 SELECT 检查一组 Socket是否有数据或异常
Internet运输层协议(TCP)(3) ◼ Unix中TCP通过Socket来实现TCP的服务 TCP服务 功能含义 SOCKET 建立一个Socket BIND 为建立的Socket建立一个标识 LISTEN 在一个Sokcet上监听外来的连接请求 ACCEPT 接受Socket上到来的连接 CONNECT 在一个Socket上建立连接 SHUT_DOWN 关闭连接 SEND 在一条连接上发送数据 RECEIVE 在一条连接上接受数据 SELECT 检查一组Socket是否有数据或异常
Internet运输层协议(TCP)(4) TCP通过段( Segment)来交换数据 段长度受到IP包长的限制65535字节 段长度不能超过 MTU(Maximum Transfer Unit):一般默认 值是1500 TCP协议段格式如下图: 32位 源端口号 目的端口号 序号 确认号 头部 窗口大小 校验和 紧急指针 选项(0个或多个32位字 数据(可选)
Internet运输层协议(TCP)(4) ◼ TCP通过段(Segment)来交换数据 ◼ 段长度受到IP包长的限制65535字节 ◼ 段长度不能超过MTU(Maximum Transfer Unit):一般默认 值是1500 ◼ TCP协议段格式如下图:
Internet运输层协议(TCP)(5) ■TCP协议中使用三次握手方式建立连接 时主 YN(SBQ, ACKmx#i). 王 间机 机 这里,SYI(SEQx)表示一个TCP段,它的序号是x,它的 SY标志为1,它的ACK标志为0, SYNSEQ=ACK=y+1 表示ACK标志为1,并且确认号为y+1
Internet运输层协议(TCP)(5) ◼ TCP协议中使用三次握手方式建立连接