見出し画像

技科大祭でねっとわーくした話

この記事は, TUT Advent Calendar 2023 13日目の記事です.

昨日の記事は, てつひろさんの「ズボラドジっ子クソ大学生の一人暮らし」でした.
Amazonで売ってるラベルレス飲料, ラベルを剥がす手間なく捨てられるのでおすすめです.

はじめに

DDliaと申します. 情報・知能工学課程の学部2年生です. 去年に引き続き, TUT Advent Calendar に参加させていただきます. (去年の記事)

TUT Advent Calendar 2023 の2枚目である 裏TUT Advent Calendar 2023 及び, 3枚目の 対偶TUT Advent Calendar にも参加しております. よければそちらもごらんください.

裏TUT Advent Calendar 2023 16日目: 

対偶TUT Advent Calendar 2023 13日目:

対偶TUT Advent Calendar 2023 21日目: 

今年は, 音楽技術部(TechnoTUT) というところで構築したネットワークについて書こうと思います.

音楽技術部って何?

一言でいうと, 技科大のDJサークルです. DJが主体ではあるのですが, DJ以外にも舞台演出, 楽曲制作等の様々な活動を行っています.

興味のある方は, ホームページがありますので, そちらを見ていただければと思います. たまにコモンズでDJイベントをやっているので, ぜひご来場ください.

舞台演出基盤としてのネットワーク

DJとネットワーク, あまり関係のないようにも見えますが, 様々な偶然が重なり合い音楽技術部で重要なキーワードになりつつあります.

PRO DJ LINK

PRO DJ LINKとは, DJプレーヤーやミキサー, PCをネットワークに接続することで, 様々な機能を利用できることを指します.  
具体的には, 別筐体のDJプレーヤー同士で拍位置や曲の再生速度を自動同期したり, USBに書き出さずともPCから直接DJプレーヤーに曲を転送したりすることができます. コモンズのイベントやクラブで, DJがPCにLANケーブルを挿していたら, PRO DJ LINKを使っています. 音楽技術部の旧機材, XDJ-RX2はこの機能はなかったのですが, 現行の機材であるXDJ-XZでは, この機能が使えます.  
実際に, 技科大祭にて多くの部員に活用いただきました.

照明制御

先輩部員が自費で開発した照明装置の制御にネットワークを利用しています. 
コモンズ内に設置した照明装置はWi-FiもしくはLANケーブルで照明制御用のPCと接続されており, PCから照明装置に対して制御パケットを送ることで制御されています. 上の動画でいう, 天井のLEDライト, LEDディスプレイがこのしくみで動いています.

映像伝送

昨年の11月のコモンズイベントから, DJの背後に映像が映るような配置になりました. これは, DJの背後にスクリーンを設置しプロジェクタで投影しているのですが, ここでHDMIケーブルが届かない問題が発生します.
HDMIは最大のケーブル長が定義されておらず, 多くのケーブルは10~15m程が限界です. しかしながら, LANケーブルは最大100mで仕様が策定されている上, 光ファイバを用いることで数kmの伝送が可能です. さらに, Wi-Fiを用いれば無線にて映像伝送ができます. ネットワークを利用した映像伝送を採用することで, 自由な機材設置ができるようになりました.  
技科大祭では, ゲストVJからの映像入力以外, 全ての映像をIP伝送で行いました.

ちなみに, 準備日を含めた3日間で13.5TBほど通信したようです.  
準備日は設営ばかりでほぼ使ってないので, 1日あたり6TB+α くらいだと思います.
※単純に各ネットワーク機器のインターフェースごとの通信量を足し合わせただけなので, 多重にカウントされています.

前提知識

技科大祭のネットワークについて喋るときに必要な前提知識について簡単に紹介しておきます.
B1のICT基礎, B2の通信工学概論, B3の情報ネットワークだったりで触れられてるとは思います.

IPアドレス

