← 返回文章列表

网络基础知识

14 分钟阅读
字号

网络基础知识

本文涵盖互联网基础、OSI七层协议、子网掩码、DNS解析、网络通信流程等核心知识点。

一、互联网是什么

定义

互联网过去又称为"信息高速公路",是用来高速传输数据的网络。

为什么要互联网?

打破地域限制,进行高速的数据传输

互联网的构成

现实场景网络类比
电话电话网络 + 规范(英语)
寄快递快递网络 + 规范(填写标准)
互联网信息高速公路(一系列连在一起的网络设备)+ 规范(网络协议)

规范/协议存在的意义: 所有网络的设备都需要学会网络通信协议,只有这样,包裹在发送过程中才能被沿途设备理解,从而确保成功发给下一站。网络通信协议就相当于计算机界的"英语",要求所有设备都学会。


二、OSI 七层协议

OSI(Open Systems Interconnection)模型是网络通信的标准框架,从下到上分为七层:

┌─────────────────────────────────────────┐
│  第七层:应用层    (HTTP, DNS, FTP)     │ ← 应用程序
├─────────────────────────────────────────┤
│  第六层:表示层    (SSL, TLS, JPEG)     │ ← 数据格式
├─────────────────────────────────────────┤
│  第五层:会话层    (NetBIOS, RPC)       │ ← 会话管理
├─────────────────────────────────────────┤
│  第四层:传输层    (TCP, UDP)           │ ← 端口通信
├─────────────────────────────────────────┤
│  第三层:网络层    (IP, ICMP, Router)   │ ← 跨网络通信
├─────────────────────────────────────────┤
│  第二层:数据链路层 (Ethernet, Switch)  │ ← 局域网通信
├─────────────────────────────────────────┤
│  第一层:物理层    (Cable, Fiber, Hub)  │ ← 物理传输
└─────────────────────────────────────────┘

第一层:物理层

  • 传输内容: bit(比特,二进制 0/1)
  • 负责: 传输电信号
  • 注意: 单纯的电信号没有任何意义,要让其有意义必须对其进行分组

第二层:数据链路层(以太网协议)

以太网协议规定

  1. 一组电信号称之为数据帧
  2. 每一帧由两部分构成:
┌─────────────────────────────────────────┐
│           前导码 7B + 帧开始符 1B        │ ← 物理层
├──────────────────┬──────────────────────┤
│   Head (14字节)  │    Data (46-1500B)   │
│  ┌────────────┐  │                      │
│  │ 目标MAC 6B │  │                      │
│  ├────────────┤  │                      │
│  │ 源MAC 6B   │  │                      │
│  ├────────────┤  │                      │
│  │ 类型/长度 2B│  │                      │
│  └────────────┘  │                      │
├──────────────────┴──────────────────────┤
│              CRC/FCS (4字节)             │
└─────────────────────────────────────────┘

什么是 MAC 地址?

  • MAC 地址 = 网卡上的地址,每一个 MAC 地址都是全世界独一无二的地址
  • 范围: 00:1B:44:11:3A:B7 这样的 6 字节(48位)地址

计算机通信基本靠吼:广播

在局域网内,基于以太网协议的广播方式进行通信。

强调:MAC 地址是在局域网内部用的地址,出不了局域网


第三层:网络层(IPv4 协议)

核心总结

MAC 地址  → 可以定位局域网内独一无二的计算机
IP 地址  → 可以定位独一无二的局域网在哪里
 
IP 地址 + MAC 地址 = 定位到全世界范围内独一无二的计算机

IP 协议规定

  1. 数据称之为数据包
  2. 数据由两部分构成:
┌─────────────────────────────────────────┐
│              数据包 (Packet)            │
├──────────────────┬──────────────────────┤
│       Head (头)   │      Data (数据)      │
│  ┌────────────┐  │                      │
│  │ 源 IP 地址 │  │                      │
│  ├────────────┤  │   最多 65515 字节     │
│  │ 目的 IP 地址│  │                      │
│  └────────────┘  │                      │
└──────────────────┴──────────────────────┘

IPv4 地址组成

00000000.00000000.00000000.00000000  →  0.0.0.0
11111111.11111111.11111111.11111111  →  255.255.255.255

子网掩码的作用

子网掩码让一个 IP 地址同时表示两层含义:

