互联网协议
程序员文章站
2022-07-13 14:26:31
...
@TOC10月20 网络编程和统揽java
TCP/IP协议
OSI参考模型:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层
TCP/IP分层结构:
分为五层:即物理层,数据链路层、网络层、传输层、应用层、
互联网采用TCP/IP协议族,其核心协议有TCP、IP、UDP、路由协议、DNS(其中IP协议工作在网络层,UDP和TCP协议工作在传输层)
**
三握四挥**
三次握手:
![在这里插入图片描述](https://imgconvert.csdnimg.cn/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTcwOTE5MTAxMjA3ODc5?x-oss-process=image/format,png)
1. 第一次握手:SYN置为1表示TCP报文段是一个连接建立请求(识别连接的发起方);Seq为顺序号x,可随机选择;ACK=0,ACK置1表示TCP报文段携带的确认号字段有效,会话第一个报文段,不包含任何数据字节所以置0.
2. 第二次握手:向客户端返报文段。ackn(ack):确认号,将(顺序号x+1)返回给客户端;连接请求确认:SYN、ACK=1
3. 服务端向客户端返回SYN=1,则代表请求被接受,设定ackn=y+1,SYN=0。
注:第三次握手重要性:
连接建立之前,TCP主要依靠IP协议不可靠的网络服务,服务器返回的第二次握手信号可能会丢失、超时不能按时送达客户端。没有第三次,出现这种情况,客户端会认为请求失败,放弃或重新建立请求,这时服务器发出了第二次请求就认为连接建立成功(分配资源),实际只建立了一半,占用资源,易被攻击。有第三次握手后,如果没有按时收到信号,服务器就会删掉建立了一半的连接。
四次挥手:![在这里插入图片描述](https://img-blog.csdnimg.cn/20191020152619633.png)
1.FIN=1,表示连接释放请求,象征性占1个字节编号,客户端和服务端都能释放连接,