簡単に言うとネットワーク上の住所です. IPv4の場合は, x.x.x.xという形式でそれぞれxを0~255の間の整数値で表現します.
郵便を送るときに 愛知県豊橋市天伯町雲雀ヶ丘...(大学の住所です) って書くと思うんですが, インターネット上でいうそれです. みなさんが日々使っているインターネットも各端末がIPアドレスを持っていて, 途中経路にあるルータくんがIPアドレスを見て愛知県はこっち, 東京都はこっちみたいに仕分けてくれてます.

スイッチ

某N天堂さんのゲーム機じゃないです. 下の写真のような, LANポートが大量についた装置です.

部室のDJ機材の下に設置している, Ciscoのスイッチ

こんな感じで下にPCをぶら下げてやると, PC同士で通信ができるようになります.

L2とかL3とかはとりあえず今回は使わないのでまた今度. (OSI参照モデルの話です) 

OSI参照モデルは7階層, TCP/IPは4階層, スキンケアしてる女子の肌は10階層以上あるらしい.

VLAN

Virtual LANの略. 雑に言うと上で説明したスイッチを仮想的にぶった斬れます. 一般的にはVLANを切るとか言ったりします.  
VLANを切れないスイッチだと, 新たにネットワークを作るたびに新たなスイッチを買って持ってくる, みたいなことをしないといけないんですが, VLANの切れるスイッチだとなんと1台だけで設定を変えるだけでできてしまいます. (下図参照, これをポートベースVLANと呼んだりする)


ポートベースVLAN

ポートベースVLANの他に, タグVLANというのもあって, スイッチ間を接続する際にポートベースVLANだけで繋ごうとすると, VLANの数だけケーブルが必要になってしまうのですが, タグVLANを使ってスイッチ同士を繋いでいるポートをトランクポートに設定すると, 複数VLANの通信を1本のケーブルに流すことができます.


タグVLAN

NDI

VJ界隈だと割と有名らしいのですが, NDIを使うと映像をネットワークで飛ばすことができます.  
Resolume AvenueというVJソフトウェアや, 配信ソフトウェアのOBSにプラグインを入れることで使うことができ, 非常に低遅延で高精細な映像を転送することができます.  
いつだったかにいちど検証をしたんですが, 大体100ミリ秒くらいの遅延で送ることができます. なお, 使う際には同じVLAN(=ネットワーク)である必要があります. あと, マルチキャストを使うのでそこらへんの設定も必要です.

NDI

音楽技術部のネットワーク

DJ

DJによるネットワーク利用は, 先程も挙げた通りPRO DJ LINKが主なのですが, 外に持っていく時に簡単に扱えるように1台のスイッチ単体で稼働できるようにしています.
11月の頭に静岡県の磐田駅前で行った, おそクラというイベントでもスイッチ1台を切り離して持ち込んで, PRO DJ LINK環境を整備していました.  

使っているものが, Cisco製のCatalyst 2960 Plus 24TC-Lという機種なのですが, 右側の2ポート以外の24ポートがFastEthernet(100Mbps)で映像を捌く用途には向いてないのでDJ用として使っています.  
DJ機器は最新のDJプレーヤーであるCDJ-3000以外はFastEthernetなので特に問題はありません. サークルにCDJ-3000が導入されたら考え直す必要がありますが... (お待ちしております)

スイッチに貼っているのは音楽技術部のロゴステッカーと神田明神のIT情報安全守護(お守り)です.  

業務用スイッチでPRO DJ LINKを扱う際には, ちょっと設定を弄る必要があるので一応書き残しておきます. 誰かしらの役に立てば幸いです. 役に立たない場合は読み飛ばしてください.  
Cisco IOS での設定例ですが, 同様の設定でAllied TelesisのAT-xシリーズ等のスイッチも動作すると思います. (未確認)

