ip地址多少钱一个,ip地址多少位数

  

  在华为的一个宣传资料上看到下图,但是不太明白企业各个分支机构之间的联系是通过互联网的。MPLS是什么,类似vpn?但是vpn也是建立在互联网上的。   

  

     

  

  我不是学互联网的,对互联网的了解非常有限。希望上帝能用最通俗的语言解释一下。谢谢你。   

  

  MPLS,一个简单故事   

  

     

  

  你离不开快递公司,因为你需要快递公司帮你把包裹(Packet)运送到目的地。只要包裹上写着收件人和寄件人的信息,快递公司就会全力以赴把包裹送到目的地。   

  

  生活也依赖于电信运营商,因为需要运营商帮助将信息包裹(IP Packet)传输到目的地。只要收件人(Destination IP)发件人(Source IP)的信息被写入数据包,运营商就会尽全力将IP数据包发送到目的地。   

  

  和承运快递公司做的工作没有本质区别。如果有区别的话,前者是快递信息包,后者是快递实物包。   

  

  本来运营商做快递很简单。所有IP包都在互联网的公共网络上传输。只要客户在包裹上写目的地地址,比如1.1.1.1,在包裹上写源地址,比如2.2.2.2。操作员收到包裹后,根据路由表中的导航指示,包裹“嗖”地飞到了目的地1.1.1.1。返回的包裹嗖的一声回到了2.2.2.2的源地址。有了这些简单的工作,运营商可以赚很多钱。是不是太容易了?   

  

  后来大家都知道,IP地址短缺。不足的原因是最初设计TCP/IP的一批同志没有远大的理想和抱负,太小家子气了。他们将IP地址的长度限制在32个二进制位,即4个字节,总共只有40多亿个IP地址。随着互联网的普及,IP地址已经被地球人抢光了。   

  

  越来越多的电脑需要上网,而上网的一个前提条件就是要有IP地址,但是IP地址已经被抢光了。我该怎么办?   

  

  专门给电脑打补丁的国际组织IETF,聚在一起,研究出一个折中的方案,就是把三个特殊地址段的IP地址段定义为共享IP地址,地球上的人可以随意使用,不需要上报和申请。   

  

  这三个特殊地址段是:   

  

  10.0.0.0/8(包括1600万个IP地址)172.16.0.0/12(包括100万个IP地址)192.168.0.0/16(包括6万个IP地址)同学们,看出问题了吗?   

  

  既然地球人可以随意使用上述三个地址段,那么一旦互联网上出现目的地址=10.0.0.1的包裹,互联网会把它运到哪里?   

  

  这是爱丽丝的房子还是鲍勃的房子?因为他们的电脑都在用10.0.0.1。   

  

  IETF的老同志们听后都笑了。既然是地球人用的,肯定想好了对策。这个对策是:   

  

  以上述三个特殊地址段为目的地址的IP包不能直接进入互联网。运营商需要通过使用地址转换技术(NAT)在互联网的入口处用互联网IP地址替换IP包。通过NAT转换,解决了互联网IP地址冲突的问题。在NAT技术的支持下,互联网迎来了一波又一波的高潮。   

  

  NAT技术虽然解决了一些问题,但是带来了更多的问题。NAT技术解决了用户上网问题(用户访问互联网服务器),但它没有解决用户与用户之间服务器访问用户.的通信问题,直到写下这些文字的那一刻,这些问题仍然没有得到完美的解决。   

  

  产生上述问题的原因是怪物NAT夹在通信双方之间,破坏了端到端的通信。关心这些问题的普通用户,只要能上网就可以了。何必那么在意!   

  

  但是,对于企业用户来说就不一样了。坐在上海的上班族Alice(10.0.0.10)想访问同一家公司北京办公室Bob(10.1.0.10)的共享文件夹。两个办公室有没有可能被互联网隔开?   

  

  当然可以,但是需要复杂的NAT配置和手动配置。配置成本如此之大,简直是不可能完成的任务。   

  

  当然,你也可以利用题主所说的加密VPN技术,在上海和北京的路由器上配置一个加密隧道,让IP包在加密隧道里双向流动。这个加密隧道的流量在互联网上运行。使用两层IP报头技术。外层IP负责在互联网上传输,内层IP(10.0.0.10,10.1.0.10)负责业务。   

  

  而企业用户反感加密VPN太慢,因为流量要在公网上抢跑道,极大影响用户体验。那么企业向运营商申请,有没有更快更可靠的快递技术?   

  

  接线员窃喜,等了你好久,终于来了。运营商说,对,这个技术就是MPLS VPN技术。   

