网络层
1、ping的工作原理?
ping是通过ICMP协议来实现的,ping的时候,会发送类型为回送请求的ICMP报文,对方接收到之后,就会回复类型为回送应答的ICMP报文。
ICMP:确认IP包是否成功送到目标地址、报告发送过程中IP包被废弃的原因和改善网络设置等。
ping命令执行的时候,源主机会先构建一个ICMP回送请求消息数据包,由ICMP协议将这个数据包和服务端地址一同交给IP层。IP层将以服务端IP作为目的地址,本地IP做源地址,协议字段设置为1,表示为ICMP协议,再加上一些其他信息,构建一个IP数据包。
然后,加入MAC头,如果在本地ARP映射表中查找到服务端IP所对应的MAC地址,则直接使用;如果没有就发送ARP协议查询MAC地址,获得MAC地址后,由数据链路层构建一个数据帧,目的地址是IP层传来的MAC地址,源地址是本机MAC地址。
目的主机接收到这个数据帧后,先检查目的MAC地址,并和本机MAC地址对比;之后将IP数据包提前出来,交给本机的IP层,进行IP层检查,将有用的信息提取后交给ICMP协议,目的主机会构建一个ICMP回送响应消息数据包字段为0,然后在发送给源主机。
2、127.0.0.1和localhost以及0.0.0.0有什么区别?
- 127.0.0.1是回环地址,localhost是域名,但默认解析为127.0.0.1
- ping回环地址和ping本机地址是一样的,走的都是lo0网卡,也都会经过网络层和数据链路层等逻辑,断网了也可以ping通。
- 0.0.0.0可以表示本地的素有IPv4地址,如果服务器listen 0.0.0.0那么使用127.0.0.1和localhost都可以访问。
3、交换机和路由器有什么区别?
交换机工作在MAC层,称为二层网络设备,主要处理数据帧的转发和交换,交换机会根据MAC地址来转发数据包,实现局域网内设备之间的通信。
路由器工作在IP层,称为三层网络设备,主要负责IP数据包的转发和路由选择,路由器会根据IP地址来转发数据包,实现不同网络之间的通信。
- 交换机接收电信号并转换为数字信号,交换机的端口不具有MAC地址,交换机是根据MAC地址表查找MAC地址,然后将信号发送到相应的端口。
- 路由器是基于IP设计的,各个端口都有MAC地址和IP地址。
4、什么是IP地址?
IP地址是用于在计算机网络上唯一标识和定位设备的一种地址,IP地址允许计算机在网络上相互通信和交换数据,在TCP/IP协议中,IP地址与MAC地址结合使用,实现了设备之间的通信和数据传输。
IP地址网络层协议中使用的一种地址,分为IPv4和IPv6:
- IPv4地址:IPv4是32位的二进制地址,通常用点分十进制表示,如192.168.1.1 。IPv4地址由四个8位字节组成,每个字节范围从0到255之间,可表示42亿个不同的地址。
- IPv6地址:为了解决IPv4不够的问题,IPv6是128位,采用冒号分隔的16位进制数表示。
5、什么是MAC地址?
MAC地址是在数据链路层中使用的标识符,只在局域网范围内有效。在互联网通信中,数据包最终是通过IP地址进行路由和传递的,而在局域网中则是通过MAC地址来实现设备之间的直接通信。MAC地址与IP地址结合起来,共同协助实现了数据在网络中的正确传输和交换。
MAC地址是网络设备在数据链路层中使用的物理地址,用于唯一标识网络设备。每个网络设备都有一个唯一的MAC地址,通常有48位二进制数表示,分为6个十六进制数对,用冒号或短横线分割,如00:1A:2V:3X:4D:5E。
MAC地址主要用于通过局域网传输数据时,帮助网络设备进行识别和寻址。与IP地址不同,MAC地址是固定的且与硬件设备绑定,不会因为设备连接到不同网络而改变。当数据包在局域网内传输时,源设备将目标设备的MAC地址作为目标地址写入数据包头部,以确保数据包能够准确地从发送者传输到接受者。
需要注意的是,MAC地址是在数据链路层中使用的标识符,只在局域网范围内有效。在互联网通信中,数据包最终是通过IP地址来路由和传递的,而在局域网中则是通过MAC地址来实现设备之间的直接通信。MAC地址与IP地址结合起来,共同协助实现了数据在网络中的正确和交换。
6、IP地址和MAC地址有什么区别?
IP地址用于在网络中唯一标识和定位设备,它是在网络层使用的地址,用于实现不同网络之间的通信。
MAC地址用于在局域网中唯一标识和定位设备,它是在数据链路层使用的地址,用于实现局域网内设备之间的通信。
7、为什么有了IP地址,还需要MAC地址?
只有MAC,没有IP,网卡的实现上极其困难。如果只使用MAC地址的话,路由器就需要记住每个MAC地址所在的子网是哪一个,而世界上有2的48次方个MAC地址,这就意味着即使我们给每个MAC地址只留下1字节的储存空间,每个路由器也需要256TB的内存,这显然是不可能实现的。
只有IP,没有MAC,IP地址的局限。IP地址是要设备上线以后,才能根据他进入了那个子网来分配的,在设备还没有IP地址的时候,还需要使用MAC地址来区分不同的设备,并根据MAC地址通信。
8、NAT是什么协议?
NAT协议在网络层工作,会将私有IP地址转换为公网IP地址,这样就可以实现局域网的设备与互联网其他设备的通信。
NAT协议比较常见的转换操作是端口转换,多个私有IP地址可以共享一个公网IP地址,通过端口来区分不同的私有IP地址。所以,NAT协议的优势在于可以节省公共IP地址资源,因为多个内部设备可以共享一个公共IP地址。
9、192.168.1.100/24中的斜杠是什么意思?
斜杠后边的数字表示子网掩码的位数。
比如,192.168.1.100/24中的斜杠后是24表示子网掩码的位数,子网掩码用于划分IP地址中的网络部分和主机部分。将子网掩码和IP地址进行与运算,就可以得到网络号。
具体来讲,就是192.168.1.100/24表示前24位是网络部分,后8位是主机部分。
参考资料
https://xiaolincoding.com/network/4_ip/ping.html
https://xiaolincoding.com/network/4_ip/ping_lo.html