# IP 地址

Q:什么是 IP 地址?

T:用于标识连接到互联网的设备对应的地址

# IPv4

IPv4 是目前用途最广泛的地址类型,由 4 位 0~255 数字组成,比如 47.221.154.9

# IPv6

IPv6 是为了解决 IPv4 地址不够用的问题而设计的 IP 协议,由八组由冒号分隔的十六进制数字组成,例如 2001:0db8:85a3:0000:0000:8a2e:0370:7334

# 查看电脑设备的 IP 地址

在 CMD 中输入 ipconfig ,查看连接到互联网的对应适配器

image-20250515004528196

# 内网 IP

# IPv4 常见内网 IP 段

IPv4 中,内网 IP 分三大类

10.xxx.xxx.xxx = 属于 A 段 IP

172.16.xxx.xxx = 属于 B 段 IP

192.168.xx.xx = 属于 C 段 IP(C 段 IP 是家庭网络中最常见的)

image-20250515004927067

Q:为什么要分 A、B、C 段 IP?

T:因为互联网上的 IPv4 有很多,但由于 IPv4 只有 255 的 4 次方个,而全球有几十亿的网民,IPv4 不可能分到每个设备上,为了能让所有人正常访问互联网,从而出现了内网 IP 段,也就是 A 段、B 段、C 段,在内网 IP 中,同段的内网 IP 设备可以相互访问,但不能被其他网段的设备访问到

# IPv6 常见内网 IP 段

IPv6 中,常见的内网 IP 会以 fe80 开头,IPv6 也能进行设备的相互通行

image-20250515005643460

# 外网 | 公网 IP

在 windows 电脑上,使用 ipconfig 只能查看到本地的内网 IP,要查看外网 IP,需要专业的网站进行查询

示例链接:https://ipcheck.ing

image-20250515010242249

图中, 120.227.xxx.xxx 对应的就是公网 IPv4 地址, 2409:8a50:8a38:xxxxxxxxxxxx 对应的就是公网 IPv6 地址

Q:为什么我不能直接在电脑上看到这个公网 IPv4 地址呢?

T:因为运营商为了能够让其他人也能正常访问互联网,使用了 NAT 技术,将一个公网 IPv4 进行映射,映射出多个内网 IP,让户主方便访问互联网

# MAC

MAC 是每个设备出厂时,厂商分配的一个设备地址(物理地址),这个地址不能被改变

格式:MAC 地址通常由 12 位十六进制数字组成,并用冒号、连字符或点分隔

示例: AA:BB:CC:DD:EE:FF

用处:使用钉钉、企业微信,如果是连接 WIFI 打卡,会验证你连接的 WIFI 是否为钉钉、企业微信管理员设置的对应路由器的 MAC 地址

image-20250515011141431

# NAT

NAT 是为了连接内网和公网、缓解 IPv4 地址紧张、增强家庭网络安全(内网可以访问互联网,但互联网不能访问到内网)的一项关键技术

实际上就是运营商给你牵了一条光纤,但是这个网络是他们已经配置好的,一般是一个公网 IP,通过 NAT 技术,让一个公网服务于多家户

# 子网掩码

用于区分同一局域网内部的设备,以及不同网段的设备

如果内网 IP 属于 A 段: 10.xxx.xxx.xxx ,对应的子网掩码就是 255.0.0.0

B 段: 172.16.xxx.xxx ,对应的子网掩码就是 255.255.0.0

C 段: 192.168.xxx.xxx 对应是子网掩码就是 255.255.255.0

# 默认网关

通俗一点讲就是路由器的 IP 地址

但是设备可能会是路由器 或 交换器

# TCP

面向连接:通信前要先建立三次握手,断开时要四次挥手,保证双方都能有序启动和关闭连接

典型应用场景:网页浏览(HTTP/HTTPS)、文件传输(FTP)、电子邮件(SMTP)、远程终端(SSH)

# UDP

无连接:发送端直接把数据报发送到对方,无需事先建立连接,也无需断开

应用场景:语音 / 视频通话、视频会议、直播、在线游戏,发 QQ、发微信

# HTTP 超文本传输协议

HTTP 是一种应用层协议吗,通常是浏览器 和 服务器之间传输超文本(如 HTML)及其他资源(如图片)

由浏览器发送请求,在浏览器地址栏输入的网址,比如 www.baidu.com ,是属于 GET 请求

image-20250516004452906

# 请求报文

  • 方法:
    • GET:通过浏览器在地址栏输入的网址,就是通过 GET 方法,进行 HTTP 请求,通俗一点讲就是获取资源(比如网页)会用到 GET 请求
    • POST:通过网页内的元素,比如提交,发图片,通俗一点将就是在网页内发送某个资源,比如评论

image-20250516005426556

  • URL:就是网址

image-20250516005502379

  • 协议版本:HTTP、HTTPS

  • 请求头(header):Cookie、Session、Authorization:用来区分你是谁,是哪个用户,有什么权限,能访问什么

    特性 Cookie Session Authorization
    存储位置 浏览器 单次访问网页(浏览器内存) 浏览器
    数据内容 简单键值对 复杂业务数据(如登录状态、敏感信息等) 凭证(Bearer Token)
    安全性 存在于客户端(浏览器) 服务端(服务器上) 依赖于加密签名和传输层(HTTPS);易于跨域和微服务场景
    典型用途 视频网站登录 敏感信息网站登录 第三方应用登录
  • User_Agent:浏览器指纹

image-20250516012226565

  • 请求体:Data:根据网站需要什么,就定义什么

# 响应报文

  • 状态码:

    200:成功(如 200 访问成功

    3xx:重定向(如 304:重定向

    4xx:客户端错误( 403 权限不足 或 请求头参数不对应404 找不到资源

    5xx:服务器错误(如 500 服务器内部错误502 网关错误

  • 响应体:就是得到的数据,比如聊天信息、图片链接

# 端口

计算机中的端口一般有 65535 个

端口号 协议 服务名称 用途说明
22 TCP SSH 安全远程登录 / 文件传输
80 TCP HTTP 网页传输(明文)
443 TCP HTTPS 加密网页传输(SSL/TLS)
端口号 协议 服务名称 用途说明
------ ---- ---------- ------------------
3306 TCP MySQL 默认数据库服务端口
5432 TCP PostgreSQL 默认数据库服务端口
27017 TCP MongoDB 默认数据库服务端口
6379 TCP Redis 内存数据库服务
端口号 协议 服务名称 用途说明
------ ---- -------- -------------------
3389 TCP RDP Windows 远程桌面协议

# HTTPS

HTTPS 是 HTTP 的第二个版本,通过加密技术保护网络通信数据,防止窃听、篡改和身份伪造

SSL/TLS 协议 对 HTTP 数据进行加密(如 AES、RSA 等算法),确保传输过程中数据不可读

# File 和其他协议

File 协议

image-20250525143852683