• 网络通信及TCP/IP协议


    TCP/IP
    tcp/ip协议是协议家族的简称

    1. IP 相当于电话号码,寻址时的地址。
    2. TCP 面向连接的、可靠的流协议。就相当于我们在打电话前的确认、结束时的确认、控制流程。就比如说我们打电话 喂,小丽吗。好的,再见。你大点声,我听不见。
    3. UDP 面向无连接的通讯协议。就是不可靠的连接。

    TCP/IP中的数据术语
    ● 数据包(packet) 是全能型术语
    ● 报文/消息(message) 应用层传到传输层(tcp)的数据
    ● 报文段(segment) TCP数据流中的信息,报文加上tcp包首部(20字节)
    ● 数据报(datagram) IP中数据的单位。是在报文段中添加ip包首部(20字节)
    ● 帧(frame) 表示数据链路层中包的单位

    在子网中,计算机通过mac地址进行寻址
    新入职员工加入公司网络,他会通过ARP协议(数据链路层)进行广播,公司的DHCP服务器收到广播后会根据新员工的MAC地址分配IP。

    TCP连接的三次握手
    思考:

    1. 三次握手分别发送的是什么报文
    2. 三次握手后客户端和服务端的状态是什么

    过程

    1. 第一次握手
      a. 客户端发起连接。客户端发起的报文中包含SYN的标志位置为1,还有一个随机值字段seq_no(比如为10000),此时客户端状态变为SYN_SENT
    2. 第二次握手
      a. 服务端发送报文。SYN标志位为1,ACK标志位为1,随机值字段ack_no为客户端的seq_no值加1,seq_no为随机值。此时服务端状态变为SYN_REVD
    3. 第三次握手
      a. 客户端发送报文。SYN标志位为1,ack_no为服务端报文seq_no的值加1。此时客户端状态变为ESTABLEISHED。
      b. 服务端收到客户端发来的报文,状态变为ESTABLEISHED。

    TCP四次挥手
    过程:

    1. 第一次挥手,客户端发送关闭请求。
    2. 第二次挥手,服务端相应客户端关闭请求。
    3. 第三次挥手,服务端发送关闭请求。
    4. 第四次挥手,客户端发送关闭确认请求。
    5. 相较于建立连接的三次握手不同,四次挥手既可以是服务端率先发起请求,也可是客户端率先发送请求。而三次握手,一定是客户端率先发送请求。

    为什么需要四次挥手?
    TCP是双全工(即客户端和服务端可以同时发送和接收请求),所以需要双方都确认关闭连接。

  • 相关阅读:
    不同类型的变量与零究竟是如何比较
    yolov5 create_dataloader原码及解析
    Spring MVC中如何对异常进行处理呢?
    【C语言 | 预处理】C语言预处理详解(二) —— #pragma指令介绍以及内存对齐、结构体大小
    虚拟磁盘discard在qemu中的应用
    搭建一个自定义的工作流管理平台(二)
    AutoGluon学习笔记
    「风控算法服务平台」高性能在线推理服务设计与实现
    9年前,我的第一份实习工作
    RSA加密和解密原理及过程(非对称加密)
  • 原文地址:https://blog.csdn.net/yfyh2021/article/details/125994659