马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
IP 协议是什么
IP(Internet Protocol,网际协议)是 TCP/IP 协议族中的核心协议之一,负责在互联网络上传输数据。它要解决两件事:给网络上的每台设备分配一个唯一地址来标识它;让数据包在网络节点之间一跳一跳地转发,直到抵达目标。
这一过程往往要穿过多个路由器,每个路由器都根据 IP 地址和网络拓扑来决定下一条往哪走。要注意的是,IP 本身提供的是无连接服务——发包之前不需要在收发双方之间建立连接,每个数据包独立选路。这种设计让它足够灵活,但也意味着可靠性、顺序、重传这些活儿要交给上层协议(TCP 或 UDP)去补。
三个角色:主机、路由器、节点
- 主机:配有 IP 地址,但不做路由控制的设备,比如你的办公电脑、服务器。
- 路由器:既配 IP 地址,又能做路由控制,负责在网络之间转发包。
- 节点:主机和路由器的统称。
IPv4 地址长什么样
一台机器除了网卡上烧死的 MAC 地址(物理地址),还有一个"逻辑地址",就是 IP 地址。它可以由管理员手工指定(静态 IP),也可以由 DHCP(动态主机配置协议)自动派发。在同一个网络里,这个地址必须唯一。
IPv4 地址是一个 32 位的二进制数,按 8 位一组分成 4 段,用点分十进制写出来,比如 192.168.1.10。
网络号与主机号
和身份证号类似,IP 地址内部也分两段。要找到一个主机,得先确定它所在的网络(网络号),再在网络内部找到那台具体机器(主机号)。
举例:主机 A 和主机 B 的网络号都是 202.113.27,说明它们在同一片区域(局域网)。路由器先按网络号把包送到这片区域,再在区域内按主机号定位到具体那台机器。
五类地址
早期把 IP 地址分成五类,目的是方便管理和寻址——分类能直接确定网络号占多少位、主机号占多少位,也就知道了这个网络能装多少台机器。
| 类别 | 范围 | 默认掩码 |
| A 类 | 0.0.0.0 ~ 127.255.255.255 | 255.0.0.0 |
| B 类 | 128.0.0.0 ~ 191.255.255.255 | 255.255.0.0 |
| C 类 | 192.0.0.0 ~ 223.255.255.255 | 255.255.255.0 |
| D 类 | 224.0.0.0 ~ 239.255.255.255 | 组播地址 |
| E 类 | 240.0.0.0 ~ 255.255.255.255 | 保留实验地址 |
其中 A/B/C 是单播(给某一台机器),D 类用于组播,E 类保留。注意 E 类上限是 255.255.255.255,不是 247 段。
子网掩码:解决分类的浪费
互联网一爆发,这套分类方案的短板立刻暴露:组织申请地址时基本都奔着 B 类去(能装 6 万台主机,够用),结果 B 类很快分完,而 A 类那种能装 1600 多万台的大家伙却大量闲置。地址利用率极低。
于是有了子网掩码。掩码本身也是 32 位正整数,二进制形式通常是"一段连续的 1 打头、一串 0 收尾",写法同样是点分十进制。它的作用是告诉本机:IP 地址的哪些位属于网络号,哪些位属于主机号——子网内的所有主机必须配置相同子网掩码。
关键一点:网络号和主机号怎么切分,和这个 IP 属于 A/B/C 类已经没有必然关系了,全靠掩码说了算。所谓的"B 类默认掩码 255.255.0.0""C 类默认掩码 255.255.255.0",只是 A/B/C 分类时代的默认约定,代表那个网络当时没再做子网划分。
网络地址怎么算
把 IP 地址和子网掩码做按位与,结果就是网络地址(网络号)。例如:
IP: 192.168.1.10 → 11000000.10101000.00000001.00001010
掩码: 255.255.255.0 → 11111111.11111111.11111111.00000000
按位与: 192.168.1.0 → 11000000.10101000.00000001.00000000
结果 192.168.1.0 就是这个网段的网络地址,后面 .1 到 .254 才是可分配给主机的地址(.0 是网络地址,.255 是广播地址)。
几个特殊 IP
- 主机号全 0:表示这个网络本身,即网络地址,代表整个局域网。
- 主机号全 1:广播地址,用来给这条链路上的所有主机同时发包。家里路由器的
192.168.1.1、192.168.0.1 就是典型的主机会被分配之外的保留地址用法。
- 127.0.0.0/8:本机环回(loopback)测试段,最常用
127.0.0.1,指"我自己"。本地服务自测、排查网络协议栈是否正常都用得着。
局域网与私有地址
局域网(LAN)是覆盖有限地理范围的网络,比如一个办公室、一栋楼、一个工厂。设备距离近,通常带宽高、延迟低,内部设备之间换数据很快;同一局域网的设备一般同属一个机构,便于统一管控。
如果地址只在局域网内部通信、不上公网,理论上随便用什么都行。但 RFC 1918 划定了三段专供局域网使用的私有地址:
10.0.0.0/8:前 8 位是网络号,约 1677 万个地址(A 类私有段)。
172.16.0.0/12:即 172.16.x.x 到 172.31.x.x,前 12 位是网络号,约 104 万个地址(B 类私有段)。
192.168.0.0/16:前 16 位是网络号,约 6.5 万个地址(C 类私有段),家里路由器最常见的就是它。
这三段地址在公网上是不可路由的——数据包一出网关就被丢弃,所以公司、家里的内部网络可以放心复用,不同公司内部的 192.168.1.x 互不干扰。
NAT:让私有地址出公网
既然私有地址不能上公网,就得有个东西把它翻译成合法公网地址,这就是 NAT(Network Address Translation,网络地址转换)。它部署在出口设备(路由器、防火墙)上:从内到外的流量,把源地址换成公网地址;从外到内的流量,把目的地址换回内网地址。效果是内网多台机器共用一个公网 IP 上网,同时外网无法直接摸到内网主机的私有地址,顺带提高了安全性。
三种实现方式:
- 静态 NAT:内网地址与公网地址一对一固定绑定。适合内部只有少量设备需要对外提供服务的场景(比如一台对外服务器)。
- 动态 NAT:内网私有 IP 随机换成一批合法公网 IP 中的一个,谁先占用谁用。适合有大量主机要上网、但公网 IP 数量有限的场景。
- 端口多路复用(PAT / NAPT):所有内网主机共享一个公网 IP,同时转换 IP 和传输层端口,用"不同源端口"来区分不同内网主机。这是目前家庭和企业出口最普遍的做法,把地址节省到了极致,也把整个内网主机对外隐身了。
NAT 的几个实际好处
- 省公网 IP:多台设备共用一个出口地址,是当下缓解 IPv4 枯竭最现实的办法。
- 处理地址重叠:两家合并的公司内网 IP 段撞车时,靠 NAT 隔离转换,不用重编址。
- 提高灵活性:可选择静态、动态、PAT 等不同策略。
- 提升安全性:内网拓扑对外不可见,外部无法直接寻址内部主机。
代价也要知道:NAT 破坏了端到端可达性,容器内服务、P2P、VoIP、部分游戏联机会因此出问题,这也是内网穿透工具(frp 之类)大行其道的原因。
IPv6 为什么必须上
IPv4 一共 232 个地址,大约 43 亿,全球联网设备一涨就明显不够分。于是有了 IPv6:地址空间 2128,这是个天文数字。
书写格式上,IPv6 由 8 组、每组 16 位组成,每组用 4 个十六进制数表示,组与组之间用冒号隔开,例如:
2001:0db8:85a3:0000:0000:8a2e:0370:7334
实际写作时可以省略前导零,连续的全 0 组还能用 :: 压缩(一个地址里只能压缩一次),上面的地址常写成 2001:db8:85a3::8a2e:370:7334。
不过 IPv6 推广难度不小:它与 IPv4 不兼容,需要双栈或隧道过渡;真实部署里也出现过地址囤积、分配不合理导致的浪费。所以目前多数网络的现实状态是 IPv6 + NAT 同时存在。
小结
IP 协议是 TCP/IP 的骨干:IPv4 用 32 位点分十进制标识主机,地址内部拆成网络号 + 主机号;早期五类地址划分方便但浪费严重,子网掩码用按位与来确定网段;主机号全 0 是网络地址、全 1 是广播地址、127 段是环回;RFC 1918 划出 10/8、172.16/12、192.168/16 三段私有地址供局域网使用,靠 NAT 转换出海,其中 PAT 是目前最通用的方案;IPv4 地址耗尽推动 IPv6(128 位、8 组冒号分隔)落地,但因不兼容过渡成本仍高。
(本文由 qidao123.com企服评测-应用市场 编辑提示整理:内容基于 TCP/IP 协议的通用定义,示例网段与掩码计算适用于 Ubuntu / CentOS 等 Linux 环境下的常规排查。) |