! 特権EXECモードに入って, グローバルコンフィギュレーションモードに入る
Switch> enable
Switch# configure terminal
!
! ユーザー名・パスワードの設定
! ユーザ名: hogehoge, パスワード: hugahuga に設定
! secret ではなく, passwordを指定すると平文で保存されるので注意
Switch(config)# username hogehoge secret hugahuga 
!
! 特権EXECモードに入るときのパスワードを huga に設定
Switch(config)# enable secret huga
!
! ローカル認証・SSHの設定
Switch(config)# line vty 0 4
Switch(config-line)# login local
Switch(config-line)# transport input ssh
Switch(config-line)# exit
!
! ホスト名・ドメイン名の設定
Switch(config)# hostname TTUT_DJ_SW
TTUT_DJ_SW(config)# ip domain-name intra.technotut.net
!
! RSA暗号鍵の生成
! 鍵長を求められるので 2048 と指定する
TTUT_DJ_SW(config)# crypto key generate rsa
!
! SSHのバージョンを2に設定
TTUT_DJ_SW(config)# ip ssh version 2
!
! VLANの作成
TTUT_DJ_SW(config)# vlan 10
TTUT_DJ_SW(config-vlan)# name dj
TTUT_DJ_SW(config-vlan)# exit
!
! ポートへのVLANの割当
! interface rangeコマンドで一括選択して設定を変更します
! STP(spanning tree protocol)もエッジポートに指定しておきます. 
! 有効になっているとリンクまでに時間がかかるのと, 
! DJ機器がDHCPでIPアドレスを拾わずにAPIPAで勝手にIPアドレスを割り当ててしまいます.
TTUT_DJ_SW(config)# interface range Fa 0/1-24
TTUT_DJ_SW(config-if-range)# switchport mode access
TTUT_DJ_SW(config-if-range)# switchport access vlan 10
TTUT_DJ_SW(config-if-range)# spanning-tree portfast edge
TTUT_DJ_SW(config-if-range)# no shutdown
TTUT_DJ_SW(config-if-range)# exit
! 右2つのGigaEthernetポートはどちらもトランクに設定しておきます.
TTUT_DJ_SW(config)# interface range Gi 0/1-2
TTUT_DJ_SW(config-if-range)# switchport mode trunk
TTUT_DJ_SW(config-if-range)# no shutdown
TTUT_DJ_SW(config-if-range)# exit
!
! SVIにIPアドレスを設定
TTUT_DJ_SW(config)# interface vlan10
TTUT_DJ_SW(config-if)# ip address 192.168.10.2 255.255.255.0
TTUT_DJ_SW(config-if)# no shutdown
TTUT_DJ_SW(config-if)# exit
!
! PRO DJ LINKはマルチキャストを使っているようなので, IGMPスヌーピングクエリアも有効にしておきます.
TTUT_DJ_SW(config)# ip igmp snooping querier
!
! 設定保存
TTUT_DJ_SW(config)# write memory

VJ・LED

VJ周辺は結構複雑になっていて, 簡単に書くと下の図のようになっています.  
黒線がLANケーブル, 緑矢印がHDMIケーブル, 青矢印がNDI信号を表しています.

まず左下, ここはVJブースなのですが, "なんちゃってVJミキサー" を導入しています. これは, 適当なPCにOBSを入れて, シーンを変えることでVJの出力映像を切ることなく転換できるようにする, というものです.  
部内のVJさんからは, ミキサーにNDIで映像を出力してもらって, ゲストのVJさんからはキャプチャーボードにHDMIで映像を出力してもらうことでPCに映像を取り込み, それをOBS側で選んで最終的な出力をプロジェクタや, LEDディスプレイに送るといったことをやっていました.  

お次は真ん中, LED制御のPCでは, VJミキサーからNDIでVJ映像を受け取り, 先輩が制作したLED制御ソフトウェアでいい感じに処理されてから各種照明装置にパケットが飛んでいきます.  
ただし, LED制御のPCがVJのVLANに所属しているのに対し, 各種照明装置は別のLEDのVLANに所属しており, そのままだと異なるネットワークなので通信できません. そこで, ルータにVLAN間でのルーティングをしてもらうことで, 異なるネットワークであっても通信できるようになっています.  

