Skip to content

计算机网络

计算机网络概述

计算机网络在信息时代的作用

网络:联通、共享 互联网络:多个计算机网络连接而成 计算机网络:多台计算机互联,共享资源 互联网+:互联网与其他传统行业结合,如互联网医疗、工业4.0等 物联网:物物相连,如智能家居、自动驾驶、智慧安防等 互联网带来的挑战:网络安全、信息安全、电信诈骗、流言蜚语、网络游戏、不良信息

互联网的组成

  • 互联网的边缘部分(资源子网):由所有连接在互联网上的主机组成。这部分是用户直接使用的,用来进行通信(传输数据、音频或视频)和资源共享(客户端、服务器、ISP等)
  • 互联网的核心部分(通信子网):由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换)
  • 两种通信方式:客户端- 服务器方式(C/S方式)、对等连接方式(P2P方式 Peer-to-Peer既是服务器也是客服端)

计算机网络的性能

网络性能指标:

  • 信息的度量:1比特(bit)表示一个二进制数字
  • 速率:bit/s Kbit/s Mbit/s Gbit/s (乘10的三次方)
    • 注意与存储容量区别,Byte字节、KByte(KB)、MByte(MB)、GByte(GB)(乘2的10次方1024)。 1Byte=8bit
  • 带宽:频域(如声学、电磁学)中用来表示允许通过的最高频率成分与最低频率成分之差(单位:Hz),计算机网络中用来表示在单位时间内网络中某信道所能通过的“最高数据率”(bit/s)。一条数据链路的“带宽”越宽,所能传输的“最高数据率”也越高。单位是Mbps等
  • 吞吐量:单位时间内通过网络的数据量。受贷款和网络的额定速率影响
  • 时延:指数据(一个报文或分组,甚至比特)从网络或链路的一端传送到另一端所需的时间。也称为延迟或迟延。由几个不同部分组成:
    • 发送时延:也叫传输时延,发送数据时,数据帧从节点进入到传输媒体所需要的时间,
    • 传播时延:电磁波在信道中需要传播一定距离而花费的时间
    • 处理时延:主机或路由器收到分组时,为处理分组(如分析首部、提取数据、差错检查或查找路由)所花费的时间
    • 排队时延:分组在路由器输入输出队列中排队等待处理所经验的时延;排队时间长短往往取决于网络中当时的通信量
  • 时延带宽积 = 传播时延 乘 带宽.以比特为单位的链路长度
  • 往返时延RTT:从发送方发送数据开始,到发送方收到接收方的确认(接收方收到数据后立即发回确认),总共经历的时间
    • 有效数据率 = 数据长度 除以 (发送时延 + 往返时延)
  • 利用率: 信道利用率 = 信道有数据通过的时间 与 信道总时间 的比值;网络利用率 = 信道利用率的加权平均 非性能指标:费用、质量、标准、可靠性、可扩展性和可升级性、易于管理和维护

计算机网络体系结构

1983年,Internet采用TCP/IP协议集(事实标准)。 1984年的ISO-OSI/RM,开放系统互联参考模型(国际标准)市场化失败。 计算机网络中的数据交换必须遵循事先约定好的规则,包括数据格式及有关的同步问题、数据交换协议。 网络协议三要素:语法、语义、同步(时序);网络协议是计算机网络分层体系中,对等层所需遵循的规约。 计算机网络的体系结构是计算机网络的各层及其协议的集合:

  • 体系结构就是这个计算机网络及其各部件所应完成的功能的精确定义;
  • “实现”是遵循这种体系结构的前提下用何种硬件或软件完成这些功能的问题;
  • 体系结构是抽象的,而实现则是具体的,是真正在运行的计算机硬件和软件。

具有五层协议的体系结构

计算机网络的体系结构:OSI七层体系结构、TCP/IP四层体系结构、五层协议体系结构

OSI的体系结构

  • 应用层
  • 表示层
  • 会话层
  • 运输层
  • 网络层
  • 数据链路层
  • 物理层

TCP/IP的体系结构

  • 应用层:应用层协议,如DNS、HTTP、SMTP等
  • 运输层:TCP或UDP
  • 网际层:IP
  • 网络接口层: 这一层没有具体内容

五层协议的体系结构

  • 应用层
  • 运输层 -- 运输层报文
  • 网络层 -- IP数据报
  • 数据链路层 -- 帧
  • 物理层 -- 比特流 PDU:协议数据单元,比如物理层的协议数据单元是比特流。

应用层:通过应用进程间的交互来完成特定网络应用 运输层:负责向两台主机中进程之间的通信提供通用的数据传输服务,TCP提供面向连接的可靠的数据传输服务,传输单位为报文段;UDP提供无连接的尽可能准确(不可靠)的数据传输服务,传输单位为用户数据段 网络层:提供主机之间的通信服务。路由器生成转发表,依据转发表转发分组至下一个路由器 数据链路层:直连网络中相邻节点的链路上传输帧 物理层:实现比特传输

分层结构对比

  • 理论上:7层 -- 太复杂、太学术化,难实现
  • 工程上:4层 -- 太简略,不利于打学习基础
  • 教材上:5层 -- 折中学习方案,TCP/IP 实用 + OSI 清晰的分层思想

计算机五层模型及其所属协议概述

  1. 应用层 作用:给用户 / 程序提供网络服务,人机交互核心协议: 网页:HTTP、HTTPS 文件传输:FTP、TFTP 域名解析:DNS 自动配 IP:DHCP 邮件:SMTP、POP3 远程登录:Telnet 路由协议:RIP、BGP(功能归网络层,封装跑应用层)
  2. 传输层 作用:端口寻址、端到端传输、可靠 / 不可靠交付核心协议: TCP:可靠、面向连接、握手、重传(网页、文件、邮件) UDP:不可靠、无连接、速度快(直播、DNS、视频)
  3. 网络层(重点) 作用:逻辑寻址(IP)、路由选择、跨网段转发核心协议: 主协议:IPv4、IPv6 探测报错:ICMP(ping、tracert) 地址解析:ARP(IP 转 MAC) 路由协议:OSPF、RIP、BGP 组播管理:IGMP
  4. 数据链路层 作用:MAC 寻址、成帧、二层交换、差错检测核心协议 / 标准: 以太网 Ethernet MAC 地址规范 VLAN 802.1Q 链路协议:PPP、HDLC
  5. 物理层 作用:传输比特流 0/1 电信号、光信号、无线信号无协议,只有介质与标准:网线、光纤、WiFi、交换机 / 网口硬件、电压电平

┌───────────────────────────────┐ │ 应用层 Application │ │ 协议:HTTP HTTPS FTP TFTP │ │ DNS DHCP SMTP POP3 Telnet │ │ RIP BGP │ ├───────────────────────────────┤ │ 传输层 Transport │ │ 协议:TCP UDP │ ├───────────────────────────────┤ │ 网络层 Internet │ │ 协议:IPv4 IPv6 ICMP ARP │ │ RIP OSPF BGP IGMP │ ├───────────────────────────────┤ │ 数据链路层 Data Link │ │ 协议:以太网Ethernet MAC │ │ VLAN PPP HDCP ARP(跨层) │ ├───────────────────────────────┤ │ 物理层 Physical │ │ 网线、光纤、无线电、电信号 │ └───────────────────────────────┘

物理层

物理层解决 如何在连接各种计算机的传输媒体上传输比特流的问题,而不是指具体的传输媒体;即确定与传输媒体的接口的一些特性。

  • 机械特性:例如接口形状、大小、引线数目
  • 电气特性:例如电压范围-5V到+5V
  • 功能特性:例如-5V代表0.+5V代表1
  • 过程特性/规程特性:规定建立连接时各个相关部件的工作步骤

数据通信基础知识

  • 数据:抽象的,是信息的表示
  • 信号:数据的电气或电磁的表现,是数据在传输过程中的存在形式
  • 模拟信号:代表连续变化的信号
  • 数字信号:代表离散的信号
  • 码元:信号状态的变化,代表一个二进制数字,是指定时间域的一个数字信号的波形
  • 信道:一般标识向一个方向传送信息的媒体,包含发送消息的信道和接收消息的信道
  • 单工通信:只能有一个方向的通信而没有反方向的交互,也叫单向通信(电视台、广播电台)
  • 半双工通信:通信双方都可以发送信息,但不能双方同时发送(当然也就不能同时接收),也叫双向交替通信(对讲机)
  • 全双工通信:通信的双方可以同时发送和接收信息,也叫双向同时通信(电话、手机)
  • 基带信号:来自信源的信号,没有经过调制的信号,也叫基本频带信号(声波)
  • 带通信号:把基带信号经过载波调制后,把信号的频率范围搬移到较高的频段以便在信道中传输(无线电信号)
  • 基带信号为什么必须转为带通信号:
    • 1.天线尺寸限制:低频波长太长,天线无法实现
    • 2.便于无线传输:高频传播特性好,衰减小
    • 3.实现频分复用:多用户共享信号,互不干扰
    • 4.匹配信道特性:适应光纤、无线等带通型信道
  • 调制方法
    • 1.调幅(AM):载波的振幅随基带数字信号而变化
    • 2.调频(FM):载波的频率随基带数字信号而变化
    • 3.调相(PM):载波的初始相位随基带数字信号而变化
  • 基带编码
    • 1.单极性不归零码:只使用一个电压值,高电平标识1,没电压标识0
    • 2.双极性不归零码:用正电平和负电平分别表示二进制数据的1和0,正负幅值相等
    • 3.双极性归零码:正负零三个电平,信号本身携带同步信息
    • 4.曼彻斯特编码:bit中间有信号低-高跳变为0,bit中间有信号高-低跳变为1
    • 5.差分曼彻斯特编码:bit中间有信号跳变,bit与bit之间也有信号跳转,标识下一个bit为0;bit中间有信号跳转,bit与bit之间无信号跳变,标识下一个bit为1;差分曼彻斯特编码与曼彻斯特编码相同,但抗干扰性能强于曼彻斯特编码
  • 奈氏准则:理想低通信道的最高码元传输速率为2W Baud,其中W为理想低通信道的带宽(以Hz为单位),Baud是波特,码元传输速率的单位
  • 香农定理:带宽受限且有高斯白噪声干扰的信道的极限、无差错的信息传输速率(信道容量) C = Wlog2(1+S/N),W为信道的带宽,S/N为信噪比(S为信道内所传信号的平均功率,N为信道内部的高斯噪声功率)

物理层下面的传输媒体

  • 导向传输媒体:电磁波沿着固体媒体传播

    • 同轴电缆:同轴电缆中,中心是内导体,外层是绝缘层,外层导体和内层绝缘层构成屏蔽层,最外层是外导体屏蔽层
      • 50Ω同轴电缆:用于数字传输,屏蔽层与外导体间填充绝缘材料,也叫基带同轴电缆
      • 75Ω同轴电缆:用于模拟传输,屏蔽层与外导体间填充空气,也叫宽带同轴电缆
    • 双绞线:双绞线由两根具有绝缘层的铜导线相互缠绕而成,绞合的目的是减少相邻导线的电磁干扰
      • 屏蔽双绞线(STP):外层由金属网包裹,金属网与中心导线绝缘
      • 无屏蔽双绞线(UTP):外层由聚乙烯等材料包裹,无金属网包裹
    • 光纤:光纤由玻璃纤维(或塑料纤维)制成,内层是光导纤维芯,外层是包层;分别多模光纤、单模光纤
  • 非导向传输媒体:电磁波、声波等,其中电磁波传输被称为无线传输

    • 短波通信主要靠电离层反射
    • 微波在空间中主要是直线传播,包括地面微波接力通信、卫星通信
  • 物理层设备

    • 集线器:放大信号,扩大传输范围(100m);集线器是一个大的冲突域,不能多线同时使用集线器通信

信道复用技术

