Internet地址结构(一)

一.IP地址的表示

1.IP地址分类

(1)IPv4地址

IPv4地址通常采用点分四组和点分十进制表示法,点分四组表示法由四个用点分隔的十进制数组成。每个这样的数字是一个非负整数,范围【0,255】,代表整个IP地址的四分之一

通常我们更关注IPv4地址的二进制形式,因为通过一个IP地址计算广播地址,网络地址,都是需要IPv4的二进制形式

(2)IPv6地址

IPv6地址通常采用块或字段的四个十六进制数,每个块或字段代表整个IPv6地址的八分之一,1个十六进制数换成二进制数是4位,32个十六进制数是128位,即IPv6地址的长度
32个十六进制数写起来太麻烦,所以出来一个IPv6地址简化方法

IPv6地址简化

一个块中前导的零不必写,00AA写成AA就行
全零的块可以省略,直接写::就行,但是为了便面歧义,一个IPv6地址中,只能用一次::

2.分类寻址

最初大佬们定义Internet地址结构时,为了能将网络上的主机分类(分到哪个网络里),有了分类寻址这一概念,即一个IPv4地址内包括两部分,一部分是网络号,一部分是主机号,网络号能知道你属于哪个类(属于哪个网络),主机号能知道在这个类中哪个是你
由上又引出了大名鼎鼎的IPv4五类地址
在这里插入图片描述
虽然将IPv4地址进行了分类,分成了5类,但是在使用过程中,发现IPv4地址分为5类后,对主机还是不太好管理,按国家分(国家看成网络号),那分到一个国家,这个国家的网络管理员发现,几万台主机,管理不过来,能不能再细分下,按省份分开(省份看成子网号),每个省份的管理员管理自己省内主机,他只管每个省份的管理员,工作量一下就少很多,为了解决这一问题,牛逼的大佬们引入子网寻址相关概念

(1)子网寻址

这里通过一个例子来说子网寻址
假如你是一个很大的网络组的管理员,该网络组里有上百台,上千台主机,你要管理很不方便,好的做法是你把这个网络组内的主机在进行划分,按照功能也好,序号也好,划分成几个小组,这几个小组叫子网,之后呢,主机再放到子网中
既然多了个子网,那IPv4地址有什么改变呢?
在这里插入图片描述
上图是一个IPv4地址加入子网概念后一个可能的例子,将b类改为子网寻址结构,使得前16位表示网络号,16-24位表示子网ID,即在该网络内可以有254个子网络,每个子网络又可以有254个主机
注:实际使用中,由于有路由器的原因,内部网络虽仍采用子网寻址,但不需要使用特定的ip地址结构,只要站点管理员根据需求设计即可(网络号可以不设计成16位,按需求设计)

(1)子网掩码

在这里插入图片描述
上图中,在网络号128.32中划分了两个子网,分别是128.32.1.x和128.32.2.x,那对于站点边界路由器,应该怎么区分两个子网的流量呢?(一个Internet上的主机给该网络内一个主机发送数据,虽然有IP地址,但是路由器并没有什么地址分类,什么子网的概念,说白了都是人类规定的规则,路由器拿到一个给128.32.2.27的数据包,都不知道该给哪一个子网发)只能引入一个概念,子网掩码

子网掩码作用

用来确定如何从一台主机对应IP地址中获得网络和子网信息

子网掩码格式

IPv4的位32位,IPv6的为128位,同IP地址相同

子网掩码获取方式

静态配置,说白了就是手动配置
动态配置,最常见的就是通过DHCP获得

子网掩码表示方式

最常见的,电脑上能看到的是点分十进制表示,255.255.255.0,伟大的人类是比较懒的,四组数记得太麻烦,干脆直接记子网掩码有几个1得了,255.255.255.0转换成二进制是24个1,那直接/24就表示他的子网掩码了,这种方式叫做前缀长度
这里举的例子都是IPv4的例子,IPv6呢,一样

子网掩码常见的计算(面试,考试,经常有的知识点)

eg1:一个主机ip地址:192.168.27.1/24
子网掩码:255.255.255.0(/24表示子网掩码有24个1)
11000000.10101000.00011011.00000001(主机ip地址)
11111111.11111111.11111111.00000000(子网掩码)
-------------------------两个地址按位与------------------------
11000000.10101000.00011011.00000000
-----------------------转换成十进制地址-----------------------
192.168.27.0(网络地址)
----------------------将子网掩码每位取反---------------------
00000000.00000000.00000000.1111111111
11000000.10101000.00011011.00000001(主机ip地址)
-------------------------两个地址按位或------------------------
11000000.10101000.00011011.11111111
-----------------------转换成十进制地址-----------------------
192.168.27.255(广播地址)
192.168.27.1-192.168.27.254(主机可用ip地址)
2的8次方-1=254
说明:192.168表示网络号,27表示子网号,最后8位表示主机号

