如何评测一个软件工程师的计算机网络知识水平与网络编程技能水平?

简要总结一下网络协议栈:

 

计算机网络知识技能水平的测评试题:

1. 假设网络中的设备刚启动;当A发送一个MAC帧给E时,这时二层交换机I、II、III的过滤数据库会发生什么变化?当E收到后,紧接着发送一个MAC帧给A,此时二层交换机I、II、III的过滤数据库又会发生什么变化?并给出这次各MAC帧的扩散范围。

来源:PPT L2 Switching上的例题 https://github.com/mengning/net/blob/master/np2019.md

如何评测一个软件工程师的计算机网络知识水平与网络编程技能水平?_第1张图片

解:由于网络中的设备都刚启动,各交换机的过滤数据库表均为空。当A发送一个MAC帧时,由于使用以太网链路,会在本地LAN网里广播,LAN网里的其他主机也会收到该MAC帧,但由于检测到目的MAC地址不是自己,就会丢弃掉该MAC帧;与LAN网相连的交换机I在1号端口收到该MAC帧后,在自己的过滤数据库表中没有匹配到对应的表项,于是根据该MAC帧的源地址使用学习算法添加一条新的表项;并把该MAC帧广播到除1号端口以外的所有其他端口,在本例中是2号端口。I号交换机的2号端口转发该MAC帧到主机B所在的LAN网,由于是以太网所以也使用广播,依次传播下去。注意到主机C会收到A发送给E的MAC帧,因为一开始没有对应的表项,交换机II会转发该MAC帧到1、3号端口。而当E发送一个MAC帧给A时,由于路由器II的过滤数据表中已经有目的MAC地址为A的表项,所以所直接转发该MAC帧给2号端口,因此C不会收到E发送给A的MAC帧。

如何评测一个软件工程师的计算机网络知识水平与网络编程技能水平?_第2张图片

 2. 408真题:

你可能感兴趣的:(如何评测一个软件工程师的计算机网络知识水平与网络编程技能水平?)