0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

分布式系统中MAC地址和IP地址的动态配置方法

电子设计 来源:单片机与嵌入式系统应用 作者:李鹏,姜鲲鹏,兰 2021-06-17 14:03 次阅读

作者:李鹏,姜鲲鹏,兰巨龙,曲晶,赵峥嵘

1 引 言

以太网以其简单灵活、成熟稳定的特性成为许多分布式系统[-]内部通信的首选方式。在这些系统内部采用的以太网结构中,如何合理利用与配置地址信息(包括MAC地址和IP地址)成为提高系统可用性与灵活性的关键。

在OSI七层网络协议参考模型中,第2层为数据链路层。MAC地址位于此层,它由网络设备制造商生产时写在硬件内部。MAC地址一般采用6字节48位,前24位是生产网络设备的厂商向IEEE申请的厂商地址,后24位由厂商自行分配。这样的分配使得世界上任意一个拥有48位MAC地址的网络设备都有唯一的标识。

在TCP/IP网络中,每个主机都有唯一的地址。IP协议要求在每次与TCP/IP网络建立连接时,每台主机都必须为这个连接分配一个唯一地址(IPV4为32位,IPV6为128位)。这个分配给各主机的地址就称为IP地址。它分为互连网上的公共IP地址和局域网上的内部IP地址两种。

分布式系统的内部结构对用户是完全透明的,其内部一般采用嵌入式结构。嵌入式结构中的地址信息一般都固化在只读存储器ROM中,当系统启动时自动加载这些信息。这种地址配置模式比较通用,适合于一般的分布式系统;但对于某些复杂的分布式系统,这种模式可能带来一些问题,如增加生产成本、生产周期较长、调试过程复杂、工作效率低以及地址资源利用率低等。本文结合实际项目,提出分布式系统内部以太网中MAC地址和IP地址的动态配置方法,从根本上解决了传统配置方法所带来的问题。下面介绍MAC地址和IP地址的动态配置方法。

2 项目背景

国家数字交换系统工程技术研究中心(NDSC)承担了国家863项目高性能IPv6核心路由器的研发工作。该核心路由器采用分布式系统结构,由线卡、转发、交换、主控等模块组成。其中线卡、转发、交换模块统称为单板模块。这些单板模块利用自己的嵌入式处理机板的以太网网口单元,通过以太网和主控模块相连。各处理机板用VxWorks嵌入式实时操作系统,可单独处理各单板模块的实时任务。主控模块用Linux操作系统,有良好的人机对话窗口,可通过以太网和各单板模块取得联系,其结构如图l所示。

分布式系统中MAC地址和IP地址的动态配置方法

由于分布式系统中的各单板模块需要通过内部以太网和主控模块进行通信,因此必须给各单板模块上的嵌入式处理机板的网口单元分配相应的MAC地址和IP地址。这些地址信息一般固化在ROM当中,系统启动时自动读取。

这里需要指出的是,下面讨论的MAC地址和IP地址配置与传统意义上的地址分配出发点是不同的。传统意义上的IP地址分配是指通过DHCP协议(动态主机配置协议)将与互联网相连的计算机(可以是通过服务器与互联网相连的局域网中的计算机)分配一个互联网上的公共IP地址,使之在互连网上能唯一地标识自己。这里讨论的分布式系统结构中的内部以太网和外部网络是相隔离的,不需要将互联网上的公共IP地址分配给各单板模块上的嵌入式处理机板的网口单元。各网口单元只需要在局域网内部唯一地标识自己,只对应一个局域网内部IP地址;而MAC地址对于每个网络设备都是唯一的。下面讨论的配置方式是指如何将局域网内部的IP地址和MAC地址配置给每个网口单元。

3 传统静态配置方法

根据项目的设计要求,首先要申请若干MAC地址,同时选定一些局域网内部IP地址(由于是内部以太网,和外界是隔离的,IP地址也可任意选定)。然后将这些MAC地址和IP地址的信息固化在ROM中,由生产厂家生产这些ROM。ROM出厂后,将它们焊接在各嵌入式处理机板上进行调试。这种方法有以下缺点:

①根据MAC地址和IP地址的定义,每个处理机板上的以太网网口单元的MAC地址和IP地址是不一样的。不能把相同的地址信息固化在不同的ROM当中,因此每个ROM的信息不同,只能单独制作,不能进行批量生产。这样一来就增加了成本,而且生产周期较长。

