# 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
,查看连接到互联网的对应适配器
# 内网 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 是家庭网络中最常见的)
Q:为什么要分 A、B、C 段 IP?
T:因为互联网上的 IPv4 有很多,但由于 IPv4 只有 255 的 4 次方个,而全球有几十亿的网民,IPv4 不可能分到每个设备上,为了能让所有人正常访问互联网,从而出现了内网 IP 段,也就是 A 段、B 段、C 段,在内网 IP 中,同段的内网 IP 设备可以相互访问,但不能被其他网段的设备访问到
# IPv6 常见内网 IP 段
IPv6 中,常见的内网 IP 会以
fe80
开头,IPv6 也能进行设备的相互通行
# 外网 | 公网 IP
在 windows 电脑上,使用
ipconfig
只能查看到本地的内网 IP,要查看外网 IP,需要专业的网站进行查询示例链接:https://ipcheck.ing
图中,
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 地址
# 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
请求
# 请求报文
- 方法:
- GET:通过浏览器在地址栏输入的网址,就是通过 GET 方法,进行 HTTP 请求,通俗一点讲就是获取资源(比如网页)会用到 GET 请求
- POST:通过网页内的元素,比如提交,发图片,通俗一点将就是在网页内发送某个资源,比如评论
- URL:就是网址
协议版本:HTTP、HTTPS
请求头(header):Cookie、Session、Authorization:用来区分你是谁,是哪个用户,有什么权限,能访问什么
特性 Cookie Session Authorization 存储位置 浏览器 单次访问网页(浏览器内存) 浏览器 数据内容 简单键值对 复杂业务数据(如登录状态、敏感信息等) 凭证(Bearer Token) 安全性 存在于客户端(浏览器) 服务端(服务器上) 依赖于加密签名和传输层(HTTPS);易于跨域和微服务场景 典型用途 视频网站登录 敏感信息网站登录 第三方应用登录 User_Agent:浏览器指纹
- 请求体: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 协议