在通信行业耕作多年,回答下这个问题。
IP地址和网段是网络通信中的基本概念,而当前问题在于对网络IP转发的理解。
网络是分层的,分层的原因在于清晰的管理和控制。而网络的层次可以从静态的网络拓扑拓扑和动态的网络协议以及网络报文格式三个维度上有所体现。
从报文格式上看:
IP报文在以太网络转发时,有以太报文头和IP报文头,分别对应网络的L2层和L3层。L2层和L3层之间的连接通过ARP。ARP的作用是根据IP地址来获取MAC,VLAN,PORT等L2二层信息。这样报文的二层转发和三层转发就得到的有机的衔接。
如上图,链路层指的是二层,即MAC层,网络层指的是三层,即IP层。
从网络拓扑上看:
如上图,PC处于一个以太网中,通常是二层交换机所连接,我们通常称作一个LAN,也叫局域网(Local area network),一个LAN通常对应一个网段,即一个LAN的PC主机的IP地址通常在一个网段。
当前LAN技术通常以VLAN技术呈现,即虚拟局域网。我们可以把一个局域网根据VLAN进行划分(最多4094个),这个VLAN划分通常在二层交换机中设置,也就是一个二层交换可以把一个LAN网络构建成多个VLAN的虚拟LAN网络。而通常一个VLAN对应一个子网段(不同子网段也相当于不同网段)。有时,一些二层交换机也具有三层功能(也称为三层交换机)。在实现和配置上,通常把不同的VLAN定义为不同的L3三层逻辑接口,不同三层接口配置不同的IP网段。这样不同VLAN下,也是不同子网段的PC主机就可以在三层交换机上通信。通常,配置了IP网段就会产生一条网段路由,和本地主机路由。PC主机和三层交换机通信时,会先进行ARP的学习,这样PC主机和三层交换机会学到彼此的ARP,对于三层交换机来说,ARP就是PC的主机路由,它就可以与PC主机进行通信了。
同理,三层交换机,会学到本地虚拟网络下面所有的PC主机的ARP,这样,不同VLAN下PC主机(即不同子网段)就可以互相通信的了。
从动态协议上看:
1.
PC1要发一个IP报文给PC2,IP报文目的IP地址为192.168.2.10;2.PC1会学习192.168.1.1的ARP,得到下一跳的MAC,VLAN(100),然后把IP报文封装上二层的MAC和VLAN报文头,然后发给三层交换机;
3.三层交换机收到报文后,发现报文目的IP是PC2,并且发现PC2属于本地网段,因此,三层交换机就会向VLAN200网段进行ARP学习,学到PC2的MAC和VLAN;
4.三层交换机把IP报文发给PC2;
5.PC1和PC2完成通信;
联系客服