网络八股5

AvalonForLovers / 2023-09-06 / 原文

1、MAC 地址和 IP 地址分别有什么作用?

MAC 地址是(数据链路层)和(物理层)使用的地址,是写在网卡上的物理地址。MAC 地址用来定义网络设备的位置。
IP 地址是(网络层和以上各层)使用的地址,是一种逻辑地址。IP 地址用来区别网络上的计算机。


互联网中主机之间相互传递数据的逻辑是:先通过 ip 地址找到对应的局域网,然后再找到对应的主机。


如果只采用 ip 地址,不用mac 地址:不安全, 同一个ip 地址可能绑定多个主机,而无论何时mac 地址和主机是一一对应的。
如果只采用mac 地址,不用ip 地址:没有办法使用ip 通过网段寻找目标主机,需要在全网段内没有规律的找一个主机,效率太慢。

2、数据链路层上的三个基本问题?

(1)封装成帧:将网络层传下来的分组添加首部和尾部,用于标记帧的开始和结束。

 (2)透明传输:帧使用首部和尾部进行定界,如果帧的数据部分含有和首部尾部相同的内容,那么帧的开始和结束位置就会被错误的判定。需要在数据部分出现首部尾部相同的内容前面插入转义字符。如果数据部分出现转义字符,那么就在转义字符前面再加个转义字符。在接收端进行处理之后可以还原出原始数据。这个过程透明传输的内容是(转义字符),用户察觉不到转义字符的存在。

(3)差错检测:数据链路层广泛使用了循环冗余检验(CRC)来检查比特差错。