IP地址,子网掩码,网关,DNS之间关系

2021年9月30日 5点热度 0条评论 来源: ChampionDragon

说来惭愧大学里的计算机网络忘得差不多了,由于公司项目需求要自定义网络协议。由于之前开发都是用第三方包很少去写底层的网络协议,所以一起来学习吧!今天这篇文章基本上是从百度里面转载过来的如下:

https://zhidao.baidu.com/question/518705975958411085.html

http://blog.csdn.net/u013630349/article/details/47837211

https://zhidao.baidu.com/question/552888197.html

 

IP地址,子网掩码,网关,DNS之间有什么关系?

IP地址通俗的说就是门牌号码具体的位置,最多有12位组成的例如最常见192.168.1.35等等。

子网掩码是一个32位地址,用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在远程网上,好像是邮政编码似的。

网关是互连网络中操作在OSI运输层之上的设施,例如``通常都喜欢用一台机器做主机其他的串联上去一起上网那么这个主机就是网关了。

DNS就是域名解析服务器,就是再上网的时候都是输入的都是域名而网站的真实地址是以ip地址的形式出现的由于记忆麻烦就有域名代替的DNS就是将域名转换成为ip地址的形式至于首选择DNS,

由于网络上存在着网速的问题,所以当上网的时候请求命令首先是经过距离最近的DNS服务器通常也是网速最好这个就是首先DNS,但是当这个线路出现了问题的时候,那么就要走远路到其他距离较远的的DNS服务器,这个就是备用DNS。

这几者的关系是上网必备的条件,少一个都不行。

子网掩码是一个32位地址,用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在远程网上,好像是邮政编码似的。

网关是互连网络中操作在OSI运输层之上的设施,例如``通常都喜欢用一台机器做主机其他的串联上去一起上网那么这个主机就是网关了。

DNS就是域名解析服务器,就是再上网的时候都是输入的都是域名而网站的真实地址是以ip地址的形式出现的由于记忆麻烦就有域名代替的DNS就是将域名转换成为ip地址的形式至于首选择DNS,

由于网络上存在着网速的问题,所以当上网的时候请求命令首先是经过距离最近的DNS服务器通常也是网速最好这个就是首先DNS,但是当这个线路出现了问题的时候,那么就要走远路到其他距离较远的的DNS服务器,这个就是备用DNS。

这几者的关系是上网必备的条件,少一个都不行。

再通俗点来讲

 

IP地址就好比一个人,全世界只有你一个人!(还有就好比局域网,外网IP只有一个,内网IP不一样,就好比说你生了很多孩子,但是还未成年,所以出去玩要你带着!)
子网掩码就好比说(一个母亲生的孩子太多了!孩子又有很多孙子,这个母亲的孩子有的有钱,有的没钱,有钱的多养几个孩子,没钱的把孩子让哥哥养着)
网关就好比说你在家里边想出去玩,要打开你家的门才能出去一样!网关,是据有路由功能的设备的IP地址,通常是路由器的IP地址
DNS就好比一个翻译,你要上网输入的网址是DNS的一个映射,比如说你不会英语,你很有钱,去美国玩了,不会说那里的话,要请一个翻译是一样的!

 

逐个详解

 

IP地址

给每个连接在Internet上的主机分配的一个32bit地址。地址有两部分组成,一部分为网络地址,另一部分为主机地址。IP地址分为A、B、C、D、E 5类。常用的是B和C两类。网络地址的位数直接决定了可以分配的网络数;主机地址的位数则决定了网络中最大的主机数。

A类地址: 网络位8(7)位+主机位24位,0****************************

IP范围:1.0.0.0--126.255.255.255

127网络位是本地测试地址,不能用于数据通讯。

IP范围:127.0.0.0--127.255.255.255

B类地址:网络位16(14)位+主机位16位,10***************************

IP范围:128.0.0.0--191.255.255.255

C类地址:网络位24(21)位+主机位8位,110**************************

IP范围:192.0.0.0--223.255.255.255

D:224.0.0.0——239.255.255.255

E:240.0.0.0——255.255.255.255

 

子网掩码

互联网是由许多小型网络构成的,每个网络上都有许多主机,这样便构成了一个有层次的结构。IP地址在设计时就考虑到地址分配的层次特点,将每个IP地址都分割成网络号和主机号两部分,以便于IP地址的寻址操作。 

IP地址的网络号和主机号各是多少位呢?

如果不指定,就不知道哪些位是网络号、哪些是主机号,这就需要通过子网掩码来实现。

