Skip to content

Commit

Permalink
修改Switch、Device主页
Browse files Browse the repository at this point in the history
  • Loading branch information
eraser333 committed May 21, 2024
1 parent 008faf6 commit 95f68f2
Show file tree
Hide file tree
Showing 203 changed files with 11,851 additions and 889 deletions.
152 changes: 150 additions & 2 deletions content/device/_index.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,151 @@
---
<!-- ---
title: ZIGGO Device
---
--- -->
<div align="center">

# ZIGGO Device: A flexible and standard-compliant toolkit for TSN performance evaluation.

</div>

<h3 align="center">
<a href="http://tns.thss.tsinghua.edu.cn/ziggo/">Project Page</a> |
<a href="https://ieeexplore.ieee.org/document/10228980">Paper</a> |
<a href="https://github.com/Mobisense/Ziggo-CaaS-Switch">ZIGGO-CaaS-Switch</a> |
<a href="https://github.com/MobiSense/Ziggo-Device">ZIGGO-Device</a>
</h3>

![](figs/banner.jpg)

## Table of Contents

- [ZIGGO Device: A flexible and standard-compliant toolkit for TSN performance evaluation.](#ziggo-device-a-flexible-and-standard-compliant-toolkit-for-tsn-performance-evaluation)
- [Table of Contents](#table-of-contents)
- [Introduction](#introduction)
- [ZIGGO Open Platform](#ziggo-open-platform)
- [Demo](#demo)
- [Features](#features)
- [Read before start](#read-before-start)
- [Getting Started](#getting-started)
- [System Design](#system-design)
- [Demo APP Tutorial](#demo-app-tutorial)
- [License and Citation](#license-and-citation)
- [TODO List](#todo-list)
- [Contributing](#contributing)

## Introduction

ZIGGO is a `flexible`, `standard-compliant`, and `control-function-virtualized` TSN switch platform ready for **industrial control**, **automotive electronics**, and other **time-sensitive applications**.

This is the document for the ZIGGO Device. (We also offer [ZIGGO-CaaS-Switch](https://github.com/Mobisense/Ziggo-CaaS-Switch) that comply with the IEEE 802.1 TSN standard.) Our Device supports testing all standards-compliant switches.

## ZIGGO Open Platform

![](figs/demo-app.png)

The construction of the ZIGGO Open Platform consists of three levels: network device, management tools, and a Demo App:

- The software and hardware projects, along with the development board startup [tutorial](/ZIGGO_WEB/device/getting-started/), provide instructions for setting up an individual network device.

- The [CNC User Manual](docs/cnc-manual.md) and [Device User Manual](/ZIGGO_WEB/device/getting-started/) cover system configuration and management tools.

- Lastly, we offer a comprehensive [Demo App building tutorial](/ZIGGO_WEB/device/testbed/) that instructs how to
collaboratively build a complete and functional Demo using network devices and
management tools.

## Demo

We provide a demonstration video of the TSN switch. It demonstrates the superior performance of the `ZIGGO-CaaS-Switch` compared to the normal switch.

The left side of the picture is the ZYNQ development board we use, and the right side is the TSN display board we built.

[![Watch the video](figs/testbed.jpg)](https://cloud.tsinghua.edu.cn/f/b307da6840d84e5f9ff1/)

> Click the pic to watch the video! Or just click [here](https://cloud.tsinghua.edu.cn/f/b307da6840d84e5f9ff1/).
## Features

* ZIGGO supports the simultaneous transmission of both `Information Technology (IT)` and `Operation Technology (OT)` data traffic with QoS guarantee.

* ZIGGO complies with IEEE standards `802.1AS`, `Qav`, `Qbv`, and `Qcc`.

* ZIGGO provides `Real-time` and `Deterministic` Ethernet transport

* ZIGGO achieve **Zero Packet Loss** , **Microsecond-level Latency** with **Nanosecond-level Jitter Gate Ability**.
* ZIGGO guarantee **Gigabit Throughput**.
* ZIGGO provide gate accuracy applicable to **All Ethernet Frame Sizes**.

## Read before start

Getting started with ZIGGO-CaaS-Switch/ZIGGO-Device is a ***pretty hard*** task. Users/developers need to have sufficient basic knowledge and be prepare to for a long periond of learning and debugging.

Please refer to [basic_knowledge.md](/ZIGGO_WEB/device/basic_knowledge/) to check if you have ability to use ZIGGO competently.

## Getting Started

Please refer to [required.md](/ZIGGO_WEB/device/require/) to get prepared.

After that, please refer to [getting_started.md](/ZIGGO_WEB/device/getting-started/) for the build and run a single ZIGGO Device.

## System Design

ZIGGO is implemented on ZYNQ-7000 SoC and exploits ZYNQ's both hardware and software programmability.

![framework](figs/framework.jpg)

We also provide more in-depth [documentation](/ZIGGO_WEB/device/system-design/) explaining specific design principles for ZIGGO Device.

## Demo APP Tutorial

We also provide a [testbed build document](/ZIGGO_WEB/device/testbed/) that allows you to build a real-time Ethernet system using the ZIGGO swtich and Device.

Through this platform, we can measure the `delay` and `jitter` of TSN time-critcial traffic, the switch's `gating capability`, `bandwidth guarantee` and `gating accuracy`.

Replacing ZIGGO CaaS switches with commercial TSN switches can also test its above capabilities.

## License and Citation

ZIGGO is released under a [MIT license](https://github.com/MobiSense/Ziggo-Device/blob/main/LICENSE.txt).

Please consider citing our papers if the project helps your research with the following BibTex:

```bibtex
@inproceedings{caas,
author={Yang, Zheng and Zhao, Yi and Dang, Fan and He, Xiaowu and Wu, Jiahang and Cao, Hao and Wang, Zeyu and Liu, Yunhao},
booktitle={IEEE INFOCOM 2023 - IEEE Conference on Computer Communications},
title={CaaS: Enabling Control-as-a-Service for Time-Sensitive Networking},
year={2023},
pages={1-10},
doi={10.1109/INFOCOM53939.2023.10228980}}
```

```bibtex
@inproceedings{etsn,
author={Zhao, Yi and Yang, Zheng and He, Xiaowu and Wu, Jiahang and Cao, Hao and Dong, Liang and Dang, Fan and Liu, Yunhao},
booktitle={IEEE ICDCS 2022 - IEEE International Conference on Distributed Computing Systems},
title={E-TSN: Enabling Event-triggered Critical Traffic in Time-Sensitive Networking for Industrial Applications},
year={2022},
volume={},
number={},
pages={691-701},
doi={10.1109/ICDCS54860.2022.00072}}
```

## TODO List

- [x] ZIGGO CaaS Switch Release
- [x] ZIGGO Device Release
- [x] ZIGGO Device Source Code
- [x] Tutorial for build a testbed
- [ ] Test Case for TSN

> We will expand each test in the tutorial to multiple test cases to cover different edge cases and comprehensively test the performance of TSN switches.
- [ ] Support Device List

> At present, we have only tested our own Ziggo switches and are testing other commercial switches (such as Huawei ,H3C and NXP). We expect to maintain a list of test results in the future.
## Contributing

Please see the [guide](/ZIGGO_WEB/device/contributing/) for information on how to ask for help or contribute to the development of ZIGGO!

> The development team will only answer questions on github issues and reject other forms of questions.
Binary file added content/device/figs/Alinx7021.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added content/device/figs/FPGA_boot_mode_switch.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added content/device/figs/analyse_result.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added content/device/figs/banner.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added content/device/figs/demo-app.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added content/device/figs/device_arch.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added content/device/figs/device_test_demo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added content/device/figs/download_petalinux.PNG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added content/device/figs/example_pkt_gen_period.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes
Binary file added content/device/figs/export_bitstream.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added content/device/figs/framework.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added content/device/figs/moba_serial.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added content/device/figs/offline_analyse.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added content/device/figs/online_analyse.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes
Binary file added content/device/figs/testbed.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added content/device/figs/topo.PNG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added content/device/figs/topo_config.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added content/device/figs/vivado_bitstream.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added content/device/figs/vivado_tcl_console.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added content/device/figs/vivado_workdir.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes
153 changes: 151 additions & 2 deletions content/switch/_index.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,152 @@
---
<!-- ---
title: ZIGGO Switch
---
--- -->
<div align="center">

# ZIGGO CaaS Switch: A flexible, standard-compliant, and control-function-virtualized TSN switch platform

</div>

<h3 align="center">
<a href="http://tns.thss.tsinghua.edu.cn/ziggo/">Project Page</a> |
<a href="https://ieeexplore.ieee.org/document/10228980">Paper</a> |
<a href="https://github.com/Horacehxw/Ziggo-CaaS-Switch">ZIGGO-CaaS-Switch</a> |
<a href="https://github.com/Horacehxw/Ziggo-Evaluation-Toolkit">ZIGGO-Device</a>
</h3>

</h3>

![](figs/banner.jpg)

## Table of Contents

- [ZIGGO CaaS Switch: A flexible, standard-compliant, and control-function-virtualized TSN switch platform](#ziggo-caas-switch-aflexiblestandard-compliant-andcontrol-function-virtualizedtsn-switch-platform)
- [Table of Contents](#table-of-contents)
- [Introduction](#introduction)
- [ZIGGO Open Platform](#ziggo-open-platform)
- [Demo](#demo)
- [Features](#features)
- [Read before start](#read-before-start)
- [Getting Started](#getting-started)
- [System Design](#system-design)
- [Demo APP Tutorial](#demo-app-tutorial)
- [License and Citation](#license-and-citation)
- [TODO List](#todo-list)
- [Contributing](#contributing)

## Introduction

ZIGGO is a `flexible`, `standard-compliant`, and `control-function-virtualized` TSN switch platform ready for **industrial control**, **automotive electronics**, and other **time-sensitive applications**.

This is the document for the ZIGGO CaaS Switch. (We also offer [ZIGGO-Device](https://github.com/Mobisense/Ziggo-Device) that comply with the IEEE 802.1 TSN standard.)

## ZIGGO Open Platform

![](figs/demo-app.png)

The construction of the ZIGGO Open Platform consists of three levels: network device, management tools, and a Demo App. More details in [ZIGGO-Device](https://github.com/Mobisense/Ziggo-Device).

## Demo

We provide a demonstration video of the TSN switch. It demonstrates the superior performance of the `ZIGGO-CaaS-Switch` compared to the normal switch.

The left side of the picture is the ZYNQ development board we use, and the right side is the TSN display board we built.

[![Watch the video](figs/testbed.jpg)](https://cloud.tsinghua.edu.cn/f/b307da6840d84e5f9ff1/)

> Click the pic to watch the video! Or just click [here](https://cloud.tsinghua.edu.cn/f/b307da6840d84e5f9ff1/).
## Features

* ZIGGO supports the simultaneous transmission of both `Information Technology (IT)` and `Operation Technology (OT)` data traffic with QoS guarantee.

* ZIGGO complies with IEEE standards `802.1AS`, `Qav`, `Qbv`, and `Qcc`.

* ZIGGO provides `Real-time` and `Deterministic` Ethernet transport

* ZIGGO achieve **Zero Packet Loss** , **Microsecond-level Latency** with **Nanosecond-level Jitter Gate Ability**.

* ZIGGO guarantee **Gigabit Throughput**.

* ZIGGO provide gate accuracy applicable to **All Ethernet Frame Sizes**.

## Read before start

Getting started with ZIGGO-CaaS-Switch/ZIGGO-Device is a ***pretty hard*** task. Users/developers need to have sufficient basic knowledge and be prepare to for a long periond of learning and debugging.

Please refer to [basic_knowledge.md](/ZIGGO_WEB/switch/basic_knowledge/) to check if you have ability to use ZIGGO competently.

## Getting Started

Please refer to [required.md](/ZIGGO_WEB/switch/require/) to get prepared.

Please refer to [hardware-build.md](/ZIGGO_WEB/switch/require/) for the build hardware for ZIGGO Evaluation Toolkit and [software-build.md](/ZIGGO_WEB/switch/software-build/) to run time synchronization logic and set up TSN GCL .

## System Design

ZIGGO is implemented on ZYNQ-7000 SoC and exploits ZYNQ's both hardware and software programmability.

![framework](figs/framework.jpg)

We also provide more in-depth [documentation](/ZIGGO_WEB/switch/system-design/) explaining specific design principles for ZIGGO CaaS Switch.

## Demo APP Tutorial

We also provide a [testbed build document](https://github.com/Mobisense/Ziggo-Device/blob/main/docs/testbed.md)(in ZIGGO Device) that allows you to build a real-time Ethernet system using the ZIGGO swtich and ZIGGO Device.

Through this platform, we can measure the `delay` and `jitter` of TSN time-critcial traffic, the switch's `gating capability`, `bandwidth guarantee` and `gating accuracy`.

Replacing ZIGGO CaaS switches with commercial TSN switches can also test its above capabilities.

## License and Citation

ZIGGO is released under a [MIT license]([LICENSE.txt](https://github.com/MobiSense/Ziggo-Switch/blob/main/LICENSE.txt)).

Please consider citing our papers if the project helps your research with the following BibTex:

```bibtex
@inproceedings{caas,
  author={Yang, Zheng and Zhao, Yi and Dang, Fan and He, Xiaowu and Wu, Jiahang and Cao, Hao and Wang, Zeyu and Liu, Yunhao},
  booktitle={IEEE INFOCOM 2023 - IEEE Conference on Computer Communications},
  title={CaaS: Enabling Control-as-a-Service for Time-Sensitive Networking},
  year={2023},
  pages={1-10},
  doi={10.1109/INFOCOM53939.2023.10228980}
}
```

```bibtex
@inproceedings{etsn,
author={Zhao, Yi and Yang, Zheng and He, Xiaowu and Wu, Jiahang and Cao, Hao and Dong, Liang and Dang, Fan and Liu, Yunhao},
booktitle={IEEE ICDCS 2022 - IEEE International Conference on Distributed Computing Systems},
title={E-TSN: Enabling Event-triggered Critical Traffic in Time-Sensitive Networking for Industrial Applications},
year={2022},
volume={},
number={},
pages={691-701},
doi={10.1109/ICDCS54860.2022.00072}}
```

## TODO List

- [x] ZIGGO CaaS Switch Release

- [x] ZIGGO Evaluation Toolkit Release

- [x] ZIGGO Evaluation Toolkit Source Code

- [x] Tutorial for build a testbed

- [ ] Test Case for TSN

> We will expand each test in the tutorial to multiple test cases to cover different edge cases and comprehensively test the performance of TSN switches.
- [ ] Support Device List

> At present, we have only tested our own Ziggo switches and are testing other commercial switches (such as Huawei ,H3C and NXP). We expect to maintain a list of test results in the future.
## Contributing

Please see the [guide](/ZIGGO_WEB/switch/contributing/) for information on how to ask for help or contribute to the development of ZIGGO!

> The development team will only answer questions on github issues and reject other forms of questions.
Binary file added content/switch/figs/Alinx7021.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added content/switch/figs/FPGA_boot_mode_switch.png
Binary file added content/switch/figs/banner.jpg
Binary file added content/switch/figs/demo-app.png
Binary file added content/switch/figs/example_topology.png
Binary file added content/switch/figs/framework.jpg
Binary file added content/switch/figs/moba_serial.png
Binary file added content/switch/figs/switch_fabric.png
Binary file added content/switch/figs/testbed.jpg
File renamed without changes
Binary file added content/switch/figs/zynq.png
File renamed without changes
File renamed without changes.
Binary file added content/switch/system-design/featured.png
File renamed without changes.
Binary file added content/switch/system-design/switch_fabric.png
Binary file added content/switch/system-design/zynq.png
26 changes: 15 additions & 11 deletions content/tsnperf/manual/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,19 +18,13 @@ tags:
weight: 10
---

## 时间同步测试

本节将介绍使用TSNPerf测试待测设备时间同步功能的方法。

TBD

## 流量整形测试

本节将介绍使用TSNPerf测试待测设备流量整形功能的方法。本章节中的测试参数均为参考配置,使用者可根据实际需求修改参数。

### 基准测试

**目的:**测试****背景流量情况下,高优先级流量经过一跳交换机(待测设备)的端到端延迟、抖动和丢包率。
**目的:** 测试 **** 背景流量情况下,高优先级流量经过一跳交换机(待测设备)的端到端延迟、抖动和丢包率。

**方案:**
使用如下拓扑,按照配置文档中的介绍发送关键数据包,记录关键数据包的端到端时延、抖动和丢包率。
Expand Down Expand Up @@ -64,16 +58,20 @@ sport: 10000
dport: 10000
```

该配置中,`packet-size`可以根据需要改变,推荐可以设置为 64 Byte(最小以太网帧长)、100 Byte、500 Byte、1000 Byte、1500 Byte等。

每一个关键数据包中,从第26个字节开始的8个字节是数据包的发送时间戳,用tcpdump抓取对应的接收时间戳,进而求得每个数据包的端到端时延。统计发送出的10000个数据包,可以得到平均时延和抖动(方差/标准差),以及丢包率。

### 门控能力

**目的:** 测试****背景流量情况下,高优先级流量经过一跳交换机(待测设备)的端到端延迟、抖动和丢包率。

**方案:** 使用如下拓扑进行测试。从Injector向Recorder发送背景流量,打满网络带宽,同时从Publisher向Recorder发送关键流量,记录关键数据包的端到端时延、抖动和丢包率。
**方案:** 使用如下拓扑进行测试。从Injector向Recorder发送背景流量,同时从Publisher向Recorder发送关键流量,记录关键数据包的端到端时延、抖动和丢包率。

![alt text](./qbv-withbackground.png)

为了全面测试待测设备地门控能力,可以调整Injector向网络中注入的背景流量带宽,以千兆网络为例,可以分别检查背景流量为 250 Mbps、500 Mbps、750 Mbps、1000 Mbps的情况下,关键数据包的时延抖动。

TSNPerf程序的配置参数可参考上一小节。如果待测设备功能正常,则测试结果应与**基准测试**中得到的结果一致。

### 门控精度
Expand Down Expand Up @@ -111,6 +109,10 @@ dport: 10000

Publisher向Recorder打满关键流量,Recorder处统计接收到的关键数据包的时间戳。预期每个周期(1毫秒)可以接收到两个关键数据包。

另外,还可以在不同的拓扑下,更细粒度地验证待测设备的门控精度。在下图拓扑上,以千兆以太网、1500Byte测试包为例,我们配置 DUT1 在周期的 0~16us 打开关键流量门控,DUT2 在周期的 15~31us 打开关键流量门控吗。期望,关键数据包能够不丢包地通过网络设备,并且端到端时延与门控全开时的结果一致。

![·](qbv-2hop.png)

### 带宽保障

**目的:** 测试待测交换机是否可以为关键流量预留固定的带宽
Expand Down Expand Up @@ -153,8 +155,10 @@ dport: 10000
```
如果待测交换机是存储转发(store-and-forward)模式的,则预期每个数据包的端到端时延会因包的大小而有所不同。如果待测交换机是直通转发(cut-through)模式的,则预期数据包的端到端时延抖动是很小的。

## 网络配置测试
## 超参数汇总

本节将介绍使用TSNPerf测试待测设备网络配置功能的方法。
除了上文中给的TSNPerf程序配置,还有一些参数在测试用例中经常需要根据需求改动,现将之罗列于下:

TBD
* packet-size:该参数设置了测试包的大小,用于验证待测设备转发不同数据包的能力。推荐的配置有:64 Byte(最小以太网帧长)、100 Byte、500 Byte、1000 Byte、1500 Byte等。
* 背景流量大小:该参数设置了网络中的背景流量大小,用于验证待测设备能否保障关键流量的低延迟、低抖动传输。可以根据实际网络带宽的大小,配置背景流量分别占用 0%、25%、50%、75%、100% 的网络带宽。
* 拓扑:拓扑决定了关键流量在网络中的传输路径。在不同拓扑上测试可以更加全面地验证待测设备的门控能力、门控精度。本文限于篇幅,仅使用了 一跳测试拓扑 和 两跳测试拓扑,使用者可以根据需要,改变测试拓扑。
Loading

0 comments on commit 95f68f2

Please sign in to comment.