• home > theory > CST > network >

    从公私IP地址划分子网漫谈到DHCP/广播域/VLAN/网关/OSPF

    Author:zhoulujun Date:

    IP基础知识复习ip地址类型公有地址(Public address),由Inter NIC(Internet Network Information Center因特网信息中心分配到公网

    IP基础知识复习

    ip地址类型

    • 公有地址(Public address),由Inter NIC(Internet Network Information Center因特网信息中心分配到公网)负责分配到公网,可以称为公网ip。

    • 私有地址(Private address),属于非注册地址,专门为组织机构内部使用。有A、B、C三类地址。

      类别最大网络数IP地址范围单个网段最大主机数
      A类126(2^7-2)1.0.0.1-127.255.255.2541677721410.0.0.0-10.255.255.255
      B类16384(2^14)128.0.0.0-191.255.255.25565534172.16.0.0-172.31.255.255
      C类2097152(2^21)192.0.0.0-223.255.255.255254192.168.0.0-192.168.255.255

    网段/子网划分/子网掩码

    • 网段是一个范围,是一个网中所有的主机,例如,从192.168.0.1到192.168.255.255这之间就是一个网段。

    • 子网是划分出来的一个网,从逻辑上把一个大网络划分成一些小网络。比如A类IP地址划分成n个子网

      于传统IP地址分类来说

      • A类地址的子网掩码是255.0.0.0;

      • B类地址的子网掩码是255.255.0.0;

      • C类地址的子网掩码是255.255.255.0

    • 超网(Supernetting)是同子网类似的概念,它通过较短的子网掩码将多个小网络合成一个大网络。。例如,一个单位分到了8个C类地址:202.120.224.0 ~ 202.120.231.0,只要将其子网掩码设置为255.255.248.0,就能使这些C类网络相通。

    划分子网(Subnetting)

    A类网络有126个,每个A类网络可能有16777214台主机,它们处于同一广播域。可以把基于每类的IP网络进一步分成更小的网络(同一广播域中有这么多节点是不可能的,网络会因为广播通信而饱和,比如链接16777214台主机会怎样),每个子网由路由器界定并分配一个新的子网网络地址,子网地址是借用基于每类的网络地址的主机部分创建的。划分子网后,通过使用掩码,把子网隐藏起来,使得从外部看网络没有变化,这就是子网掩码

    将子网掩码和IP地址按位进行逻辑“与”运算,得到IP地址的网络地址,剩下的部分就是主机地址,从而区分出任意IP地址中的网络地址和主机地址。

    Windows系统中IP地址设置界面

    IP地址 = 网络地址 + 主机地址(又称:主机号和网络号组成)

    192.168.1.168(IP地址) = 192.168.1.0 (网络地址) + 0.0.0.168(主机地址)

    这些基础知识,可参考《计算机网络: IP地址,子网掩码,网段表示法,默认网关,DNS服务器详解

    广播域/网关

    DHCP

    动态主机设置协议(Dynamic Host Configuration Protocol, DHCP)是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:

    • 给内部网络或网络服务供应商自动分配IP地址给用户

    • 给内部网络管理员作为对所有电脑作中央管理的手段

    DHCP工作原理:

    DHCP从一个IP地址池中提供IP地址,该池有DHCP服务器数据库定义,称为scope。如果客户端接受这一地址,则它可在一个预定义的期限内使用该地址,称为租约。如果客户端无法从DHCP服务器获取IP地址,它就无法正常初始化TCP/IP。

    在DHCP为客户端配置TCP/IP参数时,DHCP服务器和客户端都需要经历四步过程。注意到很多通讯是通过广播的方式来完成的。如果路由器无法转发这些DHCP消息时,广播通信可能会造成问题。

    v2-22d46706777e40ed44e9c7a4a36e94f4_720w.jpg

    DHCP是个典型的跨二三四层协议,它的正常工作充分利用到了二三四层各层的特性,首先它自己本质上来说是个UDP包,但是:

    1. 它的源端口和目的端口都是固定的,因此四层部分并不重要,只起协议区分作用

    2. 它的发送通常不是依靠IP地址的,因为DHCP协议发起的时候源设备还没有IP地址;实际上除了DHCP中继以外,都是依靠二层直接通信的

    3. DHCP DISCOVER/REQUEST通过二层广播协议将数据包广播到整个二层广播域当中去,DHCP(或中继)则以二层单播的方式返回结果(DHCP OFFER/ACK/NACK)

    所以虽然貌似是个四层UDP协议,本质上还是靠二层通信机制。ARP也有类似的地方,它是跨二三层的

    • DNS域名服务器(Domain Name Server),域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器 。

    • DHCP服务器(Dynamic Host Configuration Protocol),DHCP指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。提升地址的使用率。


    广播域

    广播域(Broadcast domain)接收同样广播消息的节点的集合。即同一广播包能到达的所有设备成为一个广播域

    如:在该集合中的任何一个节点传输一个广播帧,则所有其他能收到这个帧的节点都被认为是该广播帧的一部分。由于许多设备都极易产生广播,所以如果不维护,就会消耗大量的带宽,降低网络的效率。由于广播域被认为是OSI中的第二层概念,所以象Hub,交换机等第一,第二层设备连接的节点被认为都是在同一个广播域。而路由器,第三层交换机则可以划分广播域,即可以连接不同的广播域

    集线器/交换机

    • 集线器(Hub)设备不能识别MAC地址和IP地址,对接收到的数据以广播的形式发送,它的所有端口为一个冲突域同时也为一个广播域

    • 交换机(Switch) 通过查找MAC地址表将接收到的数据传送到目的端口,可以分割冲突域,它的每一个端口相应的称为一个冲突域。

      • 交换机虽然能够分割冲突域,但是交换机下连接的设备依然在一个广播域中,

      • 当交换机收到广播数据包时,会在所有的设备中进行传播,在一些情况下会导致网络拥塞以及安全隐患

        • 不同网段在没有VLAN隔离情况下的互相干扰,一方面干扰大,资源浪费;另一方面也不安全,完全可以用ARP Spoofing欺骗另一个网段的主机,实现流量黑洞。

        • 将一台物理交换机逻辑分割成多个虚拟交换机vSwitch(对应一个VLAN),然后将客户PC的MAC地址放在一个容器内,这个容器就是VLAN,可以理解为划分成多个互不关联的虚拟的交换机

        • VLAN划分是基于数据链路层进行划分,子网划分是基于网络层进行划分,技术层面而言这两种划分之间没有什么“联系”可言

    • 用路由器(Router)利用不同网络的ID号(IP地址,又称为网络地址、协议地址)来确定数据转发的目的地址。

      • 路由器通过IP地址将连接到其端口的设备划分为不同的网络(子网),每个端口下连接的网络即为一个广播域,广播数据不会扩散到该端口以外,因此我们说路由器隔离了广播域,

    VLAN

    VLAN (Virtual Local Area Network)虚拟本地区域网络,也就是虚拟局域网。VLAN 是用来划分广播域的一种方法/概念,可以使得同一根网线中流过多个广播域的帧而不互相冲突,以及实现一个交换机多个端口分别属于多个广播域。

    它存在的一个巨大的意义,就是能够分割广播域,每个vlan区域内的设备都可以看作是一个独立的个体

    局域网中的电脑一般都接在交换机上,而交换机是链路层(也叫二层)设备。能不能在二层交换机上实现隔离广播域的目的呢?

    必须能,这就是VLAN(Virtual Local Area Network,虚拟局域网)技术。

    广播域拥挤Virtual Local Area Network,虚拟局域网.jpg

    每一个VLAN都是一个独立的广播域,我们可以在交换机上灵活通过VLAN控制每个广播域可以容纳多少电脑,大大提高网络性能,降低电脑处理广播报文的负担

    交换机如何区分不同的VLAN帧呢?比如上图中,VLAN 1中的某电脑发出了数据帧,交换机怎么区分这个帧是VLAN 1而不是VLAN 2的。

    这就需要修改一下以太网的封装格式,给它增加个标识字段TAG。

    交换机怎么区分这个帧是VLAN 1而不是VLAN 2的

    上面是标准以太网帧,为了能让交换机区分不同的VLAN帧,我们在SMAC与Type之间插入了一个TAG。我们把带有TAG的帧,叫802.1Q帧


    VLAN/广播域/网段

    如果两台电脑的IP地址在同一个网段,电脑会认为在同一个广播域,所以,如果俩电脑加入相同的VLAN,必然可以互通但如果加入了不同的VLAN,由于彼此“听”不到对方的ARP广播,自然也不会应答,所以无法互通

    如果俩电脑的IP地址不在同一个网段,电脑会认为不在同一个广播域,会各自找自己网段的网关。一个广播域只能有一个网关。电脑的IP地址不在同一个网段,不论是否在一个VLAN,都不能互通。

    一般地,在进行IP地址规划时,一个VLAN规划在一个网段,不同VLAN规划在不同的网段

    VLAN只是在二层进行了隔离,目的是控制广播帧。VLAN间要互通,可以通过三层来实现,即所谓的VLAN间路由。用路由器的确可以实现VLAN间互通。

    路由器的确可以实现VLAN间互通

    具体阅读《网络工程师(17):用路由器让VLAN之间互通


    主机们在不在一个广播域,完全取决于主机连接的交换机端口们在不在同一个VLAN:

    1. 如果在同一个VLAN,即使主机们的网段不相同,也是工作在一个广播域

      1. 主机们的网段相同,可以ARP发现彼此的MAC,直接通信,不需要任何三层设备(网关)的介入。

      2. 主机们的网段不相同,即使在一个广播域,也不能直接通信,需要三层设备(网关)的介入。

    2. 如果不在一个VLAN,主机们不在一个广播域

      1. 一个VLAN对应一个网段,那么主机之间的通信需要三层设备(网关)的介入。  

      2. 如果很不巧,两个VLAN里的主机使用相同的网段,主机并不知道有VLAN 的存在,所以依然认为其它主机和自己在一个广播域,但是这个广播域被交换机VLAN逻辑隔离,成为两个广播域,这时无法使用三层设备使得它们通信,唯一的方法,使用一个网桥将两个VLAN二层桥接起来,它们就可以通信了。所谓网关,就是上文提到的三层设备,可以是路由器、或三层交换机、防火墙。

    所谓网关,就是上文提到的三层设备,可以是路由器、或三层交换机、防火墙。

    上部分的网关主要用在局域网互连,当然也可以做为互联网互连。网关是一种充当转换重任的计算机系统或设备。在使用不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器。


    网关是 电信中使用的网络节点,它将具有不同传输协议的两个网络连接在一起。网关充当网络的入口和出口点,因为所有数据在路由之前必须经过网关或与网关通信。在大多数基于IP的网络中,唯一不通过至少一个网关的流量是在同一局域网(LAN)段上的节点之间流动的流量。术语默认网关或网络网关也可用于描述相同的概念。


    网关如何工作

    所有网络都有一个边界,该边界限制了与直接与其相连的设备之间的通信。因此,如果网络要与该边界之外的设备,节点或网络进行通信,则它们需要网关的功能网关通常被表征为路由器和调制解调器的组合

    网关在网络的边缘实现,并管理从该网络内部或外部定向的所有数据。当一个网络要与另一个网络通信时,数据包将传递到网关,然后通过最有效的路径路由到目的地。除路由数据外,网关还将存储有关主机网络的内部路径以及遇到的任何其他网络的路径的信息。

    网关基本上是协议转换器可以促进两个协议之间的兼容性,并且可以在开放系统互连(OSI)模型的任何层上运行


    物理网络中的网关与网络边界



    网关类型

    网关可以采用多种形式并执行各种任务。例如:

    • Web应用程序防火墙:此类型过滤与Web服务器之间的通信,并查看应用程序层数据。

    • 云存储网关:这种类型可通过各种云存储服务API调用转换存储请求。它允许组织将存储从私有云集成到应用程序中,而无需迁移到公共云中。

    • API、SOA或 XML 网关:此类型适用于管理流入和流出服务,面向微服务的体系结构或基于XML的Web服务的流量。

    • 物联网网关 :这种类型聚集物联网环境中来自设备的传感器数据,在传感器协议之间转换并处理传感器数据,然后再继续发送。

    • 媒体网关:此类型将数据从一种网络类型所需的格式转换为另一种网络所需的格式

    • 电子邮件安全网关:此类型可阻止传输违反公司政策或将恶意转移信息的电子邮件。

    • VoIP中继网关 :这种类型有助于通过IP语音(VoIP)网络使用普通的老式电话服务设备,例如固定电话和传真机。

    最后,网关只是一个统称,是连接两个不同网络的这么一个设备——就像是连接两个不同房间之间的那个门。可以是防火墙,可以是路由器,也可以是三层交换机。只要具有3层以及以上层次的设备,都可以转化为网关这个角色。哪怕是一台PC,一个网口,也可以通过打tag的方式转化为一个单臂路由形态的网关。

    本地路由间通信

    LAN to LAN与 Lan to WAN

    可以参看《如何连接两个路由器

    • LAN口是指设备上对客户提供的业务接口

    • WAN口是指设备上的广域网接口

    WAN口与LAN口其本身就不是特别严谨的“术语”,想必是家用设备便于用户区分内外网方向的一种相对“直观”的表达方式而已。

    DHCP/VLAN/网关都是本地IP 都是本地路由操作,广域网 ip 如何 ?

    路由表是如何生成的?

    OSPF路由协议,收集网络里所有的路径信息,然后运行最短路径算法,得到最短路径,这个最短路径就是路由表,可以用来为IP报文导航。

    一般OSPF用于容纳10K及以下路由条目是合适的。路由条目多于这个数目,就会出现性能瓶颈,不光是最短路径SPF算法限制,还在于路由条目的扩散对CPU影响颇大。

    BGP路由协议,用于运营商之间交换路由条目。通常路由条目都是经过归纳之后汇总路由。所谓归纳,就是将N多路由条目,汇总成一条路由。

    在用户IP报文到达路由器之前,路由器之间已经使用OSPF/BGP协议交换好了全球的路由表,并处于同步状态,静静地等待用户IP的到来。

    如果每个路由器的路由表处于同步状态,可以正常转发用户IP报文;反之,可能会造成丢包或环路,就会间接造成通信障碍。


    OSPF路由协议

    OSPF(Open Shortest Path First,开放最短路径优先)协议是一种基于链路状态的动态路由协议,RIP不会考虑链路状态,只关心距离,路由都是听别人告诉的,而OSPF则是根据链路状态信息自己计算路由,从设计上就避免了路由环路。什么是链路状态?简单来说,就是一条链路(或称为一个子网)的IP地址前缀、掩码、链路开销、网络类型等信息。

    在OSPF中,去往目的网段的链路开销最小即为最优。链路开销是根据链路带宽自动计算的,计算方法是:

    链路开销=参考带宽÷链路带宽,最小值为1(为什么最小值是1而不是0呢?只有直连路由和手工配置的静态路由开销为0,所有动态路由协议的开销都大于0)。

    SPF划分区域时,每个区域都有一个区域ID,区域ID长得和IP地址很像,为描述方便,一般把区域0.0.0.0简称区域0,区域0.0.0.1简称区域1,等等。

    在OSPF区域中,区域0规定为骨干区域,其他都是普通区域。如果网络中OSPF只有一个区域,那么这个区域ID无论是什么都行。但如果存在多个区域,则骨干区域(区域0)必须存在且只能有一个,其他区域必须和区域0通过ABR(区域边界路由器)相连。

    OSPF区域中的ABR作用-OSPF网络拓扑


    ABR

    如果一台路由器有接口属于不同的区域,且至少有一个接口在区域0中有邻居关系,那么这台路由器就是ABR。

    ABR是一个勤劳“搬运工”,它会把普通区域中的路由一条一条地搬到骨干区域中,也会把骨干区域中的路由全部搬到普通区域中。但是注意,它不会把一个普通区域中的路由搬到另一个普通区域。



    参考文章:

    什么是网关,网关的作用是什么?https://www.jianshu.com/p/122ac247f772

    计算机网络: IP地址,子网掩码,网段表示法,默认网关,DNS服务器详解 https://zhuanlan.zhihu.com/p/62907736

    一篇文章教你了解什么是VLAN https://zhuanlan.zhihu.com/p/110684449

    网络工程师(15):VLAN是啥 https://zhuanlan.zhihu.com/p/136613001

    网络工程师(35):应用最广泛的路由协议OSPF https://zhuanlan.zhihu.com/p/147329570

    网关到底是什么? - 豆腐好吃的回答 - 知乎 https://www.zhihu.com/question/67671731/answer/256542758

    网关到底是什么? - 灵剑的回答 - 知乎 https://www.zhihu.com/question/67671731/answer/256387341

    网关到底是什么? - 车小胖的回答 - 知乎  https://www.zhihu.com/question/67671731/answer/255400790

    网关是什么?一文带你了解网关  https://zhuanlan.zhihu.com/p/144664558

    VLAN 划分与子网划分联系与区别? - 车小胖的回答 - 知乎 https://www.zhihu.com/question/51675361/answer/127319076



    转载本站文章《从公私IP地址划分子网漫谈到DHCP/广播域/VLAN/网关/OSPF》,
    请注明出处:https://www.zhoulujun.cn/html/theory/ComputerScienceTechnology/network/2020_0628_8487.html