久しぶりにGNS3（その38：PAgPとiperf　期待どおりにならず）

# 期待どおりの結果にならず
GNS3を用いて、PAgP（Aggregation）の効果（iperf結果により帯域が増ええること）を確認しようとしたのであるが、それ以前で破綻した時の記録である。

## まずはLinux PCを直結
![直結.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/db188d59-d905-f040-6186-0046bdf7454e.png)
GNS3アプライアンスにあった、iperf3をすぐに実行できる[ipterm](https://www.gns3.com/marketplace/appliances/ipterm)を導入し、2台のPC（もどき）を直結した。以降、右側のPCがiperf3 Server、左側のPCがiperf3 Clientである。iperf（以降、iperf3を「iperf」とする）にてUDPを実行し、パケットロスがそれほど発生しない程度の帯域を指定したときを実力値と判断（以降、同様）。本ケースでは、
```
root@ipterm-a:~# iperf3 -c 10.1.1.2 -u -b 500m -t 100

[ ID] Interval           Transfer     Bitrate         Jitter    Lost/Total Datagrams
[  5]   0.00-100.00 sec  5.82 GBytes   500 Mbits/sec  0.000 ms  0/4316269 (0%)  sender
[  5]   0.00-100.00 sec  5.76 GBytes   495 Mbits/sec  0.002 ms  46579/4316269 (1.1%)  receiver
```
500Mbps程度となった。

## L2Switchを入れる
この後のPAgPとの比較をするため、L2Switchを2つ介して、2台のPCを接続した。
![L2SWあり_1set.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/e7ba4d7c-c23f-ca16-5224-642a7997b0ca.png)
```
root@ipterm-1:~# iperf3 -c 10.1.1.2 -u -b 100m -t 100

[ ID] Interval           Transfer     Bitrate         Jitter    Lost/Total Datagrams
[  5]   0.00-100.00 sec  1.16 GBytes   100 Mbits/sec  0.000 ms  0/863255 (0%)  sender
[  5]   0.00-100.01 sec  1006 MBytes  84.4 Mbits/sec  0.032 ms  134401/863254 (16%)  receiver
```
100Mbpsを指定して、85Mbps程度の結果である。L2Switchにて、10Mbps Ethernetを指定しているが（他には、100MbpsのFast Ethernetなどの指定あり）、それ以上の速度が出ている。ただし、前述の直結のケースに比べると速度は劣る。

## L2Switch＋2セットPC
PCを2セット用意し、両者でiperfを実施すれば、速度は低下するだろうと思い、下記環境を作る。
![L2SWあり_2set.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/2ed920f8-8854-3b61-0884-88286cbf3d99.png)
左の2台のPCで100Mbps指定でiperfを実施。
```
root@ipterm-7:~# iperf3 -c 10.1.1.2 -u -b 100m -t 100

[ ID] Interval           Transfer     Bitrate         Jitter    Lost/Total Datagrams
[  5]   0.00-100.00 sec  1.16 GBytes   100 Mbits/sec  0.000 ms  0/863255 (0%)  sender
[  5]   0.00-100.01 sec   984 MBytes  82.5 Mbits/sec  0.034 ms  150781/863255 (17%)  receiver
```
```
root@ipterm-9:~# iperf3 -c 10.1.1.4 -u -b 100m -t 100

[ ID] Interval           Transfer     Bitrate         Jitter    Lost/Total Datagrams
[  5]   0.00-100.00 sec  1.16 GBytes   100 Mbits/sec  0.000 ms  0/863256 (0%)  sender
[  5]   0.00-100.01 sec  1000 MBytes  83.8 Mbits/sec  0.041 ms  139384/863254 (16%)  receiver
```
なぜか、速度はほとんど低下せず、100Mbpsで送っても、両者とも82-84Mbpsとなった。シミュレーション環境だからだろうか、、、。

とりあえず、続けることとした。

## PAgP
すでに意味がないのだが、、L2Switch間をPAgPでつなぐ（Aggregation）。
![L2SW+PAgP_1set.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/bcdb5e35-4775-7f08-d0e2-364313e84b2e.png)
PAgPの設定は下記。
```
interface Port-channel1
 switchport
!
interface Ethernet0/0
 duplex auto
 channel-group 1 mode desirable
!
interface Ethernet0/1
 duplex auto
 channel-group 1 mode desirable
```
```
#show etherchannel summary
Flags:  D - down        P - bundled in port-channel
        I - stand-alone s - suspended
        H - Hot-standby (LACP only)
        R - Layer3      S - Layer2
        U - in use      f - failed to allocate aggregator

        M - not in use, minimum links not met
        u - unsuitable for bundling
        w - waiting to be aggregated
        d - default port


Number of channel-groups in use: 1
Number of aggregators:           1

Group  Port-channel  Protocol    Ports
------+-------------+-----------+-----------------------------------------------
1      Po1(SU)         PAgP      Et0/0(P)    Et0/1(P)

#show etherchannel load-balance
EtherChannel Load-Balancing Configuration:
        src-dst-mac

EtherChannel Load-Balancing Addresses Used Per-Protocol:
Non-IP: Source XOR Destination MAC address
  IPv4: Source XOR Destination MAC address
  IPv6: Source XOR Destination MAC address
```
iperfの結果は下記。
```
root@ipterm-3:~# iperf3 -c 10.1.1.2 -u -b 100m -t 100

[ ID] Interval           Transfer     Bitrate         Jitter    Lost/Total Datagrams
[  5]   0.00-100.00 sec  1.16 GBytes   100 Mbits/sec  0.000 ms  0/863252 (0%)  sender
[  5]   0.00-100.01 sec  1.04 GBytes  89.7 Mbits/sec  0.164 ms  89033/863252 (10%)  receiver
```
100Mbps指定で、89Mbpsの結果。設定上Aggregationしていても、1台のPCから送信しているだけなので、速度が向上するわけではない。

## PAgP+2セットPC
PCセットを用いた時の話。PAgPの設定は先ほどと同じ。
![L2SW+PAgP_2set.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/6c7905c1-ee02-e79e-5b46-2ce49cf960fc.png)
結果は下記。
```
root@ipterm-11:~# iperf3 -c 10.1.1.2 -u -b 100m -t 100

[ ID] Interval           Transfer     Bitrate         Jitter    Lost/Total Datagrams
[  5]   0.00-100.00 sec  1.16 GBytes   100 Mbits/sec  0.000 ms  0/863254 (0%)  sender
[  5]   0.00-100.01 sec  1.02 GBytes  87.6 Mbits/sec  0.033 ms  107400/863254 (12%)  receiver
```
```
root@ipterm-13:~# iperf3 -c 10.1.1.4 -u -b 100m -t 100

[ ID] Interval           Transfer     Bitrate         Jitter    Lost/Total Datagrams
[  5]   0.00-100.01 sec  1.16 GBytes   100 Mbits/sec  0.000 ms  0/863218 (0%)  sender
[  5]   0.00-100.02 sec  1.03 GBytes  88.4 Mbits/sec  0.192 ms  99779/863218 (12%)  receiver
```
100Mbps指定で、87-88Mbps程度。速度的にはあまり意味がなかったか。ただし、Aggregationの効果で、通信経路は分散化されている。下記はWiresharkで取得したデータ。上がEthernet0どうしをつないだ結果、下が、Ethernet1どうしをつないだ結果である。
![eth0.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/c2a71839-0a11-705a-cb33-e2eeffd5f329.png)
![eth1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/84a29263-01e7-4217-423f-1a913853b50e.png)

## 終わりに
シミュレーション環境（GNS3）の限界か。