Appearance
在计算机网络的TCP/IP模型中,网络接口层(Network Interface Layer)通常也被称为链路层(Link Layer)或数据链路层(Data Link Layer)。
这一层位于TCP/IP模型的底层,负责定义如何在物理媒体上传输数据帧,以及如何进行数据的错误检测和纠正。
换言之,数据链路层关心的是如何把数据发送到本地网络中去。
Mac地址
MAC地址(Media Access Control address)是一个用于在计算机网络中唯一标识网络接口的物理地址
MAC地址由设备的制造商分配的,保证了全球范围内的唯一性。
MAC地址的前半部分是由设备的制造商分配的,称为组织唯一标识符(OUI),每个制造商都有一个唯一的OUI。
然后,制造商使用其分配的OUI 来生成唯一的MAC地址。通常,制造商会使用一些算法来确保为同一制造商的不同设备生成不同的MAC地址。
可以将Mac地址理解为每个设备的身份证号,理论上身份证是唯一的。
ARP寻址
当设备连接到网络时,它可以使用各种方式(例如,通过DHCP协议)向网络请求IP地址。
在这个过程中,网络中的DHCP服务器(动态主机配置协议服务器)将为设备分配一个唯一的IP地址。
设备通常在连接到网络时才会被分配IP地址,而MAC地址是设备的物理地址,与网络连接无关。
当发送网络消息时,通常使用目标设备的IP地址来指定目标,而不是直接使用MAC地址。这样可以避免在某个机器被替换后,之前的网络连接不会出问题(看起来像是一个适配器。
IP地址用于在网络中唯一标识设备,而MAC地址则是设备的物理地址,用于在本地网络中唯一标识设备。
当一个设备需要与同一子网上的其他设备通信时,它通常知道目标设备的IP地址。
数据最终是通过一台物理机器发送到另外一台物理机器上面,因此需要物理上具体的Mac地址
在这种情况下,设备会使用ARP协议(Address Resolution Protocol)来获取目标设备的MAC地址。
ARP协议通过在本地网络上广播ARP请求,询问哪个设备拥有特定IP地址。目标设备会响应ARP请求,提供它的MAC地址。
一旦发送方获得了目标设备的MAC地址,它就可以使用这个地址封装数据包,并通过以太网(Ethernet)等物理层协议发送数据,这个工作一般由交换机实现。
交换机能够直接利用局域网内两个设备的MAC地址进行快速数据帧转发,提高局域网内设备之间的通信效率。
如果目标设备不在同一子网上,通过广播就无法收到它的MAC地址响应,也就无法直接通过交换机传输数据。
在这个时候,ARP请求会发送到本地网关(路由器)的IP地址,数据包也会被封装并通过交换机发送到路由器。路由器的MAC地址通常是提前配置或者通过ARP请求获取的。
正常情况下,一个局域网内都会有至少一个包含路由功能的设备,下面都简称为“路由器”。目前很多网络设备都集成了交换机、路由器等功能,我们只是从功能上将他们进行区别。
关于路由器的工作原理,可以前往网络层查看相关章节。