计算机网络(五)--交换机和路由器

一.交换机

  交换机的前身是集线器,集线器就是一开始网络刚出来的时候出现的,它的缺点也很明显,很容易引起广播风暴。也就是说当它要向某节点发送数据时,不是直接把数据发送到目的节点,而是把数据包发送到与集线器相连的所有节点。假设我要经过集线器发送消息给目标ip地址,但是我会直接把消息给广播出去,这样会造成很多垃圾消息。所以交换机就出现了。交换机拥有一条很高带宽的背部总线和内部交换矩阵。交换机的所有的端口都挂接在这条背部总线上。控制电路收到数据包以后,处理端口会查找内存中的MAC地址(网卡的硬件地址)对照表以确定目的MAC的NIC(网卡)挂接在哪个端口上,通过内部交换矩阵直接将数据迅速包传送到目的节点,而不是所有节点,目的MAC若不存在才广播到所有的端口。

  交换机内部有一个地址表,这个地址表标明了MAC地址和交换机端口的对应关系。当交换机从某个端口收到一个数据包,它首先读取包头中的源MAC地址,这样它就知道源MAC地址的机器是连在哪个端口上的,它再去读取包头中的目的MAC地址,并在地址表中查找相应的端口,如果表中有与这目的MAC地址对应的端口,则把数据包直接复制到这端口上,如果在表中找不到相应的端口则把数据包广播到所有端口上,当目的机器对源机器回应时,交换机又可以学习一目的MAC地址与哪个端口对应,在下次传送数据时就不再需要对所有端口进行广播了。

  交换机具有学习功能,学习的是交换表的内容,交换表中存储这MAC地址到接口的映射,所以交换机是即插即用的,不用调试什么鬼的。

 

 当主机A要发送数据帧给主机B,交换机将主机A与接口1的映射写入到交换表里面。为了发送数据帧给主机B,先查交换机,交换机里面没有主机B的映射,那么主机A就广播帧,主机C、D会丢弃该数据帧,主机B收到之后,查找交换表发现主机A映射的接口为1,就发送数据帧到接口1,交换机写入主机B和接口2的映射。

  所以我们也可以理解为,交换机就是在同个子网内,把消息发送到对应的端口上的机器。通过交换机的转发功能,同一个子网的计算机可以相互访问。

  1. 交换机可以实现一根网线复用的功能。
  2. 交换机的每一个端口地位都是等价的
  3. 一个交换机就可以组建一个子网多个交换机的串接使用可以组建规模更大的子网
  4. 通过这个交换机的转发功能,同一个子网的计算机可以相互访问。子网内与子网外的机器相互访问就需要用到路由器了。

 二.路由器

  路由器(Router)是一种负责寻径的网络设备,它在互连网络中从多条路径中寻找通讯量最少的一条网络路径提供给用户通信。路由器使用最少时间算法或最优路径算法来调整信息传递的路径。子网内与子网外的机器相互访问就需要用到路由器。在数据包发送的过程中,也是经过多个路由器的不断转发,不断地从源子网转发,不断地接近目标子网。

 

1.同一子网发送数据包时,可以不使用到路由器。(不过好像因为查看ip地址需要在第三层的网络层,所以还是需要路由器,但是不需要它来转发)

2.现在的交换机和路由器的界限不是很明确了,三层交换机就具备路由功能

 

posted @ 2020-10-26 00:41  拿着放大镜看世界  阅读(412)  评论(0编辑  收藏  举报