本书不是对网络的介绍,但一些网络概念需要理解。对于没有网络基础知识的读者,建议先阅读其他入门资料,因为本章不会涵盖所有必要信息。IPv6概念将在后续章节中介绍。为清楚起见,传统的IP地址被称为IPv4地址。除特别说明外,大多数功能均可使用IPv4或IPv6地址。通用术语“IP地址”可指代IPv4或IPv6。
OSI模型层介绍
OSI模型是由七个层级组成的网络框架,按从低到高的层次结构列出:
- 第1层-物理层:在局域网上传输数据帧,负责管理计算机通信设备与网络媒体之间的互通,涉及针脚、电压、线缆规范、集线器、中继器、网卡、主机适配器等。
- 第2层-数据链路层:负责网络寻址、错误侦测和纠错。数据封装后会形成帧,包含数据链路头(物理地址与检纠错方法)和数据链路尾。典型协议如以太网、Wi‑Fi、GPRS等。该层细分为逻辑链路控制(LLC)子层和介质访问控制(MAC)子层。
- 第3层-网络层:负责路径选择与转发,将网络头添加到数据包形成分组。典型协议如IP。
- 第4层-传输层:将传输头添加到数据形成数据包,包含所使用的协议等信息。典型协议如TCP。
- 第5层-会话层:在数据传输中建立和维护两台计算机之间的通信连接。
- 第6层-表示层:将数据转换为与接收者系统格式兼容且适合传输的格式。
- 第7层-应用层:为应用软件提供接口,以设置与另一应用软件之间的通信。典型协议如HTTP、HTTPS、FTP、Telnet、SSH、SMTP、POP3等。
公共和私有IP地址
私有IP地址
网络标准RFC 1918定义了仅用于私有网络的保留IPv4子网(见下表)。RFC 4193为IPv6定义了唯一本地地址(ULA)。在大多数环境中,内部网络设备使用RFC 1918私有IP子网,然后通过网络地址转换(NAT)防火墙或路由器(如pfSense)连接互联网。IPv6则可通过全球单播地址(GUA)从内部网络完全路由,无需NAT。
RFC 1918 私有IP地址空间
| CIDR 范围 | IP 地址范围 |
|---|---|
| 10.0.0.0/8 | 10.0.0.0 – 10.255.255.255 |
| 172.16.0.0/12 | 172.16.0.0 – 172.31.255.255 |
| 192.168.0.0/16 | 192.168.0.0 – 192.168.255.255 |
RFC 4193 唯一本地地址空间
| 前缀 | IP 地址范围 |
|---|---|
| fc00::/7 | fc00:: – fdff:ffff:ffff:ffff:ffff:ffff:ffff:ffff |
完整的特殊用途IPv4网络列表可参见RFC 3330。一些如1.0.0.0/8和2.0.0.0/8的地址已分配给缩减的IPv4池,不建议使用。此外,应避免使用169.254.0.0/16(RFC 3927为链路本地保留),它不应由DHCP分配或手动设置,路由器也不允许此类数据包在特定广播域外传播。RFC 1918的地址空间已足够,无需超出其范围使用。错误寻址会导致网络故障,应予以纠正。
公共IP地址
除最大型网络外,公共IP地址由互联网服务提供商分配。需要大量公共IP地址的网络通常直接从地区互联网注册机构(RIR)获取地址空间。RIR负责监督全球各区域的公共IP地址分配与注册。
多数家庭互联网连接分配一个公共IPv4地址,多数商业连接则分配多个公共IP地址。通常单个公共IP配合NAT即可满足数百个私有地址联网需求。本书将帮助确定所需的公共IP地址数量。
多数IPv6部署向最终用户至少提供一个/64前缀网络,用于路由内部网络,每个站点约2⁶⁴个IPv6地址(约18亿亿个地址),可直接从互联网路由而无需NAT。
保留和文档地址
除RFC 1918定义的范围外,RFC 5735还描述了为文档、测试和基准测试等保留的IP范围。RFC 6598更新了RFC 5735,并为运营商级NAT定义了地址空间。这些特殊网络包括:
RFC 5735 保留地址空间
| CIDR 范围 | 目的 |
|---|---|
| 192.0.2.0/24 | 文档和示例代码 |
| 198.51.100.0/24 | 文档和示例代码 |
| 203.0.113.0/24 | 文档和示例代码 |
| 198.18.0.0/25 | 对网络设备进行基准测试 |
| 100.64.0.0/10 | 电信级NAT空间 |
本书示例所用的地址来自上述文档范围以及RFC 1918网络,它们更易为普通用户理解。尽管某些人可能考虑将这些地址用于VPN或局域网,但不建议如此使用。不过相较于RFC 1918网络,它们在“野外”出现的机会要小得多。
IP子网划分概念
在设备上配置TCP/IP设置时,必须指定子网掩码(或IPv6前缀长度)。此掩码使设备能够分辨哪些IP地址属于本地网络,哪些需要通过路由表中的网关到达。默认LAN IP地址为192.168.1.1,掩码为255.255.255.0,CIDR表示为/24,其网络地址为192.168.1.0/24。以下将讨论CIDR子网掩码表示法。
IP地址、子网和网关配置
主机的TCP/IP配置由地址、子网掩码(或IPv6前缀长度)和网关组成。IP地址与子网掩码的结合用于识别本地网络内的地址,本地网络之外的地址则发送到主机配置的默认网关,由网关负责将流量传递到目的地。例外情况是静态路由,它指示设备可通过本地连接的路由器到达特定的非本地子网。网关与静态路由列表保留在每个主机的路由表中。
在典型的pfSense部署中,主机会在pfSense设备的LAN范围内获得IP地址、子网掩码和网关,pfSense的LAN IP地址即成为默认网关。对于通过LAN之外接口连接的主机,使用对应接口的配置即可。
同一网络中的主机直接相互通信,无需默认网关参与。这意味着防火墙(包括pfSense)无法控制同网段内主机到主机的通信。如果需要此功能,需通过使用多个交换机、VLAN或等效的交换机功能(如PVLAN)对主机进行分段。
CIDR子网掩码表示法
配置地址和网络时,pfSense使用CIDR(无类域间路由)表示法,而非传统的255.x.x.x子网掩码。CIDR消除了A、B、C类地址及划分子网的概念,能够更高效地分配IPv4地址空间,也可将多个IP网络合并成一条路由以减少路由表条目,减轻Internet路由器负担。下表中列出了十进制子网掩码对应的CIDR值。
CIDR 子网表
| 子网掩码 | CIDR 前缀 | 总IP地址数 | 可用IP地址数 | /24 网络数量 |
|---|---|---|---|---|
| 255.255.255.255 | /32 | 1 | 1 | 1/256 |
| 255.255.255.254 | /31 | 2 | 2* | 1/128 |
| 255.255.255.252 | /30 | 4 | 2 | 1/64 |
| 255.255.255.248 | /29 | 8 | 6 | 1/32 |
| 255.255.255.240 | /28 | 16 | 14 | 1/16 |
| 255.255.255.224 | /27 | 32 | 30 | 1/8 |
| 255.255.255.192 | /26 | 64 | 62 | 1/4 |
| 255.255.255.128 | /25 | 128 | 126 | 1/2 |
| 255.255.255.0 | /24 | 256 | 254 | 1 |
| 255.255.254.0 | /23 | 512 | 510 | 2 |
| 255.255.252.0 | /22 | 1024 | 1022 | 4 |
| 255.255.248.0 | /21 | 2048 | 2046 | 8 |
| 255.255.240.0 | /20 | 4096 | 4094 | 16 |
| 255.255.224.0 | /19 | 8192 | 8190 | 32 |
| 255.255.192.0 | /18 | 16,384 | 16,382 | 64 |
| 255.255.128.0 | /17 | 32,768 | 32,766 | 128 |
| 255.255.0.0 | /16 | 65,536 | 65,534 | 256 |
| 255.254.0.0 | /15 | 131,072 | 131,070 | 512 |
| 255.252.0.0 | /14 | 262,144 | 262,142 | 1024 |
| 255.248.0.0 | /13 | 524,288 | 524,286 | 2048 |
| 255.240.0.0 | /12 | 1,048,576 | 1,048,574 | 4096 |
| 255.224.0.0 | /11 | 2,097,152 | 2,097,150 | 8192 |
| 255.192.0.0 | /10 | 4,194,304 | 4,194,302 | 16,384 |
| 255.128.0.0 | /9 | 8,388,608 | 8,388,606 | 32,768 |
| 255.0.0.0 | /8 | 16,777,216 | 16,777,214 | 65,536 |
| 254.0.0.0 | /7 | 33,554,432 | 33,554,430 | 131,072 |
| 252.0.0.0 | /6 | 67,108,864 | 67,108,862 | 262,144 |
| 248.0.0.0 | /5 | 134,217,728 | 134,217,726 | 1,048,576 |
| 240.0.0.0 | /4 | 268,435,456 | 268,435,454 | 2,097,152 |
| 224.0.0.0 | /3 | 536,870,912 | 536,870,910 | 4,194,304 |
| 192.0.0.0 | /2 | 1,073,741,824 | 1,073,741,822 | 8,388,608 |
| 128.0.0.0 | /1 | 2,147,483,648 | 2,147,483,646 | 16,777,216 |
| 0.0.0.0 | /0 | 4,294,967,296 | 4,294,967,294 | 33,554,432 |
注意:使用/31网络是RFC 3021定义的特殊情况,子网中的两个IP地址均可用于点对点链接以节省IPv4地址空间。并非所有系统都支持RFC 3021,请谨慎使用。在不支持的系统上,该子网不可用,因为掩码定义的仅有两个地址被划分为网络地址和广播地址,没有可用主机地址。pfSense 2.4.5支持在接口和虚拟IP上使用/31网络。
CIDR值如何计算
CIDR编号来自子网掩码转换为二进制后“1”的数量。
- 常用子网掩码255.255.255.0 = 11111111.11111111.11111111.00000000,共24个1,因此为/24。
- 子网掩码255.255.255.192 = 11111111.11111111.11111111.11000000,共26个1,因此为/26。
CIDR概述
除了指定子网掩码外,CIDR还可用于IP或网络汇总。上表中“总IP地址数”列指示给定CIDR掩码汇总的地址数量;“/24 网络数量”列则对网络汇总很有用。CIDR汇总可用于pfSense® Web界面的多个部分,包括防火墙规则、NAT、虚拟IP、IPsec和静态路由。
能被一个CIDR掩码包含的IP地址或网络称为“CIDR可汇总”。设计网络时,请确保特定位置使用的所有私有IP子网都是可汇总的。例如,若某个位置需要三个/24子网,应使用一个可分成四个/24网络的/22网络。下表展示了与子网10.70.64.0/22一起使用的四个/24子网:
CIDR 路由汇总
| 10.70.64.0/22 分成的 /24 网络 |
|---|
| 10.70.64.0/24 |
| 10.70.65.0/24 |
| 10.70.66.0/24 |
| 10.70.67.0/24 |
使用专用WAN线路或VPN连接多站点网络时,CIDR汇总可让路由更易于管理:一个路由目标即可覆盖每个位置的所有网络。否则每个位置都将有多个不同的目标网络。
可以通过 subnetmask.info 网站上的网络计算器进行CIDR计算。
计算器可将点分十进制掩码转换为CIDR,反之亦然,如下图所示。若上方的CIDR子网表不可用,可使用该工具将CIDR前缀转换为点分十进制表示法。输入CIDR前缀或点分十进制掩码,然后单击相应的“计算”按钮即可得到转换结果。

