前言:ip地址,网关,子网掩码都是it行业比较常见对象。但凡是需要联网的或者说使用网络主机的都必须有会配置网络,而配置网络肯定少不了ip地址,网关,子网掩码进行通信!那么你知道他们指的是什么吗,又有什么作用呢?组成又是什么?

IP地址(add):

ip地址是什么:

1. ip地址是互联网协议地址,也因特网协议地址也叫网际协议地址。

2. ip地址是为了能让互联网中的计算机进行相互通信而设计的。

ip地址的作用:

1.ip地址的作用是为了区分不同的网络主机!

ip地址的组成:

1.IP地址是由32位的二进制数组成,为了简化,将ip地址分为4组。每组8位。

2.ip地址内包含网络识别码(network id,也叫网络id)与主机识别码(host id,也叫主机id)。

ip地址的类型:

ip地址有总有5种类型,分别是:A、B、C、D、E;但可供一般主机也就是我们使用的只有:A、B、C三种类型!所以下面只讲A、B、C三种类型的地址!因为另外两个我们接触不到,故没必须去看它。

假设IP地址格式:w.x.y.z     
A类:网络识别码—w... ;  主机识别码—x.y.z ;
B类:网络识别码—w.x.. ; 主机识别码—y.z ;
C类:网络识别码—w.x.y. ; 主机识别码—z ;

A类w的值为1—126;
B类w的值为128—191;
C类w的值为192—223;

其中127用于环路测试使用。127.0.0.1代表主机本身。256其实是包括0在内,比如c类主机范围为0—255。-2表示减去0与255,0表示网络地址,比如:192.169.1.0;255表示广播地址,比如192.168.1.255。

用c类地址举例:
192.168.1.0—网络id/网络识别码就是192.168.1。
可用主机识别码:1—254。ps:这里除去了网络地址(0)与广播地址(255)

私有地址的范围:

A类私有地址范围:
10.0.0.1~10.255.255.254 ; 子网掩码255.0.0.0(8位)
—主机数量:256x256x256-2=16777214
B类私有地址范围:
172.16.0.1~172.31.255.254  ;子网掩码255.255.0.0(16位)
—主机数量:256x256-2=65534
C类私有地址范围:
192.168.0.1~192.168.255.254  ;子网掩码255.255.255.0(24位)
—主机数量:256-2=254  

如上是除去了广播地址(255)与网络地址(0)的地址范围。因为私有地址是给公司或者家庭局域网所用,剩下的都是公有地址,公有地址是需要申请的。不管什么公司,局域网都用这个几个私有地址,最常见的当然c类地址192.168.0.1-192.168.255.254。比如我们公司主机比较多所以用的是B类的172.16.0.1-172.31.255.254。

适用环境:

A类适用于超大型网络
B类适用于中大型网络
C类适用于小型网络,比如家庭网络

举例~局域网与外界通信:
私有地址只能用于内部局域网通信,不能与外界进行通信。如果想要与外界进行通信就必须通过具备nat功能的设备,比如路由器,IP分享器
(其实所有的不同子网之间都需要通过nat功能的设备,常见的就是路由器进行不同子网之间的通信。)。

子网掩码:

子网掩码不能单独使用,必须与IP地址一起使用,子网掩码的主要作用就是用来区分IP地址是不是在同一子网/网段。子网掩码区分ip地址是不是在同一网段的方法是拿二进制的IP地址与二进制的子网掩码做AND运算。最后得出
“网络地址”,得到了“网络地址”之后我们就知道该子网范围内的第一个地址,然后我们只需要将“子网掩码”取反然后与“子网络地址”进行or运算得出“广播地址”
!,然后通过“网络地址与广播地址”就可以确定子网范围,在通过子网范围确定两个地址是不是在同一子网/网段下。可能这里说着很懵,但是不要怕,因为后面举例说明论证。

子网掩码作用:

子网掩码的主要作用是用来区分ip地址是不是在同一子网/网段。

子网/网段区分规则:

通信双方地址都在同一个网络地址范围内(如双方子网掩码相同的情况下);或者通信地址互在对方的子网范围内,也就是通信地址被双方的子网地址范围相互覆盖。(如:A地址的子网范围内地址包含B地址,B地址的子网范围内的地址包含A。这种情况下即使双方的子网掩码不一样也是可以相互通信的,会被当成同一子网/网段!)

ps:上面的内容是重中之重!只要满足这个条件,不用管两个地址的子网掩码是不是一样的,都可以通信,同时想说一下在地址双方子网掩码不一样的时候,想要确定地址是不是在同一子网/网段地址下只能靠算,但是为了方便维护通常子网掩码都是设置一样的(子网掩码一样的情况下是可以肉眼区别是不是在同一网段/子网下的)!

运算规则:

1. 算出网络地址;
(1)计算网络地址的method:将ip与子网掩码进行and运算得出网络地址;
(2)and运算规则:0和1=0 ,0和0=0, 1和1=1,不够8位的前面用0补齐(如下10二进 
          制=1010,根本不够8位所有前面四位用0补齐!)。

2. 算出广播地址;
(1)广播地址计算method:将子网掩码取反然后与网络地址进行or运算得出广播地址!
(2)or运算规则:0和1=1,0和0=0,1和1=1,不够8位前面还是用0补齐。

