结尾
学习html5、css、javascript这些基础知识,学习的渠道很多,就不多说了,例如,一些其他的优秀博客。但是本人觉得看书也很必要,可以节省很多时间,常见的javascript的书,例如:javascript的高级程序设计,是每位前端工程师必不可少的一本书,边看边用,了解js的一些基本知识,基本上很全面了,如果有时间可以读一些,js性能相关的书籍,以及设计者模式,在实践中都会用的到。
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
1、根据目标IP找到目标设备的MAC地址,帮助后续数据链路层的数据封装MAC头部
2、IP寻址
3、最优路径
这里我们先讨论1:网络层如何根据目标IP找到目标设备的MAC地址。
网络层有一个协议ARP(address resolution protocol),该协议就是用来根据设备IP查找设备MAC地址。
ARP协议的功能实现:
1、每台设备都有一个ARP缓存表,在该表中存储的是 IP -> MAC 的映射关系
2、网络层查找目标IP对应的MAC地址时,首先会去本机的ARP缓存表中根据IP去查找,如果可以找到,那就将目标MAC地址交给数据链路层封装,如果没有找到,则会发起ARP请求
我们这里使用arp -d * 命令清空本机ARP缓存表
然后去ping 192.168.0.101,由于此时arp缓存表中没有该IP,所以网络层会发起arp请求。
本机IP是192.168.0.118
使用wireshark抓包,可以发现本机发出了一个广播消息
Who has 192.168.0.101? Tell 192.168.0.118
注意这是一个广播消息,所有子网中的设备都可以接收到。
最后
编程基础的初级开发者,计算机科学专业的学生,以及平时没怎么利用过数据结构与算法的开发人员希望复习这些概念为下次技术面试做准备。或者想学习一些计算机科学的基本概念,以优化代码,提高编程技能。这份笔记都是可以作为参考的。
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】