以太网交换机

以太网交换机是基于以太网传输数据的交换机,以太网采用共享总线型传输媒体方式的局域网。以太网交换机的结构是每个端口都直接与主机相连,并且一般都工作在全双工方式。交换机能同时连通许多对端口,使每一对相互通信的主机都能像独占通信媒体那样,进行无冲突地传输数据。

概念

1990 年问世的交换式集线器(switching hub),可明显地提高局域网的性能。交换式集线器常称为以太网交换机(switch)或第二层交换机(表明此交换机工作在数据链路层)。

需要说明的是,这里所指的“以太网交换机”是指传输带宽在100Mbps以下的交换机,下面我们还会要讲到一种“快速以太网交换机”、“千兆以太网交换机”和“万兆以太网交换机”其实也是以太网交换机,只不过它们所采用的协议标准、或者传输介质不一样,当然其接口形式也可能不一样。

接口

以太网包括三种网络接口:

RJ-45接口

这种接口应用最为普遍。因其适配线缆\传输介质制作简单,传输速率快。支持的双工工作方式齐全。

BNC

所用的传输介质为细同轴电缆,当前已不常见。不要以为一讲以太网就都是RJ-45接口的,只不过双绞线类型的RJ-45接口在网络设备中非常普遍而已。

AUI

所用的传输介质为粗同轴电缆。当前采用同轴电缆作为传输介质的网络如今已经很少见了,而一般是在RJ-45接口的基础上为了兼顾同轴电缆介质的网络连接,配上BNC或AUI接口。

应用

以太网交换机应用最为普遍,价格也较便宜。档次齐全。因此,应用领域非常广泛,在大大小小的局域网都可以见到它们的踪影。以太网交换机通常都有几个到几十个端口。实质上就是一个多端口的网桥。另外,它的端口速率可以不同,工作方式也可以不同,如可以提供10M、100M的带宽、提供半双工、全双工、自适应的工作方式等。

特点

1.以太网交换机的每个端口都直接与主机相连,并且一般都工作在全双工方式。

2.交换机能同时连通许多对的端口,使每一对相互通信的主机都能像独占通信媒体那样,进行无冲突地传输数据。

3、共享传输媒体的带宽,对于普通 10 Mb/s 的共享式以太网,若共有 N 个用户,则每个用户占有的平均带宽只有总带宽(10 Mb/s)的 N 分之一。

涉及概念

Broadcast(广播)

递送报文分组的一种方式,按这种方式送出的报文分组将送到与发送系统连通的广播地址所覆盖的所有计算机系统。

Collision(冲突)

多个事件同时请求一个服务,而这个服务又不能区分和应付多个请求所出现的现象。以太网交换机使用CSMA/CD 处理冲突和协调重新传输。

Full-duplex(全双工)

全双工是在通道中同时双向数据传输的能力。

Half-duplex(半双工)

在通道中同时只能沿着一个方向传输数据。

Stackable(堆叠)

堆叠是通过集线器的背板或是通过专用堆叠线缆连接起来的。堆叠后的数台集线器或交换机在逻辑上是一个被网管的设备。

Spanning tree(生成树)

遵循IEEE803.1d 标准。当网络中出现环路时,该协议可以采用生成树的算法从逻辑上断开其中一条连接,使其成为备份线路。当网络出现断路时,该协议会自动启动上述备份线路,确保网络正常工作。一种用于在网络中检测环路并逻辑地阻塞冗余路径,以确保在任意两个节点之间只存在一条路径的技术。为提高可靠性,网络中的设备间常需建立冗余连接。但是以太网的逻辑拓扑结构是星型或总线型的,因此链路中不允许出现环路。Spanning Tree 可以解决上述矛盾。

Uplink(级联)

级联是通过集线器(或交换机)的某个端口与其它集线器或交换机相连的,级联后每台集线器或交换机在逻辑上仍是多个被网管的设备。通过级联端口相连的设备不需要Cross-over 电缆。

工作原理

以太网交换机工作于OSI网络参考模型的第二层(即数据链路层),是一种基于MAC(Media Access Control,介质访问控制)地址识别、完成以太网数据帧转发的网络设备。