什么是子网掩码?

子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。 

子网掩码的设定必须遵循一定的规则。与IP地址相同,子网掩码的长度也是32位,左边是网络位,用二进制数字“1”表示;右边是主机位,用二进制数字“0”表示。

例如:IP地址为“192.168.1.1”和子网掩码为“255.255.255.0”。其中,“1”有24个,代表与此相对应的IP地址左边24位是网络号;“0”有8个,代表与此相对应的IP地址右边8位是主机号。这样,子网掩码就确定了一个IP地址的32位二进制数字中哪些是网络号、哪些是主机号。

这对于采用TCP/IP协议的网络来说非常重要,只有通过子网掩码,才能表明一台主机所在的子网与其他子网的关系,使网络正常工作。

常用的子网掩码有数百种,这里只介绍最常用的两种子网掩码,它们分别是“255.255.255.0”和“255.255.0.0”。 

1. 子网掩码是“255.255.255.0”的网络

最后面一个数字可以在0~255范围内任意变化,因此可以提供256个IP地址。但是实际可用的IP地址数量是256-2,即254个,因为主机号不能全是“0”或全是“1”。

2. 子网掩码是“255.255.0.0”的网络:后面两个数字可以在0~255范围内任意变化,可以提供2552个IP地址。但是实际可用的IP地址数量是2552-2,即65023个。

 IP地址的子网掩码设置不是任意的。如果将子网掩码设置过大,也就是说子网范围扩大,那么,根据子网寻径规则,很可能发往和本地机不在同一子网内的目的机的数据,会因为错误的判断而认为目的机是在同一子网内,那么,数据包将在本子网内循环,直到超时并抛弃,使数据不能正确到达目的机,导致网络传输错误;如果将子网掩码设置得过小,那么就会将本来属于同一子网内的机器之间的通信当做是跨子网传输,数据包都交给缺省网关处理,这样势必增加缺省网关的负担,造成网络效率下降。因此,子网掩码应该根据网络的规模进行设置。

如果一个网络的规模不超过254台电脑,采用“255.255.255.0”作为子网掩码就可以了,现在大多数局域网都不会超过这个数字,因此“255.255.255.0”是最常用的IP地址子网掩码;笔者见到的最大规模的中小学校园网具有1500多台电脑,这种规模的局域网可以使用“255.255.0.0”。默认子网掩码 在Windows 2000 Server中,如果给一个网卡指定IP地址,系统会自动填入一个默认的子网掩码。这是Windows 2000 Server为了节省用户输入时间自动产生的子网掩码。比如,局域网最常使用的IP地址“192.168.x.x”默认的子网掩码是“255.255.255.0”。一般情况下,IP地址使用默认子网掩码就可以了。

 

默认网关

按照不同的分类标准,网关也有很多种。TCP/IP协议里的网关是最常用的,在这里我们所讲的“网关”均指TCP/IP协议下的网关。

那么网关到底是什么呢?

网关实质上是一个网络通向其他网络的IP地址。

比如有网络A和网络B。

网络A的IP地址范围为“192.168.1.1~192.168.1.254”,子网掩码为255.255.255.0;网络B的IP地址范围为“192.168.2.1~192.168.2.254”,子网掩码为255.255.255.0。

在没有路由器的情况下,两个网络之间是不能进行TCP/IP通信的,即使是两个网络连接在同一台交换机(或集线器)上,TCP/IP协议也会根据子网掩码(255.255.255.0)判定两个网络中的主机处在不同的网络里。而要实现这两个网络之间的通信,则必须通过网关。如果网络A中的主机发现数据包的目的主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络B的网关,网络B的网关再转发给网络B的某个主机(如附图所示)。网络B向网络A转发数据包的过程也是如此。

所以说,只有设置好网关的IP地址,TCP/IP协议才能实现不同网络之间的相互通信。

那么这个IP地址是哪台机器的IP地址呢?

网关的IP地址是具有路由功能的设备的IP地址,具有路由功能的设备有路由器、启用了路由协议的服务器(实质上相当于一台路由器)、代理服务器(也相当于一台路由器)。 

什么是默认网关

        如果搞清了什么是网关,默认网关也就好理解了。就好像一个房间可以有多扇门一样,一台主机可以有多个网关。默认网关的意思是一台主机如果找不到可用的网关,就把数据包发给默认指定的网关,由这个网关来处理数据包。

现在主机使用的网关,一般指的是默认网关。意思是:所有的需要转发的数据包,都经过默认网关的IP(接口)发送出去,当然返回也是从那里经过。

