IP地址概述与应用
IP地址
IP地址:
-
主机唯一(局域网唯一)的标识,保证主机间正常通信。(这里的唯一,只是在客观概念上,由于IP地址是动态的,所以不像MAC地址一样与网卡一对一绑定的唯一性。)
-
一种网络编码,用来确定网络中的一个节点
-
IPv4地址由32位二进制(32bit)组成。IPv6地址由128位二进制(128bit)组成。
进制转换
二进制(BIN)(IP常用编码方式)
-
字符范围0-1
-
基值2
八进制(OCT)
-
字符范围0-7
-
基值8
十进制(DEC)
-
字符范围0-9
-
基值10
十六进制(HEX)(IP常用编码方式)
-
字符范围0-9,A-F
-
基值16
IP地址的定义及分类
IP地址由两部分组成:前面网络部分(NETWORK)+后面主机部分(HOST)
当两个IP地址的网络部分相同时,说明这两个IP地址在同一个网段内,也就是在同一个局域网。
例如,192.168.0.25/24(“/24”代表二进制中前24位为网络部分,称为子网掩码)十进制转换为二进制为11000000.10101000.00000000.00011001。那么前24位为11000000.10101000.00000000(网络部分),后8位为00011001(主机部分)。
根据IP地址网络部分所占的位数以及二进制第一节中的最高位,将IP地址划分为五类IP地址。
A类
-
二进制前8位为网络部分。
-
地址第一字节的最高位固定为0
-
用十进制表示地址范围为0.0.0.0~127.255.255.255
B类
-
二进制前16位网路部分。
-
地址第一字节的最高位固定为10
-
用十进制表示地址范围为128.0.0.0~191.255.255.255
C类
-
二进制前24位为网络部分。
-
地址第一字节的最高位固定为110
-
用十进制表示地址范围为192.0.0.0~223.255.255.255
D类
-
组播地址没有网络部分和主机部分的划分。组播地址用于协议通信。
-
地址第一字节的最高位固定为1110
-
专用组播地址,主机收到以D类地址为目的地址的报文后,且该主机是该组播组成员,就会接收并处理该报文。
-
十进制表示地址范围为:224.0.0.0~239.255.255.255
E类
-
保留地址没有网络部分和主机部分的划分。留待特殊用途。
-
地址第一字节的最高位固定为1111
-
十进制表示地址范围为:240.0.0.0~255.255.255.255
各类IP可支持的网络数量与各网络中的主机地址
在每个网段中,主机部分全0代表网段地址,全1代表广播地址。中间的地址为主机地址,只有主机地址才可以被网络设备使用。
A类
-
126(2的7次方-2)个网段,即网络部分的范围为0-127(2的8次方-1)。
-
由于网络部分除第一位0以外的全0(即0网段),表示网络中的本机,作为保留地址。网络部分除第一位0以外的全1(即127网段),作为回环测试地址作为保留。所以A类IP地址可使用的网段数量为126个。
-
每个网段中可以使用的IP地址数量为16,777,216(2的24次方),但每个网段实际可以分配给设备的IP地址的数量为16,777,214(2的24次方-2)。
-
例如,11.0.0.0这个网段中,11.0.0.0为此网段的网段地址,11.255.255.255为此网段的广播地址。
B类
-
16382(2的(16-2)次方-2)个网段,即IP地址网络部分除两位为10(所以是16-2次方),剩余位数的可变数量。
-
每个网络可以拥有的主机数为65534(2^16-2)
C类
-
C类地址具有21(24-3)位网络编号,因此可定义2097152个C类地址(2^21-2),即IP地址网络部分除两位为110(所以是24-3次方),剩余位数的可变数量。
-
每个网络可以拥有的主机数为254(2^8-2)
各类网络的保留地址及私有地址
私有地址范围(用于局域网):
所谓的私有地址就是在互联网上不使用,而被用在局域网络中的地址
-
A类
10.0.0.0-10.255.255.255(一个A类地址)
-
B类
172.16.0.0-172.31.255.255(16个B类地址)
-
C类
192.168.0.0-192.168.255.255(256个C类地址)
保留地址:
-
A类
0.x.x.x,用作在网络中表示本机,也是默认路由IP。
127.x.x.x,用作回环测试,测试TCP/IP是否配置成功。127.0.0.1是特殊IP地址,用于表示本机。与localhost相同,只不过localhost需要通过DNS域名解析。
-
B类
169.254.x.x,特殊IP地址,在DHCP自动分配IP时,还未分配具体IP时,所使用的临时IP地址。
子网掩码
作用:用来确定IP的网络地址
不同主机之间的通信情况分为两种:
-
相同网段(通过交换机可以直接实现)
-
源主机的网络地址=目标主机的网络地址
-
数据之间发送给另一台主机
-
-
不同网段(需要通过路由设备实现)
-
源主机的网络地址≠目标主机的网络地址
-
数据发送给网关通过路由器进行转发。
-
路由器是通过路由表,实现通信的。路由表并不是按照IP进行记录的,而是记录网段。
-
IP地址的32个二进制位
-
对应IP地址的网络部分用1表示
-
对应IP地址的主机部分用0表示
IP地址和子网掩码作逻辑“与”运算,得到网络地址,逻辑“与”运算规则如下:
-
0和任何数相与都等于0
-
1和任何数相与都等于任何数本身
子网划分
有类IP编址的缺陷
一个网段内的所有可分配IP地址并没有被全部使用,导致IP地址在局域网中被浪费。例如一个C类网段,有254个可用IP地址,若这个网段分配给一个有20台主机的局域网,那么就有234个有效IP没有被使用,且这234个IP在这个局域网内,也不能分配给其他局域网内的计算机使用,所以造成资源浪费。(由于路由器是通过网段进行查询通信的,所有不同的网段之间的IP地址不能互用,会导致路由器在寻址时出现网段冲突。)
进行子网划分的原因
-
满足不同网络对IP地址的需求
-
实现网络的层次性(性能瓶颈)
-
节省IP地址
IP地址分类
-
有类地址
-
无类地址
IP地址汇总
网段172.16.0.0/24~172.16.7.0/24可以汇总成一个网段172.16.0.0/21。
因为这8个网段的第三节中的前五位都是0,即00000000~00000111。所以可以通过子网划分的方式,将前五位作为网络号,形成一个更大的网段。后3位划给主机部分。这一节的子网掩码就是11111000。
IP汇总作用
在路由器中,路由表存储信息越多,可能会导致查询网段速度越慢。所以在骨干网络路径上的路由器很有可能存储了大量的路径信息。对这些路径信息进行汇总,将近似的网段汇总到一起,可以减少路由表汇总的信息量,从而提升路由器的查询效率。
额外补充其他知识
解决目前IPv4地址不够用的主要技术为NAT技术,否则目前IPv4已经不够用了。
NAT:网络地址转换(查资料了解)
私网地址
-
局域网就是使用私网地址(局域网内IP唯一即可)。
公网地址
-
公网地址则必须在公网中保持IP地址唯一。
路由器的网关大部分都是192.168.1.1,由于相同的IP地址会互相冲突,但为什么路由器都可以配置网关为192.168.1.1这个IP地址呢?
是通过NAT技术,将私网地址转换为公网地址,能够起到节约IPv4地址的作用。
其他:使用私网IP可以提高安全性,因为当IP地址暴露在
静态路由
路由器工作在网络层,隔离了广播域,并可以作为每个局域网的网关,发现到达目的网络的最优路径,最终实现报文在不同网络间的转发。
特点:
-
管理员手工配置,是单向的。
-
缺乏灵活性。
路由选择
路由器收到数据包后,会根据数据包中的目的IP地址选择一条最优的路径,并将数据包转发到下一个路由器,路径上最后的路由器负责将数据包送交目的主机。数据包在网络上的传输就好像是体育运动中的接力赛一样,每一个路由器负责将数据包按照最优的路径向下一跳路由器进行转发,通过多个路由器一站一站的接力,最终将数据包通过最优路径转发到目的地。当然有时候由于实施了一些特别的路由策略,数据包通过的路径可能并不一定是最佳的。
路由器能够决定数据报文的转发路径。如果有多条路径可以到达目的地,则路由器会通过进行计算来决定最佳下一跳。计算的原则会随实际使用的路由协议不同而不同。
路由表
路由表是路由器中维护的路由条目的集合,路由器根据路由表做路径选择。
每个路由器中都保存着一张路由表,表中每条路由表项都指明了数据包要到达某网络或某主机应通过路由器的哪个物理接口发送,以及可到达该路径的哪个下一跳路由器,或者不再经过别的路由器而直接可以到达目的地。
路由表的组成
-
目的地址(Destination):用来标识IP数据包的目的地址或目的网络。
-
网络掩码(Mask):在IP编址课程中已经介绍了网络掩码的结构和作用。同样,在路由表中网络掩码也具有重要的意义。IP地址和网络掩码进行“逻辑与”便可得到相应的网段信息。如本例中:目的地址为8.0.0.0,掩码为255.0.0.0,相与后便可得到一个A类的网段信息(8.0.0.0/8)。网络掩码的另一个作用还表现在当路由表中有多条目的地址相同的路由信息时,路由器将选择其掩码最长的一项作为匹配项。
-
输出接口(Interface):指明IP数据包将从该路由器的哪个接口转发出去。
-
下一跳IP地址(NextHop):指明IP数据包所经由的下一跳路由器的接口地址。
路由表的形成
直连网段
-
通过配置接口IP地址,端口UP状态,形成直连路由。(此路由器直接通过网线连接的其他路由器所产生的网段)
-
任何时候,任何设备,直连的接口配置一定是同网段。
-
例如两台PC连接路由器,PC1是192.168.1网段,那么连接的路由器接口也应该是这个网段;而PC2是168.23网段,那么PC2连接路由器的也接口也应该是这个网段。因为两台PC网段不同,所以PC1与PC2通信时,需要路由器在中间进行转发。若两台PC是在同网段中,那么中间设备就不再需要路由器,使用交换机即可。
-
直连网段路由表,路由器自动生成
非直连网段
-
对于非直连的网段,需要静态路由或动态路由,将网段添加到路由表中。(与当前路由器间隔了至少1个路由器的其他路由器所产生的网段)
-
非直连网段中的其他路由器网段(生成方法:A.手工配置/静态路由;B.自动学习/动态路由),而路由器本身直连的网段也是有路由器自动生成。
路由优先级
通过协议来划分优先级:协议优先级选择,优先级值越低,优先级越高。
优先级也可能按照路由器的接口速率划分,也可能按照带宽负载进行划分。
路由度量
如果路由器无法用优先级来判断最优路由,则使用度量值(metric)来决定需要加入路由表的路由。
一些常用的度量值有:跳数,带宽,时延,代价,负载,可靠性等。
跳数是指到达目的地所通过的路由器数目。
带宽是指链路的容量,高速链路开销(度量值)较小。
metric值越小,路由越优先。
路由器的工作原理
如果要访问的目标IP地址,在路由器的路由表中没有查找到对应的网段(路由表中没有网段,也就没有对应的数据接口,没有接口肯定就并不能进行数据传输),那么路由器会选择将此请求丢弃。
路由器转发数据的过程,即:
-
接收数据包→查看目的地址→与路由表进行匹配找到转发端口→转发到该端口
案例
PC1.1接入路由器A的E0口
路由器A中的路由表如下:
-
网段1.0 ==》 接口E0
-
网段2.0 ==》 接口S0
-
网段4.0 ==》 接口S0
PC4.1接入路由器B的E0口
路由器B中的路由表如下:
-
网段1.0 ==》 接口S0
-
网段2.0 ==》 接口S0
-
网段4.0 ==》 接口E0
具体路由器工作过程:
-
主机1.1要发送数据包给主机4.1,因为IP地址不在同一网段,主机会将数据包发送给本网段的网关路由器A。
-
路由器A接收到数据包,查看数据包IP首部中的目标IP地址,再查找自己的路由表。数据包的目标IP地址是4.1,属于4.0网段,路由器A在路由表中查到4.0网段转发的接口是S0接口。于是,路由器A将数据包从S0接口转发出去。
-
网络中的每个路由器都是按这样的步骤去转发数据,直到到达了路由器B,用同样的转发方法,从E0口转发出去,4.1主机接收到这个数据包。
默认路由
当路由器在路由表中找不到目标网络的路由条目时,路由器把请求转发到默认路由接口。
配置默认路由需要明确在默认路由可以匹配所有网段,但是其优先级最低,当目标地址既匹配静态路由又匹配默认路由时,优选静态路由条目对应端口进行转发。当静态路由失效时,才匹配默认路由,根据默认路由进行转发。
例如,你站在楼道的最末端,不论去哪里,都只有一个方向可以走,那么,可以给你设置一条默认路由:你不论去哪儿,都要向这个方向走。但是如果站在楼道的中央,你至少有两种选择,向左或向右,那么这个时候至少需要配置一条静态路由。
华为路由器配置命令
静态路由配置
ip route-static 192.168.1.0 24 192.168.2.1
其中192.168.1.0为目标IP地址,24位网络掩码,192.168.2.1为路由器的下一跳IP地址。
默认路由配置
ip route-static 0.0.0.0 0 192.168.2.1
默认路由就是配置特殊的静态路由,其目标IP为0.0.0.0。也可以配置其他的IP地址,作为默认路由,需要根据实际情况进行选择。