ng>MPLS VPN技术

  

Alice(10.0.0.10)与Bob (10.1.0.10) 通信,当接收到对方IP报文时,看到的IP报文里的两个IP地址一定要是这两个地址,而不是别的。换句话说,所发即所见

  

运营商MPLS VPN客户名单有成千上万,客户内网都在使用这个10.0.0.0/8网段。

  

既然客户要使用MPLS VPN网络,肯定是要端到端通信,即拒绝NAT参杂在通信过程中。

  

问题产生了,既要杜绝NAT技术,又要避免千万万客户IP地址冲突。什么技术可以两全其美呢,这个技术就是MPLS VPN

  

MPLS技术核心思想就一点:转发客户IP报文时,避免使用IP地址!这篇文字写了几千字,其实都是为了这关键的一句话做铺垫的。记住这句话,学习MPLS技术将少走一半的路。

  

MPLS技术其实很简单,就是在MPLS网络入口,将客户IP包裹添加两个标签(Label):

  

外层标签负责将IP包裹运送到MPLS网络出口内层标签告知MPLS网络出口,里面的包裹是哪个客户的这两个标签,嵌入在二层Ethernet头与三层IP头之间。一旦标签嵌入,在MPLS网络里,路由器将不会读取IP头来转发,而是只读取最外层标签来转发。MPLS网络出口,负责读取内层标签,知道是哪个客户的IP包裹,然后发给特定的客户。但是不要忘记,在发给特定用户之前,需要将所有标签清除干净。送给客户的报文,只有纯净的IP包裹,也是其本来的样子,即所发即所见。

  

MPLS网络入口路由器,如何知道嵌入的外层标签、内层标签具体数值?

  

通常入口路由器根据IP包裹从哪个子接口进来的,根据子接口与客户名单一对比,就知道是哪个客户的。每个客户使用独一无二的客户标签(内层标签)。内层标签的问题解决了。

  

MPLS网络里的入口路由器、出口路由器,使用了MP-BGP技术,分享了客户的IP路由表。并将每个客户路由条目放在一个互相逻辑隔离的路由表,即VRF Routing Table。并为其分配一个外层标签。

  

一个例子

  

入口路由器一旦接到目的IP = 10.0.0.10的报文,会通过子接口发现,这是Apple公司的流量。内层标签分配为 6666。

  

入口路由器根据Apple公司VRF Routing Table,查询10.0.0.10最优路由,最优路由指向北京的MPLS网络出口,因为通过这个出口,就可以将IP报文,转交给北京的Apple网络。

  

根据事先的路由条目 10.0.0.10 与外层标签的映射(使用LDP协议实现),假设标签为8888。两个入口标签就全有了。

  

携带着8888,6666标签的IP报文,在MPLS网络左拐右转,终于到达北京MPLS网络出口。路由器一检查6666,立马查询得到这是Apple公司的IP包裹。立马将两个标签全撕掉,通过Apple对应的子接口,将IP包裹转交给Apple北京办公室。

  

在整个过程中,客户的IP报文没有受到任何玷污保持原始的模样到达最终的目的地

  

本文中提到的MPLS VPN是三层的VPN,你可以将整个MPLS网络抽象成一台普通的路由器,提供三层(借助标签)路由器。

  

还有一种二层MPLS VPN技术,你可以将其抽象成一台交换机、或者一根导线,提供的是二层桥接技术。

  

作者|车小胖谈网络|公众号

相关文章