右下のカメラは, 何かというと, LED制御の"目"の役割をしています. 配置的な問題で, LED制御ブースの目の前が暗幕で何も見えないのですが, カメラを通して遠隔でフロア及びDJブースを見ることで照明演出ができるようにしています.  

ここでもNDIを使っていて, 余っているスマートフォンにNDI HX Cameraを入れて使っていました. 

神棚

この装置たちは, コモンズに入ってすぐの場所に展示していました. ルータ, サーバ, L3スイッチが載っています. 
普通にスルーされるかな~と思ってたんですが, 意外と来てくださった皆さんに面白がって見ていただけました. よかった.  

ルータがNEC製のUNIVERGE IX3110という機種 (希望小売価格 税別798,000円!!) なのですが, これがDHCPサーバになっていて, 各VLANに接続された各機器にIPアドレスを払い出しています.  
VLAN間のルーティングもやっていて, 前述のとおりLEDの制御PCがVJ映像をNDIで受け取るためにVJのVLANに接続されているので、LED基板が接続されてるVLANにLEDの制御パケットを転送してくれています.  
このルータは, なんと有難いことに卒業生の方から頂きました. 本当にありがとうございます. 

ルータの上に載ってるのはAllied Telesis(アライドテレシスと読みます)のAT-x600-48Tsという48ポートのL3スイッチです. L3スイッチなのでルーティングもできるんですが, そこらへんはぜんぶルータがやってくれているのでただのL2スイッチとしてしか動いてないです.  
このスイッチには8800rpmくらいで回転する冷却ファンが4台搭載されているのもあって, 今にも離陸しそうなくらいうるさいです. (L3スイッチはどの機種もうるさい)  
春くらいに部室で動かしてたら流石に気になると言われました.  
ここらへんで音楽技術部っぽいこと(?)を言っておくと, ファンの音はF#です. G線上のアリアの一番最初と同じ音.  

下段に載っているのはNEC Mateで, このときはAlma LinuxというRed Hat系のOSを入れてサーバとして使っていました. (今はOracle Linux上でk3sが動いています, このあたりは 同じ日の対偶の記事 をご覧ください)
ネットワーク機器をsnmpで監視して, それをGrafanaでグラフにしたり, BINDを入れて内向きのDNSサーバにしたりしています. あとは, Beat Link TriggerというPRO DJ LINKを使ってDJ機器の波形を読み取るソフトウェアなんかも動いていて, VJさんだったり照明班に, DJが見ている曲の波形情報を提供しています.  (VJさんが「次の曲何かな~」とDJ機器の画面を覗きに行く必要がなくて, 手元で見ることができます!)

スイッチの上に載っているものは, 情報処理推進機構のn番煎じです.

自治体テレワークシステム for LGWAN

ちなみに, 研究でも有効らしい.

おわりに

いかがでしたか? 今年の技科大祭は, 昨年からVJや照明が大幅に強化されたものになったと思います.  

ただし, 準備がかなり大変で, 特に4, 5台のPCを起動して使える状態にするまでの作業が割と面倒なので, 将来的にそこらを自動化したいと考えています. すべてWindowsを捨ててUbuntuに以降したので, シェルスクリプトか何か書いてcronで起動時に実行するようにしておけばできんのかな...(しらんけど)  

明日の記事は, Metaenaさんの「私が2023年訪れたコンセプトカフェ・メイドカフェ」です. お楽しみに!!


おまけ

機材好きな方々のために使っている機材を書いておきます.

ルータ

NEC UNIVERGE IX3110

CIsco 891FJ

L3スイッチ

Allied Telesis AT-x600-48Ts

L2スイッチ

Cisco Catalyst 2960 Plus 24TC-L

Allied Telesis AT-x210-24GT

Allied Telesis GS924M V2 (2台)

Wi-Fi アクセスポイント

Cisco Aironet 2700

TP-Link Archer A10

この記事が気に入ったらサポートをしてみませんか?