目录
主要参考*。
因个人水平所限,以下内容如有错误,欢迎评论指正^v^
IP简介
IP地址,又译为互联网协议地址,全称Internet Protocol Address。是网络协议中的一串数字,用于标识设备或网络寻址。
ICANN (Internet Corporation for Assigned Names and Numbers, 互联网名字与数字地址分配机构) 是一家美国非营利组织,下属的IANA (Internet Assigned Numbers Authority) ,主管IP地址分配。
IP的格式
常见的IP地址分为IPv4与IPv6两大类,IP地址由一串数字组成。
IPv4为32位长,通常书写时以四组十进制数字组成,并以点分隔,如:172.16.254.1
;
IPv6为128位长,通常书写时以8组每组最多4个16进制数字组成,以冒号分割,如:2001:db8:0:1234:0:567:8:1
。
IP的分类
IPv4地址分类(旧方式)
A类IPv4地址 | B类IPv4地址 | C类IPv4地址 | D类IPv4地址 | E类IPv4地址 | |
---|---|---|---|---|---|
标志位 | 0 | 10 | 110 | 1110 | 11110 |
IP范围 | 0.0.0.0~127.255.255.255 | 128.0.0.0~191.255.255.255 | 192.0.0.0~223.255.255.255 | 224.0.0.0~239.255.255.255 | 240.0.0.0~247.255.255.255 |
可用IP | 1.0.0.1~127.255.255.254 | 128.0.0.1~191.255.255.254 | 192.0.0.1~223.255.255.254 | ||
可分配? | 是 | 是 | 是 | 否 | 否 |
网络号位数 | 7 | 14 | 21 | ||
网数 | 27-2 | 214 | 221 | ||
每网主机 | 224-2 | 216-2 | 28-2 |
D类用于多播,E类保留。
特殊IP地址
网络号 | 主机号 | 是否可以作为源地址 | 是否可以作为目的地址 | 备注/描述 |
---|---|---|---|---|
全为0 | 全为0 | 允许 | 禁止 | 表示本网主机 |
全为0 | Host ID | 允许 | 禁止 | 表示特定主机 |
全为1 | 全为1 | 禁止 | 允许 | 受限广播地址 |
127 | 任意合法的值 | 允许 | 允许 | 迂回地址,用于本地测试 |
Network ID | 全为1 | 禁止 | 允许 | 直接广播地址 |
子网掩码形式上是网络号(二进制)所有位全为1,主机号(二进制)所有位全为0的IP地址。用于与IP地址按位与得到网络地址。
默认网关是网络号(二进制)所有位全为1,主机号为1。网关是充当另一个网络的访问点的网络节点,通常不仅涉及地址的更改,而且还涉及不同的网络技术。默认网关的意思是一台主机如果找不到可用的网关,就把数据包发给默认指定的网关,由这个网关来处理数据包。
受限广播,也叫有限广播、本地广播,它不被路由发送,但会被送到相同物理网络段上的所有主机。直接广播会被路由,并会发送到专门网络上的每台主机。
比如对于IPv4地址103.152.34.238
,二进制为0110 0111 . 1001 1000 . 0010 0010 . 1110 1110
。
若按以上分类方式,标志位(从高位开始的二进制位)是0,这是一个A类IPv4地址。
子网掩码是255.0.0.0
,网络地址是103.0.0.0
,网络号是103
,主机号是152.34.238
,默认网关是103.0.0.1
,直接广播地址是103.255.255.255
,受限广播地址是255.255.255.255
。
比如一个服务绑定到0.0.0.0
,意味着外部机器访问该机器上所有 IP 都可以访问该服务。如果服务绑定到的是特定的 ip,则只有访问该 ip 才能访问到服务。路由器0.0.0.0
表示没有匹配时的默认路由(待确认)。
127.0.0.1
表示回环地址,用于测试时在本地运行并从本地访问服务。
localhost往往在hosts中有以下定义(ubuntu系统有特殊问题,待补充),指向IPv4的127.0.0.1
和IPv6的::1
:
127.0.0.1 localhost
::1 localhost
公网IP、局域网IP
可以通过公网IP直接接受来自国际互联网的请求,局域网IP不能。
RFC 1918 为私人地址空间分配以下IP地址段:10.0.0.0/8
,172.16.0.0/12
,192.168.0.0/16
。
延缓IPv4耗尽的策略
随着互联网的发展,网络位置(IPv4)渐渐被消耗殆尽,虽然当前的网络地址转换及无类别域间路由等技术可延缓网络位置(IPv4)匮乏之现象,但为求解决根本问题。
网络地址转换NAT
网络地址转换(英语:Network Address Translation,缩写:NAT)在计算机网络中是一种在IP数据包通过路由器或防火墙时重写来源IP地址或目的IP地址的技术。这种技术被普遍使用在有多台主机但只通过一个公有IP地址访问互联网的私有网络中。
基本网络地址转换(Basic NAT)
地址中只转换IP,不转换端口。
网络地址端口转换(NAPT)
地址的IP和端口都转换。
- 圆锥型NAT:一旦内部地址(iAddr:iPort)映射到外部地址(eAddr:ePort),所有发自 iAddr:iPort 的数据包都经由 eAddr:ePort 向外发送。
- 完全圆锥型NAT(Full cone NAT):任意外部主机都能经由发送数据包给 eAddr:ePort 到达 iAddr:iPort。
- 受限圆锥型NAT((Address-)Restricted cone NAT):唯 iAddr:iPort 曾经发送数据包到外部主机(nAddr:any),外部主机才能经由发送数据包给 eAddr:ePort 到达 iAddr:iPort。(注:any 指外部主机源端口不受限制。)
- 端口受限圆锥型NAT(Port-Restricted cone NAT):在受限圆锥型NAT基础上增加了外部主机源端口必须是固定的。
- 对称NAT(Symmetric NAT):每一个来自相同内部 IP 与端口,到一个特定目的地 IP 和端口的请求,都映射到一个独特的外部 IP 和端口。同一内部 IP 与端口发到不同的目的地和端口的信息包,都使用不同的映射只有曾经收到过内部主机数据的外部主机,才能够把数据包发回。
无类别域间路由CIDR
无类别域间路由(英语:Classless Inter-Domain Routing,简称CIDR)是一个用于给用户分配IP地址以及在互联网上有效地路由IP数据包的对IP地址进行归类的方法。
因为C类地址允许的主机数太少,B类地址有太多,导致不能充分使用IP地址和在路由上的不便。
无类别域间路由是基于可变长子网掩码(VLSM)来进行任意长度的前缀的分配的。
比如对于IPv4地址103.152.34.238
,二进制为0110 0111 . 1001 1000 . 0010 0010 . 1110 1110
。
若是一个/8,则子网掩码是255.0.0.0
,网络地址是103.0.0.0
,网络号是103
,主机号是152.34.238
,默认网关是103.0.0.1
,直接广播地址是103.255.255.255
,受限广播地址是255.255.255.255
。
若是一个/11,则:
子网掩码是1111 1111 . 1110 0000 . 0000 000 . 0000 0000
也就是255.224.0.0
,
网络地址是0110 0111 . 1000 0000 . 0000 000 . 0000 0000
也就是103.128.0.0
,
网络号是0110 0111 100
,主机号是1 1000 0010 0010 1110 1110
,默认网关是103.128.0.1
,
直接广播地址是0110 0111 . 1001 1111 . 1111 1111 . 1111 1111
也就是103.159.255.255
,
受限广播地址是255.255.255.255
。
IP的设置
静态IP地址
通过主机硬件或软件的配置,将固定IP地址持续分配给主机。
动态IP地址和DHCP
DHCP (Dynamic Host Configuration Protocol) 动态主机配置协议,又称动态主机组态协定,是一个用于IP网络的网络协议,位于OSI模型的应用层,使用UDP协议工作,主要有两个用途:
- 用于内部网或网络服务供应商自动分配IP地址给用户
- 用于内部网管理员对所有电脑作*管理
根据实现情况,DHCP服务器可能具有三种分配IP地址的方法:
- 动态分配:网络管理员为DHCP保留一系列IP地址,并且局域网中每个DHCP客户端,配置为在网络初始化期间从DHCP服务器请求IP地址。请求和授予过程使用具有可控时间段的租赁概念,允许DHCP服务器重新声明,然后重新分配未更新的IP地址。
- 自动分配:DHCP服务器从管理员定义的范围内将IP地址永久分配给请求客户端。这就像动态分配,但是DHCP服务器保留过去IP地址分配的表,这样它就可以优先为客户端分配与客户端以前相同的IP地址。
- 手动分配:此方法也各不相同(静态DHCP分配,固定地址分配,保留和 MAC / IP地址绑定)。管理员映射每个客户端的唯一标识符(客户端编号或MAC地址)到IP地址,该IP地址提供给请求的客户端。如果失败,可以将DHCP服务器配置为退回到其他方法。