【例】

 

对于192.168.0.0到192.168.0.255这个网络来说,以下说法中正确的是____。

A.网段内可用来作为主机IP的范围是:192.168.0.0到192.168.0.255

B.Network IP是192.168.0.255

C.Broadcast IP是192.168.0.0

D.网段内的主机可以通过网卡对网卡传递数据

E.192.168.0.1和192.168.0.2的主机需要使用Router传递数据包

F.是class B等级

 首先对于A选项,该网段内主机地址只能是192.168.0.1到192.168.0.254,主机号全0和全1的地址不可用做主机IP,全0是网络地址,全1是广播地址。 
  然后B选项和C选项正好弄反,因为本网段是以110开头(192-224之间)是C类网络,网络号有3个字节,网络地址是192.168.0.0,而广播地址是192.168.0.255。自然F选项也是错误的。 
  至于E选项,两主机为同一网段,所以不需要路由器通信。所以选D.

 

 

IP地址是怎么分A B C D等级的?

 

 

 

A类:1.0.0.0~126.255.255.255,默认子网掩码/8,即255.0.0.0 (其中127.0.0.0~127.255.255.255为环回地址,用于本地环回测试等用途);

B类:128.0.0.0~191.255.255.255,默认子网掩码/16,即255.255.0.0;

C类:192.0.0.0~223.255.255.255,默认子网掩码/24,即255.255.255.0;

D类:224.0.0.0~239.255.255.255,一般于用组播

E类:240.0.0.0~255.255.255.255(其中255.255.255.255为全网广播地址),E类地址一般用于研究用途..

IPv4中还有一种私有地址,即比如内部局域网所用的地址,分别为:

10.0.0.0~10.255.255.255;
172.16.0.0~172.31.0.0;
192.168.0.0~192.168.255.255

B类:128.0.0.0~191.255.255.255,默认子网掩码/16,即255.255.0.0;

C类:192.0.0.0~223.255.255.255,默认子网掩码/24,即255.255.255.0;

D类:224.0.0.0~239.255.255.255,一般于用组播

E类:240.0.0.0~255.255.255.255(其中255.255.255.255为全网广播地址),E类地址一般用于研究用途..

IPv4中还有一种私有地址,即比如内部局域网所用的地址,分别为:

10.0.0.0~10.255.255.255;
172.16.0.0~172.31.0.0;
192.168.0.0~192.168.255.255

一个A类IP地址由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”, 地址范围1.0.0.1-126.255.255.254可用的A类网络有126个,每个网络能容纳1亿多个主机。

一个B类IP地址由2个字节的网络地址和2个字节的主机地址组成,网络地址的最高位必须是“10”,地址范围128.0.0.1-191.255.255.254。可用的B类网络有16382个,每个网络能容纳6万多个主机 。

一个C类IP地址由3字节的网络地址和1字节的主机地址组成,网络地址的最高位必须是“110”。范围192.0.0.1-223.255.255.254C类网络可达209万余个,每个网络能容纳254个主机。

 

 

 

 

计算机的IP是通过四组数据和小数点来组成的,同时四组数据的取值范围为0~255区间,也就是说所有的IP都必须在0.0.0.0~255.255.255.255区间内。
IP协议给网络上的每个计算机都分配了一个唯一的IP地址,这个地址是一个分为四部分的32位长的数,为方便记忆,通常使用以点号划分的十进制来表示,如:211.158.10.5,这样IP地址就表示的比较清晰。
每个IP地址被划分为两个部分,一个为网络地址(Network Address),用于表示计算机所从属的网络号,一个为节点地址(Node Address,也成为主机地址),用于指明该网络上某个特定主机的主机号;网络地址和节点地址通过网络掩码(netmask)进行区分,对应网络掩码二进制位为“1”的IP地址部分为网络部分,其他的为节点部分。例如网络掩码255.255.255.0将192.168.1.200 的网络部分分为192.168.1和200两部分,因此其网络地址为192.168.1.0,节点部分为0.0.0.200。
同一个网络中的网络地址应该相同,但节点地址应该不同,因而子网掩码可以决定这个网络中可以拥有的主机的数量,即节点地址的范围减2,其中节点地址二进制位全为0的地址为网络地址,表示这个网络本身,而节点地址二进制位全为1的地址为广播地址,用于在网络中发送广播包。
在 TCP/IP 网络中有几个地址具有特殊含义:
 以零开头的地址表示当前网络中的本地节点。例如,0.0.0.23 指当前网络中的 23 号工作站。地址 0.0.0.0 指当前工作站。
