基础概念
IPv4地址由如下两部分组成:网络部分 (网络号):用来标识一个网络。IP地址不能反映任何有关主机位置的地理信息,只能通过网络号码字段判断出主机属于哪个网络。对于网络号相同的设备,无论实际所处的物理位置如何,它们都是处在同一个网络中。
主机部分 (主机号):用来区分一个网络内的不同主机。
网络掩码 (Netmask),又称子网掩码 (Subnet Mask):网络掩码为32 bit,与IP地址的位数一样,通常也以点分十进制数来表示。
网络掩码不是一个IP地址,在二进制的表示上是一堆连续的1、后面接一堆连续的0。
通常将网络掩码中1的个数称为这个网络掩码的长度。如:掩码0.0.0.0的长度是0,掩码252.0.0.0的长度是6。 网络掩码一般与IP地址结合使用,其中值为1的比特对应IP地址中的网络位;值为0的比特对应IP地址中的主机位,以此来辅助我们识别一个IP地址中的网络位与主机位。
即网络掩码中1的个数就是IP地址的网络号的位数,0的个数就是IP地址的主机号的位数。
192.168.1.1/24 :网络前缀的长度;子网掩码:255.255.255.0
网络寻址
二层网络寻址:可直接通过IP地址,找到对应的主机接口。//通过交换机的MAC地址表进行数据转发;
三层网络寻址:利用网关转发来自不同网段之间的数据包。//通过具有路由功能的设备查路由表进行转发;
网关:报文转发过程中,首先需要确定转发路径以及通往目的网段的接口。
如果目的主机与源主机不在同一网段,报文需要先转发到网关,然后通过网关将报文转发到目的网段。
网关是指接收并处理本地网段主机发送的报文并转发到目的网段的设备。为实现此功能,网关必须知道目的网段的路由。网关设备上连接本地网段的接口地址即为该网段的网关地址。
私有地址:为了解决IP地址短缺的问题,提出了私有地址的概念。
私有地址是指内部网络或主机地址,这些地址只能用于某个内部网络,不能用于公共网络。
公网IP地址:连接到Internet的网络设备必须具有由ICANN分配的公网IP地址。
私网IP地址:私网IP地址的使用使得网络可以得到更为自由地扩展,因为同一个私网IP地址是可以在不同的私有网络中重复使用的。
私有网络连接到Internet:私有网络由于使用了私网IP地址,是不允许连接到Internet的。后来在实际需求的驱动下,许多私有网络也希望能够连接到Internet上,从而实现私网与Internet之间的通信,以及通过Internet实现私网与私网之间的通信。私网与Internet的互联,必须使用网络地址转换 (NAT)技术实现。
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
子网划分:目前,使用无类别域间路由CIDR(classless inter-domain routing)的方式,通过VLSM(Variable LengthSubnet Mask)可变长子网掩码,来更精细的划分地址空间;
如何划分子网:
1)按照需求的子网数;
2)接子网内主机的个数;
通过实验理解二层转发与三层转发
观察二层转发
首先配置各个PC的IP地址(先不需要配置网关),步骤省略
首先查看SW1的MAC地址表(是空的,因为没有任何报文进入SW1)
<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sys SW1
[SW1]dis mac-ad
[SW1]dis mac-address
然后用PC1去pingPC2,并抓包
PC1先发送ARP请求报文获取PC2的MAC地址,PC2回复PC1,此时把对方都加入自己的ARP表中,由于有报文进入交换机,通过对方的源MAC地址学习并加入自己的MAC地址表,此时交换机会查询自己的MAC地址表把报文传送给对方,此时是二层转发
[SW1]display mac-address
MAC address table of slot 0:
-------------------------------------------------------------------------------
MAC Address VLAN/ PEVLAN CEVLAN Port Type LSP/LSR-ID
VSI/SI MAC-Tunnel
-------------------------------------------------------------------------------
5489-9819-0e88 1 - - GE0/0/1 dynamic 0/-
5489-9843-10b6 1 - - GE0/0/2 dynamic 0/-
-------------------------------------------------------------------------------
Total matching items on slot 0 displayed = 2
PC3和PC4通讯同理
观察三层转发
这时我们用PC1通讯PC3试试能否通讯?答案是不能,因为这两者在不同一网段需要三层转发
PC>ping 192.168.2.1
Ping 192.168.2.1: 32 data bytes, Press Ctrl_C to break
From 192.168.1.1: Destination host unreachable
这时,我们就需要网关,三次转发时,需要把数据包交给网关转发,网关查询路由表后到达目标网段
我们现在把各个PC的网关配上,PC1和PC2的网关是192.168.1.254,PC3和PC4的网关是192.168.2.254(步骤省略)
然后配置AR1
<Huawei>sys
[Huawei]sys AR1
[AR1]int gi 0/0/0
[AR1-GigabitEthernet0/0/0]ip add 192.168.1.254 24
[AR1-GigabitEthernet0/0/0]int gi 0/0/1
[AR1-GigabitEthernet0/0/1]ip add 192.168.2.254 24
[AR1-GigabitEthernet0/0/1]
继续抓包观察
PC>ping 192.168.2.1
Ping 192.168.2.1: 32 data bytes, Press Ctrl_C to break
Request timeout!
From 192.168.2.1: bytes=32 seq=2 ttl=127 time=79 ms
From 192.168.2.1: bytes=32 seq=3 ttl=127 time=78 ms
From 192.168.2.1: bytes=32 seq=4 ttl=127 time=78 ms
From 192.168.2.1: bytes=32 seq=5 ttl=127 time=78 ms
--- 192.168.2.1 ping statistics ---
5 packet(s) transmitted
4 packet(s) received
20.00% packet loss
round-trip min/avg/max = 0/78/79 ms
此时能通信了
此时,PC1和PC3会判断是否在同一个网段,发现不在一个网段,PC1发送ARP请求网关的MAC地址,并完成封装,扔给网关,网关会查询路由表看到192.168.2.0/24在自己的GE0/0/1接口,然后把报文送到GE0/0/1,接着AR1发起ARP请求PC3的MAC地址(这就是为什么第一个包回丢包的原因),并完成封装,发送给PC3,回包时同理,只是不用再ARP请求了
计算子网划分
原C类地址192.168.10.0/24,向主机位借2位,分别写了网络号、新掩码、广播地址及容纳的主机数
向主机借两位就是/26的子网掩码也就是255.255.255.192
划分了2的2次方个网段所以是四个网段
由于主机数是2的6次方所以每64个主机就是一个网段
网络号就是:192.168.10.0/26,192.168.10.64/26,192.168.10.128/26,192.168.10.192/26
每个网段的广播地址就是192.168.10.63 ,192.168.10.127,192.168.10.191,192.168.10.255
每个网段所容纳的主机数就是2的6次方-2就是62个
网络号:
192.168.10.0/26,广播地址:192.168.10.63,容纳主机数:62个
192.168.10.64/26,广播地址:192.168.10.127,容纳主机数:62个
192.168.10.128/26,广播地址:192.168.10.191,容纳主机数:62个
192.168.10.192/26,广播地址:192.168.10.255,容纳主机数:62个