eg2:一个主机ip地址:192.168.27.27/16
子网掩码:255.255.0.0(/16表示子网掩码有16个1)
11000000.10101000.00011011.00011011(主机ip地址)
11111111.11111111.00000000.00000000(子网掩码)
-------------------------两个地址按位与------------------------
11000000.10101000.00000000.00000000
-----------------------转换成十进制地址-----------------------
192.168.0.0(网络地址)
----------------------将子网掩码每位取反---------------------
00000000.00000000.1111111111.1111111111
11000000.10101000.00011011.00000001(主机ip地址)
-------------------------两个地址按位或------------------------
11000000.10101000.11111111.11111111
-----------------------转换成十进制地址-----------------------
192.168.255.255(广播地址)
192.168.0.1-192.168.255.254(主机可用ip地址)
2的16次方-1=65024
说明:192表示网络号,168表示子网号,最后16位表示主机号

可变长度子网掩码(VLSM)

在引入子网掩码相关概念后,我们发现在同一站点的不同部分,可以将不同长度的子网掩码应用于相同网络号,虽然这样增加了地址配置管理的复杂性,但也提高了子网结构的灵活性,这是由于不同子网可容纳不同数量的主机导致的。
可变长度子网掩码实际就是通过子网掩码中1的个数,从而改变子网内可容纳主机的个数。
eg1:一个主机ip地址:192.168.27.1/26
子网掩码:255.255.255.0(/24表示子网掩码有26个1)
11000000.10101000.00011011.00000001(主机ip地址)
11111111.11111111.11111111.11000000(子网掩码)
-------------------------两个地址按位与------------------------
11000000.10101000.00011011.00000000
-----------------------转换成十进制地址-----------------------
192.168.27.0(网络地址)
----------------------将子网掩码每位取反---------------------
00000000.00000000.00000000.0011111111
11000000.10101000.00011011.00000001(主机ip地址)
-------------------------两个地址按位或------------------------
11000000.10101000.00011011.00111111
-----------------------转换成十进制地址-----------------------
192.168.27.63(广播地址)
192.168.27.1-192.168.27.62(主机可用ip地址)

eg2:一个主机ip地址:192.168.27.64/26
子网掩码:255.255.255.63(/26表示子网掩码有26个1)
11000000.10101000.00011011.01000000(主机ip地址)
11111111.11111111.11111111.11000000(子网掩码)
-------------------------两个地址按位与------------------------
11000000.10101000.00011011.01000000
-----------------------转换成十进制地址-----------------------
192.168.27.64(网络地址)
----------------------将子网掩码每位取反---------------------
00000000.00000000.00000000.0011111111
11000000.10101000.00011011.01000000(主机ip地址)
-------------------------两个地址按位或------------------------
11000000.10101000.00011011.01111111
-----------------------转换成十进制地址-----------------------
192.168.27.127(广播地址)
192.168.27.65-192.168.27.126(主机可用ip地址)
由上两个例子可得出在192.168.27.0的子网内,通过可变长度子网掩码有划分出一个192.168.27.1-192.168.27.63大小的子网络和一个192.168.27.65-192.168.27.126的子网络,该种划分保证两个子网络处于同一网段内,同时也可让两个子网段不处于同一网段内

广播地址

广播就是子网/局域网内的所有主机都能收到广播的数据包,抛开局域网不说,上面通过子网掩码计算出来的广播地址是指子网的广播地址,也被称为定向广播,而255.255.255.255是本地网络广播,区别是使用这个地址当做目的IP地址后,边界路由器收到数据包后不会转发数据包

注:从安全的角度来说,定向广播有很大的安全隐患,如果一个子网内的定向广播过多,会造成广播风暴,导致主机瘫痪,所以至今在互联网中仍被禁用,当然广播通常会配合着协议来使用,比如ICMP,UDP
只有IPv4由广播地址!!!IPv6没有广播地址,只有组播地址!

二.CIDR和聚合