信号 -> 复用器 -> 信道 -> 分用器 -> 信号

  • 频分复用 FDM:按(电磁波的)频率区分
  • 时分复用 TDM:按时间段区分
  • 统计时分复用 STDM:每个时间段前加一个标识头,传输完去掉,避免TDM中某一时间段没有信号所产生的浪费
  • 波分复用 WDM:按(电磁波的)波长区分,原理与频分复用相同
  • 码分复用 CDMA
    • CDMA计算:把一个码元分成n个码片,用码片向量进行格式化内积得到最终信息,不同基站的码片向量不一样

数字传输系统(电话通讯局)

脉码调制PCM体制最初是为了在电话局之间的中继线上传送多路电话,分为北美的24路标准T1和欧洲的30路标准E1,我国采用E1标准,电话线传输速率最高2.048Mb/s

宽带接入技术

xDSL 所有铜线宽带接入技术的统称 ADSL 非对称数字用户线路,下行快,上行慢;0至4kHz低端频谱留给传统电话使用,26kHz至108kHz用于上传,138kHz至1104kHz用于下载,网络下行所占用的频段比网络上行要宽 ADSL之前,全部使用模拟信号,打电话时不能上网,ADSL通过分离器分出低频和高频的电话线,分别接电话和网络 光纤同轴混合网HFC,HFC在有线电视网CATV的基础上开发出来的一种居民宽带接入网 FTTH 光纤到家 FTTB 光纤到大楼 FTTC 光纤到路边

数据链路层

数据链路层基本概念和基本问题

  • 数据发送模型: 应用层-发送数据 运输层-数据封装、分段 网络层-添加网络地址 数据链路层-添加MAC地址、封装成帧 物理层-在线路上进行比特流传输

  • 链路:一条点到点的物理线路段

  • 数据链路:除了物理线路外,还必须有通信协议来控制这些数据的传输

  • 帧:数据链路层传送的是帧(物理层传送的是比特流),帧本身全是二进制

  • 数据链路层要解决的三个基本问题:

    • 封装成帧,通过添加帧头帧尾(帧首部SOH帧尾部EOT)来封装;帧头放源MAC、目的MAC、类型,用来寻址等,帧尾放FCS校验,用于差错控制
    • 透明传输,不管用户数据里是什么字节、字符,都能原样传输、不被误判成帧边界标记(帧尾),用户完全感知不到底层分包规则,叫做透明;同时防止数据内容被误判成帧首尾,需要做填充转义,数据原样透传
    js
    【帧头MAC】 | 【IP包】 | 【FCS校验尾】
    
    TCP/UDP段】
    
          【应用层数据】← 只有这里可能有 ASCII
    • 差错控制,检测并尽量纠正传输中链路干扰导致的比特出错;
      • 误码率:在一段时间内,传输错误的比特占传输比特总数的比率
      • 循环冗余检验(CRC):事先规定一个除数,对数据做一个二进制除法,通过计算得到的余数是冗余码FCS
      • 帧检验序列(FCS):CRC冗余码
      • CRC差错检测技术:用CRC/FCS校验,接收端算出校验值和帧尾对比,不一致说明传错了;
      • 差错纠正:简单纠错、重传机制(超时重传、确认应答ARQ),由上层程序实现

两种情况下的数据链路层

  • 点到点信道的数据链路层 -- PPP协议 拨号上网
  • 使用广播信道的数据链路层 -- CSMA/CD协议 以太网 局域网的拓扑: 星形网 -- 集线器 总线网 -- 匹配电阻 树形网 -- 匹配电阻 环形网 -- 干线耦合器
  • 共享通信媒体:
    • 静态划分信道
      • 频分复用
      • 时分复用
      • 波分复用
      • 码分复用
    • 动态媒体接入控制
      • 随机接入(主要被以太网采用)
      • 受控接入
  • 典型的两种共享场景:
    • 有线局域网:总线型/集线器HUB组网 总线型以太网:所有电脑挂载一根同轴总线上 集线器HUB:内部是共享总线,所有端口同在一个冲突域 解决冲突的原理:CSMA/CD(以太网碰撞检测)
    • 无线WIFI 所有手机电脑共享一个无线频段,空中信道是公用的 解决冲突的原理:CSMA/CA

PPP 协议(点对点协议)

PPP 协议:用户使用拨号电话线接入因特网时,一般都是使用 PPP 协议

  • PPP协议应该满足的要求:
    • 简单 (首要要求)
    • 封装成帧
    • 透明性
  • 支持多种网络层协议 能标识不同的上层协议
  • 多种类型链路 支持不能传输媒介,如光纤、双绞线、同轴电缆
  • 差错检测
  • 检测连接状态 欠费、网线连接不通过等都可以会提示
  • 最大传输单元 一般最大1500字节
  • 网络层地址协商 拨号连接后分配一个网络地址
  • 数据压缩协商 对比特数据进行压缩 PPP协议不需要满足的要求:纠错、流量控制、序号、多点线路、半双工或单工链路等等 PPP协议有三个组成部分:
    • 1.链路封装协议:HDLC(链路封装协议)用于把IP数据包封装成PPP帧,实现封装成帧、透明传输、差错控制
    • 2.链路控制协议:使用LCP(链路控制协议)建立并维护数据链路连接,负责链路建立、配置、协商、检测、拆除;协商内容:最大帧长、认证方式、是否压缩等
    • 3.网络控制协议:NCP(网络控制协议)允许在点到点连接上使用多种网络层协议,协商分配IP地址、配置网络层参数,让上层IP能正常通信
  • 零比特填充:把01111110作为帧头(16进制7E),如果数据报文中有01111110,则会在5个连续的1后面填充一个0,变为011111010,接收端再把填充的0去掉

广播信道的数据链路层

CSMA/CD协议:以太网使用带冲突检测的多点接入技术

载波监听多点接入/碰撞检测

  • 载波监听:监听信道上是否正在传输的信息(电磁波)
  • 碰撞检测:计算机边发送数据边检测信道上信号电压大小,达到阈值则认为产生了碰撞。检测到碰撞后,会停止站点发送数据,避免浪费资源,等待一段随机时间后再次发送。 使用CSMA/CD协议的以太网只能进行半双工通信 争用期端到端往返时间2t,对于10MB/s的以太网,争用期内可发送512bit,即64字节。 最短有效帧长:定为64字节,是为了保证最远两个站点的冲突信号能在帧发完前传回发送方。 二进制指数类型退避算法:发生碰撞的站点在停止发送数据后,要推迟(退避)一个随机时间才能再发送数据。基本退避时间2t,r为一个递增的算数,重传所需的时延就是r倍的基本退避时间。这套算法是CSMA/CD协议实现的。

以太局域网(以太网)

  • 以太网的不可靠交付:丢包时,由高层触发重传,但以太网感知不到,当做新数据包传输

  • 集线器:集线器工作在物理层,仅放大转发电信号,无帧解析、无 MAC 寻址,全网广播。

    js
    不同硬件设备的工作分层
      物理层:集线器、中继器、网线、光纤、网卡接口
      数据链路层:交换机、网桥
      网络层:路由器
  • 10BASE-T双绞线以太网:10表示传输速率10Mbps,BASE表示基带传输,T表示双绞线。它是局域网发展史上的一个非常重要的里程碑,它为以太网在局域网中的统治地位奠定了牢固的基础。后续有发展出了100BASE-T光纤网等

  • 以太网的信道利用率:最大 = 1/1+a(无冲突的理想情况),a = t/T0 (t以太网单程端到端时延 T0帧发送时间)

  • MAC层:又称为硬件地址或物理地址,每个网卡出厂时都会有一个全球唯一的MAC地址。总计48位的二进制数,前24位代表厂家,后24位由厂家定义。电脑查到的MAC地址(ipconfig/all)缩写为16进制。适配器会检查MAC地址,判断是否是发往本站的帧;发往本站的帧分为三种:单播帧(一对一)、广播帧(一对全体)、多播帧(一对多)。

  • 抓包工具 底层网络分析 / 故障排查:选Wireshark(替代 Ethereal)。底层抓包。 服务器无 GUI 环境:选tcpdump。底层抓包。 Windows Web/API 调试:选Fiddler。HTTP 代理。 跨平台 / 移动端调试:选Charles。HTTP 代理。 自动化 / 脚本化需求:选mitmproxy。HTTP 代理。

  • 无效MAC帧 帧长度不是整数个字节 用收到的帧检测序列FCS查出有差错 数据字段长度不在46-1500字节之间 有效的MAC帧长度为64-1518字节之间 对于检查出的无效MAC帧就简单的丢弃,以太网不负责重传丢弃的帧

  • 帧间最小间隔 帧间最小间隔为9.6微秒,相当于96bit的发送时间

扩展以太网

  • 网桥:在数据链路层使用网桥扩展局域网(使用集线器会大幅扩大冲突域,一般1个集线器最多接30台计算机),网桥有过滤帧的功能,会根据MAC帧的目的地址对收到的帧进行转发。网桥的 存储转发 增加了时延,一般适合用户数不太多(不超过几百个)和通信量不太大的局域网,否则会产生网络拥堵,即广播风暴。网桥通过自学习算法处理收到的帧和建立转发表,目前使用最多的是透明网桥。透明网桥使用了 生成树算法,这是为了避免产生转发的帧在网络中不断地兜圈子(避免产生环形回路)。
  • 交换机:网桥可以连接多个集线器,每个集线器连接多台计算机。交换机相当于一个拥有很多接口的网桥,且每个接口都直连计算机。 安全相关:可以通过设置交换机端口允许的MAC地址及数量,实现网络的安全控制
  • 局域网 LAN:同一个物理范围、同一根网线/ 同一台集线器 / 同一台交换机下,直接互通的电脑组,就是局域网(Local Area Network)简称 LAN
  • 虚拟局域网 VLAN:把一台物理交换机,逻辑上切成好几个虚拟的小局域网。 物理还是一台交换机,逻辑上分成互相隔离的多个小 LAN,这就是VLAN(Virtual Local Area Network 虚拟局域网) 同一台交换机的不同VLAN的可以通过一条干道链路连接,并使用统计时分复用技术。 VLAN的核心作用: 1.隔离广播域 2.互相隔离 3.不用重新布线

高速以太网

传统10Mbps 以太网(10BASE-T)之外,速率≥100Mbps 的以太网,统称高速以太网。

  • 核心特点: 仍沿用 CSMA/CD、帧格式、最小帧长 不变 只是速率提升、物理层标准升级 拓扑还是星型、双绞线 / 光纤 兼容传统以太网,可平滑升级
  • 三大主流高速以太网标准: 百兆以太网 100BASE-T 千兆以太网 1000BASE 万兆以太网 10GBASE
  • 高速以太网共同特性 帧结构完全兼容 和 10Mbps 以太网帧格式一模一样,不用改上层协议。 为了兼容最小帧长 速率变快 → 帧发送时间变短 所以冲突域最大距离被缩小 支持全双工 / 半双工 半双工:还用 CSMA/CD,有冲突 全双工:点对点无冲突、无冲突域,距离不受冲突限制 组网不变 依然用交换机、星型拓扑,易于替换升级。

网络层

网络层(应该向运输层)提供的两种服务

  • 虚电路服务:指定一条链路,可靠性由通信子网(网络)保证;面向连接,分组按一条路由走,到达有序
  • 数据报服务:自己选择路径,可靠性由端系统(主机高层/传输层)保证;无连接,各分组独立选路,可能乱序、丢失、重复

中继系统:网络互连的设备,又称为中间系统或中间设备

  • 物理层的中继系统:转发器、中继器、集线器(HUB)
  • 数据链路层的中继系统:网桥 或 交换机(二层交换机)
  • 网络层的中继系统:路由器(三层交换机)
  • 网络层以上的中继系统:网关(也叫应用网关,后来网关也代指路由器的接口)

