扫盲贴--关于IP地址那点事儿

    说到IP地址,每个人都多多少少了解一点,但总有一些和IP地址相关的知识没有彻底弄明白,比如:
  • 什么是内网IP和外网IP?如何区分?
  • 内网IP是如何与外界通信的?
  • IP地址和子网掩码是什么关联?
  • IP地址有多少?是怎么分配的?
  • NAT是什么?
  • DHCP又是什么?

    本文希望能解答以上疑惑。(本文讨论的是IPv4.)

     首先,简单来说IP地址就相当于qq号,每个人想用QQ聊天就必须注册一个QQ号,同理,每个上网设备,不管是手机、电脑,还是服务器要连接到网络上,都需要一个唯一的IP地址才能进行上网,在因特网中通信,IP地址就等同于QQ号,一个网络通信中的唯一标识。

     IP地址长度为32比特,因此总共有2^32,约有40亿个可能的IP地址,很明显现今全球的网络设备加一起肯定远远超过这个值了,那么现在是怎么保证一切运作正常的呢?这时候就要引入一个内网IP和外网IP的概念:

如图,一个家庭的网络分布,每台设备上的IP地址其实都是内网IP,与外界通信都是统一用的116.77.88.99外网IP,由运营商统一分配。
那么第一个问题来了,能否区分一个IP地址是内网IP还是外网IP呢?
答案是可以的。
Internet设计者保留了IPv4地址空间的一部份供专用地址使用,这些地址永远不会被当做公用地址来分配,私有IP地址范围是:

10.0.0.0~10.255.255.255
172.16.0.0~172.31.255.255
192.168.0.0~192.168.255.255

因此,简单来说,看到 10.x.x.x、172.16.x.x~172.31.x.x、192.168.x.x 开头的IP地址就是内网IP啦。知道了范围,就很容易计算出内网IP的个数:

255*255*255+255*255*3=16776450

哇,过千万的内网IP地址,有没有可能用完呢?万一用完了该怎么办?答案是有可能。

第二个问题,刚刚说到内网IP只是标识内网的,对外通讯使用的是统一的外网IP,那么通讯的时候怎么知道对应到哪个内部设备通讯,当向或从全球因特网发送或接受数据,地址如何保持唯一的呢?答案就在于:网络地址转换(NAT)

NAT路由器对外界的行为就如同一个具有单一IP地址的网络设备。所有离开家庭路由器流向更大的因特网都拥有同一个源IP,所有进入家庭的报文也都拥有同一个目的IP地址,那么路由器怎样知道它应将某个分组转发给哪个内部设备呢?技巧就是使用NAT路由器上的一张NAT转换表,里面保存着内部的IP地址和端口号。类似于一个中转站的功能,关系都保留在中转站里。

上网的问题搞清楚了,我们回到一个最原始的问题:IP地址是谁来分配和管理的呢?答案是,由一个全球性的非营利权威机构ICANN管理,它负责分配IP地址,还管理DNS根服务器。IP地址分成两块:IP地址=网络地址+主机地址,通过子网掩码来区分IP地址中的网络ID和主机ID。根据网络ID的不同,IP地址分为5种类型:

1、A类IP地址 
一个A类IP地址由1字节的网络地址和3字节主机地址组成,地址范围从1.0.0.0 到126.0.0.0。可用的A类网络有126个,每个网络能容纳1亿多个主机。 
2、B类IP地址 
一个B类IP地址由2个字节的网络地址和2个字节的主机地址组成,地址范围从128.0.0.0到191.255.255.255。可用的B类网络有16382个,每个网络能容纳6万多个主机 。 
3、C类IP地址 
一个C类IP地址由3字节的网络地址和1字节的主机地址组成,范围从192.0.0.0到223.255.255.255。C类网络可达209万余个,每个网络能容纳254个主机。 
4、D类地址:用于多点广播(Multicast)。 
5、E类地址 :保留地址,留作将来使用。

当一个组织为其主机申请一组IP地址时,会收到一个32位的网络地址以及一个对应的32位的网络掩码。如申请了一个IP地址:204.152.189.0,网络掩码为:255.255.255.0,也可以采用下面的标记法来指定分配的地址范围:

204.152.189.0/24

这里的/24表示分配的地址的网络ID由最左边的24位构成,剩余的8位用于指定主机ID。拥有这个地址的组织可以将254个唯一的因特网地址分配给其计算机--204.152.189.1~204.152.189.254。有两个地址是无法分配的,其中一个地址是主机ID的位都是0(204.152.189.0),它用来标识网络本身,另一个地址是主机ID的位都是1(204.152.189.255),它是子网广播地址。一般第一个IP地址(204.152.189.1)都用作默认网关。

某组织一旦获得一块地址,它就可以为本组织内的主机与路由器接口逐个分配IP地址。可以手动配置,但更多的是使用动态主机配置协议(DHCP)来完成。DHCP允许主机自动获取一个IP地址。比如到一个公共场所连接wifi,请求连接时,DHCP服务器会自动为其分配一个IP地址以及租用期。

以上都是自己看书外加谷歌后的理解,如果哪里有不对的地方还请各位指正:)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值