随着使用IPv4地址的增长,现在管理是好管理了,但是呢,屋漏偏逢连夜雨,船迟又遇打头风,又出来几个问题引起大佬们的重视
一个是IPv4地址,可用数量不够了,将来可能会遇到你想上网而没IPv4地址的情况
一个是全球性路由表的条目数已经很多了,这还不说,还在增长过程中,再增长,路由的性能就会有问题了
还有就是B类地址已经被分配了一半以上了,这个和第一个问题类似,就是IPv4地址不够用了呗
那怎么解决这三个问题呢
对于问题1,使用IPv6(这都是历史问题,这都2019了,目前情况,IPv6是用了,但是呢,之前本想着通过NAT过渡下,结果IPv6不太好兼容NAT,问题太多,那行吧,IPv6也用着,IPv4带着NAT也用着吧,边走边看)
对于问题2和3,清除IP地址的分类缺陷,提高层次化分配IP地址的聚合能力

前缀

对于上面问题2和3,咋一看,挺高大上,再一看,看不懂,到底怎么解决呢

答案是使用CIDR掩码,全球性路由系统都使用CIDR掩码,这也叫网络前缀,前缀,是不是有印象,上面说子网掩码的时候,大佬为了偷懒,叫前缀,是的,就是通过子网掩码解决

“消除一个IP地址中网络和主机号的预定义分隔,将使更细粒度的IP地址分配范围成为可能”

上面说的可变长度子网掩码中的例子,再想想,例子中是26个1,我再少写点,2个1,是不是就取消了网络和主机号的预定义分隔了,然后呢,子网也划分了,接着子网划分的多了,也就达到了“将使更细粒度的IP地址分配范围成为可能”,这样网络内的路由器就能多放几个了,把路由器看成管理员,原来一个管理员,现在好多个管理员,管理是不是更高效了

聚合

接着上面的来,管理是方便管理,但是呢,原来1个管理员管100台主机,现在成了5个管理员管理100台主机,以前是1个管理员996,现在是5个管理员995,5个管理员一商量,965多好,人的欲望啊,永远得不到满足,那只能找一种更高效的方法去管理主机了,用聚合!

什么叫聚合
说简单点就是把多个主机当成一个主机看
拿书上的例子来看
在这里插入图片描述
图中左侧是一个子网,子网内的主机随便分配IP,乱七八糟的,毫无规律可言,管理员要管理,子网内的所有主机都要管,右边呢,19.0.0.1的下面分别是19.1.0.1和19.2.0.1,这个管理员要管理,就开头难,自己分好组后,只要记住19.1和19.2就行了,即使有个新的主机加入网络,他也不需要太过关心,只要知道你在哪个组就行,有问题了,有问题按组找你,对他来说,好多个主机一下缩减成2个,效率又高了一大截

例子可能有点不太恰当,总感觉这个有点只可意会,不可言传的意思。
且这些东西在2019年的网络内,不一定在使用,我也觉得没什么卵用,后来一次去面试,面试官问tcp为什么要有三次握手,能不能两次握手呢?那一个服务器是怎么能对应上每个客户端的tcp连接的。面试官说,这些东西吧,你可能不会直接使用,但是他的思想很厉害,放到你的项目里,你的工作中,很多时候都能起到事半功倍的效果

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据结构Internet网络通路中起着重要的作用。Internet是一个全球性的网络,连接了各种类型的设备,包括计算机、手机、路由器等等。为了支持这样一个庞大的网络,数据结构被广泛应用于Internet的网络通路中。 首先,Internet使用了层次化的数据结构。它按照七层OSI模型进行组织,每一层都有特定的功能和协议。这种分层结构方便了不同设备和应用之间的通信和协作。例如,在应用层中,常用的数据结构有字符串、列表和字典等,用于保存和传输应用层的数据。 其次,Internet的路由器和交换机等网络设备使用了各种数据结构来管理和寻址数据包的传输。例如,路由器使用了路由表,它是一种类似字典的数据结构,用于存储目的地与下一跳路由器之间的映射关系。当一个数据包到达路由器时,路由表能够帮助路由器决定下一跳的路径,从而将数据包转发到正确的目的地。 此外,Internet的域名系统(DNS)也使用了数据结构来管理域名和IP地址之间的映射关系。DNS服务器使用了一种称为域名树的数据结构,它允许快速的域名解析和IP地址查找。当我们在浏览器中输入一个网址时,DNS服务器能够根据域名树找到对应的IP地址,从而将我们的请求发送到正确的服务器上。 总之,数据结构Internet网络通路中扮演了重要的角色。它们帮助组织和管理网络中的数据和设备,提高了网络的性能和效率。而且,随着互联网的不断发展,数据结构的应用也在不断扩展和创新,为我们提供了更加便利和安全的网络体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值