IP 地址:192.168.71.7/24
 
二进制:11000000.10101000.01000111.00000111
                                    ↑↑↑↑↑↑↑↑
                                    24位网络位,8位主机位
 
子网掩码:11111111.11111111.11111111.00000000  →  255.255.255.0
网络地址:11000000.10101000.01000111.00000000  →  192.168.71.0

子网掩码 = 告诉计算机"哪部分是网络位,哪部分是主机位"的工具

同局域网内通信流程

发送端:192.168.71.7/24
接收端:192.168.71.8/24
 
1. ARP 协议开始工作
   - 计算发送端网络地址:192.168.71.0
   - 计算接收端网络地址:192.168.71.0
   - 判断:网络地址相同 → 在同一局域网内
 
2. ARP 广播获取 MAC 地址
   发送广播:"谁是 192.168.71.8?请告诉我你的 MAC 地址"
   192.168.71.8 回复自己的 MAC 地址
 
3. 真正通信
   [发送者MAC] [接收者MAC] [源IP] [目的IP] [数据]

跨局域网通信流程

发送端:192.168.71.7/24
接收端:172.16.202.8/24
 
1. ARP 协议开始工作
   - 计算发送端网络地址:192.168.71.0
   - 计算接收端网络地址:172.16.202.0
   - 判断:网络地址不同 → 需要跨局域网通信
 
2. ARP 获取网关 MAC 地址
   发送广播:"谁是 192.168.71.1(网关)?请告诉我你的 MAC 地址"
   网关回复自己的 MAC 地址
 
3. 真正通信
   [发送者MAC] [网关MAC] [源IP] [目的IP] [数据]
   → 发给网关,网关再转发到目标网络

第四层:传输层(TCP/UDP)

基于端口工作

但凡基于 TCP 或 UDP 协议工作的应用程序,都会拥有一个独一无二的端口号。

端口范围:0 - 65535

IP + Port = 全世界范围内独一无二的一个基于网络通信的应用程序

TCP vs UDP

特性TCPUDP
连接性面向连接(三次握手)无连接
可靠性可靠(ACK确认 + 超时重传 + 排序去重 + 流量控制)不可靠(无确认机制)
效率相对较低传输效率高
场景文件传输、网页、邮件视频通话、DNS 查询(主要 UDP,大的区域传输用 TCP)

第五层:应用层

应用程序自己开发,应用层用什么协议由应用程序自己定义。

常见协议:HTTP, HTTPS, FTP, SMTP, DNS


Socket 抽象层

Socket 位于传输层与应用层之间,是对传输层及其以下的封装,封装完后提供一系列简单的功能给上层应用程序调用。

基于网络通信的应用程序基本上都是基于 Socket 开发的,所以又称之为套接字程序。


三、DNS 详解

DNS 是什么

DNS(Domain Name Server)= 负责把域名解析为 IP 地址

域名结构

www.baidu.com.
├─── ──── ─── ─┘
│     │    │
│     │    └── 顶级域 (.com)
│     └────── 二级域 (baidu)
└─────────── 三级域 (www)

层层分级的原因:

  1. 每一段都有特定的意义,用最少的字符表达最多的含义,方便用户记忆
  2. 解析记录分层管理,不需要某一个 DNS 存下所有的解析记录

DNS 解析记录类型

类型作用示例
A 记录域名 → IPv4www.sirius.com1.1.1.1
AAAA 记录域名 → IPv6example.com2001:db8::1
CNAME 记录域名 → 域名www.sirius.comwww.sirius.com
MX 记录域名 → 邮件服务器@qq.commx.qq.com
NS 记录域名 → DNS 服务器google.comns1.google.com

DNS 查询流程

两种查询方式:

  • 递归查询: "我不知道,但我帮你拿"
  • 迭代查询: "我不知道,但我知道有人知道,你自己去拿"

完整查询流程:

用户输入 www.google.com


┌─────────────────┐
│  Chrome DNS 缓存 │  ← 先查浏览器缓存
└────────┬────────┘


┌─────────────────┐
│    HOSTS 文件    │  ← 手动配置的映射
│  (C:\Windows\   │
│   System32\...  │
│   \drivers\etc) │
└────────┬────────┘


┌─────────────────┐
│  系统 DNS 缓存   │
└────────┬────────┘


