开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第6天,点击查看活动详情
网段与路由器
上一节说到如果只使用交换机的话每当一个新机器加入就会产生广播风暴,那么我们需要把机器划分成不同的广播域,这一节将介绍划分广播域的方法网段和路由器的工作原理。
IP地址
互联网上的主机都应该有自己的IP地址,但是最初版本的IPv4(32bit)在2019年已经用完,最新的IPv6(128bit)据说可以给地球上的每一粒沙子编号,但是目前尚未普及。下面我们对IPv4的IP地址进行分析。
首先一个IPv4的地址一共有32位,我们以每8位划分成一个部分,比如我们常见的本机IP地址
127.0.0.1-->01111111.00000000.00000000.00000001
上面是按照字节进行划分,如果IP地址按照功能划分的话会划分成两个部分,分别是网络标识和主机标识,前面说到的网段其实就是指网络标识。
网段
网段是通过子网掩码和IP地址得到的:
网络ID = IP地址 & 子网掩码
打个比方,如果IP地址是192.168.1.10,子网掩码是255.255.255.0的话,化成二进制:
网络ID:11000000.10101000.00000001.00001010
子网掩码:11111111.11111111.11111111.00000000
网络ID:11000000.10101000.00000001.00000000
可以得到网络ID为192.168.1.0,这就是我们的网段。也就是说同一个IP地址,如果子网掩码不同,那么可能就是在不同的网段下。
那后面的那一部分就是指的主机标识,比如上面的这个例子,192.168.1.0是网段,10就是主机号,在这个子网掩码下有2^8 - 2个主机,因为全1是广播地址,全0是网段,所以需要减去两个。
IP地址的分类
IP地址被分成了以下几类:
1.A类地址:以0开头,默认子网掩码为255.0.0.0
2.B类地址:以10开头,默认子网掩码为255.255.0.0
3.C类地址:以110开头,默认子网掩码为255.255.255.0
4.D类地址:以1110开头,多播地址
5.E类地址:以1111开头,保留今后使用
从IP地址的分类可以看出,不同类别的地址,子网掩码也不同,这就意味着他们能够划分出的主机数也不同,A类地址能够划分出来的主机数最多,是2^24 - 2台主机,这种地址一般会给比较大的公司使用,比如苹果,阿里巴巴等。
IP地址的网段还能够进一步进行划分,比如192.168.0.0这个C类网段,可以表示为192.168.0.0/24,表示前24位为网段号,那变成192.168.0.0/25,就相当于把这个网段又划分成了两个子网,分别为192.168.0.0网段和192.168.128.0网段。
路由器-网段信使
如果两台主机处于不同的网段下,它们之间是无法进行通信的,那么要解决这个问题,路由器就诞生了,路由器就是负责转发不同网段间的信息。
如果PC9要给PC8发送数据的话,首先会看看是不是在同一个网段的,如果是同一个网段只需要用ARP广播找到MAC地址就行了,但是现在不是在同一个网段,那么它同样会发送ARP广播,但是这次找的是路由器网关的MAC地址。得到MAC地址后发送数据给路由器,路由器根据路由表找到对应的网段,发送到该网段对应的主机。
整个大的互联网其实就是由许许多多个这样的路由器组成的,那么问题来了,这个路由表是怎么生成的,难道说一个路由器里有所有路由器的记录吗,这个是不可能的。首先,配置路由表的方法有两种,第一种是静态路由,就是通过手动的方式进行配置,第二种是动态路由,是通过RIP协议或者OSPF协议进行实现了,由于动态路由比较复杂,后续有机会的话会单独用一节去进行补充。
NAT
上面我们说到目前IPv4的地址已经分配完了,因此IPv4的地址是非常有限的,我们不可能给我们家每一个主机都分配一个IP地址,因此公网IP和私网IP诞生了,如果我们在手机上查看就会发现手机的IP地址是192.168.x.x这就是私网的IP地址,在公网路由器的路由器表中并不会保存这一类的地址。
用于局域网的保留私网网段有:
A类:10.0.0.0/8
B类:172.16.0.0/16~172.31.0.0/16
C类:192.168.0.0/24~192.168.255.0/24
也就是说因特网上是找不到我们这种私网IP地址的主机,那我们是通过什么和外界进行交流的呢,就是借助的NAT协议。
NAT会在路由器将你的私网IP转换成公网IP,并且保存公私网映射,接收数据时通过映射找到局域网内对应的机器。但是你会发现,通过这个方法并不会节约公网的IP,因为根据这种方法,公私网是1:1的,因此我们需要一种1:N的方法,那就是NAT的升级版PAT。
PAT
PAT是端口转换,他可以帮助我们将公网IP的端口号和私网IP的端口号映射起来,比如:
192.168.1.10:12345-->200.1.0.10:12345
也就是说外界向局域网内主机发送请求后,路由器接收到看一下这个端口对应的是局域网内哪一个私网IP的端口,再把数据发送到对应的主机。这种方法是最常用的转换技术,极大地节约了公网IP。
总结
本节介绍了IP地址的组成和网段的概念,同时学习了路由器的工作原理。很多人之前非常疑惑局域网LAN是怎么和外界进行通信的,本节的NAT和PAT相信能够帮你解答这个疑惑。
感谢观看!