第七篇:电脑(设备)在互联网上的身份证IP地址

上一篇《第六篇:网络中的信息如何精确从源主机到目标主机?》提到IP地址的作用。

  1. IP地址分为两代:v4版本和v6版本现在的IP地址主要还是v4版本叫做IPv4;IPv6目前还没有全面普及接下来我们主要讨论IPv4。
  2. IP地址范围从0.0.0.0 到255.255.255.255;分四个字节,每个字节范围是0-255;所以全世界最多只有42.9亿个IPv4的地址
  3. 每个国家能使用的IP地址都是由IANA组织分配管理的。
  4. IP地址就像身份证一样由相应的部分组成

同理IP地址是由网络号和主机号组成

例如:202.112.81.34指的就是202.112.81.0这个网络的第34号机。

网络号:用于识别主机所在的网络;

主机号:用于识别该网络中的主机。当分配给主机号的二进制位越多,则能标识的主机数就越多,相应地能标识的网络数就越少,反之亦然。

在详细讲解IP地址之前,先普及一点网络基础知识:请看我的文章

网络基础知识:二进制及其运算

1.为什么要将IP地址设计成由网络号和主机号组成呢

上面详细讲解了二进制的运算现在在讲解IP地址的时候会用到二进制的运算以及进制的转换

上面提到IP是由网络号和主机号组成网络号可以方便寻址即查找计算机属于哪个网络北京上海还是广州网络由于知道了IP属于哪个网络我们就会将信息发送给哪个网络这样就能避免将信息广播给所有的主机而主机号可以限制一个局域网最多能容纳多少个主机

2.那我们如何知道一个IP地址到底是属于哪个网络呢

这个就需要借助一个叫做“子网掩码”的东西,子网掩码子网掩码与IP一样也是4字节、32个bit位的二进制格式是前n位必须是连续的1,后面32-n位必须是连续的0比如你的子网掩码是255.255.255.192,这个是有效的,因为255.255.255.192换算成二进制是这样的:11111111.11111111.11111111.11000000。你可以看到这里的1,和0都是连续的,这样的子网掩码才是有效的。

再比如一个子网掩码是这样的:11111111.11111111.11111111.10100000,这个子网掩码肯定是无效的,因为1和0都不是全部连续的。

一个字节是8最小00000000的十进制是0,最大11111111的十进制是255;所以我们经常看到子网掩码是255.0.0.0、255.255.0.0、255.255.255.0这样的

3.那么我们如何判断IP属于哪个子网呢

前面我们说子网掩码前面的n位必须是连续的1,后面32-n位都为0,子网掩码与IP进行“与运算”最后保留的就是就是IP前n位的01,比如IP 240.183.71.5255.255.192.0子网掩码进行与运算得出的结果是240.183.64.0;

如果子网掩码是255.255.0.0,上图的IP是240.183.71.5;两个进行与运算,得出240.183.0.0;则240.183.71.5属于240.183.0.0子网。是不是很奇怪?子网掩码的不同决定了IP将属于不同子网,其实这是正确的,我们可以这样理解,240.183.64.0这个子网属于240.183.0.0这个大的子网。

前面我们说过,如果根据mac地址寻找目标,就只能进行广播,这样会导致广播风暴。所以我们抽象了另一个概念“IP地址”来标识我们的电脑,交换机根据mac地址工作;那么我们有必要生产一个新设备---路由器,根据IP地址进行工作,对IP进行路由管理。

有了IP,一切就简单了,我们可以避免广播风暴,路由器、网桥等都具有隔绝局域网的功能,通过IP路由数据,不会进行广播。

路由器里面有一张表---路由表,记录每个网口连接的网络或者目标主机;如此,我们的IP自然设计成网络号和主机号;每个请求都会带上目的IP地址,路由器根据子网掩码、目的IP地址计算出该IP属于哪个网络,然后路由器根据目的IP所属网络找到对应网络的网口,然后将消息发送出去,这就避免了粗暴的广播方式。

举例:上海B发送一个消息给“北京的局域网2的A”,在发送消息的时候,会携带目的IP、源IP、目的mac地址(实际生活中这里的mac地址是路由器或网关的mac地址)、源mac地址;

那么这里有个问题:源mac地址和源IP都很好获得,目的IP和目的Mac地址怎么获得,目的IP地址可以通过别人告诉我们(后面我们会讲如何告诉我们),那么目的mac地址怎么获得呢?

其实这里的mac地址不是我们“北京的局域网2的A”的Mac地址,而是我们网关路由器的mac地址,那这个网关服务器的地址怎么获得呢?请看章节《我们的上网流程》。

我们已经获得了网关服务器的mac地址,现在发送信息:

消息传到第一个路由器的时候,解析信息包,根据目的IP(240.183.64.1)、子网掩码(255.255.0.0),查询下面的路由表后知道,需要把信息包发送给网口1;

然后发送到北京局域网的路由器,我们这里叫路由器2,这个路由器有个特殊的功能,它记录局域网中Mac地址与IP的对应关系,如此,路由器2就可以解析信息包,拿到目的IP,然后从这个特殊的Mac地址与IP的对应关系表里面查到目的IP对应的Mac地址,然后将信息包里面的目的mac地址换成这个mac地址,如此当信息到达主机A的时候,根据mac地址对比,发现信息是发给自己的,接收处理。

4.题外话互联网号码分配机构IP地址的管理办法

