一、TCP简介
TCP(Transmission Control Protocol 传输控制协议)传输控制协议的缩写,并以单独的字母发音。TCP是TCP / IP网络中的主要协议之一。而IP只能用协议的交易数据包,TCP使两个主机建立数据连接和交换数据流。是一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP采用了流量控制、拥塞控制、连续ARQ(Automatic Repeat Request自动重传请求)等技术来保证它的可靠性,TCP保证数据的传递,并保证数据包的发送顺序与发送的顺序相同。
二、UDP简介
UDP(User Datagram Protocol用户数据报协议)是OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。
三、深入探索TCP
TCP连接是一种抽象的概念,表示一条可以通信的链路。每条TCP连接有且仅有两个端点,表示通信的双方。且双方在任意时刻都可以作为发送者和接收者。
一条TCP连接的两端就是两个套接字。套接字=IP地址:端口号。因此,TCP连接:(套接字1,套接字2)=(IP1:端口号1,IP2:端口号2)。
tcp 的三次握手:
在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接.
第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认; SYN:同步序列编号(Synchronize Sequence Numbers) 。
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态。
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客