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

二层网络和三层网络有什么区别?,第1张

二层与三层的本质区别在于是否可以配置多个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。

这样路由器1开始想路由器2发送数据包,路由器2便开始在自己的物理子网内寻找E,进过一次广播后,发现E在自己子网内,于是向前一跳,找到离自己最近的路由器1,反馈自己离E主机最近,最终经过“A->广播->路由器->路由器寻址->找到E主机所在子网”过程的A,便可以和E进行通信了。由于A和E之间经历了多个物理子网,因此需要经历多次L2的转发才能实现数据包的转达,在这个过程中,ip包外包的数据帧中的mac地址是不断变换的。在A-E-A的过程中,数据帧和IP包的地址经历了如下过程(假设A的通信端口是88,而E的是99):

去包:

回包:

数据包在路由1和2中的1,4端口中进行转发时,因为是在设备内部,因此可以直接转发,不用变换帧头,从而提高效率,另外如果A向其他子网的FGH发送数据时,过程基本上一样,只不过不会通过广播寻址,而是直接将数据包发送给路由器出口网关。

参照了: https://blog.csdn.net/cj2580/article/details/80107037


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5831412.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-02-04
下一篇 2023-02-04

发表评论

登录后才能评论

评论列表(0条)

保存