交换机上用于链接计算机或其他设备的插口称作端口。计算机借助网卡通过网线连接到交换机的端口上。网卡、交换机和路由器的每个端口都具有一个MAC地址,由设备生产厂商固化在设备的EPROM中。MAC由IEEE负责分配,每个MAC地址都是全球唯一的。MAC地址是长度为48位的二进制,前24位由设备生产厂商标识符,后24位位生产厂商自行分配的序列号。

交换机在端口上接受计算机发送过来的数据帧,根据帧头的目的MAC地址查找MAC地址表然后将该数据帧从对应端口上转发出去,从而实现数据交换。

交换机的工作过程可以概括为“学习、记忆、接收、查表、转发”等几个方面:通过“学习”可以了解到每个端口上所连接设备的MAC地址;将MAC地址与端口编号的对应关系“记忆”在内存中,生产MAC地址表;从一个端口“接收”到数据帧后,在MAC地址表中“查找”与帧头中目的MAC地址相对应的端口编号,然后,将数据帧从查到的端口上“转发”出去。

交换机分割冲突域,每个端口独立成一个冲突域。每个端口如果有大量数据发送,则端口会先将收到的等待发送的数据存储到寄存器中,在轮到发送时再发送出去。

转发方式

1.直通转发(cut-through switching )

2.存储转发(Store-and-Forward switching)

3.无碎片转发(segment-free switching)

由于第三种方法主要是第一种“直通转发”的变形,所以只着重介绍第一二种方法。

无论是直通转发还是存储转发都是一种二层的转发方式,而且它们的转发策略都是基于 目的MAC(DMAC)的,在这一点上这两种转发方式没有区别。

它们之间的最大区别在于,它们何时去处理转发,也就是交换机怎样去处理数据包的接收进程和转发进程的关系。

转载于:https://www.cnblogs.com/dabbei/p/3177359.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/433378.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java中Class对象详解

java中把生成Class对象和实例对象弄混了,更何况生成Class对象和生成instance都有多种方式。所以只有弄清其中的原理,才可以深入理解。首先要生成Class对象,然后再生成Instance。那Class对象的生成方式有哪些呢,以及其中是如何秘密…

python分组求和法_python – 如何将groupby值的总和除以另一个值的count

我想通过’label’和’month’分组来计算每个月和每个标签的销售数量.我正在尝试’groupby和apply’方法来实现这一目标,但不确定如何计算每个标签的月份.比方说,对于标签值AFFLELOU(DOS),我有7个月的两个值.所以,我应该将销售数量相加并除以2.在第9个月和第10个月,我只有一个值…

Microsoft Visual Studio 打开代码出现乱码解决方案

在用VS编写代码时,文本的字符集可能和编译器的字符集不同,在这种情况下代码会显示出乱码。 解决办法: 在VS的工具->选项里面找到"文本编辑器",勾选“自动检测不带签名的UTF-8编码(D)”选项。 重新打开VS编译器&#…

java正则表达式及api_Java API 之 正则表达式

一、基本概念在项目中我们经常性做的一件事是“匹配”字符串比如:1、我们要验证用户输入的手机号是否合法?2、验证设置的密码是否符合规则?3、或者替换指定字符串中的一些内容。这么一看,似乎正则表达式就是在查找、处理字符串。二…

PB错误处理

//itemerror事件里出错处理 string ls_colname,ls_datatype Boolean ab_msg true ls_colname dwo.name ls_datatype dwo.coltype if trim(data) "" or isnull(data) then ab_msg false //之前这里使用return 3,所以出现这个问题 end if string d…

idea 创建java文件_idea创建java文件 格式不对