IP协议(网际协议/互联网协议)

  • 网际协议IP是 TCP/IP 体系中两个最主要的协议之一,与 IP 协议配套使用的还有四个协议:
    • 地址解析协议 ARP
    • 逆地址解析协议 RARP
    • 网际控制报文协议 ICMP
    • 网际组管理协议 IGMP 一般也把RARP和ARP统称为ARP协议,从而把网络层划分为IP、ARP、ICMP、IGMP四个协议
  • IP地址:是互联网/局域网里每一台设备的唯一身份编号,作用是定位设备、寻址通信。根据首位的数字可以把IP地址分为A、B、C、D、E几种类型:
    • A类:1-126开头
    • B类:128-191开头
    • C类:192-239开头
    • 几种特殊的IP地址:
      • 回环地址:127.0.0.0-127.255.255.255,如127.0.0.1
      • APIPA自动私有地址:169.254.0.0-169.254.255.255 DHCP失败自动分配(windows系统把IP地址设为自动获得后,若没有被分配则默认用这个) A类私网地址:10.0.0.0-10.255.255.255 B类私网地址:172.16.0.0-172.31.255.255 C类私网地址:192.168.0.0-192.168.255.255 D类组播:224.0.0.0-239.255.255.255 E类保留:240.0.0.0-255.255.255.255
  • 网络号 & 主机号:把一个IP拆成两部分,网络号 + 主机号,靠子网掩码划分。网络号表示当前处于哪个网段、哪个局域网,主机号表示这个网段里的某一台设备。
  • 网络地址:一个网段的第一个地址,主机位全部置0,代表整个网段本身
  • 广播地址:一个网段最后一个地址,主机位全部置1,一般是.255。作用是给本网段所有设备同事发数据,普通物理网络不能给主机用,云厂商虚拟化特殊处理可以用
  • 网关/默认网关:网关就是本网段的“出入口、大门、快递中转站”,同网段电脑互相访问,不需要走网关;要访问外网、跨网段、上互联网,则必须发给网关,由网关帮你转发出去。网关一般是路由器的内网口IP。负责: 1.内网外网之间转发数据 2.不同网段之间通信中转 3.内网主机上网的唯一出口
  • 子网掩码:又叫网络掩码、地址掩码,它不能单独使用,必须配合IP地址一起使用。作用:
    1.划分网络号和主机号,告诉电脑IP中哪部分是网段,哪部分是设备编号 2.判断两台电脑是不是同一个局域网 3,划分子网,通过变长子网掩码,把一个大网段拆成很多小网段,用来隔离广播、节省IP、方便管理
  • 超网:通过子网掩码前移,把网络位前移,后面都认为是主机位,从而把两个C类网合并为一个网段
  • 数据包转发过程中的MAC地址与IP地址:IP地址决定数据包最终要到哪个计算机,MAC地址决定了数据包下一跳要给谁
  • IP数据报:
    • 版本:4bit,标识是IPV4还是IPV6
    • 首部长度:4bit,可表示的最大数值(标识首部有多长)
    • 区分服务:8bit,给数据包打个标记,标识传输紧急程度
    • 总长度:数据包总大小
    • 标识:16bit,用来产生数据报的标识,递增加一
    • 标志:标识数据报是否是分片的
    • 片偏移:标识数据包拆分后的长度(偏移量:包大小的bit值/8)
    • 生存时间:通过TTL来控制消息中转过程中的过期
    • 协议:标识上层协议是什么(协议号)
    • 首部检验和:验证首部有没有错误
    • 源地址: IP地址,4字节
    • 目的地址:IP地址,4字节
    • 可变部分:一个选项字段,用来支持拍错、测量以及安全等措施,内容很丰富,长度从1字节到40字节不等,取决于所选项目,很少被使用
  • IP转发分组的流程
    • 数据路由:指路由器在不同网段转发数据报
    • 网络畅通的条件:数据能发出去也能接受回来 沿途路由器必须知道(发往)目标网络下一跳给哪个接口 沿途路由器必须知道(发回)源网络下一跳给哪个接口
    • windows网关就是默认路由。如果一台计算机有两个网卡,一个网卡连接互联网,一个网卡连接局域网交换机,此时内网网卡不能设置网关和DNS,而只需设置一个明细路由,让内网网段都走这个网卡即可,否则会有两个默认路由,导致上网异常。(通过route指令可以查看和设置路由表)
    • 网络负载均衡:可以通过设置路由表来实现负载均衡

ARP协议(地址解析协议)

  • ARP协议:已知IP地址,解析出MAC地址。黑客技术:ARP欺骗 是基于ARP协议广播查询MAC地址的不安全特性,可以通过ARP防火墙来避免。
  • RARP协议:已知MAC地址,解析出IP地址。(老旧无盘及其用,现已淘汰)

ICMP协议(互联网控制报文协议)

  • ICMP协议的核心作用:ICMP 就是用来探测网络通不通、报错、诊断路由问题的“网络侦察兵 + 报错员”
  • ICMP协议的三大核心功能: 1.网络连通性探测(ping命令就是ICMP) 2.网络错误报告(主机不可达、端口不可达、路由不可达) 3.路由追踪(tracert/traceroute 追踪经过哪些路由器)
  • 两大报文类型: 1.询问报文(主动探测):回显请求(ping发出去的探测包) + 回显应答(对方收到后回复我) 2.差错报告报文(网络报错),常见:
    • 1.目标主机不可达
    • 2.目标网络不可达
    • 3.端口不可达
    • 4.TTL超时(路由环路/跳数耗尽)
    • 5.分片需要但禁止分片 ...
  • ping指令和pathping指令

CIDR(无类别域间路由)

无类别域间路由,不再按 A/B/C 类地址死板划分网段,随便自定义子网掩码,还能把多个小网段合并成一个大网段,这就是 CIDR。

路由协议(选路协议)

RIP、OSPF、BGP 三个都是网络层动态路由协议(选路协议)。RIP和BGP的封装在应用层,不是网络层,但是按照功能定位划分,他们都属于网络层协议。

RIP协议(动态路由协议)

RIP协议封装在UDP520端口,属于网络层路由协议,但实际工作在应用层,基于UDP传输

  • RIP 三大工作机制: 1.周期性更新:每30秒广播一次,查询路由表是否正常 2.水平分割(防环路): 3.毒性逆转&触发更新:把失效路由跳数标为16(不可达),直接告诉邻居;拓扑变化立刻发更新,不用等30秒周期 router rip && network 指令设置动态路由

OSPF协议(开放式最短路径优先)

  • 协议分类:
    • 属于 IGP 内部网关协议
    • 类型:链路状态路由协议(和RIP协议一样,都是动态路由协议)
    • 工作层级:直接封装在IP包头内,属于网络层路由协议,工作在网络层,协议号89
    • 不适用TCP/UDP,直接封装在 IP 报文里
  • 度量值:
    • OSPF选路依据:Cost开销
    • 默认根据带宽计算,带宽越大开销越小,路径越优
    • 没有RIP协议 15跳限制,适合大型、超大型网络
  • OSPF核心机制: 1.建立邻居关系(发Hello包) 2.同步链路状态数据库LSDB 3.SPF算法计算最佳路径,生成路由表
  • 三大报文作用:
    • Hello包:发现邻居、保活邻居关系
    • DBD/LSR/LSU:同步链路状态数据库
    • LSA:链路状态通告,传递网段、拓扑信息

BGP协议(边界网关协议)

BGP协议用于连接各个自治系统,每个自治系统内部采用RIP协议或OSPF协议。BGP协议封装在TCP 179端口,属于网络层路由协议,实际工作在应用层。

VPN(虚拟专用网络)

VPN相当于在公用的互联网上,拉一条加密的“专属私密隧道”

  • 核心原理: 1.走的是互联网公网线路 2.数据被加密封装,别人截获也看不懂 3.逻辑上变成私有专用内网
  • 三个核心作用: 1.远程办公 2.异地组网 3.数据加密安全
  • 常用协议:
    • IPsec VPN:网络层,企业站点组网最常用,安全级别高
    • SSL VPN:应用层,网页/客户端就能连,远程办公主流,不用装复杂客户端

NAT(网络地址转换)

NAT就是把内网私有IP,转换成外网公网IP,让一大堆内网设备共用一个/少量公网IP上网。

  • 为什么需要NAT: 1.IPv4公网IP不够用,不可能每台电脑都分配公网IP 2.内网用私有IP 3.路由器通过NAT,统一换成公网IP往外发数据
  • 工作原理: 1.内网主机用私有IP发请求 2.路由器收到,把源私有IP改成公网IP 3.记录端口映射表 4.外网回复时,根据映射表再转回对应内网私有IP(对外只看到路由器公网IP,看不到内网真实IP)
  • 三种NAT类型: 1.静态NAT:一对一,多用于服务器对外发布 2.动态NAT:多死亡IP对应从公网IP池自动分配一对一,空闲公网IP轮流用 3.NAPT端口多路复用:多对一,所有内网设备共用一个公网IP,靠不同端口区分

PAT(端口地址转换)

核心原理:多台内网主机 --> 共用同一个公网IP --> 用不同端口区分 PAT是NAT的一种

IGMP协议(组播管理协议)

  • 工作层级:网络层
  • 核心作用:IGMP是用来管理 组播 的,让主机告诉路由器,我要假如哪个组播组、退出哪个组播组;路由器据此只把组播数据发给有需要的主机,不瞎广播浪费带宽。

VMware虚拟机的网络技术

  • VMware 虚拟机网络本质:用虚拟交换机、虚拟网卡,把宿主机、虚拟机、物理网络 做二层 / 三层互联
  • 常用三大基础模式:桥接、NAT、仅主机
  • VMnet 编号规则
    • VMnet0:固定桥接
    • VMnet1:默认仅主机
    • VMnet8:默认 NAT
    • VMnet2~7、9~19:空闲,可自定义添加仅主机 / 桥接
    • 数字可改,但NAT 全局只能一个
  • VMware搭建的虚拟机(使用虚拟网卡)和宿主机外网网卡不是同一个网段,虚拟机访问宿主机资源,需要请求虚拟网卡,而非宿主机外网网卡

运输层

运输层的主要功能

1.为 应用进程之间 提供 端到端 的逻辑通信(网络层是为 主机之间 提供逻辑通信) 2.运输层要对收到的报文进行差错检测 3.运输层提供面向连接和无连接的服务

常见传输层端口与应用层协议之间的对应关系

一个应用层协议 默认绑定 一个知名端口,传输层 TCP/UDP 用「端口号」区分不同应用。

  • http = TCP:80端口 -- 网页浏览
  • https = TCP:443端口 -- 加密网页
  • ftp = TCP:21端口 -- 传输文件(控制端口21,数据端口20)
  • tftp = TCP:69端口 -- 简单文件传输(无认证)
  • SMTP = TCP:25端口 -- 发邮件
  • POP3 = TCP:110端口 -- 收邮件
  • SQL = TCP:1433端口 -- 数据库链接
  • SMB = TCP:445端口 -- 共享文件夹/打印机(也叫CIFS)
  • DNS = UDP:53端口 -- 域名解析 (普通解析用UDP:53 区域传输、大包用TCP:53)
  • SSH = TCP:22端口 -- 远程安全登录(Linux)
  • Telnet = TCP:23端口 -- 明文远程登录(不安全)
  • RDP = TCP:3389端口 -- Windows远程桌面
  • DHCP = UDP:68端口 -- 自动分配ip(客户端68,服务端67)

网络安全相关

  • 查看端口的指令: 1.查看自己计算机侦听的端口:netstat -an 2.测试远程计算机打开的端口:telnet 10.7.1.53 21 (后面的是要测试的远程ip 和 端口)
  • 设置服务器允许放行的端口:win7使用TCP/IP筛选
  • Windows 防火墙工作原理:运行在系统内核层,进出本机所有网络数据包,全部先经过它审核,符合规则放行,不符合直接丢弃。可同时设置入站规则和出站规则,默认拦截的是入站流量
  • IPSec严格控制网络流量,能细粒度限制特定端口入站和特定端口出站的流量

TCP 与 UDP

  • 运输层协议和网络层协议的主要区别:IP协议的提供主机之间的逻辑通信,TCP和UDP协议提供进程之间的逻辑通信
  • 两个对等运输实体在通信时传送的数据单位叫作 运输协议数据单元;TCP传送的协议数据单元室TCP报文段,UDP传送的协议数据单元室 UDP报文 或 用户数据报。

