Purpose
Содержание:
Экономная схема построения QinQ
В статье Q-in-Q настройка в Cisco Catalyst 3750 я описывал схему построения туннеля 802.1q с использованием целых 4-х коммутаторов класом никак не ниже Cisco Catalyst 35XX серии. Не всегда приходится строить такие схемы для подключения сразу 10-ти и более бизнес клиентов. Иногда приходится строить тунель для 2-х, максимум 3-х клиентов с неясными перспективами на подключение новых клиентов. Поэтому приходится экономить, и тут можно съэкономить кардинально, убрав из этой классической схемы 2 свитча. Схема упростится за счет того, что мы с тегируемого порта свича, поставим кабель идущий в порт, находящийся в режиме dot1q-tunnel. Таким образом мы соорудим так называемый QinQ Loop. Схема коммутации будет выглядеть так:
По данной схеме: Сервер подключен к первому порту Switch1, Gi1/0/1. Он находится в режиме транка и на нем разрешены вланы 11, 12,13, которые терменируются на сервере. Второй порт Gi1/0/2 находится в режиме транка и на него приходят все вланы выше перечисленные вланы. Он нужен для того что бы подать на третий порт Gi1/0/3 пакеты которые будут упакованы в dot1q-tunnel. Порт Gi1/0/3 соответственно находится в режиме QinQ и упаковывает все во влан 10. Как видно из схемы между этими портами просто стоит кабель эзернет. Обычная витая пара. Влан 10 через порт Gi1/0/28 через транспортную сеть подает пакеты в свитч Switch 2.
Настройки перечисленных портов Switch1.
Порт Gi1/0/1:
interface GigabitEthernet11 description Server switchport trunk encapsulation dot1q switchport trunk allowed vlan 11-13 switchport mode trunk duplex full |
Порт Gi1/0/2:
interface GigabitEthernet12 description QinQLoopTrunk switchport trunk encapsulation dot1q switchport trunk allowed vlan 11-13 switchport mode trunk duplex full |
Порт Gi1/0/3:
interface GigabitEthernet13 description Q-IN-Q switchport access vlan 10 switchport mode dot1q-tunnel switchport nonegotiate no mdix auto no cdp enable spanning-tree bpdufilter enable spanning-tree bpduguard enable ! |
Порт Gi1/0/28
interface GigabitEthernet128 description ToSwitch2ViaTransport switchport trunk encapsulation dot1q switchport trunk allowed vlan 10 switchport mode trunk ! |
На коммутаторе Switch2 вся конфигурация повторяется, за исключением того, что порта сервера не будет, зато будет 2 порта клиентов в режиме access. Итого конфигурация портов на Switch2 будет такая:
Порт Gi1/0/2 транк порт для QinQ Loop:
interface GigabitEthernet12 description QinQLoopTrunk switchport trunk encapsulation dot1q switchport trunk allowed vlan 11-13 switchport mode trunk duplex full |
Порт Gi1/0/3 QinQшный порт на Switch2:
interface GigabitEthernet13 description Q-IN-Q switchport access vlan 10 switchport mode dot1q-tunnel switchport nonegotiate no mdix auto no cdp enable spanning-tree bpdufilter enable spanning-tree bpduguard enable ! |
Gi1/0/28, порт с которого поступает трафик через транспортную сеть:
interface GigabitEthernet128 description ToSwitch1ViaTransport switchport trunk encapsulation dot1q switchport trunk allowed vlan 10 switchport mode trunk ! |
Настройка этих портов пока идентична настройке таких же портов на Switch1.
А теперь того, чего нет на Switch1, настройка клиентских портов:
Gi1/0/4 — первый клиент:
interface GigabitEthernet14 description 'First' switchport access vlan 11 switchport mode access ! |
Gi1/0/5 — второй клиент:
interface GigabitEthernet15 description 'Second' switchport access vlan 12 switchport mode access ! |
Gi1/0/6 — третий клиент:
interface GigabitEthernet16 description 'Therd' switchport access vlan 13 switchport mode access ! |
На этом все. Настройки работают. Проверенно.
Filed in Cisco, Net | hilik
Configuration
All VMs and DUTs have management IP addresses on the network 128.89.91.0/24, with physical connection via wasabi and/or naboo. This IP network is not used for any test traffic.
VM hosts
host | DNS | IP |
azzalle | azzalle.gpolab.bbn.com | 128.89.91.9 |
gotland | gotland.gpolab.bbn.com | 128.89.91.10 |
lagnace | lagnace.gpolab.bbn.com | 128.89.91.11 |
skaldia | skaldia.gpolab.bbn.com | 128.89.91.12 |
Vm host’s test network IP addresses and physical interfaces on Naboo.
host | IP | — NIC on naboo |
azzalle | 10.20.1.9 | naboo (2nd NIC on left card) |
gotland | 10.20.1.10 | naboo (3rd NIC on left card) |
lagnace | 10.20.1.11 | naboo (4th NIC on left card) |
skaldia | 10.20.1.12 | :naboo (the top NIC on the second card) |
DUT’s Port and VLAN Assignments
It is advantageous to use the same port assignments for each DUT to ensure consistency and prevent confusion. Each DUT will have the same port assignment as shown below. This configuration allows for a single configuration to accommodate all planned testing without reconfiguration between tests.
Port | Note |
1 | QinQ Port |
2 | management port |
3 | extra management port reserved for direct connection |
4 | host port |
5 | cvlan trunk — to port 6 |
6 | svlan access — to port 5 |
7 | cvlan trunk — to port 8 |
8 | svlan access — to port 7 |
9 | Not used |
10 | host port |
11 | host port |
12 | host port |
13 | cvlan trunk — to port 14 |
14 | svlan access — to port 13 |
15 | host port |
16 | Not used |
Management IP Addresses
switch | IP subnet | VLAN | management port | wasabi’s port |
poblano | 128.89.91.6/25 | 900 | 2 | gi0/2 |
habanero | 128.89.91.7/25 | 900 | 2 | gi0/3 |
basil | 128.89.91.8/25 | 900 | 2 | gi0/4 |
This section outlines the various tests to perform on a DUT as well as between DUTs.
Как загрузить и опубликовать видео на Инстаграм ТВ
Чтобы опубликовать видео, заходим на вкладку нашего канала и жмём «Загрузить видео» (для первого видео, кнопка будет располагаться посередине).
Затем, выбираем из своей галереи какое видео мы хотим «Опубликовать».
Выбрав видео, нам останется сделать название, описание ролика и выбрать обложку.
Выбрать обложку можно из кадров самого видео или загрузить произвольную с телефона.
Выполнив все настройки жмём Опубликовать. Видео перейдёт в стадию загрузки.
После завершения загрузки оно будет отображаться при переходе на ваш канал на ИГТВ, а также в профиле в разделе закреплённых историй, перед ними и выделенное соответствующим образом.
У каждого видео есть статистика по просмотрам, лайкам и комментариям. Скорее всего в будущем раздел статистики расширится.
Принцип Инстаграм ТВ основан на рекомендованном контенте. Таким образом, если ваш ролик нравится людям вы не будете ограничены своей аудиторией, а сразу можете получить множество просмотров и новых подписчиков.
Идеи для видео в Инстаграм
Integration Tests
QinQ between DUTs
Purpose
Verify that hosts in the same VLAN on opposite sides of a QinQ tunnel can communicate.
Method
Ping between hosts in the same tunneled VLAN.
MTU’s in QinQ
Purpose
For QinQ to work efficiently, the ports trunking QinQ frames must accept allow for a frame size of 1526. A particular vendor’s switch will require correct MTU configuration to prevent fragmentation.
According to 802.3ac frame size was increased to 1522 to allow a 1500 Byte MTU for VLAN tags. QinQ Trunks would require an MTU of 1504.
This ignores other MTU modification requirements such as:
- MPLS VPN pass-through (two 4-byte labels)
- Various Frame in Frame tunneling schemes (18 Bytes to 50 Bytes)
Method
ping 10.20.1.11 -M do -s "$((1500-20-8))" -c 1 > MTU_validation.txt
- -M do: (return error if ping packet would fragment)
- -s packetsize: size of payload:
- 1500 = desired MTU
- 20 = IP header size (would be IN the frame’s MTU)
- 8 = ICMP header size (would be IN the frame’s MTU)
VLAN and QinQ VLAN on Same Port
Purpose
If this was feasible for two DUTs this test verifies that the hosts in this VLAN on separate DUTs can communicate.
Method
Simply ping between hosts in the same customer VLAN going out of the service port.
Latency: VLAN vs QinQ
Purpose
This test compares the best-case Round Trip latency of two hosts using a standard VLAN trunk and then a QinQ VLAN trunk.
VLAN Latency
QINQ Latency
As this test relies on end-to-end host connectivity over a QinQ tunnel, the setup is the same as «the test QinQ between DUTs». This diagram is included again here for completeness.
Method
This will be accomplished by using ping to report the round trip latency over 10 seconds. This test will ping the corresponding host once to «primes the queue» to prevent the ARP request from the first ping skewing the max, average and mdev values.
ping 10.20.1.11 -c 1; ping 10.20.1.11 -c 10 | tee aFile.txt
QinQ Traffic Simulations
Purpose
This test will involve inter-VLAN traffic tunneled across a QinQ Tunnel.
Method
TCP
TCP streams allow for max throughput simulations.
iperf -c 10.20.1.11 -i 60 -t $(("60*60*8"))>aFile.txt & server: iperf -s -i 60 > aFile.txt &
UDP
As UDP doesn’t have an ACK mechanism it is necessary to «prime the queue» to prevent the server from dropping any traffic due to fast-sender issues. This is necessary as iperf UDP server would see large amounts of dropped traffic until the ARP request resolved.
client: ping -c 1 10.20.1.11; iperf -c 10.20.1.11 -u -i 1 -b 50M | tee aFile.txt server: iperf -s -u -i 1 | tee aFile.txt
Cisco
Configuration
basil#show running-config Building configuration... Current configuration : 2772 bytes ! version 12.2 no service pad service timestamps debug uptime service timestamps log uptime no service password-encryption ! hostname basil ! enable secret 5 $1$m1O6$lT/GyoO4dZOw0bvD9j/wH/ enable password operator ! no aaa new-model system mtu routing 1500 ip subnet-zero ! vtp mode transparent ! no file verify auto ! spanning-tree mode pvst spanning-tree extend system-id no spanning-tree vlan 1,128,667-668,900,3702-3704 ! ! ! vlan internal allocation policy ascending ! vlan 128,667-668,900,3702-3704 ! ! interface FastEthernet1/0/1 ! interface FastEthernet1/0/2 switchport access vlan 900 switchport mode access ! interface FastEthernet1/0/3 switchport access vlan 900 switchport mode access ! interface FastEthernet1/0/4 switchport access vlan 128 switchport mode access ! interface FastEthernet1/0/5 switchport trunk encapsulation dot1q switchport trunk allowed vlan 3702,3704 switchport mode trunk switchport nonegotiate ! interface FastEthernet1/0/6 switchport access vlan 667 switchport mode dot1q-tunnel no cdp enable ! interface FastEthernet1/0/7 switchport trunk encapsulation dot1q switchport trunk allowed vlan 3703 switchport mode trunk switchport nonegotiate ! interface FastEthernet1/0/8 switchport access vlan 668 switchport mode dot1q-tunnel no cdp enable ! interface FastEthernet1/0/9 ! interface FastEthernet1/0/10 switchport access vlan 3704 switchport mode access ! interface FastEthernet1/0/11 switchport access vlan 3702 switchport mode access ! interface FastEthernet1/0/12 switchport access vlan 3703 switchport mode access ! interface FastEthernet1/0/13 switchport trunk encapsulation dot1q switchport trunk allowed vlan 667 switchport mode trunk switchport nonegotiate ! interface FastEthernet1/0/14 switchport access vlan 667 switchport mode dot1q-tunnel no cdp enable ! interface FastEthernet1/0/15 switchport access vlan 667 switchport mode access ! interface FastEthernet1/0/16 ! interface FastEthernet1/0/17 ! interface FastEthernet1/0/18 ! interface FastEthernet1/0/19 ! interface FastEthernet1/0/20 ! interface FastEthernet1/0/21 ! interface FastEthernet1/0/22 ! interface FastEthernet1/0/23 ! interface FastEthernet1/0/24 ! interface GigabitEthernet1/0/1 ! interface GigabitEthernet1/0/2 ! interface GigabitEthernet1/1/1 switchport trunk allowed vlan 128,667,668 switchport mode trunk switchport nonegotiate switchport trunk dot1q ethertype 88A8 speed auto 1000 no cdp enable ! interface GigabitEthernet1/1/2 speed auto 1000 ! interface Vlan1 no ip address ! interface Vlan900 ip address 128.89.91.8 255.255.255.128 ! ip classless ip http server ! ! ! ! ! control-plane ! ! line con 0 exec-timeout 0 0 line vty 0 4 password operator login line vty 5 15 password operator login ! end
Unit Tests
These tests are performed on a single DUT.
QinQ Tagging
Purpose
Verify that a given DUT’s QinQ port sends double-tagged QinQ frames in the expected format. For switches to understand that the trunking mechanism is a QinQ VLAN trunk the Ethernet’s Header must contain the appropriate QinQ header field type indication (0x88a8).
Method
Verify frames originating from the test host are tagged as appropriate using the Wireshark host.
- HP: cvlans and svlans are used to distinguish port type. svlan trunk (QinQ) ports use the 0x88a8 value.
- NEC: configures a QinQ trunk-port explicitly with the setting «switch dot1q ethertype 88a8» for a given port.
- CISCO: The access port for the QinQ portion needs configured for QinQ, the QinQ trunk (ES) port is configured with 0x88a8.
QinQ with OpenFlow
Purpose
Verify that QinQ can operate within an OpenFlow enabled switch. This test verifies that a DUT can be configured to control QinQ VLANS while running the OpenFlow software. OpenFlow will not be configured to perform any flow-based traffic shaping.
Method
Enable OpenFlow and perform all experiments.
QinQ Tag Exclusivity
Purpose
This test insures that the customer VLAN ID and service VLAN ID ranges are mutually exclusive.
Method
The DUT is configured with service VLAN 667 used for QinQ as well as a customer VLAN 667. If successful the Wireshark host should see a frame with outer tag ID 667 as well as inner tag 667.
VLAN and QinQ VLAN on Same Port
Purpose
This test explores the behavior of allowing a normal VLAN trunk and a service VLAN (QinQ) trunk to be allowed on the same port.
Method
- VLAN 128 is a customer VLAN going out of port 1.
- Service VLAN 667 tunneling customer VLAN 3702 will also be trunked on port 1.
- Use wireshark to verify the appropriate frames are tagged for VLAN 128 or QinQ-tagged with outer VLAN 667 and inner VLAN 3702.
Что снимают для IGTV бренды, СМИ и блогеры
Как продвигать Инстаграм компании — блог Амплифера
Пока в раздел «Популярное» IGTV попадают странные видео. Например, один из первых успешных кейсов — ролик Netflix, в котором американский актёр Коул Спроус на протяжении часа ест бургер, видео набрало около 1 млн просмотров. В то же время есть интересные и понятные кейсы, которые можно адаптировать под себя. Посмотрим, что снимают для IGTV СМИ, блогеры и бренды.
СМИ
Пожалуй, проще всех под новый формат адаптировались мировые издания, которые и так снимают видеосюжеты. Например, The Economist публикует короткие фильмы, посвящённые важным проблемам. Видео об экологическом туризме набрало более 1 млн просмотров:
ВВС News публикует в IGTV новости и человеческие истории. Например, репортаж о спасении детей из тайской пещеры набрал более 50 тысяч просмотров
Блогеры
Как продвигаться в «Историях» Инстаграма — гид Амплифера
1968.digital_russia — первый документальный сериал для мобильного телефона. Проект рассказывает о важных для мировой истории событиях, произошедших в 1968-м году. Сериал называют «мобильным» не только из-за вертикальной ориентации видео, сценарий полностью адаптирован под соцсети. Например, в серии «Гагарин против Луны» космонавты переписываются в Телеграме, а кадры с Нилом Армстронгом на Луне выглядят как «Истории». Потрясающий проект!
Блогер Карина Каспарянц снимает ролики в жанре байки. Например, в одной из серий девушка рассказывает, как фанатела по Джастину Биберу, видео набрало почти 100 тысяч просмотров. Такой формат подойдёт практически любому человеку, рассказывайте о своём опыте в бизнесе, делитесь интересными историями из жизни.
Бренды
Интересный вариант использования IGTV придумало агентство BBDO New York по заказу Bacardi. Вместе с танцором Les Twins они сняли клип «под диктовку фанатов». Сначала в «Историях» @officiallestwins пользователей спрашивали, где снимать клип, какую музыку выбрать, как должен двигаться артист. Готовый клип, снятый по результат голосования, опубликовали в IGTV.
«Билайн» — один из первых российских брендов, попробовавший новую платформу, компания запустила канал в день анонса сервиса. Сейчас в @beelinerus публикуют забавные видео о продуктах и используют ситуативный маркетинг.
NECHP
MTU’s in QinQ
QinQ between NEC and HP can transmit an MTU of 1500 without fragmentation.
Results:
ping 10.20.1.11 -M do -s "$((1500-20-8))" -c 1 > MTU_validation.txt 1480 bytes from 10.20.1.11: icmp_seq=1 ttl=64 time=0.434 ms
while adding 1 byte gave:
ping 10.20.1.11 -M do -s "$((1500-20-8+1))" -c 1 From 10.20.1.9 icmp_seq=1 Frag needed and DF set (mtu = 1500)
NOTE
Poblano’s configuration in this report shows a QinQ MTU of 1508 anddLAN Trunk MTU of 1504; this was due to an earlier configuration. Setting only the QinQ trunk to 1504 and leaving the dot-1q trunks as 1500 is the expected configuration.
See the NEC IP8800 Manual: Configuration Settings, Vol. 3, section 1.4.3 for more information.
VLAN and QinQ VLAN on Same Port
After configuring both the NEC’s and HP’s VLAN 128 to be a service VLAN (as outlined in the Unit test sections) end-to-end communication was possible.
Latency: VLAN vs QinQ
Ping across the tested ports. The first «ping -c 1» «primes the queue» to prevent the ARP
request from the first ping skewing the max, average and mdev values.
ping 10.20.1.11 -c 1; ping 10.20.1.11 -c 10 | tee aFile.txt
VLAN Trunk Only
--- 10.20.1.11 ping statistics --- 10 packets transmitted, 10 received, 0% packet loss, time 9066ms rtt min/avg/max/mdev = 0.192/0.239/0.315/0.036 ms
QinQ Trunk
--- 10.20.1.11 ping statistics --- 10 packets transmitted, 10 received, 0% packet loss, time 9072ms rtt min/avg/max/mdev = 0.196/0.244/0.284/0.038 ms
With all the extra hops for QinQ, an added RTL of 0.244-0.239=0.005ms seems more than reasonable. Given the short length of cabling this is a close approximation to «switching delay». Again, this was an Ideal baseline; there was no other traffic on the link for this baseline measurement.
QinQ Traffic Simulations
TCP
Naboo’s VM hosts were capping out at ~430 Mbps for TCP traffic (+/- 7Mbps based on quick scanning of my iperf log files per 10sec over 10 minutes). This is a limitation of Naboo (VM server) and is not a limitation of any DUTs. This was with only 1 pair communicating — full 1Gb capacity was available. Testing both pairs over QinQ still resulted in transmission of ~430Mbps per pair (logged every minute over 8 hours). I noticed no downward performance trend — but again I am currently eyeballing. With two end-to-end pairs, we’re still under the max capacity of the link.
iperf -c 10.20.1.11 -i 60 -t $(("60*60*8"))>file.txt &
UDP
UDP testing revealed minimal packet-loss and jitter was 0.023 ms ± 0.002ms.
ping -c 1 10.20.1.11; iperf -c 10.20.1.11 -u -i 1 -b 50M