主要内容

使用CSMA / CD协议模拟以太网通信网络

这个例子展示了如何使用Simulink®消息和SimEvents®对CSMA/CD协议的以太网通信网络建模。万博1manbetx在这个例子中,有三台计算机通过以太网通信网络进行通信。每台计算机都有一个生成数据的软件组件和一个用于通信的以太网接口。每台计算机尝试将数据发送到另一台具有唯一MAC地址的计算机。以太网接口通过使用CSMA/CD通信协议控制计算机与网络的交互。该协议用于响应当多台计算机同时发送数据时发生的冲突。以太网组件表示网络和计算机之间的连接。

软件组件

在该模型中,每个软件组件生成数据(有效载荷)并将数据,其大小及其目的地组合成消息。然后,将消息发送到以太网接口进行通信。

在每个软件组件子系统中:

  • MATLAB功能块会生成具有尺寸之间的数据461500字节[1]。

  • Constant块为数据分配目的地址。

  • 公共汽车创建者块转换数据PayloadSize,去德德德调用非虚拟总线对象的信号DataPacket.

  • A发送块转换DataPacket.一个消息。

  • Outport块将消息发送到以太网接口进行通信。

每台计算机都以不同的速率生成数据。您可以从MATLAB功能块的采样时间更改数据生成速率。

要学习创建消息发送和接收接口的基础知识,请参见建立软件组件间的消息收发接口

以太网接口

双击“以太网接口”。注意,您可以指定站ID.传输缓冲容量

以太网接口子系统有三个主要部分:

  1. 组装以太网帧 - 将传入消息转换为以太网(MAC)帧。

  2. 传输缓冲区-存储以太网帧以进行传输。

  3. 介质访问控制-实现一个CSMA/CD协议的包传输[2]。

组装以太网框架

汇编以太网帧通过将特定于以太网特定属性附加到消息来阻止将消息转换为以太网帧[1]。

在分组组装过程中:

  • 标记为Copy Message的SimEvents®Entity Replicator块复制传入消息。原始消息被转发到标记为“组装MAC帧”的SimEvents®实体生成器块。因为实体生成器块发电方法参数设置为事件为基础,当原始消息到达块时,它立即生成一个实体。的消息副本被转发到Simulink函数块万博1manbetxinitpacket()功能。条款信息实体在Simulink®和Simevents®之间可互换使用。万博1manbetx

  • Simu万博1manbetxlink Function块将数据、其大小和目的地址传输到Assemble MAC Frame块进行帧组装。

  • 组装MAC帧块生成从Simulink功能块传输以太网特定属性和值的以太网帧。万博1manbetx

组装MAC帧块调用initpacket()函数作为每个帧生成事件调用的操作。

这些是生成的以太网帧的属性:

  • 实体。TxAddressStationID

  • entity.rxaddress.Entity.Data.,实体。PayloadSize从Simulink函数块中赋值。万博1manbetx

  • Entity.txdelay.是传输延迟。它由有效载荷大小和比特率定义。这比特率参数由模型属性中的初始化函数指定。

  • 实体。儿童权利公约是循环冗余检查是否错误检测。

传输缓冲区

传输缓冲区使用先进先出(FIFO)策略在传输前存储实体。缓冲区由一个Queue块建模。

队列的容量由传输缓冲容量范围。

介质访问控制

介质访问控制块是通过使用六个SimEvents®块建模的。

  • 标记为允许1帧的实体门块被配置为具有两个输入端口的使能门。一个输入端口允许来自传输缓冲块的帧。另一个输入端口叫做控制端口,它接收来自CSMA/CD块的消息。当从CSMA/CD块接收到一个正值的消息时,该块允许帧前进。

  • 实体输入开关块标记为合并合并两条路径。一个输入端口接受由Admit 1帧块承认的新帧,另一个输入端口接受由CSMA/CD块发送的重传帧。

  • 标记为“等待信道”的实体服务器块模拟帧在通过信道重传之前的回退时间。

  • 标记为通道的另一个实体门块打开门以在通道空闲时接受帧。频道状态由CSMA / CD图表传送。

  • 标记为复制传输帧的实体复制器块生成帧的副本。一帧转发到以太网,另一帧被转发到CSMA / CD图表。

  • 标记为CSMA/CD的离散事件图块表示对CSMA/CD协议建模的状态机。

CSMA / CD协议

CSMA/CD协议[2]由具有两个输入的离散事件图表块建模:

  • TXIN.- 传输帧的副本。

  • RxIn—接收到以太网络的帧。

该图表有五个输出:

  • Isidle.—当值为时,打开Send to Channel门接受帧1,并在该值为时关闭大门0

  • TxRe—如果在传输过程中检测到冲突,则转发到Merge块的重传帧。

  • TxNext—当值为时,打开Admit 1 Frame门接受新帧1

  • DataOut——接收的数据。

  • 大小- 所接收数据的大小。

发送和接收信息

该块最初是在的备用状态和通道是空闲的。

如果块正在发送,在延迟之后,块尝试发送消息和Isle.data被设置为0声明频道正在使用中。

如果传输成功,则块集txnext.data.1允许新消息进入通道并将其重置为备用状态。

如果存在碰撞,则块在延迟随机后退时间后重新发送消息。n是重传的计数器。块重传消息的最大值为16次了。如果所有的重传尝试都不成功,则该块终止消息并允许新消息的进入。然后重置为备用

类似地,块可以接收来自其他计算机的消息。如果没有错误,则成功接收消息,并且块输出接收的数据及其大小。

以太网集线器

以太网组件代表通信网络和计算机到网络的电缆连接。

双击以太网块以查看其参数。

  • 连接站- 这些值分配给,这是一个以站点id为元素的向量。

  • 电缆长度(m)- 这些值分配给CableLength为连接到集线器的每台计算机,表示电缆的长度,以米为单位。

  • 包错误率(PER)- 这些值分配给并且代表每台计算机的消息传输中的错误率。

  • 处理时间(s)- 这些值分配给处理时间它表示信道传输延迟。

三个Simevents®块用于模拟以太网网络。通过使用实体输入交换机块合并三个计算机连接。实体服务器块用于基于电缆长度对信道传输延迟进行建模。实体复制器块复制发送的消息并将其转发到三台计算机。

模拟模型并查看结果

模拟模型并打开显示平均信道利用率的范围块。信道利用率会聚到大约0.12

将Open Software Component 1作为顶级模型,通过设置样品时间生成数据1块0.01.再次运行模拟,观察通道利用率增加到0.2

将新计算机连接到网络

你可以把更多的计算机连接到网络上。

要将新计算机添加到网络:

  • 通过双击以太网接口块复制现有计算机并分配新ID。在此示例中,新计算机具有ID4

  • 双击以太网块,为新计算机添加站号、电缆长度和包错误率。

参考文献

  1. 以太网架构-维基百科(https://en.wikipedia.org/wiki/Ethernet_frame

  2. 带有碰撞检测的载波侦听多路访问-维基百科(https://en.wikipedia.org/wiki/Carrier-sense_multiple_access_with_collision_detection

另请参阅

|||(SimEvents)|(SimEvents)|(SimEvents)|(SimEvents)|(SimEvents)

相关的话题