IP地址详解

一、IP地址

1.1 IP地址解释

  • IP地址是IP协议中用于标识不同主机主机的地址,在本地局域网上是唯一的。
  • IP协议根据IP地址将数据传送到指定的目标主机,需要你的IP地址,
  • 假设你网购商品,你购买物品,淘宝商家发货,淘宝商家有发货地址、你的收货地址就相当于IP地址

1.2 什么是IP

  • IP地址用来给Internet上的每一个电脑编号,大家日常见到的情况是每台联网的PC上都要有IP地址,只有地址确定了,才能实现正常的相互通信
  • 我们把个人计算机比作是一台电话,那么IP地址就是电话号码,而Internet中的路由器,就相当于电信局的”程控式交换机“

IP地址是一个32位的二进制数,通常被分割为4个”8位二进制数“(也就是4个子节)

 01110000 01010111 01000001 00111100

我们通常看到的都是十进制的样子,将其换算成十进制,中间用 . 隔开,变成(a.b.c.d)的形式,这种方法称之为”点分十进制

 01110000 01010111 01000001 00111100
//转化
112.87.65.60

为了方便寻址以及层次化构造网络,每个IP地址分为【网络号码】和【主机号码】两个部分组成,

  • 网络号码(net-id):它标志主机(或路由器)所连接到的网络,网络地址表示其属于互联网的哪一个网络
  • 主机号码(host-id):它标识该主机(或路由器),主机地址表示属于该网络中的哪一台主机

同一个网络上的所有物理主机都是用同一个网络号码

IP协议的两个版本:IPV4和IPV6

  • IPV4:IP地址是一个4字节,32位的整数(uint_32)(广泛采用)
  • IPV6:(uint_64),没有推广起来,因为不向前兼容IPV4

1.3 点分十进制法

IPV4地址长度为32位,共4个子节,但实际中我们用点分十进制法记

(涉及到二进制和十进制之间的相互转化,注意十进制转化为二进制时,由于有八位,所以转化后如果不够要向前补零,例如11转化为二进制为1011,有八位,再向前补四个0,变成00001011) 

1.4 IP地址的分类

IP地址由网络地址主机地址两部分组成,分配这部分的位数随地址类(A类、B类、C类、D类、E类)的不同发生改变

怎么把ip地址拆分成网络号和主机号

1.静态方式(提前规定好),这种方式使用不多,了解即可

比如一个IP地址:10.138.25.184

最左侧的十进制(第一个字节)为10,转化为二进制为00001010,第一个字节转化为二进制后以0开头就是A类,以10开头就是B类,以110开头就是C类,以1110开头就是D类,以11110开头就是E类

  •  A类:0.0.0.0 ~127.255.255.255   共有126个网络,每个网络有1600万台主机,适合大规模网络

  • B类:128.0.0.0 ~ 191.255.255.255 共有16384个网络,每个网络有6万台主机,适合中等规模网络

  • C类:192.0.0.0 ~ 223.255.255.255 共有209万个网络,每个网络有254万台主机,适合小规模网络

  • D类: 224.0.0.0 ~ 239.255.255.255  组播地址

  • E类: 240.0.0.0 ~ 247.255.255.255  保留地址

2.动态方式:添加了一个网络掩码(network mask)的因素

单单从IP地址,我们无法判断网络部分是多少位,主机部分是多少位,无法判断量台计算机是否属于同一个子网络,这里需要用到另外一个参数子网掩码

  • 子网不能单独存在,必须结合IP地址一起使用,只有一个作用,就是将IP地址划分成网络地址和主机地址两部分
  • 子网掩码是一个32位地址,用于屏蔽IP地址的一部分以网络标识和主机标识,并说明该IP在局域网上还是在远程网上
  • 32位2进制数,网络部分全位1,主机部分全为0
  • 如IP地址182.19.254.1,已知网络部分是前24位,主机部分是后8位,那么子网络掩码就是11111111.11111111.11111111.00000000,写成二进制就是255.255.255.0。
  • 172.16.10.33/27 中的/27即告诉我们网络号是24,有24个1,即子网掩码是11111111.11111111.11111111.00000000,写成二进制就是255.255.255.0

  • 将IP地址与子网掩码进行”与“运算得到网络号

关于子网掩码,具体可参照这篇文章(1条消息) 子网掩码详解_Mr_Faker的博客-CSDN博客_子网掩码

之后会介绍如何通过IP地址和子网掩码,计算出网络地址,广播地址和主机数

1.5 广播地址(Broadcast Address)

广播地址(Broadcast Address)适用于同时向网络中所有工作站进行发送的一个地址

