在给一些新同事培训或平时和一些朋友交流时,常会发现有些人对于一些基础性的知识了解得不够透彻。其实,如果从原理上去理解为什么会这么制定协议,可能就很好记忆了。
1.网卡工作在OSI模型的第几层?
很多人会回答是第一层,实际上应该是第一层和第二层(网卡有MAC,MAC地址是第二层的).回答第一层的大部分人跟TCP/IP模型混淆了,正好TCP/IP模型第一层对应了OSI模型的第一、二层。
2.帧结构中type/length字段中什么情况下是type,什么情况下是length?
当此字段大于或等于1536(十进制)时为type,小于1536时为length.注意:当字段为type时,为ethernet II帧,当字段为length时,为802.3帧。
3.二层网络中泛洪和广播有什么区别?
根据交换机转发原理,如果交换机还没学习到要转发的帧的目的MAC时,很多人会说交换机会将帧“向所有端口广播”,这里有两个错误:第一,交换机不会向收到帧的端口发出,只会向其它所有端口发;第二,此时交换机是“泛洪”不是“广播”。我们平时说的广播有一个特点,即是目的地址是全1(无论二层广播或三层广播)。而在这里,交换机转发出的数据包目的地址不是全1。所以不是广播。
4.什么是免费ARP,有什么应用的例子?
免费ARP又叫无故ARP,是由gratuitous ARP直译过来的。和普通的ARP请求类似,所不同的时此ARP请求的不是别人的IP地址对应的MAC,而是请求自己的IP(更准确地说应该是自己即将要使用的IP)对应的MAC。一般我们PC接上网线,网卡从down状态变成up状态后,PC就会发送免费ARP包(如果你有设置静态IP的话),如果此时网络中有其它设置使用了此IP,则会回复此ARP请求,双方都知道有其它设备在用同一IP,操作系统便可据此显示IP冲突的信息了。这也正是为何有时我们接上电脑网线时会显示IP冲突的原因。
5.二层帧结构中,目的MAC和源MAC的作用分别是什么?
目的MAC是交换机转发的依据,源MAC是交换机学习的依据(源MAC对应端口号开成MAC地址表,当然,现在的交换机的MAC地址表一般还包括VLAN号)
6.tracert的工作原理是什么?
利用IP包头中的TTL字段,在向远端设备发送ping包(ICMP包)时,第一次把TTL值设成1,当第一个三层设备(比如路由器)收到后,将TTL值减1,变为0,则将包丢弃并发包给原地址告知其情况,此时源设备则知道第一跳的IP地址,然后源设备再发第二个包,TTL值设成2,以此类推,最终可知道整条通路上所有三层设备的IP地址。
7.为何802.1Q里规定VLAN1不带tag而不是带VLAN号为1的tag?
为了兼容不能够识别tag的设备(比如傻瓜交换机)
8.设备在收到ARP请求还是进ARP答复时会刷新ARP表?
都会。
9.RIP协议工作在OSI模型中的第几层?
很多人会答是第三层,实际上应该是第七层。虽然表面上看是“动态路由协议”有“路由”字样,但实际上他是产生路由条目的协议,而不是其本身是路由条目。我们知道RIP用的是UDP 520端口(IPv6的,即RIPng 用的是UDP 521端口),所以,其不可能是工作在网络层。
10.DNS协议用的是TCP还是UDP协议?
既有TCP 53端口(用于一般的DNS查询),又有UDP 53端口(用于DNS服务器间的数据同步)。