zl程序教程

您现在的位置是:首页 >  其他

当前栏目

小白必看!您知道如何判断两台机器是否能正常通信吗?详解IP地址组成,网络地址和主机地址的区分!

2023-04-18 14:28:19 时间

目录

  • 一、ip协议的概念
    • 1.ipv4地址
    • 2.ipv6地址
  • 二、ip地址的组成
    • 1.ip地址的详细组成
    • 2.网络号和主机号
    • 3.子网掩码
  • 三、总结

一、ip协议的概念

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的地址就可以了。

1.ipv4地址

ipv4:地址总共有32位。ip地址的表示方式有2种,一种是二进制,一种是十进制。

十进制192.168.1.1

二进制:根据我的电脑的ip地址192.168.1.1,换算二进制是:11000000.10101000.00000001.00000001(最后1位,是2的0次方就是1,依次往后计算),如果涉及子网划分,需要知道二进制是如何换算十进制的。

无论十进制还是二进制,以.进行区分,分为4部分。

工作中常用的是十进制。

2.ipv6地址

ipv6:为了弥补ipv4地址池不够。网络越来越复杂,每个机器都分配一个ip地址,会导致ip地址不够了。

总共才32位,每一位都有这么多的取值,ip地址数量很有限的,发明ipv6来弥补。

ipv6有128位,它可以表示出更多的ip地址。表达方式是16进制来表达的。

16进制2001::ffd:abcd:dcdf

表达方式:它是以16进制,中间加:,中间如果是0,就把它省略掉,两个::表示中间省略了一个或者若干个0。

16进制的字符,例如ffd来进行一个补充。这里仅作了解就够了。

二、ip地址的组成

1.ip地址的详细组成

图片来自网络

ip地址分成4段,并用.分隔。例如:192.168.0.1

结构:ip地址=网络号+主机号

可能 192.168 是网络号,后面的 .0.1 是主机号。也有可能 192.168.0这3段都是网络号,后面的 .1 是主机号。

2.网络号和主机号

网络号是用来标识一个子网的。什么是子网?

网络层确定主机是不是在同一个子网,只有在同一个子网的主机才能直接通信。因为在同一个网段才能直接通信。

网络号标识两台机器是不是在同一个子网。网络号相同,表示是同一个子网,它们两个就能直接通信。

主机号标识的是子网中的某台主机。

比如主机号是个1,表示具体的主机,例如我的电脑的ip地址是192.168.1.4,那么.4可能是我的主机号。

光看192.168.1.4这样一个iPv4地址是没有办法判断网络号和主机号的。因为没有确定子网掩码。

3.子网掩码

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.0192.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地址的网络地址和主机地址如何区分,然后判断机器是不是在同一个子网,它们间是否能通信。