文章目录
TCP/IP
TCP/IP协议介绍
主要由网络层的IP协议 和 传输层的TCP协议组成 IP 或 ICMP、TCP 或 UDP、TELNET 或 FTP、以及 HTTP 等都属于 TCP/IP 协议,他们与 TCP 或 IP 的关系紧密。因此,也称 TCP/IP 为网际协议群
TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。
IP是给因特网的每一台联网(电脑)设备规定一个地址
打个比方:TCP协议就相当于快递,用来做运输
IP协议就相当于地址,用来唯一标记目的地
TCP协议
TCP协议是传输控制协议,工作在传输层。提供面向链接的,可靠的传输服务( 三次握手,四次挥手)
面向链接:数据传输之前,客户端与服务器之间要建立连接,才可以传输数据
可靠的:数据传输是有序的,要对数据进行校验,数据不会丢失
TCP是面向连接的,可靠的进程到进程通信的协议
TCP提供全双工服务,即数据可在同一时间双向传输
TCP应用场景
(传输数据)效率低,对(传输数据)准确性要求高
TCP 三次握手
客户端向服务器发送SYN同步请求,请求与服务器建立连接,服务器收到此SYN同步请求后,会针对客户端的SYN同步请求进行ACK响应的同时也会发送一个SYN同步请求,当客户端收到服务器发过来的SYN同步请求时,会给予一个ACK响应。
SYN:进行一次请求和响应
ACK:请求一次
图解
为什么要三次握手
因为TCP是可靠的传输层协议,它在传输数据前,会建立双向数据通信通道,当保证双向数据传输的通道没有问题时,才会发送数据,起到保护数据的作用
扩充:
SYN:发起一个新连接 ACK:确认序号有效 FIN:释放一个连接
TCP四次挥手
客户端向服务器发送(断开连接)FIN断开请求,服务器接收到此请求后,回复(稍等)一个ACK。服务器向客户机发送(马上断开)FIN断开请求,客户机收到此请求后,回复(好的)一个ACK
图解
为什么断开要断四次
数据传输方向是双向的,一个方向的数据通道关闭需要一次请求和一次确认,因此需要断两次,而我们有两个数据方向,因此需要断四次。
常用的TCP端口号及其功能
IP协议
IP协议是TCP/IP协议的核心,所有的TCP,UDP等数据都以IP数据格式传输
UDP协议
UDP协议介绍
用户数据报协议
UDP的主要特点是:
UDP 是无连接的。即发送数据之前不需要建立连接
UDP 支持一对一、一对多、多对一和多对多的交互通信
UDP的首部只有8个字节,而TCP有20个字节
UDP应用场景
(传输数据)效率高,对(传输数据)准确性要求低
UDP和TCP的区别
TCP面向连接(TCP发送数据之前是需要建立连接的)
UDP是无连接的(UDP发送数据之前是不需要建立连接的)
UDP传输数据速度比TCP要快一些
UDP是面向报文的,UDP没有拥塞控制