提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
机缘巧合之下,偶然刷到了一些开发的面试题,看着里面的计网题,作为CTF的web选手,有些蠢蠢欲动…今天分享一下自己的观点,给各位献丑了
一、为什么既要有IP地址,又要有MAC地址?
我们先区分一下IP地址和MAC地址的区别。
在网络通信模型中:MAC地址位于物理层和数据链路层,IP地址则是位于网络层和往上的层
地址概念上·:IP地址是逻辑地址,是抽象的,在不同的网络环境是不同的,所以IP地址可以辨别网络上的不同设备。而MAC地址则是物理地址,是固定的,网络设备在出厂的那一刻就被赋予了永远不会变动的的48位MAC地址
1. 为什么有了MAC地址,还需要IP地址
假如我们只使用MAC地址,那么我们想要在网络中寻址的话,工程量是很庞大的,如果没有记住每一个MAC地址所属的子网,那就需要全世界搜索。但是如果我们让每一个路由器记住每一个MAC地址所属于的子网,那么就需要有2^48次方的存储空间,完全不现实。
而IP地址在每相同的子网中,前缀相同,寻址交给子网内部组成。大大减轻了路由器所需要的内存
2.为什么有了IP地址,还需要MAC地址
只有当设备连入网络的时候,才能为其分配子网IP。所以当设备还没有获得IP的时候,就需要,MAC地址了
再举一个经典的例子 : 用邮件来表示,IP地址是收件地址,而MAC地址则是收件人。在一次通信过程中,二者缺一不可
二、ICMP协议的功能
如果我们向目标源发送一个数据包,但是这个包在传输的过程中因为种种原因丢失损坏了,那么接下来在计算机网络中会发生什么呢?这时ICMP协议派上用场了,路由器会将发生错误的信息(ICMP信息)重新返回给发送源。
注意:ICMP是错误报告,但并不直接处理重传功能,重传是TCP协议的责任。因为ICMP被封装在IP数据包中
除此之外,ICMP还有查看状态信息的功能,这就是我们常用的ping。利用了ICMP协议中的回显请求和回显应答功能
三、ping的工作原理
ping先后会经过一下几个主要过程
ICMP—>封装到IP数据包(作用:1.传递ICMP信息 。2.提供地址信息,使得ICMP可以到达目标主机)–>数据帧(1.封装IP数据包。2.目标MAC查找)
详细步骤是:
1.ping通知系统,先构造一个固定格式的ICMP请求数据包
2.ICMP协议会将该包与目标主机IP打包,传递给IP协议层
3.IP协议层将本机IP作为源IP,目标主机IP作为目的地址,加上一些控制信息,构成IP数据包
4.先获取目标主机的MAC地址
5.数据链路层构造一个数据帧,目的地址是IP层传来的MAC地址,源地址是本机的MAC地址。
6.目标主机收到后,会判断是不是自己的MAC地址,是自己的,则处理返回。不是,则丢弃
7.根据目的主机返回的ICMP报文中的时间戳,从而计算反应时间
四、TCP和UDP的区别
最根本的区别在于:TCP面向连接,UDP面向无连接
这俩是什么意思呢?就是字面意思…好吧,正经点。
假设发送主机为A,接受主机为B
面向无连接就是在发送数据之前,不需要A与B有连接关系。数据包是独立的个体,携带了来自何方,又要发往何处的地址信息。因此,不管B有没有准备好接受这个包,终归是要发给你的。而且,能不能发送到,也不好说。
那么面向连接就相反了,每一次发送数据包,都必须在A,B已经连接的基础上。这样就确保了数据的准确性,可靠性

应用场景就好说了:由于TCP传输的可靠性,所以一般用它传输重要的信息。比如说你要传输文件,就需要TCP了。我可以下载传输的慢一些,只要能保证准确性和完整性。而UDP具有传输效率快的特点,所以可以用于直播。短暂的卡顿影响不大,只要保证即时性即可。
五、ARP协议的工作流程
ARP是地址解析协议,作用是实现IP地址与MAC地址的映射

接下来详细说一下工作流程
还是假设源主机为A,目标主机为B
1.每一台机器都会在自己的ARP缓冲区中建立一个ARP列表,记录着IP地址和MAC地址的对应关系。
2.当A需要发送数据包给B时,会首先检查自己的ARP列表,查看是否有B的IP地址和MAC地址的对应关系。如果有,直接发送到这个主机的MAC地址;如果没有,则会构造一个ARP请求包,发送到网络中的所有主机中
3.网络中的B主机发现自己的IP与该包里的目的IP相同,会将A的IP和MAC地址记录在自己的ARP列表中,然后返回自己的MAC地址给A
4.A收到返回包后,在ARP列表中记录B的IP和MAC地址
六、谈下DNS解析过程
DNS是域名解析系统,是域名和IP地址的相互映射。
怎么样,是不是跟ARP挺像的?都是互相映射
直接看图!

怎么样,现在看着这个流程是不是很清晰?
现在给大家看看根服务器,顶级域名服务器,权限服务器分别是什么
以 百度 为例子

&spm=1001.2101.3001.5002&articleId=145856501&d=1&t=3&u=dbf7d844b69c44de83373ebbafd77eed)
2217

被折叠的 条评论
为什么被折叠?



