L2 L3 L4
第二层交换机,是根据第二层数据链路层的MAC地址和通过站表选择路由来完成端到端的数据交换的。因为站表的建立与维护是由交换机自动完成,而路由器又是属于第三层设备,其寻址过程是根据IP地址寻址和通过路由表与路由协议产生的。所以,第二层交换机的最大好处是数据传输速度快,因为它只须识别数据帧中的MAC地址,而直接根据MAC地址产生选择转发端口的算法又十分简单,非常便于采用ASIC专用芯片实现。显然,第二层交换机的解决方案,实际上是一个“处处交换”的廉价方案,虽然该方案也能划分子网、限制广播、建立VLAN,但它的控制能力较小、灵活性不够,也无法控制各信息点的流量,缺泛方便实用的路由功能。
第三层交换机,是直接根据第三层网络层IP地址来完成端到端的数据交换的。表面上看,第三层交换机是第二层交换器与路由器的合二而一,然而这种结合并非简单的物理结合,而是各取所长的逻辑结合。其重要表现是,当某一信息源的第一个数据流进行第三层交换后,其中的路由系统将会产生一个MAC地址与IP地址的映射表,并将该表存储起来,当同一信息源的后续数据流再次进入交换环境时,交换机将根据第一次产生并保存的地址映射表,直接从第二层由源地址传输到目的地址,不再经过第三路由系统处理,从而消除了路由选择时造成的网络延迟,提高了数据包的转发效率,解决了网间传输信息时路由产生的速率瓶颈。所以说,第三层交换机既可完成第二层交换机的端口交换功能,又可完成部分路由器的路由功能。即第三层交换机的交换机方案,实际上是一个能够支持多层次动态集成的解决方案,虽然这种多层次动态集成功能在某些程度上也能由传统路由器和第二层交换机搭载完成,但这种搭载方案与采用三层交换机相比,不仅需要更多的设备配置、占用更大的空间、设计更多的布线和花费更高的成本,而且数据传输性能也要差得多,因为在海量数据传输中,搭载方案中的路由器无法克服路由传输速率瓶颈。
显然,第二层交换机和第三层交换机都是基于端口地址的端到端的交换过程,虽然这种基于MAC地址和IP地址的交换机技术,能够极大地提高各节点之间的数据传输率,但却无法根据端口主机的应用需求来自主确定或动态限制端口的交换过程和数据流量,即缺乏第四层智能应用交换需求。第四层交换机不仅可以完成端到端交换,还能根据端口主机的应用特点,确定或限制它的交换流量。简单地说,第四层交换机是基于传输层数据包的交换过程的,是一类基于TCP/IP协议应用层的用户应用交换需求的新型局域网交换机。第四层交换机支持TCP/UDP第四层以下的所有协议,可识别至少80个字节的数据包包头长度,可根据TCP/UDP端口号来区分数据包的应用类型,从而实现应用层的访问控制和服务质量保证。所以,与其说第四层交换机是硬件网络设备,还不如说它是软件网络管理系统。也就是说,第四层交换机是一类以软件技术为主,以硬件技术为辅的网络管理交换设备。
最后值得指出的是,某些人在不同程度上还存在一些模糊概念,认为所谓第四层交换机实际上就是在第三层交换机上增加了具有通过辨别第四层协议端口的能力,仅在第三层交换机上增加了一些增值软件罢了,因而并非工作在传输层,而是仍然在第三层上进行交换操作,只不过是对第三层交换更加敏感而已,从根本上否定第四层交换的关键技术与作用。我们知道,数据包的第二层IEEE802.1P字段或第三层IPToS字段可以用于区分数据包本身的优先级,我们说第四层交换机基于第四层数据包交换,这是说它可以根据第四层TCP/UDP端口号来分析数据包应用类型,即第四层交换机不仅完全具备第三层交换机的所有交换功能和性能,还能支持第三层交换机不可能拥有的网络流量和服务质量控制的智能型功能。
L2 L3 L4的更多相关文章
- L2/L3/L4 Switch简介
第二层交换机,是根据第二层数据链路层的MAC地址和通过站表选择路由来完成端到端的数据交换的.因为站表的建立与维护是由交换机自动完成,而路由器又是属于第三层设备,其寻址过程是根据IP地址寻址和通过路由表 ...
- CPU缓存L1/L2/L3工作原理
点击上方"开源Linux",选择"设为星标" 回复"学习"获取独家整理的学习资料! 一.前言 在过去的几年中,计算机处理器取得了相当大的进步 ...
- 跟着老男孩教育学Python开发【第三篇】:Python函数
set 无序,不重复,可嵌套. 函数 创建函数: 1.def关键字,创建函数 2.函数名 3.() 4.函数体 5.返回值 发邮件函数 def sendmail(): import smtpl ...
- HDU 1690 Bus System
题目大意:给出若干巴士不同价格的票的乘坐距离范围,现在有N个站点,有M次询问,查询任意两个站点的最小花费 解析:由于是多次查询不同站点的最小花费,所以用弗洛伊德求解 时间复杂度(O^3) 比较基础的弗 ...
- 2016huasacm暑假集训训练五 E - What Is Your Grade?
题目链接:http://acm.hust.edu.cn/vjudge/contest/126708#problem/E 题意:给做出的题目个数,5个的100分,4个的前n/2的同学95,后n/2的90 ...
- JavaScript框架设计(四) 字符串选择器(选择器模块结束)
JavaScript框架设计(四) 字符串选择器(选择器模块结束) 经过前面JavaScript框架设计(三) push兼容性和选择器上下文的铺垫,实现了在某一元素下寻找,现在终于进入了字符串选择器 ...
- 一言不合敲代码(1)——DIV+CSS3制作哆啦A梦头像
先展示一下我的头像吧. 作为一个前端ER,我的头像当然不能是绘画工具画出来的.没错,这个玩意是由HTML+CSS代码实现的,过年的某一天晚上无聊花了一个小时敲出来的.来看看它原本的样子: 为什么会变成 ...
- python_函数
一.map 遍历序列,对序列中每个元素进行操作,最终获取新的序列 li = [11,22,33,44] new_list = map(lambda a: a + 100,li) print(new_l ...
- 用java实现简易PC版2048
import java.awt.Color; import java.awt.EventQueue; import java.awt.BorderLayout; import java.awt.Flo ...
随机推荐
- springboot之websocket,STOMP协议
一.WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议. WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据.在 ...
- cvc-complex-type.2.4.a: Invalid content was found starting with element 'display-name'
cvc-complex-type.2.4.a: Invalid content was found starting with element 'display-name'. One of '{&qu ...
- 牛客OI周赛3-提高组-B-1408[dp]
题意 给你长度为 \(n\) 的两个排列 \(A,B\) 组成的序列,求最少的交换相邻数字的次数使得 \(A,B\) 分别有序. \(n\leq 2000\) . 分析 如果只有一个排列时最少交换次数 ...
- pycharm如何显示工具栏
1.没有工具栏的效果图如下: 2.在view中找到Toolbar打上勾即可显示: 3.工具栏设置成功显示效果图如下: 3.如何显示一个类或方法所在的文件,以及该文件下的所有方法,可以快速定位到该行
- 巧用 Python 找工作(资料在文末)
前言 近年来 Python 之火大家都有感而知,那亲们知道北京的 Python 开发岗位.运维开发岗位招聘地域都是如何分布的吗?薪水如何?是否有前景等等,这些数据呢直接通过招聘信息来了解到企业用人是最 ...
- Mweb发布博客
1.设置 + 选择红色 2 输入该输入的帐号和密码  博客网址就是你的博客文章页的地址,然后输入帐号和密码 3 API 地址在 设置-->博客设置,红色标记就是API地址 4 发布, ...
- mongodb主从以及auth主从 配置详解
1.主服务器配置 #auth = true dbpath = /data/mongodb/db logpath = /data/mongodb/log/mongodb.log port = ...
- Unity萌新日记—开发小技巧与冷知识(脚本篇)
在学习unity的过程中,总会遇到很多零碎的知识点和小技巧,在此把它们记录下来,方便日后查看. 第一篇是关于脚本的一些你可能不知道的小知识. 还是个正在学习的萌新,如果写的不好,请谅解. Unity版 ...
- phpcms 容许英文目录有空格
在PHPCMS添加栏目里面,有个选项是 英文目录,这里目录可以用作伪静态功能.这么英文不能有空格等特殊字符.但是如果页面中需要引用包含空格的字符呢,例如,关于我们页面,我要显示英文about us.那 ...
- Linux——CentOS7添加/删除用户和用户组(学习笔记)
1.新建用户 adduser testuser //新建testuser 用户 passwd testuser //给testuser 用户设置密码 2.建工作组 groupadd testgroup ...