集线器,二层交换机,路由器与三层交换机

集线器:以前10M共享式以太网专用,现在用得比较少,只工作在物理层,端口与主机之间使用半双工通信,一般来说无论物理连接是总线型还是星型,它的逻辑连接都是总线型的,只要其中一台主机发出信息,集线器会把信息复制给其他的所有端口主机,集线器也被称为多端口中继器,连接到一个集线器的所有主机共享一个冲突域,所谓冲突域即本来不打算发送给所有主机,但经过集线器之后所有端口都会收到信息,即共享一个冲突域,此时若有其他主机发送消息,就会发生冲突并拥堵。集线器可以当作中继器使用进行网络长距离的中继,但这样会导致冲突域的扩大,下面还会谈到这个问题。

二层交换机:二层交换机用于100M交换式以太网比较多,工作于数据链路层,具有MAC列表,根据端口映射进行通信,可以同时进行多路通信独享带宽而互不影响。端口与主机之间使用全双工通信,二层交换机有分割冲突域的作用,如下图:

则上图有4个冲突域,如果中间设备为集线器hub,则为一个冲突域。

路由器与三层交换机:路由器有分割广播域和冲突域的作用,每个端口应该属于不同的广播域,当然也可能出现单臂路由,即一个路由以太网端口分成两个子逻辑接口来分割广播域,广播域即有意识地向本网内的所有主机广播。对二层交换机来说没有arp的概念,就像在一个不跟外界通信的局域网,使用二层交换机足以,利用交换机的mac列表就可以跟局域网内的主机进行通信。而一旦两个不同的子网主机要通信,或者局域网的主机想连入广域网,或者不同vlan的主机要互相通信,此时就要为两个不同的网络配备中间的网关,一般来说可以使用路由器或者三层交换机达到此种目的,但需要知道的是三层交换机不能互联局域网和广域网,原因无他,因为三层交换机没有那么多类型的端口,虽然端口数量比路由器多得多。拿vlan通信来说,路由器两个端口应该连着不同的vlan,如果想扩展主机数量,应该在路由器端口外联二层交换机再连主机,而对于三层交换机来说,由于以太网端口很多,所有主机直接连接在端口上并划分进某个vlan(可以不根据物理位置),这里需要注意的是一个端口可以属于不同的vlan,一个vlan当然也可以包含多个端口。

碰撞槽时间:这个概念出现在共享以太网中,是一个确定有多少设备可以共享网络的重要参数。碰撞槽确保当冲突发生时,将在最小帧传输时间内检测到。以太网速度为10M,100M时,碰撞槽时间为以太网最小帧传输时间即64*8bit=512bit时间。而速度为1G时,碰撞槽时间为4096bit时间。如果发生了冲突将在第一个碰撞槽时间内检测的。碰撞槽时间包括信号沿电缆和集线器传输的时间,用于定义网络电缆的最大长度和共享介质以太网网段所能使用的集线器个数。因为集线器个数越多,时延越大,有可能双方同时发信息了,但距离远时延大导致没有检测到,相当于集线器扩大了冲突域,就会导致冲突的发生,即CSMA/CD在这里不起作用了。

就时延来说 线缆<集线器<交换机<路由器

100Mb/s的传输速率指的是物理层能达到的速率,也就12MB/s多点,真正的传输速率指的是实际数据的速率,应该要除掉各层所有的控制信息等的有效使用率,故一般达不到极限值,有时在局域网内互传数据达到10MB已经很逆天了。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Jed的技术阶梯

HBase Java API 01:基础操作

602
来自专栏岑玉海

hbase 学习(十二)非mapreduce生成Hfile,然后导入hbase当中

  最近一个群友的boss让研究hbase,让hbase的入库速度达到5w+/s,这可愁死了,4台个人电脑组成的集群,多线程入库调了好久,速度也才1w左右,都没...

3678
来自专栏DT乱“码”

封装好的MAP工具类和HBASE工具类

package cn.gulf.util; import java.util.Collection; import java.util.HashMap; im...

19110
来自专栏积累沉淀

HBase新版本Java API编程实战及基本操作方法封装

我的HBase版本是0.98 首先说明一下,如果用eclipse操作hbase时,如果报Unknown host错误,找不到主机,是因为你没有配IP地址的映...

3727
来自专栏ml

Hbase关于Java常用API举例

1. HBase相关对Admin操作的的API封装在HBaseAdmin中,封装了HBase常用操作的API 使用方法:     pom.xml <!-- ...

4189
来自专栏xingoo, 一个梦想做发明家的程序员

链表的有序插入

从小到大排序 根据指针获取当前id,并设置前指针,方便操作: // test1107.cpp : 定义控制台应用程序的入口点。 // #include "st...

1667
来自专栏转载gongluck的CSDN博客

第17章 ioctl操作

#include <sys/ioctl.h> int ioctl(int fd, unsigned long request, ...); /usr/src/...

2899
来自专栏Jed的技术阶梯

HBase案例之2个逻辑思维训练小题目

我们知道,在对Hbase表中的数据进行全表扫描时,可以指定rowkey的范围,比如:

913
来自专栏机器之心

教程 | Python代码优化指南:从环境设置到内存分析(一)

选自pythonfiles.wordpress 机器之心编译 参与:Panda、蒋思源 近日,Python Files 博客发布了几篇主题为「Hunting P...

2629
来自专栏岑玉海

Hbase 学习(二)各种filter

各种filter 今天的主题是Filter,hbase客户端查询的时候,自定义查询filter。 直接上例子吧,不多说别的了,第一个例子是RowFilte...

2643

扫码关注云+社区