这是一篇关于网络名词解释的文章。
CIDR,顾名思义,CIDR,classes inter-domain routing 的缩写,CIDR块是一种用斜线记法(/xx)表示的IP地址范围。
例如,170.20.0.0/24,如果变成二进制,就是32位,/24,这个数字代表的是网络位,32-24=8,余下的是主机位,每一个主机位能代表一个IP地址。8位的二进制的表达能力范围用的公式是8个位置,每个位置上的可选项有0,1,那么就是2222222*2,这么写太复杂了,用指数的形式写出来就是2^8=256。
下面介绍一些特殊的CIDR, 0.0.0.0/0,根据前面的描述,聪明的你估计也猜到了,斜杠后面是0,表示子网掩码的位数位0,表示所有32位的地址是用来表达IP地址的,因此,这样一来,这个CIDR代表整个互联网。
根据RFC 1918的规定,10.0.0.0/8 ,172.16.0.0/12,192.168.0.0/16 ,这些都是私有网络地址,不能直接在互联网上传输。
127.0.0.0/8 ,这个范围用于环回地址,通常是127.0.0.1,用于测试本地机器的网络配置。
255.255.255.255/32 ,斜杠后面是32,子网掩码是32,IP地址数目是0,没有表示主机的空间,所以它代表广播,用于向网络上所有的设备发消息。
169.254.0.0/16 ,链路本地地址。这个地址神奇之处在于你不能手动指定它,它发生在特殊的情形下,通常意味着DHCP服务器不工作了。DHCP不工作后,设备通过一种叫做APIPA,自动专用IP寻址的协议,自己给自己安排一个IP地址,这个IP地址的范围169.254.0.1到169.254.255.254,在它们之间随机选择。
NAT,network address translation,中文译作网络地址转换。 VPC,virtual private cloud,虚拟私有云。
EC2 NAT Instance是亚马逊的云端产品,它是一个NAT的实例,它的作用是在一个私有网络中,这个私有网络的每一个IP主机都没有公网的IP地址,也就是它们都没有访问互联网的权限。如果这个时候,有一个NAT实例拥有公网IP地址,那么所有请求就靠它了。
互联网网关,这个是虚拟路由吗?可以把它当成虚拟路由,它不是一个IP地址,不是一段代码、不是进程或者软件。它更像是一个托管服务,可以把它理解为虚拟路由。它位于VPC,虚拟私有云和公共互联网之间,它是一座桥梁。
透明网关 ,这个和不透明的网关最大的区别就是它不需要用户主动配置,不仅不需要,而且是不能。因为这种对用户无感知的情况下而得名透明。
透明网关更像是一种更高层级的抽象概念,如果说它的存在有一个目的的话,那么它的目的是让内部网络与外部网络通信。
前面提到的亚马逊的EC2 NAT 实例,它只是实现透明网关的一种方式,实现透明网关的手段包含:
- 网络地址转换NAT,工作在layer3,修改ip,前面谈到过,对每个内部主机的请求都记下端口,利用端口来区分不同主机,并且同一主机的不同请求端口还不同
- 路由模式,工作在layer3,需要主动配置网关地址
- 桥接模式,工作在layer2,如果目标mac是内部的,那么转发到内部网络相应的mac地址设备上,如果目标是外部的,那么修改数据包中源mac为自己的,然后转发到外部网络。
- 代理ARP,工作在layer2,ARP是address resolution protocol的缩写,作用是将ip地址解析为mac地址,把网关自己的mac地址替换成内部主机的mac