以太网交换机转发表建立过程实質上就是一个多端口的网桥网桥工作在数据链路层,根据MAC帧的目的地址对收到的帧进行转发或过滤
当网桥收到一个帧时,并不是向所囿的端口转发此帧而是根据此帧的目的MAC地址,查找网桥中的MAC地址表然后确定将该帧转发到哪一个端口,或把它丢弃(即过滤)
以太網交换机转发表建立过程转发帧的步骤:
先查找交换机转发表建立过程的MAC地址表中与收到帧的目的地址有无相匹配的项目。
如没有则向所有其他端口(进入的端口除外)转发;
如有,则按MAC地址表中给出的端口进行转发(若MAC地址表中给出的端口就是该帧进入交换机转发表建竝过程的端口则应丢弃这个帧)。
现假设有一个24端口的以太网交换机转发表建立过程你的任务是编写程序对收到的MAC帧进行处理。
输入嘚第一行为两个正整数M、N(M、N<=24)分别表示交换机转发表建立过程的MAC地址表有M行,有N个MAC帧进入交换机转发表建立过程
然后就是M行的MAC地址表,每行包括(MAC地址 对应的端口号 时间)相互之间以空格分隔,其中MAC地址用十六进制表示
最后N行,每行表示进入交换机转发表建立过程的MAC帧相关的信息包括(目的MAC地址 源MAC地址 进入的端口号 进入的时间),相互之间以空格分隔其中MAC地址用十六进制表示。
对于每行输入输出以太网交换机转发表建立过程处理帧的结果。
输出(目的MAC地址 外出端口号)其中目的MAC地址占18位,左对齐具体格式详见样例输出。
如果是向所有端口转发端口号输出ALL;如果是过滤了,端口号输出NONE