IP地址入门基础
IP地址基础概念
IP地址是互联网协议地址的简称,用于唯一标识网络中的设备。分为IPv4和IPv6两种版本:
- IPv4:32位地址,格式如
192.168.1.1
,约43亿个地址,已面临枯竭。 - IPv6:128位地址,格式如
2001:0db8:85a3::8a2e:0370:7334
,地址空间极大。
IP地址分类与子网划分
IPv4地址分为五类(A-E类),常用的是A、B、C类:
- A类:首位为0,范围
1.0.0.1
到126.255.255.254
,用于大型网络。 - B类:前两位为10,范围
128.0.0.1
到191.255.255.254
,用于中型网络。 - C类:前三位为110,范围
192.0.0.1
到223.255.255.254
,用于小型网络。
子网划分通过借位主机部分创建子网。例如,将192.168.1.0/24
划分为4个子网:
- 子网掩码:
255.255.255.192
(/26) - 子网范围:
192.168.1.0-63
、64-127
、128-191
、192-255
私有IP与公有IP
- 私有IP:用于内网,范围如下:
10.0.0.0/8
172.16.0.0/12
192.168.0.0/16
- 公有IP:全球唯一,由ISP分配。
NAT与端口映射
**NAT(网络地址转换)**将私有IP转换为公有IP,实现内网设备访问外网。常见类型:
- 静态NAT:一对一映射。
- 动态NAT:多对多映射。
- PAT(端口地址转换):多对一映射,通过端口区分设备。
示例:将内网192.168.1.100:80
映射到公有IP203.0.113.1:8080
:
iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 192.168.1.100:80
IPv6基础
IPv6特点:
- 地址长度128位,十六进制表示。
- 无NAT需求,支持端到端通信。
- 简化头部,改进路由效率。
示例地址:
2001:0db8:85a3:0000:0000:8a2e:0370:7334
路由与路由协议
路由表决定数据包转发路径。常见路由协议:
- RIP:基于跳数,最大15跳。
- OSPF:链路状态协议,适合大型网络。
- BGP:自治系统间路由协议。
查看Linux路由表:
route -n
网络诊断工具
- ping:测试连通性。
ping 8.8.8.8
- traceroute:追踪路径。
traceroute google.com
- netstat:查看网络连接。
netstat -tuln
安全与防火墙
iptables示例:
- 允许SSH(端口22):
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
- 默认拒绝所有:
iptables -P INPUT DROP
进阶:SDN与自动化
**软件定义网络(SDN)**将控制平面与数据平面分离,通过控制器(如OpenDaylight)集中管理网络。
示例OpenFlow流表(Mininet):
from mininet.net import Mininet
net = Mininet()
# 添加交换机与主机
s1 = net.addSwitch('s1')
h1 = net.addHost('h1')
net.addLink(h1, s1)
net.start()
推荐学习资源
- 书籍:《TCP/IP详解》《计算机网络:自顶向下方法》。
- 实验工具:GNS3、Wireshark、Cisco Packet Tracer。
- 在线课程:Coursera的《计算机网络》专项课程。