UDP协议(用户数据报协议)

1.UDP协议是无连接协议,协议号17,不可靠传输,不用提前建立连接,直接发包,支持单播或广播 2.UDP报文中会添加源IP、目标IP、源端口、目标端口等信息。

TCP协议(传输控制协议)

  • TCP协议的特点:
    • TCP是面向连接的传输层协议,协议号6
    • 每条TCP连接只有能两个端点,每一条TCP连接只能是点对点的(一对一,IP + 端口)
    • TCP提供可靠交付的服务
    • TCP提供全双工通信
    • 面向字节流:TCP 把所有数据当成一串连续的字节流来传输,没有边界、不分数据包,只管源源不断收发字节,不区分应用层发了几次数据
  • TCP协议可靠传输的视线:停止等待协议(确认丢失、确认迟到)、ARQ协议(自动重传)、连续ARQ协议(累积确认) --- 核心:可靠传输的基础上,尽可能提高信道复用率(Td/ Td + RTT + Ta)
  • TCP报文格式:源端口(2字节)+ 目的端口(2字节)+ 序号(4字节)+ 确认号(4字节)+ 数据偏移 + 保留 + URG|ACK|PSH|RST|SYN|FIN + 窗口(2字节)+ 校验和(2字节) + 紧急指针(2字节) + 可变部分(选项 + 填充)
  • TCP报文首部的标记位: 1.URG 紧急位: =1 表示紧急指针有效;优先传送紧急数据,插队发送,不排队 -- 标识紧急发送 2.ACK 确认位:=1 表示确认号有效;所有数据报文、应答报文几乎都带 ACK;三次握手第二次、第四次挥手全程必备 3.PSH 推送位:=1 表示立即上交应用层,不缓存;不等缓冲区凑满,马上交给程序 -- 标识紧急接受 4.RST 复位位:=1 表示强制断开连接、重置连接;连接异常、端口未开放、拒绝连接时使用 5.SYN 同步位:=1 表示建立连接请求;三次握手专用,用来同步序列号 -- 发起会话 6.FIN 结束位:=1 表示请求释放连接;四次挥手专用,代表本方不再发数据 -- 结束会话
  • TCP流量控制:以字节为单位的滑动窗口、丢包快速重传、动态计算超时重传时间
  • TCP网络拥塞控制:慢开始(慢开始门限)、拥塞避免算法、快重传、快恢复
  • TCP的传输连接管理:
    • 传输连接有三个阶段:连接建立、数据传送、连接释放
    • 发起连接建立的应用进程交客户,被动等待连接建立的应用进程叫作服务器
    • TCP用三次握手建立TCP连接
  • TCP连接的6种状态码(连接状态,标识客户端/服务器当前处于什么握手阶段): 1.LISTEN(监听):服务器开端口,等待客户端连接 2.SYN_SENT(同步已发送):客户端发完第一次握手SYN后,等待服务端SYN+SCK 3.SYN_RCVD(同步收到):服务器收到客户端SYN,已回复SYN+SCK,等客户端第三次ACK 4.ESTABLISHED(已建立):三次握手完成,正常传输数据 5.FIN_WAIT(主动关闭方): FIN_WAIT1:客户端发了FIN,等对方ACK FIN_WAIT2:客户端收了ACK,等对方FIN 6.TIME_WAIT(四次挥手最后):客户端发完最后一个ACK,等待一段时间确保对方收到,防止丢包重传
  • 建立和断开TCP连接(三次握手四次挥手)每次交互的标记位: 三次握手: 客→服:SYN=1 服→客:SYN=1、ACK=1 客→服:ACK=1 四次挥手: 客→服:FIN=1、ACK=1 服→客:ACK=1 服→客:FIN=1、ACK=1 客→服:ACK=1

应用层

DNS服务

  • 域名:
    • 根:根域(Root)是域名体系的最顶层,用一个英文句号 . 表示,它是所有域名的起点。完整域名严格写法最后都带一个点,比如:www.baidu.com.最后这个.就是根,平时浏览器里省略不写
    • 顶级域名:com、edu、net、cn、org、gov
    • 二级域名:baidu (baidu.com)
    • 三级域名: tieba(tieba.baidu.com)、map(map.baidu.com)
    • 完全限定域名: 完整写出从主机名 → 各级域名 → 根域的完整域名,末尾必须带英文句号 .。它唯一标识互联网上一台主机,不会歧义,如www.baidu.com.,前面的www也可以是mail、ftp等,表示该域名下的不同服务
    • 域名解析测试:nslookup
  • 域名解析:即DNS解析, 当前配置的DNS服务器没有该域名的地址时,会请求根DNS服务器,根服务器指引应该请求哪个DNS服务器;已缓存的网址会走DNS缓存

DHCP(动态主机配置协议)

  • 基于UDP的应用层协议,客户端端口UDP68,服务器端口UDP67
  • 自动给局域网设备分配IP、子网掩码、网关、DNS、租期,替代手动配置静态IP
  • 工作原理:DORA 四步流程: 客户端刚开机没有 IP,只能用广播通信 1.Discover(发现):客户端广播 → 谁是 DHCP 服务器?求 IP 2.Offer(提供):服务器广播 → 我给你预留一个 IP 3.Request(请求):客户端广播 → 我就要这个 IP 4.Acknowledge(确认):服务器广播 → 分配成功,下发完整参数 + 租期 异常情况:服务器拒绝分配会回复 NAK
  • IP 分配的 3 种方式
    • 自动分配:首次分配后永久绑定该 IP
    • 动态分配:租期到期回收 IP,重新分配(家用 / 办公最常用)
    • 静态绑定:将固定 IP 绑定指定 MAC 地址(用于服务器、打印机)
  • DHCP协议和ARP协议idea对比: ARP协议:通过ip地址广播请求mac地址 DHCP:通过mac地址广播请求ip地址(逆向ARP)

FTP协议(文件传输协议)

  • 端口:
    • 控制端口:TCP 21,负责发命令(登录、上传、下载、查看文件)
    • 数据端口:TCP 20,负责传输文件内容
  • 两种工作模式:
    • 主动模式(PORT) 客户端:随机端口 → 服务器 21 端口 建立控制连接 服务器:主动用 20 端口 连接客户端随机端口传输数据 家用路由器 / 防火墙大多拦截主动模式,容易失败
    • 被动模式(PASV,日常最常用) 客户端:随机端口 → 服务器 21 建立控制连接 服务器:开放随机高端口,客户端主动连接该端口传数据 防火墙友好,默认优先使用被动模式
  • 核心功能: 客户端登录服务器(用户名 / 密码,匿名 FTP 可免密) 上传文件(本地→服务器) 下载文件(服务器→本地) 查看、重命名、删除服务器上的文件 / 文件夹
  • 安全版本: FTP:明文传输,账号密码、文件内容裸奔,不安全 SFTP:基于 SSH 加密,端口 22,安全(推荐替代 FTP) FTPS:FTP+SSL 加密,端口 990,加密版 FTP

TELNET协议(远程终端协议)

  • 远程登录控制另一台设备/电脑,默认端口TCP 23,常见应用场景: 1.远程管理路由器、交换机、防火墙 2.测试端口通不通(最常用功能) 3.早期远程管理 Windows/Linux 服务器
  • 工作原理 1.客户端发起 TCP 连接,连服务器 23 端口 2.账号密码明文发送,登录成功 3.客户端输入指令 → 服务器执行 → 结果返回客户端 4.全程明文传输,无任何加密
  • 指令: telnet连接到远程服务器 telnet 192.168.1.21 测试某个端口通不通,比如测试 FTP 21 端口、DNS 53 端口是否开放:telnet 192.168.2.1 21

RDP协议(远程桌面协议)

  • 远程桌面协议,默认端口TCP 3389
  • 场景:Windows远程桌面连接(mstsc),让你在一台电脑上远程操作另一台Windows电脑,完整控制对方桌面、鼠标、键盘、文件、软件等
  • 工作流程: 1.被控制端(服务器):开启远程桌面功能,开放3389端口 2.控制端(客户端):打开mstsc,输入对方IP 3.建立TCP连接,验证Windows账号密码 4.传输画面、鼠标键盘指令、文件、剪切板,实现远程控制
  • 远程连接专用组:Remote Desktop Users,权限与普通过户相同,仅开放远程连接权限;
  • Window Service 是多用户操作系统,启动桌面后可以多用户同时使用服务器(最多链接2个); Windows XP/7/10/11是单用户系统
  • 指令: 添加用户 net user han a1! /add 更改用户密码 net user administrator a1!