②由于制作好的各嵌入式处理机板的网口单元的MAC地址和IP地址不同,调试各嵌入式处理机板时要区别对待。因此要根据不同的地址分别设置不同的配置信

息,这样的调试过程复杂、工作效率低。

③在具体应用中,为防止设备的损坏,备用设备是必不可少的,因此生产的嵌入式处理机板个数要多于实际需要的数量。因为处理机板上的网口单元个数要和处理机板个数相一致,所以需要申请的MAc地址数量也要和处理机板的生产数量相一致,要多于正常工作所需要的数量。如果工作中的处理机板都能工作正常,不需要使用备用处理机板,那样分配给备用处理机板上的MAC地址资源就得不到应用。当工作中的处理机板出现问题时需要使用备用板时,有问题的处理机板的MAC地址一样不能得到应用。因此多于工作所需数量的MAC地址必定得不到应用而被浪费。

针对以上问题,对核心路由器项目分布式系统中的嵌入式处理机板的网口地址信息采用了动态配置方法。

4 动态配置方法

Flash的可擦写性和非易失性在当今的嵌入式系统中得到了广泛的应用。由于ROM出厂时内容已写定,不能更改,因此复杂的嵌入式系统一般利用Flash的可擦写性进行系统的配置。由于单板模块的复杂性,需要调整嵌入式处理机板的配置信息来保证其正常工作,因此,可以充分利用Flash的作用,将其和ROM的配置有效地结合起来。在分布式路由器中采取以下.MAC地址和IP地址的动态配置方法:

①按照正常工作所需量申请MAC地址(与静态配置相比,没有备用的MAC地址),这样资源可以得到有效利用。

②设置嵌入式处理机板嵌入式系统访问MAC地址和IP地址信息的顺序。系统启动读取ROM信息,当读到网口地址信息时转到Flash中相关地址访问,如果存在相关信息则读取;如果Flash中没有相关信息则读取ROM中的地址信息,过程如图2所示。

③从申请到的MAC地址中任选一个,同时选一个局域网IP地址。将这些硬件信息和嵌入式系统访问MAC地址和IP地址顺序的信息统一编程固化到各个ROM当中,并成批量生产这些ROM。这样可以有效降低成本,减少生产周期。

④将这些ROM分别焊接到各嵌入式处理机板上,并把处理机板上Flash中的相关MAC地址和IP地址信息置O,这样处理机板就读取ROM中的地址信息进行配置。因为各个ROM中的MAC地址和IP地址信息相同,因此各处理机板的调试过程相同。这样步骤一致,简单易行。

⑤处理机板调试完毕后,把申请到的MAC地址分配给各个单板模块不同的处理机板的网口;同时选一些局域网IP地址,保证它们在以太网内部是唯一的。然后可以通过调试工具(Linux下用Minicom,Windows下用远程终端)将已分配好的MAC地址和IP地址等硬件信息分别写到工作中的各处理机板上的Flash中。通过以上分配方式,所有工作的处理机板都将自己Flash中的地址作为唯一的MAC地址和IP地址了。嵌入式系统启动时就读到了分配给各自的地址信息。接下来就可以进行处理机板和各单板模块的综合调试了。

⑥当工作中的处理机板出现问题需要使用备用处理机板时,可以将出现问题的处理机板上Flash中MAC地址和IP地址重新分配给备用的处理机板。这样就有效地利用了所申请的MAC地址资源。

通过以上MAC地址和IP地址的动态配置方法,可以有效地克服静态配置方法中存在的各种问题。相对于静态配置方法,动态配置方法结合了F1ash和ROM的灵活应用,有以下优点:

①能成批量生产内容一致的ROM,降低系统成本,减少生产周期。

②各个处理机板的调试步骤一致,简单易行。

③所申请的MAC地址得到有效的利用,节省地址资源。

5 结 语

分布式系统中MAC地址和IP地址动态配置与静态配置的根本区别在于F1ash的灵活应用。随着分布式系统的应用日益广泛和设计的日益复杂,动态配置方法所提供的低生产成本、短生产周期和高地址资源利用率以及简公司提供的QHartus II和SOPC Builder开发工具可以在完成接口功能设计后,快速进行系统的集成设计和系统仿真,最终可以在Altera提供的Cyclone系列芯片上实现整个系统设计。对Nios处理器重新编程可以在不改变系统硬件框架的基础上,方便地增加系统的功能和处理效率,对系统的升级和再开发有很大的便利。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    4981

    文章

    18271

    浏览量

    288296
  • 以太网
    +关注

    关注

    40

    文章

    5073

    浏览量

    166204
  • 存储器
    +关注

    关注

    38

    文章

    7141

    浏览量

    161971
