OSI模型、TCP三次握手与园区网架构精要


数据转换与网络基础
  1. 数据转换与编码

    • 过程:人类语言 → 编码(ASCII) → 二进制 → 电信号。
    • ASCII表:95个可显示字符,每个字符对应二进制、十进制、十六进制编码。
      • 示例A0100 0001(二进制)→ 65(十进制)→ 0x41(十六进制)。
      • 难点:不同进制间的转换(如二进制转十六进制可每4位一组)。
  2. OSI七层模型

    • 各层功能
      层级 功能 协议/设备
      应用层 人机交互(HTTP、FTP) 应用程序
      表示层 数据格式转换(加密/压缩) -
      会话层 建立/维护会话(逻辑通道) -
      传输层 端到端传输(端口号区分应用) TCP/UDP
      网络层 逻辑寻址(IP地址) 路由器
      数据链路层 物理寻址(MAC地址) 交换机
      物理层 传输电信号 网线、光纤
    • TCP/IP模型:合并OSI的应用层、表示层、会话层为应用层,其他层对应。
  3. 封装与解封装

    • 封装:逐层添加头部信息(如传输层加端口号,网络层加IP地址)。
      • PDU:数据段(传输层)→ 数据包(网络层)→ 数据帧(数据链路层)→ 比特流(物理层)。
    • 跨层封装:如OSPF直接封装在IP层(协议号89),跳过传输层。

应用层协议与TCP
  1. DNS(域名解析协议)

    • 作用:将域名(如www.baidu.com)转换为IP地址。
    • 查询过程
      1. 递归查询:客户端向本地DNS服务器请求。
      2. 迭代查询:本地DNS依次向根域→顶级域→权威域服务器查询。
  2. HTTP访问与TCP连接

    • HTTP流程

      1. DNS解析域名 → 获取IP地址。
      2. TCP三次握手建立连接。
      3. 传输HTTP请求/响应。
      4. TCP四次挥手断开连接。
    • TCP三次握手

      • 步骤
        1. 客户端发送SYN(序列号x)。

        2. 服务器回复SYN-ACK(序列号y,确认号x+1)。

        3. 客户端发送ACK(确认号y+1)。

          在这里插入图片描述

          TCP服务器进程先创建传输控制块TCB,时刻准备接受客户进程的连接请求,此时服务器就进入了 LISTEN 监听状态

          第一次握手 TCP客户进程也是先创建传输控制块TCB,然后向服务器发出连接请求报文,这是报文首部中的同部位SYN=1,同时选择一个初始序列号 seq=x ,此时,TCP客户端进程进入了 SYN-SENT 同步已发送状态

          第二次握手 TCP服务器收到请求报文后,如果同意连接,则会向客户端发出确认报文。确认报文中应该 ACK=1,SYN=1,确认号是ack=x+1,同时也要为自己初始化一个序列号 seq=y,此时,TCP服务器进程进入了 SYN-RCVD 同步收到状态

          第三次握手 TCP客户端收到确认后,还要向服务器给出确认。确认报文的ACK=1,ack=y+1,自己的序列号seq=x+1,此时,TCP连接建立,客户端进入ESTABLISHED已建立连接状态 触发三次握手

          TCP四次挥手

          在这里插入图片描述

          第一次挥手 客户端发出连接释放报文,并且停止发送数据。释放数据报文首部,FIN=1,其序列号为seq=u(等于前面已经传送过来的数据的最后一个字节的序号加1),此时,客户端进入FIN-WAIT-1(终止等待1)状态

          第二次挥手 服务器端接收到连接释放报文后,发出确认报文,ACK=1,ack=u+1,并且带上自己的序列号seq=v,此时,服务端就进入了CLOSE-WAIT 关闭等待状态

          第三次挥手 客户端接收到服务器端的确认请求后,客户端就会进入FIN-WAIT-2(终止等待2)状态,等待服务器发送连接释放报文,服务器将最后的数据发送完毕后,就向客户端发送连接释放报文,服务器就进入了LAST-ACK(最后确认)状态,等待客户端的确认。

          第四次挥手 客户端收到服务器的连接释放报文后,必须发出确认,ACK=1,ack=w+1,而自己的序列号是seq=u+1,此时,客户端就进入了TIME-WAIT(时间等待)状态,但此时TCP连接还未终止,必须要经过2MSL后(最长报文寿命),当客户端撤销相应的TCB后,客户端才会进入CLOSED关闭状态,服务器端接收到确认报文后,会立即进入CLOSED关闭状态,到这里TCP连接就断开了,四次挥手完成

          为什么客户端要等待2MSL?
          主要原因是为了保证客户端发送那个的第一个ACK报文能到到服务器,因为这个ACK报文可能丢失,并且2MSL是任何报文在网络上存在的最长时间,超过这个时间报文将被丢弃,这样新的连接中不会出现旧连接的请求报文。

  3. TCP可靠性机制

    • 排序:通过序列号保证数据顺序。
    • 确认与重传:接收方返回ACK确认,超时未确认则重传。
    • 流量控制:窗口大小动态调整发送速率。

    TCP即传输控制协议,是一种面向连接、可靠的数据传输协议,它是为了在不可靠的互联网上提供可靠的端到端字节流而专门设计的一个传输协议。

    面向连接:数据传输之前客户端和服务器端必须建立连接
    可靠的:数据传输是有序的 要对数据进行校验


园区网络基础
  1. 园区网分类

    • 按规模
      • 小型(<100终端):简单拓扑,如单一交换机。
      • 中型(100-1000终端):分层设计(核心+接入层)。
      • 大型(>1000终端):冗余架构(核心+汇聚+接入)。
    • 按行业
      类型 特点
      企业网 高可靠性、支持远程办公
      校园网 分教研网/学生网,高安全性
      政务网 严格安全审计,内外网隔离
  2. 园区网设计要点

    • 可靠性:冗余链路、设备堆叠。
    • 可管理性:SNMP监控、VLAN划分。
    • 安全性:防火墙、访问控制列表(ACL)。

难点详解

  1. DHCP四次交互(发现阶段、提供阶段、请求阶段、确认阶段)

    • Discover:客户端广播寻找服务器。

    • Offer:服务器回复可用IP(单播/广播)。

    • Request:客户端确认请求IP。

    • ACK:服务器最终分配IP。


    在这里插入图片描述

    一个网段内接收到DHCP Discover广播的DHCP服务器可能不止一台,有好几台服务器提供可用IP地址的情况下,客户端会选择接受第一个到达的Offer并向相应的DHCP服务器发送Requst消息,表示你的IP我要了。然后就是DHCP服务器确认刚才所提供的IP地址还能不能用,如果可用就发送Ack确认,不行就发送Nak表示IP地址分配失败,客户端重新进入到发现阶段。四个阶段都完成后,客户端还会发送免费ARP来检测局域网内IP地址冲突,因为可能有其它客户端自己手动配置了这个IP地址。

    分配的IP地址不是永久的,而是有租约期限的,如果想要继续使用原来的IP地址则需要续租。

    在这里插入图片描述

    DHCP服务器续约,DHCP在接受到客户端的请求后会重新开始租约的计时并发送Ack确认消息。

  2. ARP协议

    • 正向ARP:已知IP,广播查询MAC。
    • 免费ARP:主动广播自己的IP-MAC,检测地址冲突。
  3. TCP与UDP区别

    特性 TCP UDP
    连接 面向连接 无连接
    可靠性 高(确认/重传)
    速度 慢(握手开销)
    应用 HTTP、FTP DNS、视频流


总结:理解网络分层模型是核心,掌握协议交互流程(如DHCP、ARP、TCP)是关键。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