HTTP协议(超文本传输协议)

  • HyperText Transfer Protocol 超文本传输协议,应用层协议,传输层靠TCP实现可靠传输,端口号 TCP 80,IP协议号 6(TCP)
  • 核心作用:浏览器/客户端 和 Web服务器之间传输网页数据,浏览网页、接口请求、访问网站全靠它
  • 工作原理(C/S 客户端 - 服务端架构,应用层协议), 完整四步工作流程:
    • 1.建立连接

      • HTTP/1.1、HTTP/2:三次握手建立连接
      • HTTPS:三次握手之后,额外执行TLS握手,协商秘钥、校验证书、建立加密通道
      • HTTP3: 直接UDP发包,QUIC内嵌TLS1.3,一次RTT完成连接+加密协商
    • 2.客户端发送 HTTP 请求报文

      • 请求报文分四部分:请求行、请求头、空行、请求体
      http
        GET /index.html HTTP/1.1        // 请求行:方法+资源+版本
        Host: www.xxx.com               // 请求头
        User-Agent: Chrome/xxx
                                        // 空行(必须)
        // POST才有请求体,GET无
    • 3.服务器处理请求并返回响应报文

      • a.Nginx 根据Host头找到对应站点目录;
      • b.读取静态资源 / 转发后端程序 (Java/PHP) 生成页面;
      • c.组装响应报文:状态行 + 响应头 + 空行 + 响应体
      http
        HTTP/1.1 200 OK                 // 状态行:版本+状态码
        Content-Type: text/html         // 响应头
        Content-Length: 1024
                                        // 空行(必须)
        <html>页面内容</html>            // 响应体(真正返回的数据)
    • 4.关闭 / 复用连接

      • HTTP/1.0 默认短连接:响应完毕TCP 四次挥手直接断开;
      • HTTP/1.1/2/3 默认长连接 (Keep-Alive):TCP 保留,短时间内复用连接发下一次请求,空闲超时断开。
  • 不同版本的演进:
    • HTTP/1.0:基于TCP(http80 https443)传输,无状态(通过cookie、session来尽量弥补),无连接(需手动设置keep-alive以支持长连接),明文传输(HTTP裸传,HTTPS加TLS加密、防篡改),C/S架构(请求/应答模式 由客户端主动发起请求,服务器被动返回响应)
    • HTTP/1.1: 默认长连接,虚拟主机头,缓存,断点续传 -- 存在对头阻塞
      • 虚拟主机头:早期HTTP/1.0时代没有Host头,服务器依靠客户端连接的目标IP区分站点,一个站点对应一个独立公网IP,IP资源稀缺、租用IP成本极高,小型站点无法共用一台服务器资源,无法实现虚拟主机。HTTP/1.1通过在请求中携带host头,解决了一台服务器可以跑N个网站(多域名)、多个域名共用一个IP,这就叫虚拟主机。原理是浏览器发请求时带上Host:域名,服务器收到请求,看Host头,把请求转发到对应的目录,返回对应网页,比如多域名a.com/b.com/c.com通过DNS解析,全部指向同一个服务器IP。没有Host头,就没有现在的虚拟主机、云服务器、共享主机、负载均衡、CND技术。后来为了在HTTPS的TLS握手阶段携带域名,又衍生出SNI扩展,没有SNI的话,一台IP只能部署一个HTTPS证书。
      • 缓存:对强缓存进行了升级,开始支持协商缓存。强缓存(HTTP/1.1Cache-Control、HTTP/1.0仅有Expires 匹配返回200 from disk)、双协商缓存(基于修改时间的 LastModified + If-Modified-Since 和 基于文件指纹的 ETag + If-None-Match 匹配返回304)
      • 断点续传:文件下载断开后,下次可以从断开的位置继续下载,不用从头重来。核心请求头/响应头:浏览器告诉服务器:Range: bytes=1024- 从1024字节开始下载,服务器回应 Content-Range: bytes 1024-/总大小,从1024开始传输。端点续传成功的状态码:206 Partial Content。
    • HTTP/2: 强制HTTPS,二进制帧,多路复用,头部压缩,服务端推送
      • 二进制帧:全部拆成固定格式的二进制小帧,所有请求、响应数据切割成一个个独立的二进制单元,每一帧固定结构:帧头(标识类型、流ID、长度)+帧体,帧类型有:HEADERS 帧(请求头)、DATA 帧(请求体 / 响应体)、SETTINGS 帧、PUSH_PROMISE 帧等。作用:二进制机器解析更快,解析开销远小于文本;实现数据拆分,为多路复用打下基础;区分控制帧和数据帧,管理连接、流。一个网页的HTML、图片、CSS不再是整份报文,被切成多段二进制帧交错传输。
      • 多路复用:一条TCP长连接内,划分出多个独立逻辑Stream流,一个请求对应一条Stream,分配唯一Stream-ID;不同流的二进制帧可以交错混杂发送。作用:单个流丢包或卡顿,只阻塞当前流,其它流正常传输,彻底解决应用层队头阻塞。
      • 头部压缩:HTTP每次请求头高度重复(User-Agent、Cookie、Host、Accept等字段反复携带),冗余流量大。HPACK是HTTP/2专属压缩算法,通过静态字典(内置常用的Header键值用数字编码代替完整字符串)和动态字典(客户端和服务器各自维护一张动态表,本次出现的新头存入表格,后续出现只用索引编号代替)。作用:重复请求头由几十个字节压缩到1-2字节,答复减少请求带宽开销。
      • 服务端推送Server Push:客户端值请求A资源(index.html),服务器预判页面依赖资源(css、js、图片),主动提前把关联资源化推送到客户端缓存,不用客户端再逐个发送请求。优势:减少请求往返次数,优化首屏加载。-- 最新浏览器都不再支持服务端推送,改为支持preload预加载(Server Push思路太理想,实际无法适配浏览器缓存机制,弊大于利)
    • HTTP/3:基于QUIC协议(UDP 443端口)、原生TLS加密,彻底消除对头阻塞
  • 各个版本关于“队头阻塞”的处理:
    • HTTP/1.0:默认短连接、串行请求,天生有应用层队头阻塞问题,无优化
    • HTTP/1.1:默认长连接,减少了建立TCP连接的开销,但依旧是串行收发请求;做了Pipeline管道化,允许客户端连续多发多个请求,不用等上一个响应,但Pipeline浏览器基本不用,靠多开TCP来缓解阻塞。缺陷是服务器必须按照请求顺序依次返回响应,本质还是串行执行,第一个请求慢或者丢包时,后续响应全部卡住,应用层队头阻塞本质问题没有解决。
    • HTTP/2:底层仍基于TCP,只解决了应用层队头阻塞,TCP层阻塞原样保留。优化手段:二进制帧 + 单连接多路复用,所有请求拆成独立二进制帧,一条TCP分成多条逻辑Stream(流);不同流的帧交错传输,一个流丢包/卡针,直营校自身流,其它流正常收发。彻底解决了应用层队头阻塞,不用多开大量TCP,减少握手损失。但TCP层队头阻塞依旧存在,TPC是字节流,只要TCP任意一个分片丢失,整条TCP连接暂停等待重传,所有流全部卡住;弱网、高丢包环境下HTTP/2性能反而不如优化后的HTTP/1.1.
    • HTTP/3: 传输层基于QUIC协议,UDP承载,基于UDP自研实现可靠传输。QUIC每条Stream拥有独立的丢包检测、重传机制;连接由Connection ID标识,不再绑定IP+端口;每个流数据有独立唯一编号,单个流丢包 --> 仅重传当前流数据,不会阻塞其它流。彻底根除了应用层+传输层两层队头阻塞问题,弱网、手机切WiFi/流量场景优势巨大,移动端逐步切换HTTP/3
  • 交互流程:
    • HTTP: 三次握手 (TCP) → 明文传数据 → 四次挥手 (TCP)
    • HTTPS: 三次握手 (TCP) → TLS 加密握手 → 密文传数据 → TLS 关闭通知 → 四次挥手 (TCP)
  • HTTP请求方法(常用5个): 1.GET:获取资源(查网页、查数据,参数放URL里) 2.POST:提交数据(登录、注册、上传表单,参数放请求体) 3.PUT:修改/更新资源 4.DELETE:删除资源 5.HEAD:只获取响应头,不获取正文(测试连通性)
  • 状态码(服务器返回的结果):
    • 2xx 成功 200 OK:表示请求成功,正常返回数据
    • 3xx重定向 301:永久重定向 302:临时重定向
    • 4xx客户端错误 400:请求参数错误 401:未登录/未授权 403:禁止访问
    • 5xx服务器错误 500:服务器内部错误 503:服务器不可用
  • HTTP报文结构
    • 请求报文
      • 请求行(方法 + URL + 协议版本)
      • 请求头(浏览器信息、Cookie、格式等)
      • 请求体(POST提交的数据)
    • 响应报文
      • 状态行(状态码)
      • 响应头(服务器信息、Cookie、缓存)
      • 响应体(网页HTML、图片、JSON数据)
  • HTTP与HTTPS核心区别: | 协议 | 端口 | 安全性 | 特点 | | :----: | :----: | :------: | :----------: | | HTTP | 80 | 明文传输,不安全 | 速度快无加密 | | HTTPS | 443 | TLS加密 安全 | 防劫持,放窃听,网站标配 |
  • URL的一般形式:<协议>://<主机>:<端口>/<路径>

电子邮件相关协议(SMTP、POP3、IMAP)

  • SMTP:发邮件(客户端-->服务器 或 服务器之间互发)
    • 简单邮件传输协议,发邮件
    • 端口:明文25,加密465(SSL)/587(STARTTLS)
  • POP3:收邮件,下载到本地,服务器不留副本
    • 邮局协议版本3,收邮件;接收邮件,下载到本地电脑
    • 端口:明文110,加密995(SSL)
    • 连接服务器,把邮件全部下载到本地;默认下载后,服务器删除原件;多设备登录看不到历史邮件
    • 适用:只用一台设备收邮件,本地存档
  • IMAP:收邮件,在线管理,邮件保留在服务器
    • 互联网消息访问协议,收邮件
    • 在线管理邮件,服务器保留副本
    • 端口:明文143,加密993(SSL)
    • 邮件一直存在邮箱服务器,不下载到本地;电脑、手机、网页端实时同步;可在线新建文件夹、分类、标记
    • 适用:多设备办公(手机+电脑同时用)

网络安全

网络安全问题概述

  • 安全问题的分类: 1.数据存储安全 2.应用程序安全 3.操作系统安全 4.网络安全 5.物理安全 6.用户安全教育
  • 计算机网络的四种安全威胁: 1.截获 -- 从网络上窃听他人的通信内容 2.中断 -- 友谊中断他人在网络上的通信 3.篡改 -- 故意篡改网络上传送的报文 4.伪造 -- 伪造信息在网络上传送 其中截获信息的攻击成为被动攻击,而更改信息和拒绝用户使用资源的攻击成为主动攻击
  • 计算机面临的安全威胁 1.计算机病毒 -- 会“传染”其他程序的程序,“传染是通过其他程序来把自身或其变种复制进去完成的”(熊猫烧香) 2.计算机蠕虫 -- 通过网络的通信功能将自身从一个节点发动到另一个节点并启动运行的程序 3.特洛伊木马 -- 一种程序,它执行的功能超出所声称的功能(盗号木马、灰鸽子木马) 4.逻辑炸弹 -- 一种当运行环境满足特定条件时执行其他特殊功能的程序
  • 排查电脑中有无木马程序的两种手段: 1.查看回话 netstat -n 是否有可疑会话 2.运行msconfig 服务 隐藏微软服务,看有无可疑服务

加密技术