在进行故障排除和网络诊断时,以 127 开头的地址非常重要。形式上将网络地址块 127.x.x.x 定义为 A 类地址,保留了该地址块以用于内部回送(loopback)。
 将地址上所有位全置为 1(也就是值 255)代表"所有"地址。所以,192.18.255.255 意味着将消息发送给 192.18. 网络上的所有节点;类似的,255.255.255.255 意味着将消息发送给因特网上的每个节点。这些地址用于多点广播消息和服务公告。
注意:给系统分配节点号时,不要使用 0 或 255,它们都是保留数字,具有特殊含义。
划分子网
VLSM(Variable Length Subnet Mask, 可变长子网掩码),这是一种产生不同大小子网的网络分配机制。VLSM将允许给点到点的链路分配子网掩码255.255.255.252,而给Ethernet网络分配255.255.255.0。VLSM技术对高效分配IP地址(较少浪费)以及减少路由表大小都起到非常重要的作用。但是需要注意的是使用VLSM时,所采用的路由协议必须能够支持它,这些路由协议包括RIP2,OSPF,EIGRP和BGP。
为了提高IP地址的使用效率,可将一个网络划分为子网:采用借位的方式,从主机位最高位开始借位变为新的子网位,所剩余的部分则仍为主机位。这使得IP地址的结构分为三部分:网络位、子网位和主机位。引入子网概念后,网络位加上子网位才能全局唯一地标识一个网络。把所有的网络位用1来标识,主机位用0来标识,就得到了子网掩码。如下图所示的子网掩码转换为十进制之后为:255.255.255.224。
划分子网是将大型的、实际的网络分成较小的逻辑网络的过程。划分网络的原因有以下几点:联网技术的电气(物理层)限制;为简便起见,希望在建筑物的每一层(或每个部门或针对每个应用)放置一个独立的网络而划分网络;减少网络段负载;或需要用高速线路连接远程位置。
划分网段的结果是使整个网络变成由一些小型子网块组成的网络,从而易于管理。这些较小的子网之间的通信通过网关和路由器进行。同样,一个组织可以有几个物理上在同一个网络中的子网,以便将网络功能逻辑地分成多个工作组。

 

主机号不能全是"0"或全是"1"

 

在一个网络段中主机号全为0 代表这个网络段本身 称之为:网络号 。这个地址是不可以分配给主机的。
例如:
 ip : 192.168.128.2 
 netmask: 255.255.255.0 
那么这网络段的网络号为: 192.168.128.0 
这个地址可以用在路由中
当你添加一条指向192.168.128.0 的路由 ,就代表了这个网络中的所有地址192.168.128.1---254
所有到192.168.128.1---254的数据都可由你上面路由指定的路由网关转发 
---网关就是 你迷路 不知道去一个地方要怎么走时要去问的人 (只是打个比方不是很恰当)
---路由表就是那人手中的地图 路由就是他去查地图找路线。
主机号全1的地址 是广播地址 你给这个地址发数据包 这个网络内的所有主机都能收到。
例如:
 ip : 192.168.128.2 
 netmask: 255.255.255.0 
那么这网络段的网络号为: 192.168.128.0 
这个地址可以用在路由中
当你添加一条指向192.168.128.0 的路由 ,就代表了这个网络中的所有地址192.168.128.1---254
所有到192.168.128.1---254的数据都可由你上面路由指定的路由网关转发 
---网关就是 你迷路 不知道去一个地方要怎么走时要去问的人 (只是打个比方不是很恰当)
---路由表就是那人手中的地图 路由就是他去查地图找路线。
主机号全1的地址 是广播地址 你给这个地址发数据包 这个网络内的所有主机都能收到。

 

组播地址

 

 

组播报文的目的地址使用D类IP地址, D类地址不能出现在IP报文的源IP地址字段。单播数据传输过程中,一个数据包传输的路径是从源地址路由到目的地址,利用“逐跳”的原理在IP网络中传输。然而在ip组播环中,数据包的目的地址不是一个,而是一组,形成组地址。所有的信息接收者都加入到一个组内,并且一旦加入之后,流向组地址的数据立即开始向接收者传输,组中的所有成员都能接收到数据包组播组中的成员是动态的,主机可以在任何时刻加入和离开组播组。

 

    原文作者:ChampionDragon
    原文地址: https://blog.csdn.net/xxdw1992/article/details/78748252
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。