import java.io.File;import java.io.FileWriter;import java.io.IOException;public class Test {public static void main(String[] args) {//文件路径File filenew File("d:\\alphabet.txt");//如果文件存在就进行下面的操作,否则打印“找不到文件&…

待办事项桌面插件_让浏览器重获整洁——标签页管理插件:OneTabOneTab PlusToby...

1 什么是标签页管理插件chrome浏览器虽然为用户提供了一个非常方便的打开新标签页的方法,但是随着用户浏览网页的时间增长,用户在一个chrome窗口中打开的标签页会越来越多,当这些标签页过多的时候,用户在标签页之间进行切换就会变…

ext2 源代码解析之 “从路径名到目标结点” (一)

两个主要函数,path_init和path_walk,他们结合在一起根据给定的文件路径名称在内存中找到或者建立代表着目标文件或目录的dentry和inode结构。注意,最终是信息是读取到内存中的。其中有个函数__user_walk()将path_init(…

为什么要自学python_为什么那么多自学Python的后来都放弃了,总结起来就这些原因...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼目前信息化产业发展势头很好,互联网就成为了很多普通人想要涉及的行业,因为相比于传统行业,互联网行业涨薪幅度大,机会也多,所以就会大批的人想要转行来学习Python开发。目…

java内部类外部类_Java内部类:如何在内部类中返回外部类对象

Nasted Class 的介绍,请详见参考今天讨论的不是不是内部类的概念,而是具体使用的一个场景-如何在内部类中返回外部对象(孤猪:我在程序里也碰到过一次这样的状况,非静态内部类可以直接调用外部类实例的成员变量,但如何引…

linux 中 timeval结构体

网上很多人写到,timeval结构解释错误 ******************************************************************* 问题如下: 在debian linux的man页中对gettimeofday函数的说明中,有这样一个说明: DESCRIPTION The functions get…

[置顶] C语言中各种数据类型的长度 sizeof char, short, int, long, long long

这些数据类型的sizeof具体长度依赖于编译器和操作系统(32-bit or 64-bit) 1: 首先,参见c99标准 标准中没有定义这些数据类型的长度,而是定义了这些数据类型能表达的大小范围的最小极限。 C99链接: http://www.open-std…

关机时无人照管更新正在运行_了解iOS13.1后,在决定更新

苹果提前发布了首个重要更新的iOS 13.1,补充了多个 iOS 13 首发时缺失的重要新功能,可以说 iOS 13.1 才是【真正】的 iOS 13 系统。苹果发布iOS13.1,都更新了哪些内容?iOS13.1修复问题和改进问题:?信息中拟我表情可能无法正确跟踪…

java enum in class_Java 8需要一个转换,而Java 7没有 – enum.getClass/getDeclaringClass

我意识到Java 8仍然在测试版,但是这一点让我很奇怪:public class Fields> {public Fields(Set columns) {// A sample column used to find the universe of the enum of Columns.C sampleCol columns.iterator().next();// Java 8 needs a cast her…

linux C 中的volatile使用

一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。下面是volati…

山西计算机网络技术专升本分数线_2020山西成考专升本招生补录第一批公告!附补录院校专业缺额表!...

☞回复【成绩】查询2020年成人高考成绩☞回复【录取】查询20成考录取结果☞回复【补录】查询最新院校缺额信息☞加入学历备考交流群 550985358 专升本第一阶段补录通知与院校缺额信息 达线未被录取?还有机会2020山西成考专升本招生征集志愿第一阶段公告发布12月9日1…

yii mysql 主从_mysql主从同步实践YII

1、两台服务器互联master、slave 2、master配置: server-id 1 master端ID号 log-bin/data/logbin/mysql-bin 日志路径及文件名 #binlog-do-db cacti 同步cacti,此处关闭的话,就是除不允许的,其它的库均同步。 binlog-ignore-db …

网页编码就是那点事

编码一直是让新手头疼的问题,特别是 GBK、GB2312、UTF-8 这三个比较常见的网页编码的区别,更是让许多新手晕头转向,怎么解释也解释不清楚。但是编码又是那么重要,特别在网页这一块。如果你打出来的不是乱码,而网页中出…

python最大正方形的面积_LeetCode 221. 最大正方形 | Python

221. 最大正方形题目在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积。示例:输入:1 0 1 0 01 0 1 1 11 1 1 1 11 0 0 1 0输出: 4解题思路思路:动态规划本篇幅使用动态规划的原理来解决该问题。我们用 dp(i, j) 表示…

查询学生选修课程管理系统java_JAVA数据库课程设计学生选课管理系统的

《JAVA数据库课程设计学生选课管理系统的》由会员分享,可在线阅读,更多相关《JAVA数据库课程设计学生选课管理系统的(59页珍藏版)》请在人人文库网上搜索。1、一、课程设计目的通过这次的设计,主要是做出一个小型的管理系统,来加强…