CTF选手挑战计网面试题?又是被薄纱的一天......一些计网零碎知识点(一)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

机缘巧合之下,偶然刷到了一些开发的面试题,看着里面的计网题,作为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挺像的?都是互相映射
直接看图!
在这里插入图片描述

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值