一、计算机网络体系结构

- TCP/IP四层模型和OSI七层模型

  • IOS七层模型:

    •  物理层:(physicial layer)主要负责物理介质上的比特流传输,比如电信号、光信号、无线电波。例如:网线 光纤 网卡的物理接口 集线器

    • 数据链路层:(data link layer)主要负责同一局域网内的设备通信,通过MAC地址识别设备。例如:交换机(Switch) ARP协议 以太网(Ethernet)

    • 网络层:主要负责跨网络的数据包路由,通过IP地址寻找目标网络。例如:路由器 IP协议(IPV4/IPV6) ICMP协议

    • 传输层:主要负责端到端的可靠数据传输,在源主机和目标主机的应用程序之间建立连接。例如:TCP(HTTP FTP用它) UDP(视频通话 直播)

    • 会话层:主要负责建立、管理和终止表示层实体之间的通信会话,比如断点续传。例如:RPC(远程过程调用) NetBIOS

    • 表示层:主要负责数据的格式转换和加密解密,让接收方能正确理解发送方的数据。例如JPEG MP4 SSL/TLS 加密 ASCII编码

    • 应用层:主要负责直接和用户的应用程序交互,提供网络服务接口。例如:HTTP/HTTPS(网页) SMTP/POP3(邮件) DNSA(域名解析) FTP(文件传输)

  • TCP/IP四层模型

    • 网络接口层(Network Access Layer):对应OSI的物理层+数据链路层,负责硬件层面的比特流和帧传输。例如:以太网、Wi-Fi、PPP(拨号上网)

    • 网络层(Internet Layer):和OSI的网络层完全对应,负责跨网络的IP包路由。核心协议:IP、ICMP、ARP

    • 传输层(Transport Layer): 和OSI的传输层完全对应,负责端到端的TCP/UDP传输。核心协议:TCP、UDP

    • 应用层(Application Layer):对应OSI的会话层+表示层+ 应用层,直接为应用程序提供网络服务。核心协议:HTTP、HTTPS、SMTP、FTP

  • TCP/IP四层模型与OSI七层模型的对应关系:

    • TCP/IP的应用层 = OSI的应用层 +表示层 + 会话层 

    • TCP/IP的网络接口层 = OSI的数据链路层 + 物理层

- 数据封装与解封装

  • 发送端(封装): 数据从上往下传递,每一层都会加上自己的首部(Header),在数据表链路层还会加上尾部(Trailer)。

  • 接收端(解封装): 数据从下往上传递,每一层剥掉对应的首部,交给上层处理。

  • PDU(协议数据单元)

    • 应用层: Message        

    • 传输层:Segment(TCP)/Datagram(UDP)

    • 网络层:Packet(IP包)

    • 数据链路层:Frame(帧)

    • 物理层:Bit(比特流)

二、网络接口层(数据链路层 + 物理层)

- 核心功能

  • 物理层:负责光/电信号的传输,定义电压、接口标准(如RJ45)。
  • 数据链路层:负责相邻节点之间的可靠传输,封装成帧,进行MAC寻址。

- 关键协议与概念

  • MAC地址:网卡的物理地址,全球唯一
  • 以太网:最常用的局域网技术。
  • ARP协议(地址解析协议)
    • 作用:一直IP地址,求MAC地址。
    • 过程:广播发送ARP请求,单播回复ARP响应。
  • PPP协议:点对点协议,常用于拨号上网。

三、网际层(网络层) ——核心中的核心

- 核心功能

  • 逻辑寻址:给主机分配IP地址。
  • 路由选择:决定数据播报从源主机到目的主机的最佳路径(通过路由器)。
  • 拥塞控制:防止网络过载。

- IP协议

  • IP地址:网络层的逻辑地址(IPv4为32位,点分十进制表示)。
  • IP地址分类
    • A 类:1.0.0.0 - 126.255.255.255 (默认子网掩码 255.0.0.0)
    • B 类:128.0.0.0 - 191.255.255.255 (默认子网掩码 255.255.0.0)
    • C 类:192.0.0.0 - 223.255.255.255 (默认子网掩码 255.255.255.0)
    • D 类:多播地址。
    • E 类:保留。
  • 特殊地址
    • 127.0.0.1: 本地环回地址(自己访问自己)
    • 0.0.0.0:任意地址(通常用于服务器绑定所有网卡)
    • 255.255.255.255:广播地址。
  • ICMP协议
    • 作用:网络层的差错报告与诊断。
    • 应用:ping命令(测试连通性)、traceroute(追踪路由路径)
  • 子网掩码与CIDR
    • 子网掩码:用于区分网络号和主机号(如255.255.255.0)
    • CIDR(无类别域间路由):192.168.1.1/24 表示前 24 位是网络号。