┌─────────────────┐
│   递归 DNS 服务器 │  ← 114.114.114.114 / 8.8.8.8
└────────┬────────┘


    根 DNS (.)
 
 
→ .com 顶级域 DNS
→ google.com 权威 DNS


   返回 IP 地址

四、网络通信流程

通信必备四种地址

场景所需地址
不跨网段IP 地址 + 子网掩码
跨网段通信IP 地址 + 子网掩码 + 网关 IP
用名字访问还需要 DNS 服务器地址

地址获取方式

动态获取:DHCP  → 个人用户、家庭网络
静态配置:手动写入网卡配置文件 → 服务器、网络设备

完整通信流程(以访问网页为例)

1. 浏览器输入 URL
   http://sirius.com:80/
 
2. DNS 解析
   sirius.com → 1.1.1.1
   http://1.1.1.1:80/
 
3. 应用层封包 (HTTP)
   [HTTP 头 + 数据]
 
4. 传输层封包 (TCP)
   [TCP 头(源端口、目标端口)][HTTP 数据]
 
5. 网络层封包 (IP)
   [IP 头(源 IP、目标 IP)][TCP 数据]
 
6. 数据链路层封包 (Ethernet)
   [Ethernet 头(源 MAC、目标 MAC)][IP 数据]
 
7. 物理层传输
   转换为电信号/光信号在网线/光纤中传输

注意: 以太网协议的数据部分默认最大传输单元是 1500 字节(MTU),数据包需要分片发送。


五、子网划分

核心概念

子网划分 = 把一个大网段切成小网段 = 充分利用 IP 地址

公式

子网数  = 2^借位数
主机数  = 2^(8-借位) - 2

常见子网划分

借位子网掩码子网数每子网主机数
/24255.255.255.01254
/25255.255.255.1282126
/26255.255.255.192462
/27255.255.255.224830
/28255.255.255.2401614
/30255.255.255.252642

示例:192.168.1.0/24 切成 4 个子网

/26 (借2位) → 4 个子网,每个 62 台
 
子网0: 192.168.1.0/26    → .0 ~ .63   (可用 .1~.62)
子网1: 192.168.1.64/26   → .64 ~ .127 (可用 .65~.126)
子网2: 192.168.1.128/26  → .128 ~ .191 (可用 .129~.190)
子网3: 192.168.1.192/26  → .192 ~ .255 (可用 .193~.254)

六、特殊 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

其他特殊地址

地址含义
0.0.0.0本机所有 IP(未确定是哪个网卡时使用)
255.255.255.255全网广播地址
127.0.0.1本地回环网卡(Loopback)

VLAN

  • LAN: 局域网
  • VLAN: 虚拟局域网,通过虚拟技术把一个交换机分成多个广播域,一个广播域就是一个小的局域网,不同 VLAN 的广播包是隔离的。

七、K8s 中的网络

┌─────────────────────────────────────────┐
│  网段规划示例                             │
│                                         │
│  物理网络: 10.20.0.0/16 (VPC)           │
│                                         │
│  子网1: 10.20.1.0/24  ← Master 节点    │
│  子网2: 10.20.2.0/24  ← Worker 节点1   │
│  子网3: 10.20.3.0/24  ← Worker 节点2   │
│                                         │
│  Pod 网段: 10.244.0.0/16                │
│  Service 网段: 10.96.0.0/12             │
└─────────────────────────────────────────┘

记住:

  • Pod IP 是真的,靠 CNI 直连
  • Service IP 是假的,靠 kube-proxy 转换

总结

┌─────────────────────────────────────────────────────────┐
│                     网络通信核心要点                      │
├─────────────────────────────────────────────────────────┤
│  1. MAC 地址 = 局域网内唯一,定位同一网段的计算机         │
│  2. IP 地址 = 全球唯一,定位局域网位置                    │
│  3. IP + MAC = 定位全球范围内独一无二的计算机             │
│  4. ARP 协议 = 将 IP 解析为 MAC 地址                    │
│  5. DNS = 将域名解析为 IP 地址                          │
│  6. 同网段用广播,跨网段靠网关/路由器                    │
│  7. 子网掩码 = 区分网络位和主机位                        │
│  8. TCP 可靠(有确认),UDP 高效(无确认)              │
└─────────────────────────────────────────────────────────┘
分享

// RELATED_POSTS

0%