4. 原生 ATM PVC

PVC 可用于背靠背连接或通过交换机连接的机器。在后一种情况下,必须在交换机上手动设置信元转发。

4.1. 流量工具

aread/awritebr/bw 是访问 ATM API 的简单程序。awrite 在 AAL5 PDU 中发送作为其第二个参数传递的文本字符串。aread 接收一个 AAL5 PDU 并以十六进制显示它。这两个程序还会显示相应系统调用的返回值和 errno 的当前值。

bw 在 8 kB AAL5 PDU 中发送其标准输入或包含任意数据块的流(如果数字作为其第四个参数传递)。br 接收 AAL5 PDU 并将它们写入标准输出。

areadawritebrbw 的第一个参数始终是 PVC 地址,即 ATM 接口号、VPI 和 VCI 号,元素之间用点分隔。如果接口号为零,则可以省略。例如

% awrite 1.0.42 hi

请注意,某些适配器仅支持 VPI == 0。此外,VCI 范围可能受到限制,例如 0 到 1023。接口号可以从驱动程序在启动期间打印的初始化消息中获得。atm0是接口 0,atm1是接口 1,等等。如果系统配备了真正的 ATM 适配器(例如,不仅仅是 atmtcp),则该适配器通常位于atm0.

aping 在 PVC 上接收和发送小的 AAL5 PDU。它期望它发送的消息要么被回显,要么另一侧的类似程序生成消息流。aping 如果长时间未收到消息,则报告错误。aping 通过指定 PVC 来调用,就像 aread 一样。

对于“真实”测试,您应该使用此软件包附带的 ttcp 修改版本。原始版本可在 ftp://ftp.sgi.com/sgi/src/ttcp/ 找到。已添加以下选项

-a

使用原生 ATM 而不是 UDP/TCP。地址必须是以下格式[itf.]vpi.vci对于 PVC,或对于 SVC 的有效 ATM 端系统地址。

-P num

使用 CBR 连接,峰值信元速率为num每秒信元数。默认是使用 UBR。

-C

禁用 (UDP) 校验和

示例

%a ttcp_atm -r -a -s 0.90
%b ttcp_atm -t -a -s 0.90

4.2. 直接信元访问

在设备驱动程序支持访问原始信元(``AAL0'')的适配器上,可以使用 atmdump 程序组成和接收单个信元。这是一个例子

a% sleep 10; date | ./atmdump -t 1 -c 0.51
b% ./atmdump 0.51
825079645.192480: VPI=0 VCI=51, GFC=0x0, CLP=1, Data SDU 1 (PTI 1)
   46 72 69 20 46 65 62 20 32 33 20 31 32 3a 34 37 
   3a 32 35 20 47 4d 54 20 31 39 39 36 0a 00 00 00 
   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00