3.确定地址范围然后通过子网/网段区分规则确定是不是在同一子网下。

ps:网络地址与广播地址不会随同一子网范围内的ip地址的改变而改变,除非不是同一子网范围内的地址!(如A地址的子网地址范围是192.168.1.2/26位,子网地址是192.168.1.0 ,广播地址:192.168.2.63,只要ip地址是在  192.168.1.0到192.168.2.63的范围内的不管您ip地址怎么变,网络地址跟广播地址都是不会改变的!)

网络地址运算:

ip地址:172.18.99.75/24位                                                      
 子网掩码:255.255.255.0

二进制的ip地址:    10101100     00010010     01100011    01001011

二进制的子网掩码:11111111       11111111       11111111    00000000

ip地址:172.18.30.198/24位                                                 
 子网掩码:255.255.255.0

二进制ip地址:    10101100   00010010    00011110    11000110

二进制子网掩码:11111111    11111111      11111111      00000000

and运算:
10101100     00010010     01100011     01001011——172.18.99.75
10101100     00010010     00011110     11000110——17.18.30.198
11111111       11111111       11111111      00000000——255.255.255.0
and结果:10101100  00010010    01100011     00000000 ——172.18.99.0(网络地址)
and结果:10101100  00010010    00011110     00000000 ——172.18.30.0(网络地址)

广播地址运算:

or运算:
网络地址:       10101100    00010010    01100011    00000000 ——172.18.99.0(网络地址)
子网掩码取反:00000000    00000000   00000000    11111111  
网络地址:       10101100     00010010   00011110    00000000 ——172.18.30.0(网络地址)
子网掩码取反:00000000    00000000   00000000    11111111  
or运算结果:   10101100      00010010   01100011    11111111——172.18.99.255(广播地址)
or运算结果:    10101100     00010010    00011110    11111111——172.18.30.255(广播地址)

结果:可以看出这两个地址不在同一地址范围,它们之间也没有相互覆盖的,所以它们在不借助网关的情况下不能进行通信,因为它们不在同一子网/网段下。

网络地址运算:

ip地址:192.168.2.10/24位                                                       子网掩码:255.255.255.0

二进制的ip地址:    11000000     10101000      00000010    00001010

二进制的子网掩码:11111111       11111111       11111111      00000000

ip地址:192.168.2.30/26位                                                       子网掩码:255.255.192.0

二进制ip地址:    11000000     10101000    00000010    00011110

二进制子网掩码:11111111    11111111        11111111      11000000

and运算:
11000000     10101000      00000010     00001010——192.168.2.10
11111111       11111111       11111111       00000000——255.255.255.0
11000000     10101000      00000010     00011110——192.168.2.30
11111111       11111111       11111111       11000000——255.255.255.192
and结果:11000000  10101000    00000010    00000000 ——192.168.2.0(网络地址)
and结果:11000000  10101000    00000010    00000000——192.168.2.0(网络地址)

广播地址运算:

or运算:
网络地址:      11000000    10101000    00000010    00000000 ——192.168.2.0(网络地址)
子网掩码取反:00000000   00000000   00000000   11111111
网络地址:       11000000   10101000    00000010    00000000 ——192.168.2.0(网络地址)
子网掩码取反:00000000   00000000   00000000    00111111
or运算结果:   11000000    10101000   00000010    11111111——192.168.2.255(广播地址)
or运算结果:   11000000    10101000   00000010    00111111——192.168.2.63(广播地址)

结果:可以看出这两个地址不在同一地址范围,但是它们之间却是相互覆盖的,两者都存在与对方的地址范围内,所以它们可以在不借助网关的情况下通信,因为它们同一网段/子网。如:

A地址192.168.2.10、子网范围:19.168.2.0-192.168.2.255; B地址192.168.2.30、子网范围:192.168.2.0-192.168.2.63。A地址存在与B地址子网范围内,B地址存在与A地址子网范围内。

ps:子网掩码多少位是通过将十进制的子网掩码转换成二进制之后看有多少个1就表示多少位
!比如255.255.255.0转成二进制就是11111111.11111111.11111111.00000000,总共有24个1所以是24位!

网关:

作用:网关的作用是用于不同子网/网段之间的通信!比如上面子网运算之后如果不在同一网段/子网下就需要通过网关进行转发来进行通信。

举例:
比如b类地址172.16.2.10/24与同样是b类地址172.16.1.10/24,明显就是在不同的子网/网段。

如上我们要让这两个网段进行通信就需要网段2.10蒋数据发送给路由器,路由器再蒋数据发送给网段1.10。但是需要注意的是使用路由器进行通信是需要指定默认网关(网关)的。有几个网段就需要指定几个网关!比如2.10网关是2.254,1.10网关是1.254。

每日启发:越是不擅长的,越是被别人取笑的,就越要做。

—— aid,因为写的比较快直接一遍过,如果感觉文章有什么不对welcome everyone 纠正! 

技术
下载桌面版
GitHub
Gitee
SourceForge
百度网盘(提取码:draw)
云服务器优惠
华为云优惠券
腾讯云优惠券
阿里云优惠券
Vultr优惠券
站点信息
问题反馈
邮箱:[email protected]
吐槽一下
QQ群:766591547
关注微信