收藏 人收藏

    评论

    相关推荐

    ipmac地址的绑定命令及方法

    。在Windows 2000/XP系统下,要在命令提示符下输入“ipconfig /all”,显示列表的“Physical Address”就是MAC地址,“
    发表于 08-30 00:15

    IP地址及网卡MAC地址操作指南

      为便于各分公司及部门统计IP地址及网卡MAC地址,请按照以下步骤操作:   1、 点击“开始”,选择运行。   2、在“运行”中输入“cmd”,并点击
    发表于 09-03 16:12 0次下载

    如何知道mac地址 怎么查看IP地址

    如何知道mac地址 怎么查看IP地址 步骤如下: 1 在“运行”中输入 cmd 2 在打开的命令提示符界面中输入 ipconfig/all 3 里面的rnet NIC里有你
    发表于 03-21 12:08 5.3w次阅读
    如何知道<b class='flag-5'>mac</b><b class='flag-5'>地址</b> 怎么查看<b class='flag-5'>IP</b><b class='flag-5'>地址</b>

    IP地址,IP地址是什么意思

    IP地址,IP地址是什么意思 基本定义 IP地址都是一个十分重要的概念,INTERNET的许多
    发表于 04-03 15:12 1480次阅读

    10-MAC地址表特性配置命令

    MAC地址表特性配置命令
    发表于 12-17 10:44 2次下载

    mac地址ip地址有什么区别

    首先,说明一下MAC地址是啥?MAC地址MAC(Media Access Control)协议所使用的
    发表于 03-06 14:17 8471次阅读

    mac地址ip地址是什么决定的

    IP地址是指互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),是IP Address的缩写。
    发表于 03-07 17:14 6740次阅读
    <b class='flag-5'>mac</b><b class='flag-5'>地址</b>和<b class='flag-5'>ip</b><b class='flag-5'>地址</b>是什么决定的

    网络通信技术:IP地址MAC地址的差异

    了解完网络协议,我们会发现,网络通信的五层模型里,有两个很重要的概念:IP 地址MAC 地址。 那么 IP
    的头像 发表于 10-22 15:12 4473次阅读
    网络通信技术:<b class='flag-5'>IP</b><b class='flag-5'>地址</b>和<b class='flag-5'>MAC</b><b class='flag-5'>地址</b>的差异

    基于簇的分布式IPv6地址配置方案

    为实现无线传感器网络(WSN)与IPv6互联网的全P通信,提出一种全 IP WSN地址配置方案。将WSN分为多个簇,设计分布式Pv6地址
    发表于 06-11 11:21 5次下载

    服务器Linux系统配置IP地址方法

    服务器Linux系统配置IP地址方法
    的头像 发表于 09-21 14:50 7968次阅读

    使用LPNDR_ReadGlobalInfo函数块读取IP地址MAC地址

    使用 LPNDR_ReadGlobalInfo 函数块可以读取 PROFINET 设备的 IP 地址MAC 地址
    的头像 发表于 11-14 10:09 2650次阅读

    为什么有了IP地址,还需要MAC地址呢?

    流言传到了“IP地址”和“MAC地址”的耳朵里,他俩也非常苦恼,今天文档君把话筒递给他们,看看他们怎么说?
    的头像 发表于 04-17 09:32 2091次阅读

    ubuntu系统ip地址配置

    在Ubuntu系统配置IP地址,可以采用两种方式: 通过命令直接配置。打开终端,输入以下命令: sudo ifconfig eth0
    的头像 发表于 11-13 17:01 5905次阅读

    centos7配置ip地址方法

    CentOS 7是一种基于Linux的操作系统,它是一种常用的服务器操作系统。在配置IP地址之前,我们需要了解一些基本的网络概念和术语。
    的头像 发表于 11-17 11:04 1341次阅读

    如何绑定ip地址mac物理地址呢?

    如何绑定ip地址mac物理地址呢? 绑定IP地址MAC
    的头像 发表于 12-07 09:33 1262次阅读