二层网络和三层网络有什么区别?


二层网络和三层网络有什么区别?

文章插图
二层与三层的本质区别在于是否可以配置多个int vlanif接口,可以则为三层交换机,只能配置一个int vlanif的通常称为网管型交换机,不能配置int vlanif的称为普通二层交换机 。具体如下:
1、二层、三层是按照逻辑拓扑结构进行的分类,并不是说ISO七层模型中的数据链路层和网络层,而是指核心层,汇聚层和接入层,这三层都部署的就是三层网络结构,二层网络结构没有汇聚层 。2、二层网络仅仅通过MAC寻址即可实现通讯,但仅仅是同一个冲突域内;三层网络需要通过IP路由实现跨网段的通讯,可以跨多个冲突域 。
3、二层网络的组网能力非常有限,一般只是小局域网;三层网络则可以组大型的网络 。
4、二层网络基本上是一个安全域,也就是说在同一个二层网络内,终端的安全性从网络上讲基本上是一样的,除非有其它特殊的安全措施;三层网络则可以划分出相对独立的多个安全域 。
5、很多技术相对是在二层局域网中用得多,比如DHCP、Windows提供的共享连接等,如需在三层网络上使用,则需要考虑其它设备的支持(比如通过DHCP中继代理等)或通过其它的方式来实现 。
6、在实际应用过程中,典型的做法是:处于同一个局域网中的各个子网的互联以及局域网中VLAN间的路由,用三层交换机来代替路由器,而只有局域网与公网互联之间要实现跨地域的网络访问时,才通过专业路由器 。
ISO七层网络模型大概作用如下:
上面写的七层网络中,物理层,数据链路层和网络层是低三层网络,其余四层是高三层网络,其中二层网络指的就是数据链路层,三层网络指的就是网络层,这两者使我们需要重点理解的地方 。
在数据链路层,物理信号以帧为单位进行组织,而每帧信号都需要一个目标地址和一个源地址,该地址基本上使用的是网卡MAC地址,在一层工作的主要是集线器和交换机,集线器会将所有帧信号投放到各个端口,因此连接端口的主机会收到很多没有意义的数据帧,这将造成集线器和主机之间信道冲突剧烈,因此集线器一般情况下使用较少,而交换机具有MAC地址学习记忆功能,能够准确的将数据帧投放到指定端口,从而大大地提高了数据传输效率;而在L2层,数据只能在一个子网间进行交换,如果要跨子网传输数据,则需要借助L3层的路径规划功能,也就是路由器的工作原理;
假设现有如下网络拓扑图,ABCD四台主机属于10.0.0.0子网,网关指向路由器1的10.0.0.1,EFGH四台主机属于10.0.1.0子网,网关指向路由器2的10.0.1.1;
先看同一子网内通信情况,A向C发送数据,这种情况下都是ip指定的,假设所有主机,交换机和路由器都刚刚通电,没缓存任何MAC映射和路由表 。A在向C发送数据之前,是知道C的ip地址,发现它俩在同一物理子网,于是A试图在物理子网内来寻找C,但是在物理子网内寻址是通过MAC地址的,A并不知道C的MAC地址,于是A发送了一个ARP广播包,ARP广播用的地址是ff:ff:ff:ff:ff:ff,包内容如下:
交换机收到ARP广播后,首先会学习到主机A是连接到1端口的,然后缓存起来,同时在缓存中查找C的MAC地址,没找到便将这个广播包从所有端口发出去(1端口除外),交换机2收到广播包后,也会在缓存中查找C的MAC地址,没找到同样进行转发,其中B,D主机收到广播包后发现和自己无关便丢弃,而C收到广播后便会进行回应,来告知自己的身份,内容格式如下:
这个对于参与的交换机也是个学习的过程,在过程中记忆了主机A和主机C的ip地址和mac地址,AC找到彼此后,便可以在同一子网内依靠mac地址进行相互通信,格式如下:
同样假设所有设备都刚刚通电,没有缓存任何信息,这时A向E发送数据,A是知道E的ip地址,发现属于同一网段,同样不知道E的mac地址,于是A同样发送ARP广播包,BCD没有响应,但是路由器1收到广播后,为了避免广播风暴,会把自己的mac地址告诉A,格式如下:
A等待超时后,会知道E不在当前物理子网内,于是会向路由器1发送数据包,路由器收到数据包后,发现没有缓存E的ip地址,于是路由器1开始寻找E的过程 。相比较交换机的广播找人,路由器寻址的空间范围更大,很多情况下是整个internet网络,要跨很多网络运营商,因此L3层面路由器的路径寻址计算协议涉及很多,例如:RIP、OSPF、IS-IS、BGP、IGRP等协议 。路由器计算路径时,是无法窥探整个互联网的,因此每台路由器都是通过路由算法找到下一跳的最优路径,这些最优路径汇集起来就是完整的寻址路径,换句话说,路由器的转发路径不是一台路由器选出来的,而是很多路由器共同选择出来的最优下一跳地址序列;在这里为了解释原理,假设路由器1直接找到了路由器2 。

推荐阅读