一套完整加密 = 加密算法 + 密钥 两大核心组成

  • 按秘钥使用方式分类: 1.对称加密(单秘钥加密) 2.非对称加密(公私钥) 3.混合加密(工程落地方案,如HTTPS/TLS)
  • 按加密变换方式分类: 1.分组加密:把明文切成固定长度逐块加密(主流 文件/传输 加密) 2.流加密:比特位逐个加密
  • 按实现功能分类: 1.可逆加密:对称、非对称(能解密还原原文)
    • 不可逆加密(单向哈希算法):MD5、SHA1、SHA256、SM3;用途:密码存储、文件校验、防篡改、数字签名
  • 按国别分类: 1.国际算法:AES、RSA、SHA 系列 2.国产国密算法:对称 SM4、非对称 SM2、哈希 SM3
  • 对称加密:加密秘钥和解密密钥是同一个秘钥
    • 特点: 1.加密、解密使用同一个密钥 Key; 2.算法运算简单、速度极快、消耗 CPU 低; 3.密钥必须严格保密,不能外泄; 4.典型算法:AES、DES、3DES、RC4(DES 淘汰),现代主流 AES-128/AES-256。

    • 工作流程: 1.收发双方提前协商出唯一密钥,各自本地保存; 2.发送方:明文 + 密钥 → 对称算法 → 密文(传输); 3.接收方:密文 + 相同密钥 → 解密 → 还原明文。

      plaintext
        明文 →【密钥+AES】→密文(网络传输)→【同密钥+AES】→明文
    • 优点: 1.加解密效率极高,适合大体积数据加密(文件、网页正文、视频); 2.算法成熟,密文体积膨胀小。

    • 缺点: 1.密钥分发难题:公网传输密钥极易被窃听劫持,密钥一旦泄露数据全裸; 2.多用户场景密钥爆炸:N 个用户互相通信需要 N*(N-1)/2 个独立密钥,管理困难。

  • 非对称加密:加密秘钥和解密密钥是不同的,两个秘钥组成一个密钥对,一个公钥一个私钥。可以用公钥加密私钥解密,也可以用私钥加密公钥解密。
    • 特点: 1.密钥成对生成:公钥(Public)、私钥(Private),数学上无法由公钥算出私钥; 2.公钥任意对外公开,私钥自己严密保管绝不外传; 3.公钥加密→只能私钥解密;私钥签名→公钥验签; 4.主流算法:RSA、ECC椭圆曲线。

    • 工作流程: 1.服务端生成公私钥,把公钥发给所有人,私钥自留; 2.客户端用对方公钥加密数据,发送密文; 3.只有持有者用对应私钥才能解密。

      plaintext
        明文→公钥加密→密文→私钥解密→明文
    • 优点: 1.解决密钥分发问题,公钥明文传输不怕窃听; 2.可实现数字签名、身份校验(防篡改、防冒充)。

    • 缺点: 1.运算极慢,算力消耗巨大,不适合大块业务数据加密; 2.同等安全强度下密钥长度远大于对称密钥。

  • 数字签名:数字签名依托非对称加密(非对称加密算法 RSA/ECC/SM2)实现,属于非对称加密的衍生用法,但二者目的完全不同。加密:保密防窃听;签名:防篡改、防抵赖、身份核验。 -- 签名不用加密原文,只加密原文哈希值(非对称运算慢,原文太大无法全量加密)
    • 特点: 1.使用私钥签名、公钥验签(和加密公私用法相反) 2.不对原文加密,只对原文哈希摘要做加密,效率高 3.三个核心能力:身份认证、防篡改、不可抵赖 4.公开公钥,私钥签名人独自保管(私钥相当于印章)
    • 完整工作流程:(原文明文传输,签名用来校验,不做保密) 发送方 1.原始报文 → 哈希运算 → 摘要(指纹) 2.使用发送方私钥加密摘要,生成数字签名 3.把【原文 + 数字签名】一起发给接收方 接收方 1.拆分:原文、签名 2.用发送方公钥解密签名,得到原始摘要 3.接收方对收到的原文重新哈希,生成新摘要 4.两个摘要对比: 相等:数据没篡改、发送人合法 不等:篡改或伪造,丢弃数据
    • 优点: 1.防篡改:原文改动任意字符,哈希改变,验签失败; 2.身份核验:只有私钥持有者能生成合法签名,无法冒充; 3.不可抵赖:私钥唯一归属本人,事后不能否认发送; 4.只加密短小哈希,规避非对称加密速度慢的缺陷。
    • 缺点: 1.依赖公私钥体系,公钥真实性依赖 CA 证书体系,CA 出事整体不安全; 2.非对称算法算力消耗高于对称、哈希,大批量高频签名占用服务器资源; 3.无时间戳时,存在旧签名重复复用(重放攻击)风险,需要搭配时间戳。
  • 单向散列函数(哈希函数 Hash):
    • 单向散列函数 = 不可逆摘要算法:输入任意长度明文 / 文件,固定输出一段定长哈希值(文件指纹)。只能正向算摘要,无法通过哈希反还原原始数据,因此叫单向、不可逆。不属于加密(加密可解密还原原文),属于密码学完整性校验算法。
    • 核心五大特性: 1.输入任意长度,输出固定长度:MD5 输出 128bit (32 位 16 进制);SHA256 固定 256bit (64 位),无论几字节还是几个 G 文件 2.雪崩效应(微小改动,哈希巨变):原文只改 1 个字母、空格,最终哈希完全不一样 3.单向不可逆:指纹推不出原文。拿到hash值,数学上无法反推原始数据 4.抗碰撞:很难找到两段不同原文,算出同一个哈希。理想算法:不同数据→不同指纹;MD5、SHA1 已被攻破碰撞漏洞。 5.确定性:同一原文,无论何时运算,哈希永远一致。
    • 常见主流算法 1.MD5(128 位):已破解、存在碰撞,禁止安全场景使用;仅用于简易文件校验。 2.SHA1(160 位):同样被攻破碰撞,淘汰,旧版 Git、老证书遗留。 3.SHA256/SHA512(SHA2):现在互联网标准,密码存储、文件校验、数字签名标配。 4.国密 SM3:国产商用哈希算法,银行、政务国产化替代 SHA256。
    • 工作流程: 明文数据 → 单向哈希运算 → 唯一哈希摘要(指纹)
    • 实际应用场景: 1.网站数据库存储用户密码(最常用):网站不存明文密码,只存密码的 SHA256 哈希,即便数据库泄露,黑客拿哈希无法反推原始密码。 2.文件完整性校验:软件官网附带 SHA256 值,用户下载文件后本地算哈希,一致 = 文件没被捆绑木马、没损坏 3.配合非对称实现数字签名:原文→哈希生成摘要→私钥加密摘要 = 数字签名 4.区块链:区块数据打包后用 SHA256 生成区块哈希,链式绑定,篡改任意区块数据全链哈希失效
  • 证书颁发机构CA:
    • CA(Certificate Authority,证书颁发机构),是受信任的第三方权威组织,负责:签发数字证书、管理公私钥、身份审核、吊销证书,是整个公钥密码体系(PKI)的信任核心
    • 核心工作原理 1.CA 自身持有:CA 根私钥(绝密,永不外泄)、CA 根公钥(打包进根证书,预装在 Windows、手机、浏览器里) 2.企业 / 个人向 CA 提交资质 + 自己的公钥 3.CA 人工核验主体真实身份(域名、企业营业执照) 4.CA 用自己的根私钥对申请者公钥做数字签名,生成数字证书 5.用户浏览器 / 系统内置 CA 根证书,使用CA 根公钥验签证书:验签通过 → 证书可信、网站公钥合法
    • 证书分层结构(三层 CA 架构)
      • 根 CA(Root CA,顶层) 最高信任源,操作系统、浏览器出厂预装根证书; 不直接给网站发证书,只签发二级中间 CA 证书; 根私钥物理严苛保管(离线封存,断网保存),一旦泄露全网信任崩塌。
      • 中间 CA(二级 CA / 从属 CA) 由根 CA 授权签发证书,日常负责签发网站 SSL 证书、代码签名证书; 根证书信任根 CA → 自动信任所有中间 CA 签发的证书。
      • 终端实体(网站、软件、个人) 向中间 CA 申请证书,也就是我们访问的 HTTPS 网站
    • CA 主要功能 1.身份审核:DV 只验证域名所有权;OV 核验企业信息;EV 严苛工商实地核验(浏览器地址栏显示企业名称) 2.签发数字证书:证书包含:主体信息、公钥、有效期、CA 签名、证书序列号 3.证书吊销:域名注销、私钥泄露时,发布 CRL 吊销列表 / OCSP 在线吊销,让证书提前失效 4.生命周期管理:证书到期提醒、证书续期
    • 证书组成内容: 一张 SSL 证书固定包含:①使用者(网站域名 / 企业名)②使用者公钥 ③CA 机构信息 ④证书有效期 ⑤CA 的数字签名
    • 分类(按证书用途) 1.SL/TLS 证书:网站 HTTPS 加密(阿里云、Let’s Encrypt 免费证书) 2.代码签名证书:软件厂商签名安装包,防止程序被篡改捆绑病毒 3.文档签章证书:PDF 电子签章、电子合同 4.个人证书:网银 U 盾、身份认证
    • 常见 CA 分类 1.国际权威商业 CA:DigiCert、Sectigo、Globalsign(全球浏览器系统默认信任) 2.免费公益 CA:Let’s Encrypt(90 天免费 SSL,绝大多数小网站在用) 3.国内 CA(国密):CFCA、GDCA、上海 CA,国内政务、银行、国企常用 SM2 国密证书 4.私有 CA:企业自建 CA(IIS、OpenSSL 自建),不会被公网浏览器信任,仅内网测试使用
    • 优点 1.构建公钥信任链,从源头防御中间人替换公钥劫持 HTTPS 2.证书具备法律效力,电子签名受法律认可 3.分层架构,根密钥离线保存,安全性高
    • 缺点 1.商用 OV/EV 证书收费,成本高 2.若 CA 机构私钥被盗、违规滥发证书,会造成大规模网络安全风险 3.私有自建 CA 需要手动安装根证书到客户端,否则浏览器报不安全

安全套接字SSL

  • Socket(套接字)= IP 地址 + 端口号,是应用程序和 TCP/IP 协议栈之间的接口,用来实现两台电脑网络通信。普通 Socket:明文传输(HTTP)。安全套接字 SSL Socket:在普通 Socket 外层套 TLS 加密(HTTPS)。
  • SSL 是架在 TCP 和应用程序中间、给 Socket 套接字做加密封装的协议,作用把明文网络连接变成加密连接,后来升级改名叫 TLS。
  • 三大设计目标: 1.保密性(加密):传输数据使用 AES 对称加密,中间人抓包全是密文,无法窃听内容; 2.完整性(防篡改):借助 SHA256 等哈希算法校验报文,数据被篡改直接丢弃; 3.身份认证(防中间人劫持):依托 CA 数字证书验证服务器真实身份,杜绝黑客伪造网站。
  • SSL 两层协议架构
    • 握手协议 Handshake Protocol(连接前执行):负责协商规则、校验证书、协商临时会话密钥,HTTPS 建立连接第一步全靠它。
    • 记录协议 Record Protocol(连接建立后持续工作):上层 HTTP 数据交给记录层:分段→压缩→加哈希校验→TLS 加密→添加头部→交给 TCP 发送。所有业务数据加密传输全由记录协议实现。
  • 经典 TLS 握手过程(RSA 密钥交换,TLS1.2 主流): 1.Client Hello(客户端→服务器):客户端发送:可用 TLS 版本列表、客户端随机数 Random_C、支持的加密套件。 2.Server Hello(服务器→客户端):服务器选定 TLS 版本、加密套件,生成服务端随机数 Random_S,下发网站 SSL 证书(内含网站公钥 + CA 签名)。 3.客户端验证证书:调用操作系统内置CA 根证书公钥验签,证书合法→确认网站公钥可信,杜绝公钥被篡改替换。 4.生成预主密钥 Pre-Master Secret:客户端随机生成一段 Pre-Master,使用网站公钥加密后发给服务端(密文传输,窃听者无法解密)。 5.服务器解密:服务器用自身私钥解开密文,拿到 Pre-Master。 6.双方生成一致会话密钥:客户端、服务端用 Random_C+Random_S+Pre-Master 推导出同一个 AES 会话密钥。 7.Change Cipher Spec + 加密通信:切换加密模式,后续所有 HTTP 数据全部用 AES 对称加密传输。
  • TLS1.3 优化:握手由两轮往返缩短为一轮,废弃不安全 RSA 密钥协商,默认 ECC 椭圆曲线,速度更快、漏洞更少
  • 优点 1.混合加密兼顾安全与传输效率 2.CA 证书机制从链路层抵御 ARP 中间人、DNS 劫持 3.通用性极强:HTTPS、FTPS、SMTPS、数据库加密连接、RDP 加密均基于 TLS
  • 缺点 1.老旧协议存在大量安全漏洞(心脏出血、BEAST、CRIME) 2.SSL 握手增加少量连接延迟、消耗服务器 CPU 3.证书过期、配置错误会导致浏览器不安全告警、网站无法访问
  • 不同协议使用安全套接字后的端口:
    • https:TCP 443
    • imaps:TCP 993
    • pop3s:TCP 995
    • smtps:TCP 465

应用层的安全

  • 应用层常见协议:HTTP、FTP、DNS、SMTP/POP3、Telnet、RPC、MySQL、Redis 等。
  • 典型应用层攻击 1.Web 类攻击(HTTP) SQL 注入:构造恶意参数拼入 SQL 语句,窃取数据库、删库。 XSS 跨站脚本:页面植入 JS,窃取 Cookie、劫持用户会话。 CSRF 跨站请求伪造:冒用用户身份执行转账、改密码。 文件上传漏洞:上传恶意脚本,拿到服务器权限。 目录遍历:../读取服务器配置、源码。 HTTP 劫持:运营商 / 中间人篡改网页、插入广告。 2.老旧明文协议漏洞 FTP、Telnet 明文传输账号密码,抓包直接窃取登录凭据; SMTP 邮件伪造:伪造发件人,钓鱼诈骗。 3.DNS 攻击(DNS 属于应用层) DNS 劫持、DNS 污染,域名指向钓鱼 IP; DNS 放大 DDoS。 4.应用层 DoS(CC 攻击) 大量高频正常 HTTP 请求耗尽服务器 CPU / 连接池,和网络层 ICMP 洪水不同:数据包是合法应用请求,防火墙很难区分。 5.中间件漏洞 Apache、Nginx、Tomcat、IIS、Redis、Mongo 未授权访问、命令执行漏洞,黑客直接拿下服务器。 6.钓鱼、恶意软件 恶意 APP、木马、钓鱼网站,窃取账号、隐私数据。
  • 应用层安全防护手段
    1. HTTPS(TLS 加密) HTTP 明文→HTTPS 加密传输,防抓包窃听、网页劫持;前端本地调试 HTTPS 就是应用层加密落地。
    2. WAF Web 应用防火墙 专门防护应用层攻击,拦截 SQL 注入、XSS、上传木马、CC 攻击(网络防火墙防不了注入,必须 WAF)。
    3. 代码开发安全 SQL 预编译防注入; 输入过滤、输出转义防 XSS; 验证码、Token 防 CSRF; 限制文件类型防恶意脚本上传。
    4. 协议加固 Telnet、FTP 替换为 SSH、SFTP; SMTP 启用 SSL/TLS(SMTPS)加密收发邮件。
    5. DNS 安全 DNSSEC 签名防 DNS 篡改劫持,使用公共可信 DNS。
    6. 中间件加固 关闭多余端口、禁用危险函数、定期补丁、设置访问密码(Redis/Mysql 禁用外网裸奔)。
    7. 身份安全 密码加盐哈希存储(SHA256 + 盐,不存明文)、多因素认证

