1、直观简单清晰的区分

交换:使用 MAC地址 根据MAC地址表 转发数据帧

   通过具有交换功能设备(例如交换机)实现OSI七层参考模型中数据链路层的功能。

路由:使用IP地址 根据路由表 转发数据包

   通过具有路由功能设备(例如路由器)实现网络层的功能。


2、实现原理上进行区分

交换机:分三个阶段,学习、转发、过滤。

    学习:基于源帧学习其头部信息中的源MAC,和接收到源帧交换机端口

       编号一起存放在MAC地址表中。

    转发:对于接收到的数据帧,查看其头部信息中的目的MAC,根据MAC

       址表从对应的端口转发出去,若MAC地址表中没有关于目的MAC

       关对应信息,则将此数据帧从(除接收此帧的端口)所有端口转发出

       去(泛洪)

    过滤:对于原数据帧中的目标,经过MAC地址表的匹配后以及交换机设置

       的其它策略,只会从某些端口进行转发,而不会从所有端口进行转

       发,甚至经过过滤以后直接将数据帧丢弃。

路由器:我用四个字概括其核心本质的任务:路由选路

      至于怎么选,选择的结果是什么,那就是后话了。与交换机维护的MAC

    地址表对应,路由器维护的是一张路由表。

      路由表的形成过程分两种,第一:人为手工指定,即静态路由,其默

    认管理距离为1(衡量路由可信度的标准),优先级比动态路由高;第二:动态

    路由,路由器之间根据不同的路由协议互相交换路由信息,最终收敛出一张

    动态路由表。


3、MACIP的联系

  MAC是物理地址,已经固化在了网络接口卡的ROM中,不可以真正的更改。

        IP辑地址,所有的网络互连设备以及终端设备其IP地址可以一直变化。

各种网络设备在通信以及转发数据时,都会根据IP地址获取对应的MAC地址在对

数据进行转发。


  栗子:交换机下连两台PCAPCB,当交换机想要和PCB进行通信,首先要知道PCB

IP地址,然后再获取PCBMAC地址(因为在逻辑上使用IP进行通信,在物理上使用

MAC进行通信)。此时,PCA会查询本地缓存的MAC地址表(Windows可以通过arp -a

命令查看)。如果在本地不可以获取PCBMAC地址表,那么PCA会封装一个ARP请求包,

将其发送至交换机,交换机在接收到到该请求后,会将该请求泛洪至除接收请求之外

的其它端口。这样PCB接收到请求后看到和自己的IP是对应的,那么就把自己的MAC

应给PCA。最后PCA就可以和PCB进行通信了。

  

  在路由器之间转发的数据,每经过一跳(一个网段)也需要根据源和目标IP更改源和

目标MAC,根据MAC转发。


4、涉及的不同技术

在数据链路层有VLANTrunkVTP(思科私有)STP、链路聚合、端口安全等

在网络层有动态路由协议、ACLNAT等。


本遍博文所论述的各项内容如有不正确或不合理之处,还请各位博友指出,感激不尽。