一、ip协议的概念
1.ipv4地址
2.ipv6地址
二、ip地址的组成
1.ip地址的详细组成
2.网络号和主机号
3.子网掩码
三、总结
ARP协议:地址解析协议,实现通过对方的ip地址(域名)寻找对方的mac地址。
多亏了ARP协议,已经知道了对方的mac地址。已经知道了ip地址的情况下,也知道了对方的mac地址。我的数据包就可以在两台机器间进行发送,实现通信。
是任意两台机器都可以通信吗?
192.168.1.87
是机器一,192.168.2.77
是机器二。它们两个能直接通信吗?
先学习下网络层的另外一个协议,叫做ip协议。用电脑上网的时候,都要配置一个ip地址。
ip协议:分配给用户上网使用国际协议的设备的数字标签,分为两大类:ipv4和ipv6。
这个数字标签就是ip协议给每个上网设备分配的ip地址。例如:192.168.1.4
就是这台电脑的数字标签。
目前用的最多的是ipv4的地址,主要掌握ipv4的地址就可以了。
ipv4:地址总共有32位。ip地址的表示方式有2种,一种是二进制,一种是十进制。
十进制:192.168.1.1
。
二进制:根据我的电脑的ip地址192.168.1.1
,换算二进制是:11000000.10101000.00000001.00000001
(最后1位,是2的0次方就是1,依次往后计算),如果涉及子网划分,需要知道二进制是如何换算十进制的。
无论十进制还是二进制,以.
进行区分,分为4部分。
工作中常用的是十进制。
ipv6:为了弥补ipv4地址池不够。
网络越来越复杂,每个机器都分配一个ip地址,会导致ip地址不够了。
总共才32位,每一位都有这么多的取值,ip地址数量很有限的,发明ipv6来弥补。
ipv6有128位,它可以表示出更多的ip地址。表达方式是16进制来表达的。
16进制:2001::ffd:abcd:dcdf
表达方式:它是以16进制,中间加:
,中间如果是0,就把它省略掉,两个::
表示中间省略了一个或者若干个0。
16进制的字符,例如ffd
来进行一个补充。这里仅作了解就够了。
ip地址分成4段,并用.
分隔。例如:192.168.0.1
结构:ip地址=网络号+主机号
可能 192.168 是网络号,后面的 .0.1 是主机号。也有可能 192.168.0这3段都是网络号,后面的 .1 是主机号。
网络号是用来标识一个子网的。什么是子网?
网络层确定主机是不是在同一个子网,只有在同一个子网的主机才能直接通信。因为在同一个网段才能直接通信。
网络号标识两台机器是不是在同一个子网。网络号相同,表示是同一个子网,它们两个就能直接通信。
主机号标识的是子网中的某台主机。
比如主机号是个1,表示具体的主机,例如我的电脑的ip地址是192.168.1.4
,那么.4
可能是我的主机号。
光看192.168.1.4
这样一个iPv4地址是没有办法判断网络号和主机号的。因为没有确定子网掩码。
iPv4子网掩码作用:用来标识子网,必须跟ip地址一起存在。
如果别人说我的ip地址是192.168.1.4
是错误的,必须跟子网掩码一起存在,例如192.168.0.1 255.255.255.0
,这样是个完整的ip地址。
组成:子网掩码跟ip地址一样,二进制:由连续的1和0组成,连续的1表示的是网络地址,连续的0表示的是主机地址。
只有网络地址相同的主机在同一个子网,才能直接通信。
表示方式:255.255.255.0
,换算成二进制就是这样:11111111.11111111.11111111.00000000
255.255.255
表示的是网络位置,后面的0
表示的是主机位置。
192.168.0.1 255.255.255.0中192.168.0
表示的都是网络号,ip地址中的1
对应子网掩码中的0
,是主机号。
这样才能完整的标识出一个ip地址,判断出它的网络号和主机号。
例1:
机器1:192.168.1.87 255.255.255.0
机器2:192.168.2.77 255.255.255.0
255.255.255.0是子网掩码。
如何判断它们能直接通信吗?先判断它们是否在同一个子网。
机器1的主机地址对应的子网掩码是:.0
机器2的主机地址对应的子网掩码是:.0
机器1的网络地址对应的子网掩码是:255.255.255
机器2的网络地址对应的子网掩码是:255.255.255
机器1的主机地址:.87
机器2的主机地址:.77
机器1的网络地址是:192.168.1
机器2的网络地址是:192.168.2
它们的网络地址不一样,所以它们不在一个子网,不能直接通信。
例2:
如果把机器1的子网掩码改成:255.255.0.0
机器2的子网掩码改成:255.255.0.0
子网掩码255.255对应的192.168是网络号。
机器1的主机地址:.1.87
机器2的主机地址:.2.77
所以,机器1的网络地址是:192.168
机器2的网络地址是:192.168
它们两个现在的网络地址是一样的,能直接通信的。
掌握ip地址的表达方式,子网掩码是做什么的。ip地址的网络地址和主机地址如何区分,然后判断机器是不是在同一个子网,它们间是否能通信。
公众号「清菡软件测试」首发,更多原创文章:清菡软件测试151+原创文章,欢迎关注、交流,禁止第三方擅自转载。如有转载,请标明出处。