传输层的安全

  • 传输层核心:TCP 可靠连接、UDP 无连接,端口通信(22/80/443/3306);安全围绕端口、TCP 连接、报文劫持、流量 DoS展开,介于网络层 IP 与应用层 HTTP 中间
  • 传输层典型漏洞与攻击 1.TCP 相关攻击 SYN 洪水(SYN Flood) 攻击者海量发送 SYN 握手包,只发 SYN 不回 ACK,占满服务器半连接队列,服务器资源耗尽无法接收正常连接(经典传输层 DDoS)。 2.TCP 会话劫持 猜测 TCP 序列号,伪造数据包插入已建立的 TCP 会话,篡改传输内容、劫持会话。 3.端口扫描 TCP 全连接扫描、半开扫描,探测服务器开放端口,收集服务信息作为渗透入口。 4.UDP 相关攻击 UDP 洪水:海量无用 UDP 报文占满带宽与服务器端口资源。 反射 / 放大攻击(DNS/SSDP 放大):利用开放 UDP 服务,小请求返回超大报文,形成大流量 DDoS。 5.中间人流量窃听篡改 TCP/UDP 裸奔明文传输,中间人抓包可直接读取账号、数据(HTTP/FTP 基于传输层明文)。
  • 传输层主流安全技术
    1. TLS/SSL(传输层安全核心协议,重点) 工作在 TCP 之上、应用层之下,传输层加密标准: TCP 裸报文 → TLS 加密 → 密文 TCP 传输; HTTPS、FTPS、SMTPS、SSH 底层都依赖 TLS; 实现:加密防窃听、哈希防篡改、证书身份认证。 区分:IPSec 在网络层(IP 内侧),TLS 在传输层 TCP 上层。
    2. 防火墙端口策略 基于 TCP/UDP 端口做访问控制:关闭高危无用端口(135、139、445),只放行业务必要端口。
    3. TCP 防护:SYN Cookie 内核开启 SYN Cookie,防御 SYN 洪水,服务器不再占用半连接队列。
    4. 限流与访问控制 防火墙 / 负载均衡对 TCP、UDP 做连接数、单 IP 速率限制,抵御端口泛洪、CC 前置流量。
    5. 端口隐蔽与 NAT 内网主机通过 NAT 隐藏真实端口与 IP,外网无法直接扫描内网端口。

网络层的安全-IPSec

  • 常见网络层攻击手段:
    1. IP 地址欺骗 2.ICMP 攻击:Ping 洪水、死亡之Ping、ICMP重定向欺骗 3.ARP攻击(局域网核心攻击):ARP欺骗/ARP中毒 4.路由攻击 5.分片攻击 6.DDoS/DoS攻击(网络层流量型)
  • 网络层主流安全防护技术 1.访问控制列表ACL 2.防火墙(三层防火墙/状态防火墙) 3.IPSec(IP 安全协议,网络层加密标准) 4.防IP地址欺骗:路由设备配置URPF(单播反向路径转发) 5.ICMP管控:ACL/防火墙限制ICMP报文 6.ARP防护(对抗ARP攻击):静态ARP绑定、DAI(动态ARP检测)ARP网关防护、ARP防火墙 7.路由安全加固 8.抗DDOS(网络层流量清洗) 9.网段划分与隔离
  • IPsec:IP安全协议,网络层加密标准,是一套基于 IP 协议的加密与认证标准,专为 IP 报文 提供安全防护,主要用于:数据加密传输、数据源身份认证、报文完整性校验(防篡改)、防重放攻击。
    • 典型应用:VPN(IPsec VPN)、跨网段加密通信、企业专线加密
    • 工作在网络层,直接对IP数据包进行封装、加密、校验
    • 两大模式:
      • 传输模式:仅加密上层数据(主机间加密通信)
      • 隧道模式:整个 IP 数据包加密(站点 VPN,企业异地内网互通)
  • IPsec两大核心协议:
    • AH(认证头部):AH鉴别源点和检查数据完整性,但不对数据加密,仅校验签名,IP首部协议号置为51 -- 身份认证 + 完整性校验 + 防重放
    • ESP(封装安全载荷):ESP比AH复杂得多,它鉴别源点、检查数据完整性和提供保密,IP首部协议号置为50。 -- 加密 + 认证 + 完整性 + 防重放

数据链路层的安全

  • 链路层依托MAC 地址、ARP 协议、交换机转发,工作在网卡与 IP 层之间,主要威胁集中在局域网内网
  • 数据链路层常见攻击
    1. ARP 欺骗(ARP 毒化,内网最经典) 原理:伪造 ARP 应答包,篡改网关 MAC 映射,把本机伪装成网关。 后果:内网全部主机流量经过攻击者网卡,中间人抓包 HTTP 明文账号密码、篡改网页。
    2. MAC 地址泛洪(交换机 CAM 表溢出) 交换机 CAM 表存储「MAC - 端口」映射,攻击者发送海量虚假 MAC 帧填满 CAM,交换机退化成集线器,所有端口广播数据,攻击者监听全网流量。
    3. MAC 地址欺骗 伪造合法主机 MAC,冒用终端身份接入交换机,绕过基于 MAC 的端口白名单。
    4. VLAN 跳跃攻击 利用交换机漏洞跨 VLAN 收发数据,突破网段隔离,访问其他 VLAN 内网设备。
    5. 广播风暴 恶意发送大量广播帧,占用交换机带宽,内网大面积断网卡顿。
  • 链路层安全防护措施
    1. ARP 防护:DAI + 静态 ARP 绑定 DAI(动态 ARP 检测):交换机校验 ARP 报文合法性,拦截虚假 ARP 应答,根治 ARP 欺骗; 关键设备(网关、服务器)手动静态绑定 IP-MAC,不受 ARP 欺骗影响。
    2. 端口安全(Port-Security) 交换机配置:限定每个端口允许接入的 MAC 数量,防止 MAC 泛洪、非法 MAC 接入,陌生 MAC 接入直接 shutdown 端口。
    3. VLAN 划分 + VLAN 安全 合理划分 VLAN 隔离业务网段,默认关闭 Trunk 自动协商,防范 VLAN 跳跃。
    4. 802.1X 端口准入认证 接入网线必须账号密码 / 证书认证,认证失败无法接入局域网,杜绝私接设备、非法终端入网。
    5. 抑制广播风暴 交换机配置广播风暴抑制阈值,超过流量自动丢弃多余广播帧。

物理层的安全

  • OSI第一层,包含:网线、光纤、交换机硬件、机房、供电、无线信号、设备实体等。物理层是所有网络最底层,管控硬件、线路、环境、物理接入,攻击不靠代码漏洞,靠人为接触、线路破坏、电磁窃取。
  • 物理层常见安全威胁 1.物理破坏 剪断网线、损坏交换机 / 路由器、断电断空调,直接造成整网瘫痪,属于物理 DoS。 2.线路搭线窃听 内网双绞线旁接窃听设备,抓取链路原始电信号,监听全部链路数据;光纤无法搭线窃听,但可分光窃听。 3.非法私自布线 内网私拉网线、私自接交换机,绕过防火墙、安全区域,非法接入内网。 4.无线电磁泄露(电磁泄密 TEMPEST) 交换机、网线、显示器向外辐射电磁波,专用设备远距离还原屏幕、网络数据。 5.设备盗用、替换 偷换机房交换机、接入假冒设备,实现内网流量劫持。 6.恶意接入 私自插入网线到空闲交换机端口,接入非法终端入侵内网。 7.供电干扰 恶意扰动市电、雷击、短路,设备宕机断网。
  • 物理层安全防护措施
    1. 机房环境安全 机房门禁:刷卡 / 人脸准入,闲人禁止进入机房机柜区; 机房监控:7×24 视频录像; 恒温 UPS 不间断电源,防雷接地,避免断电宕机。
    2. 线缆防护 网线走弱电桥架、封闭管线,禁止裸露布线,防止搭线窃听; 骨干优先使用光纤:光纤无电磁泄露、不能搭线窃听,安全性远高于双绞线。
    3. 交换机端口管控 空闲端口禁用 / 关闭,杜绝私自插网线上网;配合交换机端口安全联动链路层防护。
    4. 电磁防护 涉密机房采用屏蔽机房、屏蔽线缆,抑制电磁信号外泄,防范远程电磁窃密。
    5. 设备资产管理 路由器、交换机贴封条,设备进出机房登记,防止硬件被替换。
    6. 无线网络物理管控 AP 部署在受控区域,禁止私接家用无线路由器,防止非法无线渗透内网。

网络五层分层安全问题串联

物理层:管人、管线、管机房,防硬件破坏与搭线窃听 数据链路层:交换机安全,防 ARP 欺骗、内网监听 网络层:IP、路由、防火墙、IPSec,防 IP 欺骗、路由劫持 传输层:TCP/UDP、TLS、端口策略,防 SYN 洪水、明文抓包 应用层:WAF、HTTPS、代码安全,防注入、XSS、CC 攻击

防火墙

  • 防火墙是部署在不同安全等级网络边界(内网 ↔ 外网、不同业务区之间)的软硬件安全设备 / 系统,依据预设安全策略,对流经的数据包进行允许、丢弃、告警,隔离可信内网与不可信外网,是网络边界最基础防护设施。部署位置:网络层、传输层为主,下一代防火墙延伸至应用层
  • 防火墙四大分类(按工作层级)
    • 1.包过滤防火墙(网络层 / 传输层,第一代) 工作层级:OSI3 网络层(IP)、4 传输层(TCP/UDP) 判别依据:五元组:源 IP、目的 IP、源端口、目的端口、协议 (TCP/UDP/ICMP) 原理:读取 IP 头部、TCP 头部,匹配 ACL 规则,放行 / 丢弃数据包 优点:速度快、成本低、集成在路由器(路由器 ACL 本质简易包过滤) 缺点:无法识别应用层内容,不能区分同一个端口下不同应用(如 80 端口 HTTP 和恶意木马),无法防御应用层攻击。
    • 2.代理防火墙(应用网关,第二代,应用层) 原理:不直接打通内外网连接,防火墙代替内网主机和外网服务器建立连接,内外网无直连链路 分为:应用代理(HTTP/FTP 专用代理)、透明代理 优点:深度识别应用协议,隐藏内网拓扑、内网 IP; 缺点:每种协议需要单独代理程序,性能差、扩展性弱,现在很少单独使用。
    • 3.状态检测防火墙(第三代,主流硬件防火墙核心) 目前传统硬件防火墙主流技术 核心:维护连接状态表,跟踪 TCP 三次握手、连接生命周期(新建 / 传输 / 关闭) 规则:不只看五元组,还要校验连接合法性: 只放行内网主动向外发起的回程报文,外网主动向内发起的陌生连接直接拦截(天然阻挡外网主动扫描、端口爆破) 优势:兼顾包过滤性能 + 连接安全性,抵御 SYN 扫描、非法入站连接; 局限:依旧很难深度识别应用层载荷,防不了 SQL 注入、XSS 等 Web 攻击。
    • 4.下一代防火墙 NGFW(第四代,现在企业主流) 融合状态检测 + 应用识别 + 入侵防御 IPS + 病毒查杀 + URL 过滤 + VPN,工作到应用层 基于应用特征识别:不依靠端口,比如 80 端口区分正常网页、木马远控; 集成 WAF 基础能力、入侵防御; 支持用户级管控(按账号而非 IP 放行); 企业机房、园区网边界标配。
  • 防火墙三种部署模式
    • 路由模式(三层模式) 内外网配置不同网段 IP,充当网关,做 NAT 转换(家庭光猫路由、企业边界防火墙常用)。
    • 透明模式(二层) 防火墙无 IP,相当于一台安全交换机,不改动原有网段,直接串接在链路中间,部署最简单。
    • 旁路模式 防火墙不串主链路,只做流量镜像审计、异常流量清洗。
  • 防火墙核心安全功能 1.访问控制(基础) 默认安全策略:默认拒绝所有,按需放开必要端口(最小权限原则)。例:只放行外网 443 (HTTPS)、80,封禁 135/445 高危端口入站。 2.NAT 地址转换 SNAT:内网主机上网,内网私网 IP 统一转换成公网 IP,隐藏整个内网 IP 网段,外网无法直接寻址内网主机(内网安全关键); DNAT:外网访问公网 IP 端口,映射到内网服务器(发布网站、业务系统)。 3.VPN(IPSec/SSL VPN) 异地分公司通过 IPSec VPN 加密打通专线;员工外网通过 SSL VPN 拨号安全接入内网,传输层 / 网络层加密。 4.流量管控 QoS 限制 P2P 下载、视频大流量带宽,保障业务系统优先通行。 5.日志审计 记录所有放行 / 拦截流量日志,入侵事后溯源排查。

