IP地址的格式:
IP地址的总长度是32位,但是网络号和主机号都是不固定的,因此按照网络号的长度可分为以下几类:
特殊IP地址:
网络号 | 主机号 | 作为源地址 | 作为目的地址 | 用途 |
---|---|---|---|---|
全0 | 全0 | 可以 | 不可以 | 本网内表示主机,路由表内表示默认路由 |
全0 | 特定值 | 不可以 | 可以 | 表示本网内特定主机 |
全1 | 全1 | 不可以 | 可以 | 广播地址 |
特定值 | 全0 | 不可以 | 不可以 | 网络地址,表示一个网络 |
特定值 | 全1 | 不可以 | 可以 | 对特定网络上的所有主机广播 |
127 | 任意(非全0/1) | 可以 | 可以 | 环回地址 |
私有IP地址:
类别 | 范围 |
---|---|
A类 | 10.0.0.0~10.255.255.255 |
B类 | 172.16.0.0~172.31.255.255 |
C类 | 192.168.0.0~192.168.255.255 |
在局域网中,每个主机用的都是私有IP地址,数据通过路由器时,路由器会将私有IP替换成公有IP,这样就能实现用一个公有IP多台电脑同时上网。
原理也很简单,路由器中有一个NAT转换表,局域网中的内容都转换成了公有IP的不同端口:
WAN端 | LAN端 |
---|---|
172.38.1.5:40001 | 192.168.0.3:30000 |
172.38.1.5:40002 | 192.168.0.4:30015 |
172.38.1.5:40003 | 192.168.0.14:30055 |
172.38.1.5:40004 | 192.168.0.22:30025 |
若一个公司获得了一个公有IP,还想在公司内部将这个IP划分成几个子网,可以使用子网掩码。划分子网后,对外仍表现为一个网络,即本单位外的网络看不见本单位内子网的划分。
如何区分子网号有多长呢?用子网掩码,主机号对应的子网掩码为0,其他的子网掩码都为1。
有分类的IP地址有两个问题:
1993年互联网工程工作小组提出了CIDR,与此同时IP地址类别被弃用。
CIDR其实相当于可变长的子网掩码,不过子网掩码只能应用于一个网络内,而CIDR可以应用于整个IP地址,从而废弃掉了IP地址的分类。对于公司内部子网划分可以是用子网掩码,也可以使用CIDR。
CIDR还有一个好处,就是可以缩减路由表。在分类IP时代,路由表中的目的地址都是各类别的网络号,如果自治系统中的网络很多,那么每个路由器将维护一个庞大的路由表。
CIDR可以实现路由聚合,从而减小路由表,例如:
目的网络 | 下一跳 |
---|---|
206.1.0.0/17 | R2 |
206.1.128.0/17 | R2 |
这两项的下一跳都是R2路由器,这两个网络前缀只有最后一位不同,所以可以用公共的前缀表示它们:
目的网络 | 下一跳 |
---|---|
206.1.0.0/16 | R2 |
当有新设备加入网络,自动为其分配IP地址,这是DHCP协议解决的问题。
IPv6将地址从32位(4B)扩大到128位(16B),更大的地址空间。支持即插即用(即自动配置),不需要DHCP协议。
一般记法:
4BF5:AA12:0216:FEBC:BA5F:039A:BE9A:2170
对于连续多个0,可以使用::代替:
FF05:0:0:0:0:0:0:B3
FF05::B3