pfSense book之网络概念

本文摘要本书不是对网络的介绍,但一些网络概念需要理解。对于没有网络基础知识的读者,建议先阅读其他入门资料,因为本章不会涵盖所有必要信息。IPv6概念将在后续章节中介绍。为清楚起见,传统的IP地址被称为IPv4地址。除特别说明外,大多数功能均可使用IPv4或IPv6地址。通用术语“IP地址”可指代IPv4或IPv6。OSI模型层介绍OSI模型是由七个层级组成的网络框架,按从低到高的层次结构列出:第1层-物理...

本书不是对网络的介绍,但一些网络概念需要理解。对于没有网络基础知识的读者,建议先阅读其他入门资料,因为本章不会涵盖所有必要信息。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/810.0.0.0 – 10.255.255.255
172.16.0.0/12172.16.0.0 – 172.31.255.255
192.168.0.0/16192.168.0.0 – 192.168.255.255

RFC 4193 唯一本地地址空间

前缀IP 地址范围
fc00::/7fc00:: – 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/32111/256
255.255.255.254/3122*1/128
255.255.255.252/30421/64
255.255.255.248/29861/32
255.255.255.240/2816141/16
255.255.255.224/2732301/8
255.255.255.192/2664621/4
255.255.255.128/251281261/2
255.255.255.0/242562541
255.255.254.0/235125102
255.255.252.0/22102410224
255.255.248.0/21204820468
255.255.240.0/204096409416
255.255.224.0/198192819032
255.255.192.0/1816,38416,38264
255.255.128.0/1732,76832,766128
255.255.0.0/1665,53665,534256
255.254.0.0/15131,072131,070512
255.252.0.0/14262,144262,1421024
255.248.0.0/13524,288524,2862048
255.240.0.0/121,048,5761,048,5744096
255.224.0.0/112,097,1522,097,1508192
255.192.0.0/104,194,3044,194,30216,384
255.128.0.0/98,388,6088,388,60632,768
255.0.0.0/816,777,21616,777,21465,536
254.0.0.0/733,554,43233,554,430131,072
252.0.0.0/667,108,86467,108,862262,144
248.0.0.0/5134,217,728134,217,7261,048,576
240.0.0.0/4268,435,456268,435,4542,097,152
224.0.0.0/3536,870,912536,870,9104,194,304
192.0.0.0/21,073,741,8241,073,741,8228,388,608
128.0.0.0/12,147,483,6482,147,483,64616,777,216
0.0.0.0/04,294,967,2964,294,967,29433,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请求中继到另一接口的广播域中。

觉得内容不错?我要

评论 暂无评论
暂无评论,快来抢沙发吧~