Internet上的音频视频

  • 在互联网上传输音频视频与传输数据信息的对比:
    • 音频视频:占用的带宽高,要求网速恒定,延迟低
    • 数据信息:对带宽、网速是否恒定、延迟 要求都不高
  • 在互联网上传输音频视频的场景:
    • 非交互式场景:点播、录播、回看、单向直播,用户仅被动观看,允许存在几秒~即食面延迟,不会影响正常使用
    • 交互式场景:视频通话、直播连麦、在线互动课堂,对延迟极其敏感,一般要求端到端时延<300ms,延迟过高会出现对话脱节、体验崩坏
  • 在互联网上传输音频视频面临的问题: 1.延迟: 非交互式音视频受影响小。单向点播 / 直播可容忍高延迟;双向交互场景对延迟要求严苛 2.带宽不稳定: 这是互联网音视频传输最核心的难题之一。带宽不稳定,易引发缓冲、降清晰度。公网带宽受用户接入方式、网络拥堵、跨运营商路由、时段峰值影响,带宽会持续波动。直接引发问题:码率与带宽不匹配 → 播放卡顿、反复缓冲、播放器自动降清晰度、音画不同步 3.网络抖动(时延抖动): 数据包到达时间间隔忽快忽慢,即使平均带宽、时延正常,也会造成画面卡顿、声音断音、音画错位。 业内靠播放缓冲区平滑抖动 4. 数据包丢包: 互联网基于尽力交付,UDP 为主的实时音视频不做丢包重传。少量丢包:轻微花屏、杂音;高丢包:画面定格、声音中断、流断开。
  • 互联网提供的音频视频服务分类:
    • 流式(streaming)存储音频视频 --- 边下载边播放 从网络上边下载边播放到客户端,无需等待整个文件下载完成即可开始观看,有以下好处: 1.节省客户端硬盘空间,不用下载 2.保护视频版权
    • 流式实况音频视频 -- 边录制边发送 通过网络现场直播
    • 交互式音频视频 -- 实时交互式通信 通过网络视频通话
  • 整体业务链路:原始音视频信号 → 采样量化(模数转换)→ 编码压缩 → 容器封装 → 网络分组 → 路由转发 → 终端解封装 → 解码渲染播放
  • 核心特征:数据量大、对时延 / 抖动敏感、可容忍少量丢包,传输策略和普通文件下载完全不同。
  • 前置:编码与封装(应用层预处理)
    1. 音视频编码(压缩) 原始未压缩音视频码率极高,无法直接公网传输,编码用于去除冗余、降低带宽占用。 视频编码 H.264 (AVC):兼容性最强,短视频、直播、网页视频通用; H.265 (HEVC):同画质码率降低约 50%,主流用于 1080P/4K 高清; AV1:开源免专利费,新一代标准,浏览器、流媒体平台逐步落地。 音频编码 AAC:点播、高清视频标配,音质优秀; Opus:低延迟、抗丢包,优先用于直播、语音通话; MP3:传统通用格式,多用于音乐。
    2. 封装格式(容器) 将独立的视频流、音频流、字幕流打包为一个整体,适配不同传输场景: MP4:文件型封装,多用于视频点播; TS(MPEG-TS):可切片、容错性强,是直播主流分片格式; FLV:早期 RTMP 直播专用,目前逐步淘汰。
  • 核心:传输协议(传输层 + 应用层) 按可靠性、时延要求分为两大路线,对应不同业务形态。
    1. 基于 TCP 的传输(可靠传输,点播为主) TCP 特性:面向连接、三次握手、丢包重传、顺序接收,无数据丢失,但时延偏高。 主流应用协议: HLS(Apple 推出) 把完整视频切割为 2~10 秒的 TS 小分片,基于标准 HTTP 分发;客户端按顺序请求分片、边下载边播放。 特点:支持进度拖拽、兼容性极强(全平台浏览器 / 手机);延迟通常 10~30 秒; 适用:长视频点播、回看、延时直播。 DASH 国际通用自适应码率标准,原理同 HLS,可根据用户带宽自动切换清晰度。 底层承载:HTTP over TCP,端口 80/443。
    2. 基于 UDP 的传输(低时延,直播 / 实时通话为主) UDP 特性:无连接、无握手、不重传、开销小,时延极低;少量丢包只会造成花屏、杂音,不会中断业务。 业界在 UDP 之上拓展了流媒体专用协议: RTP(实时传输协议):承载音视频裸数据,定义时间戳、序列号,保证播放时序; RTCP(实时控制协议):配套协议,周期性统计丢包率、网络时延,反馈给服务端动态调整码率。 衍生应用协议: RTMP:传统直播协议,早期各大直播平台使用,底层可基于 TCP/UDP; WebRTC:网页端实时音视频标准(视频会议、网页通话),底层 UDP+RTP,端到端直连,时延可控制在数百毫秒。
  • 网络层与组网架构
    1. CDN 内容分发网络(流媒体核心架构) 原理:视频源统一存放在源站,全国 / 全球大量边缘节点提前缓存视频分片、直播流;用户访问时,调度系统分配就近节点接入,无需跨地域访问源站。 作用:缩短路由距离、降低时延、分担源站带宽压力、解决跨运营商卡顿。
    2. NAT 穿透 家庭、办公网络均使用内网私网 IP,公网无法主动访问内网设备。 视频通话、连麦等端到端业务,依靠 STUN/TURN 协议实现 NAT 穿透,打通两端 UDP 链路。
    3. QoS 服务质量 运营商、企业交换机 / 路由器配置 QoS 策略,优先转发音视频数据包,减少网络拥塞带来的卡顿、抖动。
  • 关键网络指标与体验关系 1.码率:单位时间传输的数据量,决定清晰度。 2.标清:500kbps~1Mbps;1080P:2~4Mbps;4K:10Mbps+; 3.带宽 < 码率 → 缓冲区耗尽,出现加载转圈。 4.时延:数据从发送端到接收端的时间,点播可容忍高时延,实时通话要求 < 300ms。 5.抖动:数据包到达时间的波动,抖动过大会导致画面音画不同步。 6.丢包率:UDP 场景允许 1%~3% 轻微丢包;丢包过高则严重花屏、断流。
  • 网络安全视角补充 1.传输窃听与篡改 明文裸流可被中间人抓包、篡改。防护:HLS 启用 HTTPS(TLS 加密)、RTP 流使用 SRTP 加密。 2.盗链与带宽滥用 恶意爬虫批量拉取 CDN 资源。防护:URL 时效签名、Referer 校验、IP 黑白名单。 3.DDoS 攻击 网络层:UDP 洪水、ICMP 洪水打垮服务器带宽; 应用层 CC 攻击:海量 HTTP 请求耗尽服务端连接资源; 防护:CDN 流量清洗、防火墙限流、异常 IP 拦截。 4.内容劫持 运营商篡改直播 / 点播流、插入广告。全站 HTTPS 可彻底规避。
  • 总结: 1.音视频先经过编码压缩 + 封装瘦身,再根据业务选择传输方案: 点播 / 回看:TCP + HLS/DASH,追求可靠完整; 直播 / 通话:UDP + RTP/RTCP,追求低时延; 2.大规模互联网流媒体依赖 CDN 就近分发,优化访问体验; 3.安全层面依靠 TLS/SRTP 加密防窃听篡改,结合防火墙、CDN 抵御攻击与盗链。

无线网络

  • 无线网络:不依靠网线、光纤等物理线缆,利用无线电波传输数据的网络,对应有线以太网。主流家用 / 办公场景就是 Wi‑Fi(无线局域网 WLAN),此外还有蓝牙、蜂窝移动网络(手机流量)、ZigBee 等不同无线技术
  • 主流分类(按用途 / 覆盖范围)
    1. 无线局域网 WLAN 覆盖:室内小范围(家庭、办公室,几十米) 核心设备:无线路由器 / 无线 AP + 电脑、手机、电视等无线网卡 标准:IEEE 802.11 系列,日常统称 Wi‑Fi 802.11b/g:老旧 2.4G 频段 802.11n:同时支持 2.4G/5G 802.11ac(Wi‑Fi 5):仅 5G,高速、低干扰 802.11ax(Wi‑Fi 6):多设备并发强,现在主流 特点:依托现有宽带,局域网互通 + 上网,你两台电脑同 WiFi 互访文件、播放流媒体都属于这类。
    2. 无线广域网 WWAN(手机流量 / 蜂窝网络) 覆盖:全城 / 全国,远距离 技术:4G、5G 用途:外出上网、远程接入,不属于局域网。
    3. 短距离无线 蓝牙:耳机、键鼠、手环,几米范围; ZigBee:智能家居、传感器、工业设备,低功耗。
  • Wi‑Fi 核心组成 1.无线路由器 / AP 信号发射中心,容易受障碍物阻碍,负责:有线宽带转无线、分配内网 IP、NAT 转发、DHCP、QoS、端口映射。 2.无线网卡 电脑、手机内置模块,负责接收 / 发射无线电信号。 3.SSID(无线网络名称) 手机 / 电脑搜到的 WiFi 名字,设备靠 SSID 识别对应网络。 4.加密密钥(WiFi 密码) 非法设备没有密码无法接入。
  • WiFi两大频段(2.4GHz / 5GHz)
    • 2.4GHz 频段 优点:穿墙能力强、覆盖远、老旧设备都兼容; 缺点:信道少、干扰大(邻居 WiFi、蓝牙都会抢信号)、速率偏低; 适合:远距离、隔墙使用。
    • 5GHz 频段 优点:信道多、干扰极小、传输速率高、延迟低; 缺点:穿墙弱,隔一堵墙信号就明显衰减; 适合:近距离局域网传文件、播放流媒体、游戏(你两台电脑同房间优先连 5G)
  • 工作原理 1.路由器持续广播 SSID 信号; 2.你的电脑搜索到 WiFi,输入密码完成身份验证 + 加密协商; 3.路由器通过 DHCP 自动给电脑分配内网 IP(如 192.168.x.x); 4.设备之间、设备与外网,全部通过无线电波收发数据包,完成通信。
  • 常用加密方式(无线安全重点) 1.WEP:老旧、漏洞极大,现已淘汰,不建议使用。 2.WPA/WPA2‑PSK:目前家用主流,安全性高,现在绝大多数 WiFi 都用它。 3.WPA3:新一代标准,防暴力破解、防中间人攻击,新款路由器支持。 安全建议:关闭 WEP,优先 WPA2‑PSK 或 WPA3,设置复杂 WiFi 密码。
  • 无线相关网络技术 1.DHCP:路由器自动给无线设备分配 IP,不用手动设置; 2.NAT:内网无线设备共用一个公网 IP 上网; 3.UPnP:自动端口映射,部分流媒体、游戏需要依赖; 4.SSDP/DLNA:Windows 媒体流(流媒体共享),无线局域网内靠该协议发现设备。