网段划分和 IP 地址

1. IP 协议

IP 协议是网络层协议,主要负责在不同网络设备之间,进行数据包的地址分配和路由选择。

  • 地址分配:为每个连接到公网的设备分配一个唯一的 IP 地址,确保数据能被准确地发送到目标设备。

  • 数据分片和组装:当发送的数据包大小大于 mtu 时,本地 IP 协议会将其分成几个片段,并在目的地的网络层再重新组装。

    整个数据包的重组依赖于所有分片的成功传输。如果其中一个分片丢失,整个数据包将无法重组,导致数据传输失败。

  • 路由选择:根据目标 IP 地址,确定数据包通过何种路径,从本地设备传输到目标设备。

  • 无连接:IP 协议是无连接的,每个数据包独立传输,不保证顺序性和可靠性。

IP 协议提供了将数据跨网络、从本地设备传输到目标设备的能力。

TCP 协议能确保,数据传输的顺序性和可靠性。

因此,TCP/IP 能将数据可靠地本地设备 传输到 目标设备

2. IP 地址基础

IP 地址分为两个部分, 网络号主机号

  • 网络号:用于标识一个网络,保证相互连接的两个网段,具有不同的网络号。
  • 主机号:用于标识网络中的某一具体设备。同一网段内,主机之间具有相同的网络号,和不同的主机号
  • 子网:把相同网络号的主机放在一起。

​ 如果在子网内新增一台主机,这台主机的网络号与子网的网络号保持一致,但主机号不能与子网中其他主机的主机号重复。

  • DHCP:能够自动地给子网内新增主机节点分配 IP 地址。路由器通常都具有 DHCP 功能。
3. 网络分段

网段划分是将一个大的 IP 网络划分为多个较小的子网络的过程。这种方式可以有效分配 IP 地址,避免地址浪费,特别是在 IPv4 地址资源有限的情况下。

3.1 CIDR

CIDR 通过使用斜线表示法(CIDR 记法)和子网掩码长度,灵活划分 IP 地址空间,而不遵循固定的地址分类规则。

  • 子网掩码(subnet mask):区分网络号和主机号。
  • 子网掩码是一个 32 位的正整数,通常用一串 "0" 结尾。
  • 将 IP 地址与子网掩码进行按位与 & 操作,得到网络号。

举例:192.168.1.2/24 的网络地址是 192.168.1.0 ,子网掩码长度为 24 位(高 24 位为 1,即子网掩码为 255.255.255.0)。

1100 0000. 1010 1000. 0000 0001. 0000 0010

1111 1111. 1111 1111. 1111 1111. 0000 0000

------------------------------------------ &

1100 0000. 1010 1000. 0000 0001. 0000 0000

对应的网络号为 192. 168. 1. 0

可用地址范围:192. 168. 1. 0 ~ 192. 168. 1. 255

3.2 特殊 IP 地址

将 IP 地址中的主机地址设为全 0,就是 网络号 ,代表这个局域网。

将 IP 地址中的主机地址设为全 1,就是 广播地址 ,用于给同一个链路中的、相互连接的所有主机发送数据包。

127.* 的地址用于本地环回测试,常见为 127.0.0.1

4. 公网 IP 和 私网 IP
4.1 公网 IP

公网 IP 是指全球唯一的、可以在互联网上访问的 IP 地址。每一个连接到互联网的设备,都需要一个公网 IP 地址,以便其它设备可以与之通信。

4.2 私网 IP

私网 IP 是指在局域网内使用的、不直接连到互联网上的 IP 地址。

私网 IP 可以在不同的局域网内重复使用,不需要全球唯一性。

私网 IP 的范围:

  • 10.* /8 :前 8 位是网络号。
  • 172.16.* /12 ~ 172.31.* /12 :前 12 位是网络号。
  • 192.168.* /16 :前 16 位是网络号。

包含在这个范围内的 IP 都称为私网 IP,其余都为公网 IP 。

5. NAT 技术

一个路由器可以配置两个 IP 地址:WAN 口 IPLAN 口 IP

路由器 LAN 口连接的主机,都属于当前路由器的子网主机。

同一子网内, IP 不能重复;不同字网间,可以有相同的 IP 。

家用路由器 通常是 运营商路由器 子网中的某一节点;最外层运营商路由器的 WAN 口 IP ,为公网 IP。

NAT :子网内的主机和公网设备进行通信时,路由器会将数据包中的 源 IP 地址 ,替换为路由器的 WAN 口 IP 地址 ;逐级替换,最终数据包中的 源 IP 地址 为一个 公网 IP 。

6. 路由

路由表是存储在路由器中的数据库,记录了到达不同网络目标的路径信息。

每当路由器接收到数据包时,会查阅路由表,以决定将数据包转发到哪个接口。

在 Linux 中,可以使用 route 指令查看路由表。

  • Destination :目标网络地址
  • Gateway :子网掩码
  • Genmask :下一跳地址

如果目的 IP 命中了路由表,则直接转发。

当 目的地址 与 路由表中其它行 都不匹配时,按 缺省路由条目规定的接口 发送到 下一跳地址。

举例:

目的 IP 为 10.1.2.3

  • 10.1.2.3 & 255.255.255.0 != 192.168.1.0
  • 10.1.2.3 & 255.0.0.0 == 10.0.0.0 匹配

​ 下一跳为 192.168.1.2 ,通过 Ethernet0 接口转发。

相关推荐
liuhaikang42 分钟前
鸿蒙MPChart图表自定义(六)在图表中绘制游标
华为·harmonyos
davidson14712 小时前
ICP备案(阿里云等)
阿里云·腾讯云·app上架·icp备案
网络安全Ash4 小时前
全国知名网络安全赛事西湖论剑·杭州网络安全技能大赛启动报名
网络·安全·web安全
Spiffo_Sir5 小时前
【Spiffo】排障:VsCode报错“过程试图写入的管道不存在”(网络环境正常且地址正常的情况下依然出现)
网络·ide·vscode
MAR-Sky6 小时前
集线器,交换机,路由器,mac地址和ip地址知识记录总结
网络·tcp/ip·智能路由器
柒烨带你飞6 小时前
热备份路由HSRP及配置案例
网络·智能路由器
黑客呀7 小时前
网络安全笔记
网络·安全·web安全
让世界再也没有bug8 小时前
显示视频DP、HDMI、DVI、VGA接口的区别
网络·智能硬件
wangqiaowq9 小时前
HTTP、HTTP/2 和 gRPC 是网络通信协议或基于这些协议的技术,它们之间有显著的区别
网络·网络协议·http
橙子 chen9 小时前
工具函数 - 调用http
java·大数据·网络·数据库·python·网络协议·http