在使用TCP/IP 协议的网络中,主机标识段host ID 为全1 的IP 地址为广播地址

1.6 查看IP地址的方法

我们想查看自己电脑的IP地址的几种方式

第一种方法:

输入cmd,进入命令提示符

输入ipconfig ,红色框中就是本机IP

 第二种方法:

进入此电脑,打开设置

进入网络和Internet

找到网络和共享中心,打开

 点击你连接的网络

 点击详细信息:

 红色框中就是IP地址

第三种方法:直接百度IP 

但此时发现一个问题,

本机查询的IP

IPv4 地址: 192.168.11.146

 百度查询的IP

本机IP: 49.74.64.138

 为什么会不一样呢,这里就涉及到公有IP地址私有IP地址

1.7 公有IP地址和私有IP地址

  • 首先IP地址是由32位二进制二进制组成,那么就有2的32次方,也就是4 294 967 296个个地址总数可以使用,但有一部分地址是由其他用途的,所以能用得到部分减少了

  • 全球的人口假设76亿,而设备联网必须遵循IP协议规则,就需要IP地址,那么每部手机上都要有独一无二的IP地址,但这会导致现有的IP地址根本就不够用,手机联网需要的IP地址都不够用,更别说还有一些电脑等终端没算进去,所以要想办法怎样才能保证每一台设备都能联网。

解决办法:

  • 如果一层楼,一栋楼,一个小区的人都共用一个IP地址,是不是就能极大的提高IP地址的利用率,但这样又会出现同一个地区里的不同的人发送,如果都是同一个IP地址,又怎么能分得清是谁发送的,就像你淘宝买东西,然后快递收货地址只填南京市鼓楼区,快递员给你送货,也只能送到区快递站,送不到你的手上
  • 所以解决方案是每个公共的IP地址区域内部搞一个内部管理,比如南京市光明区这个区分配一个公共IP,然后这个公共IP再进行内部管理给小区内的每一户人家都分配一个私有的IP,这个私有的IP就相当于这个小区内每户人家的具体地址一样,比如”tonA幢7楼701房“,然后隔壁另一个拥有另一个公共IP地址的的南京市黑暗区也进行内部管理也给每一户人家分配一个私有的IP,也会有”A幢7楼701房“的地址

有了公共区域的IP地址:南京市鼓楼区,公共区域进行内部管理的内部私有ip地址:A幢7楼701房,就可以拼接成

南京市光明区A幢7楼701房

快递先是放到区快递站,再经区快递站发出由快递小哥送到具体的A幢7楼701房,小区的地址就相当于公有IP,具有发送和接收到具体指定大区域的作用,而A幢7楼701房就相当于私有IP,你个人想要进行快递的发送和接收都要通过私有IP才能到达你本人的手上

所以,百度上查到的都是公有IP(这就是为什么会标识江苏省南京市雨花台区),而你个人的电脑上查到的是私有IP

江苏省南京市雨花台区     49.74.64.138  //当前区域的公有IP

A幢7楼701房                     192.168.11.146 //具体到个人的私有IP

注意:公有IP可以是唯一的,但私有IP可不一定,你可能跟隔壁黑暗小区的某人都拥有同一个私有IP地址,例如:192.168.11.146

懂了什么是公有IP,什么是私有IP,就知道要连上网,只能靠公有IP,私有是不行的,必须借助公有

二、网络路由传输简化版

还是利用寄送快递的例子,这次我们寄和送的地址是同城不同区的

寄:广东省深圳市福田区XX街道光明小区 A幢7楼701

收:广东省深圳市南山区XX街道黑暗小区  A幢2楼201

首先快递从深圳市光明小区发出,分配到深圳市福田区,在福田区下查询了下可送达的地址列表,没有发现收货地址,再向上一级深圳市传递,在深圳市下查询可送达的地址列表,发现收货地址位于南山区,发往南山区,再经由南山区这个公共IP,发往南山区管理下的私有IP:XX街道黑暗小区A幢2楼201,最终送到收货人的手上,也就是接收到了发送过来的信息

这个发送和接收快递的过程,就是非常简化的网络信息传输流程,其中区快递分站和市快递总站就代表有着层级关系层级分明的路由器,而可送达的地址列表就是路由表,也就是说每一个路由器路由表会存放下面路由器公有IP地址,信息传输的过程就是向向上层路由发送,上层路由通过查找表的方式,来看看目标IP是否在自己的下层,如果不在的话,就继续向上层发送,一直往上直到某个上级路由器路由表下层有目标IP,再向下一层一层发送,每个路由器都有一个公有IP地址

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值