在“Network/Node Calculator(网络/节点计算器)”部分输入十进制掩码和IP地址,点击Calculate,下方会显示计算结果。本例中网络地址为10.70.64.0/22,可用的/24网络为64至67。结果中的术语“Broadcast Address(广播地址)”指该范围内的最高地址。

找到一个匹配的CIDR网络
别名支持格式为x.x.x.x-y.y.y.y的IPv4地址范围。对于网络类型别名,该范围会自动转换为等效的CIDR块;对于主机类型别名,则转换为IPv4地址列表。
如果不需要完全匹配,可将数字输入到Network/Node Calculator中进行计算。
广播域
广播域是网络共享同一第2层网段的部分。在不带VLAN的单个交换机网络中,广播域就是整个交换机;在多个互连交换机且无VLAN的网络中,广播域包含所有这些交换机。
单个广播域可以包含多个IPv4或IPv6子网,但这并非好的网络设计。IP子网应通过使用单独的交换机或VLAN隔离到独立的广播域中。唯一例外是在单个广播域中同时运行IPv4和IPv6网络,这称为双栈,是一种常见且有用的技术,可让主机同时使用IPv4和IPv6连接。
通过桥接两个网络接口可以组合广播域,但须小心避免交换环路。对于某些协议,也可使用代理而不合并广播域,以保持网络干净,例如DHCP中继,它将DHCP请求中继到另一接口的广播域中。
觉得内容不错?我要