IP
一、IP地址的定义
IP地址(Internet Protocol Address) 是互联网上唯一标识设备的逻辑地址,用于在网络中定位和通信。
- 核心作用 :
- 寻址:确定设备在网络中的位置。
- 路由:指导数据包从源到目标的传输路径。
- 版本 :
- IPv4 :32位二进制,格式如
192.168.1.1
(主流使用,但地址耗尽)。 - IPv6 :128位二进制,格式如
2001:0db8:85a3::8a2e:0370:7334
(解决IPv4地址不足问题)。
- IPv4 :32位二进制,格式如
二、IPv4地址的结构
1. 二进制与点分十进制转换
- IPv4地址本质 :32位二进制数,分为4组(每组8位),转换为十进制后以
.
分隔。- 例:
11000000.10101000.00000001.00000001
→192.168.1.1
。
- 例:
2. 网络位与主机位
- 子网掩码(Subnet Mask) :标识IP地址的网络部分和主机部分。
- 网络位 :子网掩码中连续的
1
,标识设备所属的网络。 - 主机位 :子网掩码中连续的
0
,标识网络内的具体设备。 - 例:
192.168.1.1/24
→ 子网掩码为255.255.255.0
,前24位为网络位,后8位为主机位。
- 网络位 :子网掩码中连续的
三、IPv4地址分类
1. 主要类别
类别 | 范围 | 默认子网掩码 | 网络数/主机数 | 用途 |
---|---|---|---|---|
A | 1.0.0.0 - 126.255.255.255 | 255.0.0.0 (/8) | 126网络,1600万主机/网 | 大型机构(如政府) |
B | 128.0.0.0 - 191.255.255.255 | 255.255.0.0 (/16) | 1.6万网络,6.5万主机/网 | 中型企业 |
C | 192.0.0.0 - 223.255.255.255 | 255.255.255.0 (/24) | 200万网络,254主机/网 | 小型网络(家庭/办公室) |
D | 224.0.0.0 - 239.255.255.255 | - | 组播地址(如视频会议) | 一对多通信 |
E | 240.0.0.0 - 255.255.255.255 | - | 保留地址(实验用途) | 未分配 |
2. 私有地址与公有地址
- 私有地址 :仅在局域网内使用,不可直接访问互联网。
- A类:
10.0.0.0/8
- B类:
172.16.0.0/12
(172.16.0.0
-172.31.255.255
) - C类:
192.168.0.0/16
(192.168.0.0
-192.168.255.255
)
- A类:
- 公有地址:全球唯一,由ISP分配,用于互联网通信。
四、特殊IP地址
地址类型 | 示例 | 用途 |
---|---|---|
环回地址 | 127.0.0.1 | 本地设备测试(如ping 127.0.0.1) |
受限广播地址 | 255.255.255.255 | 当前网络内所有设备接收 |
直接广播地址 | 192.168.1.255 | 向指定网络的全体设备广播 |
网络号 | 192.168.1.0 | 标识一个网段 |
自动私有地址(APIPA) | 169.254.x.x | DHCP故障时自动分配(无法上网) |
五、子网划分与CIDR
1. 子网划分(VLSM)
- 目的:将一个大网络分割为多个小网络,提高地址利用率。
- 步骤 :
- 确定需要划分的子网数(如4个子网需借用2位)。
- 修改子网掩码(如原
/24
→/26
)。 - 计算每个子网的网络地址和可用IP范围。
示例 :将192.168.1.0/24
划分为4个子网:
- 子网掩码:
255.255.255.192
(/26) - 子网1:
192.168.1.0/26
→ 可用IP:192.168.1.1
-192.168.1.62
- 子网2:
192.168.1.64/26
→ 可用IP:192.168.1.65
-192.168.1.126
- 子网3:
192.168.1.128/26
- 子网4:
192.168.1.192/26
2. CIDR(无类域间路由)
- 作用:合并多个连续子网,减少路由表条目。
- 规则:取所有子网的共同前缀。
示例 :合并192.168.0.0/24
、192.168.1.0/24
、192.168.2.0/24
、192.168.3.0/24
:
- 共同前缀:
192.168.000000XX.X
→192.168.0.0/22
六、IPv6简介
- 地址长度 :128位,表示为8组4位十六进制数(如
2001:0db8:85a3:0000:0000:8a2e:0370:7334
)。 - 简化表示 :
- 前导零可省略 →
2001:db8:85a3:0:0:8a2e:370:7334
- 连续零组用
::
替代(仅一次) →2001:db8:85a3::8a2e:370:7334
- 前导零可省略 →
- 优势 :
- 地址空间极大(约3.4×10³⁸个地址)。
- 无NAT需求,端到端直接通信。
- 内置安全性(IPsec支持)。
七、实际应用场景
- 家庭网络 :
- 路由器使用
192.168.1.1/24
,为设备分配192.168.1.2
-192.168.1.254
。
- 路由器使用
- 企业网络 :
- 使用B类私有地址
172.16.0.0/16
,按部门划分子网(如财务部172.16.1.0/24
)。
- 使用B类私有地址
- 互联网服务 :
- 网站服务器使用公有IP(如
203.0.113.5
),通过DNS绑定域名(如www.example.com
)。
- 网站服务器使用公有IP(如
八、关键命令
-
查看IP配置 :
bash# Windows ipconfig # Linux/macOS ifconfig 或 ip addr
-
测试连通性 :
bashping 192.168.1.1
-
查看ARP缓存 :
basharp -a
OSI与TCP/IP模型
一、OSI七层模型
OSI(Open Systems Interconnection)模型 是国际标准化组织(ISO)提出的理论参考模型,用于定义网络通信的分层架构。
1. 各层功能与协议
层级 | 核心功能 | 典型协议/设备 | 数据单元(PDU) |
---|---|---|---|
7. 应用层 | 用户接口,提供网络服务 | HTTP、FTP、DNS、SMTP | 报文(Message) |
6. 表示层 | 数据格式转换、加密/解密 | SSL/TLS、JPEG、ASCII | 报文 |
5. 会话层 | 建立、管理、终止会话 | NetBIOS、RPC、SSH | 报文 |
4. 传输层 | 端到端连接、流量控制、可靠性 | TCP(可靠)、UDP(不可靠) | 段(Segment) |
3. 网络层 | 逻辑寻址、路由选择 | IP、ICMP、OSPF、路由器 | 包(Packet) |
2. 数据链路层 | 物理寻址、帧传输、错误检测 | Ethernet、PPP、交换机 | 帧(Frame) |
1. 物理层 | 传输比特流、物理介质规范 | RJ45、光纤、集线器 | 比特(Bit) |
2. 关键特点
- 分层思想:每层独立完成特定功能,上层依赖下层服务。
- 标准化:促进不同厂商设备互操作性。
- 理论模型:实际网络协议栈(如TCP/IP)不完全遵循OSI分层。
二、TCP/IP模型
TCP/IP模型 是实际互联网中使用的协议栈,由美国国防部(DoD)设计,核心协议为 TCP 和 IP。
1. 四层结构
层级 | 对应OSI层 | 核心协议/设备 | 功能概述 |
---|---|---|---|
应用层 | 应用层、表示层、会话层 | HTTP、FTP、DNS、SMTP | 用户数据封装、应用服务 |
传输层 | 传输层 | TCP、UDP | 端到端连接管理、数据分段 |
网络层 | 网络层 | IP、ICMP、路由器 | 逻辑寻址、路由选择 |
网络接口层 | 数据链路层、物理层 | Ethernet、Wi-Fi、交换机 | 物理传输、帧封装与解封装 |
2. 五层对等模型(常用教学模型)
层级 | 对应TCP/IP四层 | 核心功能与协议 |
---|---|---|
应用层 | 应用层 | HTTP、DNS、FTP |
传输层 | 传输层 | TCP、UDP |
网络层 | 网络层 | IP、ICMP |
数据链路层 | 网络接口层 | Ethernet、PPP、MAC地址 |
物理层 | 网络接口层 | 光纤、双绞线、集线器 |
三、OSI与TCP/IP模型对比
对比维度 | OSI模型 | TCP/IP模型 |
---|---|---|
设计目标 | 理论标准化(理想化分层) | 实际应用(解决具体通信问题) |
分层数量 | 7层 | 4层(或5层教学模型) |
协议支持 | 未绑定具体协议 | 围绕TCP/IP协议族设计 |
会话/表示层 | 独立分层(会话层5、表示层6) | 合并到应用层 |
实际应用 | 主要用于教学和理论分析 | 互联网实际通信标准 |
四、数据封装与解封装流程
以发送一封电子邮件为例,说明数据在模型中的传递过程:
- 应用层 :用户输入邮件内容 → 封装为HTTP/邮件协议报文。
- 传输层 :添加TCP头部(源/目标端口号、序列号) → 生成TCP段。
- 网络层 :添加IP头部(源/目标IP地址) → 生成IP包。
- 数据链路层 :添加MAC头部(源/目标MAC地址)和尾部(FCS校验) → 生成以太网帧。
- 物理层:转换为比特流通过网线/光纤传输。
接收端反向解封装 :
物理层 → 数据链路层(校验帧) → 网络层(路由选择) → 传输层(重组数据段) → 应用层(显示邮件内容)。
五、实际应用中的协议映射
TCP/IP模型层级 | 典型协议 | 对应OSI层 |
---|---|---|
应用层 | HTTP、FTP、DNS、SMTP | 应用层、表示层、会话层 |
传输层 | TCP(可靠传输)、UDP(高效传输) | 传输层 |
网络层 | IP(寻址)、ICMP(控制消息)、ARP | 网络层 |
数据链路层 | Ethernet(MAC地址)、PPP(拨号连接) | 数据链路层 |
物理层 | RJ45、光纤、无线信号 | 物理层 |
六、核心协议详解
1. 传输层协议对比
协议 | 特点 | 适用场景 |
---|---|---|
TCP | 可靠传输、三次握手、流量控制 | 网页(HTTP)、文件传输 |
UDP | 无连接、低延迟、不保证可靠性 | 视频流、DNS查询 |
2. 网络层协议
- IP协议:无连接、尽力而为的路由寻址。
- ICMP :传输错误和控制消息(如
ping
命令)。 - ARP:通过IP地址解析MAC地址。
七、常见问题解答
1. 为什么实际网络使用TCP/IP而非OSI?
- 历史原因:TCP/IP在OSI标准化前已广泛部署。
- 简洁性:TCP/IP四层结构更易于实现和维护。
2. 会话层和表示层在TCP/IP中如何实现?
- 会话管理:由应用层协议自行处理(如HTTP Cookies)。
- 数据格式:JSON/XML(应用层)或SSL/TLS(表示层功能融入传输层)。
3. 路由器与交换机工作的层级?
- 路由器:网络层(基于IP地址转发)。
- 交换机:数据链路层(基于MAC地址转发)。
关键协议与端口
协议 | 功能 | 传输层协议 | 端口号 |
---|---|---|---|
HTTP | 网页传输 | TCP | 80 |
HTTPS | 加密网页传输 | TCP | 443 |
DHCP | 动态IP分配 | UDP | 67/68 |
DNS | 域名解析 | TCP/UDP | 53 |
FTP | 文件传输 | TCP | 20/21 |