四、传输层——端到端的通信

- 核心功能

  • 端口寻址:区分同一台主机上的不同应用程序
  • 分段与重组:将应用层的数据表分成适合网络传输的小块。
  • 流量控制:放置发送方发送的太快,接收方处理不过来。
  • 拥塞控制:放置过多数据注入网络。

- TCP协议(传输控制协议)——重点

  • 特点:面向连接、可靠传输、面向字节流、全双工。
  • 端口:知名端口(0~1023)如HTTP(80), HTTPS(443)
  • 三次握手(建立连接):
    • 客户端发送SYN(seq = x)- > 服务端
    • 服务端发送SYN +ACK (seq = y,ack = x + 1)-> 客户端
    • 客户端发送ACK(ack = y +1)->服务端
    • 三次握手的原因:为了放置失效的请求突然到达,建立错误的连接。
  • 四次挥手(断开连接):
    • 客户端发送FIN -> 服务端(客户端无数据发送,但能接收)
    • 服务端发送ACK -> 客户端(连接处于半关闭状态)
    • 服务端发送FIN -> 客户端(服务端也无数据发送)
    • 客户端发送ACK -> 服务端
    • 四次挥手的原因:因为TCP是券商工的,每个方向的关闭都需要单独确认。
  • 可靠传输机制
    • 序列号与确认号:保证数据有序且不丢失。
    • 超时重传:发送后没收到ACK就重发。
    • 流量控制:滑动窗口协议(Window Size)
    • 拥塞控制:慢开始、拥塞避免、快重传、快恢复。
  • UDP协议(用户数据报协议)
    • 特点:无连接、不可靠、面向报文、首部开销小,仅占8字节、速度快。
    • 适用场景:对实时性要求高蛋可容忍少量丢包场景(如视频直播、语音通话、DNS查询、TFTP)。

五、应用层

- 核心功能

为应用程序提供网络服务接口。

- 常见协议:

  • HTTP/HTTPS:
    • HTTP:超文本传输协议,明文,端口 80。
    • HTTPS:HTTP +SSL/TLS,加密传输,端口 443。
    • 状态码:
      • 1xx:信息响应
      • 2xx:成功(200 OK)
      • 3xx:重定向(301永久重定向,302临时重定向,304Not Modified)
      • 4xx:客户端错误(404 Not Found,403 Forbidden,401 Unauthorized)
      • 5xx:服务器错误(500 Internall Server Error,502 Bad Gateway)
        • 无状态:HTTP协议本身不保存用户状态,通过Cookie/Session/JWT 维持状态。
    • DNS:域名系统,将域名(www.baidu.com)解析为IP地址。
    • FTP:文件传输协议。
    • SMTP/POP3/IMAP:邮件发送和接收协议。
    • WebSocket:在单个TCP连接上进行全双工通信,解决HTTP长轮询效率低的问题(用于即时通讯)。

六、网络安全与攻击

- 常见攻击

  • SYN Flood:利用 TCP 三次握手,发送大量 SYN 包但不回复 ACK,耗尽服务器资源(DOS 攻击)。
  • ARP 欺骗:伪造 MAC 地址,导致数据被劫持。
  • DNS 劫持:篡改 DNS 解析结果,将用户导向恶意网站。
  • 中间人攻击 (MITM):攻击者截获并篡改通信双方的数据。
  • SQL 注入:在输入框中输入 SQL 语句,非法操作数据库。
  • XSS (跨站脚本攻击):注入恶意 JavaScript 代码。
  • CSRF (跨站请求伪造):利用用户的登录状态发起恶意请求。

- 安全机制

  • 加密:对称加密(AES)、非对称加密(RSA)、哈希算法(MD5, SHA-256)。
  • 数字签名:防篡改、防抵赖。
  • 防火墙:过滤进出网络的数据包。

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