李宏年
(江苏师范大学,江苏 徐州 221116)
因特网的广泛应用开辟了信息时代的新纪元。移动通信和互联网的结合彻底改变了人们的生活、工作和学习方式,足不出户就可以在手机或电脑等终端上实现远程控制、网上购物以及商业贸易等,给人们带来了很大的便利。网络电视和智能电视已走进千家万户,车联网、物联网的发展使万物互联成为可能,因而各种实体及终端间相互识别及寻址尤其重要。物理地址和逻辑地址作为信息网络中的两类寻址地址作用重大,目前已在计算机网络和移动电话及电视机顶盒等终端设备上得到广泛应用。
数据通信的本质是将源端发送的数据包传递到目的接收端。在网络中,将数据包从一个网络传递到另一个网络,从一个结点转发到另一个结点并最终顺利送达目的地,路由和寻址尤为关键。在传输控制协议/网际协议(Transmission Control Protocol / Internet Protocol,TCP/IP)结构中,介质访问控制(Media Access Control,MAC)地址是数据链路层的寻址地址,又称为物理地址。MAC数据帧依据该地址进行传送,网络层及以上使用IP地址来寻址[1]。MAC帧包括帧头、帧尾以及数据部分,如图1所示。
图1 MAC帧结构
MAC地址的长度一般为48位,通常表示为12个16进制数,固化在硬件存储器中。所有连接到网络上的设备或终端都至少有一个用来标识发出数据包和接收数据包的主机物理地址,也称为硬件地址,该地址在全网是唯一的。物理地址是数据链路层和物理层使用的地址,它的前3个字节由国际电气与电子工程师协会(Institute of Electrical and Electronics Engineers,IEEE)统一为每个生产厂商来分配,后3个字节由各生产厂商自行分配。前3个字节的24位中,第一字节的最低位I/G为0时表示此MAC地址为单播地址,为1时表示此MAC地址为组播地址。第一字节的次低位G/L为0时表示此地址为全局管理地址,为1时表示此地址为本地管理地址[2-4]。后24位称为扩展标识符,一般由厂家分配,其组成结构如图2所示。
图2 MAC地址结构
连接在通信链路中的设备(主机或路由器)在收到MAC帧时,根据MAC帧首部中的MAC地址决定接收或丢弃。逻辑地址(IP地址)是网络层及其以上层使用的地址。在目的端数据链路层拆封了MAC帧的首部和尾部后,便将数据提交给网络层,网络层对收到的IP数据包首部进行拆封后,找到源IP地址和目的IP地址,并依此IP地址来规划数据包的传输路径或路由。每个MAC地址对应着一个网络端口,每台电脑或终端可以对应多个MAC地址。通信网中有线网络、无线网络都各自对应着一个MAC硬件地址,在物理传输中就是靠物理地址来找到数据传输地址。例如,08:00:10:0A:8C:6D就是一个MAC地址,其中前6位16进制数08:00:10代表网络设备硬件生产商的编号,由IEEE分配,而后3位16进制数0A:8C:6D代表该设备生产制造商所制造的某个网络设备产品的系列号。
IP地址是互联网网络层协议地址,又称为逻辑地址,每个IP地址都由网络号和主机号两部分组成。每个互联网上的网络和主机都有一个逻辑地址,在开放系统互联7层网络结构中,IP地址是网络层的寻址地址,有IPv4和IPv6两种。其中,IPv4地址分为5类,分别是A、B、C、D、E,由32位二进制数组成,通常被分割为4个字节,如图3所示。随着互联网的蓬勃发展,越来越多的终端需要加进因特网,IP地址的需求量越来越大,IP地址显得越来越不够用,为了扩大地址空间,IPv6应运而生,通过IPv6重新定义了网络地址空间。和IPv4相比,IPv6采用128位地址长度,极大地扩大了逻辑地址数量,除了解决地址短缺以外,还解决了服务质量(Quality of Service,QoS)、安全性、多播、移动性以及即插即用等IPV4中遇到的问题。
图3 IPv4地址分类及结构
IPv6有效解决了网络地址资源数量受限及多设备接入互联网的问题。目前,网络中IPv4和IPv6共存,可通过双协议栈、隧道技术、网络地址转换等技术来完成IPv4和IPv6间的相互转换。
因特网和移动互联网已经应用到各种领域,通过手机、电脑、电视机顶盒、智能家居、掌上电脑以及视频监控等终端设备都可以接入到因特网。各种接入到网络上的终端,都必须有一个专门的MAC地址来寻址。可通过多种方法查看不同终端的MAC地址,图4—图6分别为某手机、电脑、电视的MAC地址和IP地址。
图4 手机的MAC地址和IP地址
图5 计算机的MAC地址和IP地址
图6 电视的MAC地址和IP地址
数据包传输时,需要准确知道终点地址和下一跳地址。IP地址本质上是终点地址,它在跳过路由器时不会改变,而MAC地址则是下一跳的地址,每跳过一次路由器都会改变,起到了记录下一跳信息的作用。在开放系统互联参考模型OSI/RM中,数据链路层通过MAC地址寻址,交换机将数据从一个节点传送到另外一个节点,此时交换机收到这个帧后,便开始查找自己的转发表。转发表中一般包含MAC地址和该MAC地址对应的端口。如果在转发表中找到某一MAC地址和该MAC地址对应的端口,则将数据从该MAC对应的端口转发出去;如果没有找到对应地址及端口,交换机便会将此帧以广播方式向所有端口进行广播,除了该帧进入的端口;如果和目的帧不在一个网络内,则本机的网络层就将数据发送给网关。
通过地址解析协议(Address Resolution Protocol,ARP)获得网关的MAC地址。在ARP表里,包含有IP地址和MAC地址。如果地址解析协议ARP表中存有该网关IP地址对应的MAC地址,说明同在一个网络中,将数据包按对应地址直接发送即可;如果地址解析协议ARP表中没有该网关IP逻辑地址对应的MAC物理地址,则启动ARP协议向网内广播,询问该IP地址在网络中的MAC地址。在经过不同网络时通过IP地址来判断数据包是在网内传输还是网外传输。MAC物理地址只负责设备到设备的通信,IP逻辑地址负责从一个网络到另外一个网络的传输。网关其实就是路由器的一个接口,在网络通信中网关通过IP地址来确定数据包传输的路径,通过查找路由器的路由表来决定数据包下一跳应该传输到哪个网络,确定好路由后就将数据从连接那个网络的路由器的接口发送出去。
网络中MAC地址和IP地址应用如图7所示,路由器连接两个不同网络LAN1和LAN2。假设主机111.111.111.111要发送一个数据包到主机222.222.222.222,由于两个主机不在一个网络里,因此需要路由器来转发,通过ARP协议来解析路由器的端口IP地址,得到路由器的MAC地址为E6-E9-00-17-BB-4B,路由器通过数据包的目的IP地址和ARP协议来获得目的主机的MAC地址[4]。当数据包在网络中传输时,数据链路层MAC帧中的物理地址每经过一个站点便需改变一次,而网络层的IP数据包屏蔽了下层数据链路层的具体细节,仅通过目的IP地址来进行路由选择。MAC地址和IP地址协作,完成数据包在网络中的传输[5-8]。
图7 网络中MAC地址和IP地址应用
IP地址和域名绑定可进行双向查询,通过电子地图导航可查询到准确的地理位置。MAC地址能唯一标识一台双向机顶盒,广电运营商通过MAC地址就可对网内数万计的机顶盒进行统一管理。WiFi探针盒子通过MAC地址即可统计出进出商场的客流人数和频次。
据报道,德国警方曾利用路由器MAC地址来追踪2017年炸弹威胁的发起者,基于互联网技术发展的智能家居也曾出现了IP地址和MAC地址隐私暴露及黑客入侵的相关问题。在2019年央视3·15晚会上,曾经曝光了一些不良商家使用WiFi探针盒来获取用户手机MAC地址及手机号码的方法。WiFi探针设备可主动采集周围的数据帧内容,识别周边手机、笔记本以及路由器等无线终端设备,进而获得用户个人参数信息,满足客流统计、精准营销推送等需求[9,10]。
信息网络技术发展日新月异,越来越多的智能终端接入到因特网大家族。信息网络已成为一项基础设施,深刻改变了人们的生活,给人们带来很大的便利。物联网把新一代IT技术充分运用在各行各业中,使万物互联成为了可能。