欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

互联网协议

程序员文章站 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个字节编号,客户端和服务端都能释放连接,