1)IP地址的分类

A类保留给政府机构;

B类分配给中等规模的公司;

C类分配给任何需要的人;

D类用于组播;

E类用于计算机网络实验和开发

各类可容纳的地址数目不同。

2)内网IP和公网IP外网IP

IPv4一共只有40多亿个IP,全世界这么多人,很多人有很多手机,很多电脑,IP明显不够用,互联网号码分配机构为了解决IP不够用这个问题,把部分IP作为内网IP,部分作为保留IP,部分作为公网IP,部分作为实验IP,部分作为组播IP等

比如IP地址10.0.0.1是内网IP其可以在局域网A和局域网B使用243.107.230.1作为公网IP只能被一台主机使用将部分IP作为内网来使用这样能节省IP的使用

如上图局域网A的主机10.0.0.1发送一个信息出去会带上一个端口在计算机里面一个端口对应一个实际的应用),到达路由器A比如这个端口是30,路由器A接收到信息后会找一个路由器中未被占用的端口比如10端口与局域网的10.0.0.1:30对应起来并生成一条记录然后路由器会更改发送信息的源IP地址

信息应答就是反解析。

3)A、B、C、DE五类IP地址的特征

本质上IP地址是4字节的01构成的,1字节等于801;

所以我们规定如下这是规定没有什么技巧可言记住就可以了

A类地址的第一位总是0

B类地址的前两位总是10,

C类地址的前三位总是110

D类地址的前位总是1110

E类地址的前位总是1111第一个字节的范围:11110 - 11111110(240-254)。

  • A类IP地址

如图所示:

A类IP地址第1字节为网络地址,其它3个字节为主机地址;所以子网掩码是255.0.0.0;

因为规定A类的第一个bit位为0,则bit的取值范围为:

00000000.00000000.00000000.00000000~01111111.11111111.11111111.11111111

十进制就是:0.0.0.0~127.255.255.255。

A类地址里的那些做特殊处理的地址:

以上,A类地址能在公网使用的A类IP地址总个数为:2亿多个。

  • B类IP地址

如图所示:

B类IP地址前2个字节为网络地址,其它2个字节为主机地址;所以子网掩码是255.255.0.0;

因为规定B类的前2个bit位为固定10,则bit的取值范围为:

10000000.00000000.00000000.00000000~10111111.11111111.11111111.11111111

十进制就是:128.0.0.0 ~ 191.255.255.255。

B类地址里的那些做特殊处理的地址:

能在公网中使用的B类IP地址个数为: 1亿多个。

  • C类IP地址

C类地址前3个字节为网络地址,第4个个字节为主机地址。另外第1个字节的前三位固定为110;所以子网掩码是255.255.255.0。

因为规定C类的前3个bit位为固定110,则bit的取值范围为:

11000000.00000000.00000000.00000000~11011111.11111111.11111111.11111111

十进制就是:192.0.0.0 ~ 223.255.255.255。

C类地址里的那些做特殊处理的地址:

  • D类IP地址

D类地址不分网络地址和主机地址,它的第1个字节的前四位固定为1110。

因为规定C类的前3个bit位为固定110,则bit的取值范围为:

11100000.00000000.00000000.00000000~11101111.11111111.11111111.11111111

十进制就是:224.0.0.0 ~ 239.255.255.255。

D类IP地址是组播地址;当一台主机加入一个组播组后,它既有一个本机的IP地址,同时也有一个组播组的D类IP地址,对于目的地址是这两个地址的IP数据报,这台主机都会接收。例如,224.0.0.1是所有主机组,包括本网段中所有参加组播的主机;224.0.0.2表示本地网络中所有参加组播的路由器。而其余的组播组可以由应用程序随时使用,不受限制。

  • E类IP地址

没有网络号和主机号,除非你在研究或者开发计算机网络,否则你不会遇到这样的网络。

4)每个国家的IP地址都是有范围的拥有多少互联网号码分配机构管理

5.端口号

上面我们抽象出了IP地址,使用其可以进行很好的找到主机属于哪个网络,然后通过mac地址可以找到最终的主机。这个时候微信和QQ同时装进了电脑了,信息被主机接收,怎么判断是发送给微信的还是QQ的呢?

聪明机智的工程师想到给电脑上的每个应用编个号,然后再在电脑里面建立一个对应关系,不就可以了吗?这个编号就是“网络端口”。

网络端口是一个数字,其范围为0到65535。端口是编号,当然就是一个端口对应一个应用!

当我们的信息通过QQ发送出去的时候,为了让对端的电脑知道这个信息是由哪个应用来处理,需要把目的端口号放在信息包里;为了让对端的电脑知道是哪个应用发给我的信息,需要把源端口号也放在信息里面。

另一边就是一个反解析的过程:

总结:

  1. 信息的传输需要传输介质,传输介质分为有线传输介质和无线传输介质
  2. 要将计算机连起来,可以互相通信,那么组网方式有:星形、环线型、树形、总线型、网型、混合型等6种拓扑类型。
  3. 信息是如何传输的,用到了mac地址、IP地址、端口等
  4. 信息其实是0和1组成,而0和1只是电平的高低,波形的高低等。
  5. 二进制、八进制、十进制、十六进制的相互转换。
  6. 二进制的运算:与元算、异或运算、或运算、加法和减法运算。
  7. IP和子网掩码的关系。
  8. 网络设备:中继器、交换机、路由器等。
  • 15
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值