ネットワークの最近のブログ記事

車載 WiFi スポット

| コメント(0) | トラックバック(0) |

Amazon music や YouTube が車でも使えたらな・・・

あ、そうだ、車内で Amazon Fire TV を使えるようにしよう。

と思い立ったのが今年4月の出来事。

Amazon Fire TV を車載し、使えるようにした。

Amazon Fire TV を使うには、インターネット接続が当然だが必要となる。しかも、VoD サービスなどストリーミングを利用するにはある程度の安定性が求められる。したがって、移動している環境下でいかに高速に安定して通信できるが課題となる。

そんな課題を解決するために、LTE を上流とする WiFi アクセスポイントを自動車に設置し、車載 WiFi スポットを構築した。

実は、構築したのは 5 月の話である。なぜ今さら掘り起こして書いているかというと、2019年7月12日 NTT docomo が docomo In Car Connect というサービスを新たに提供するというプレスリリースを出したためである。

https://www.nttdocomo.co.jp/info/news_release/2019/07/12_00.html

このサービスが、本記事で紹介する車載ネットワークの機能と似ており、もう少し早く発表されていれば こっちのサービスにしたのにな、と若干惜しい思いがあったので、急遽書いてみることとした。

なお、本記事は分解改造を伴う解説しています。もし同じことをされる場合は、自己責任でお願いします。

いつパケットロスしたのかを判別したい人向け。

Linux, BSD

Linux, BSD に入っているping (iputilsとか) は、オプション指定なしでpingを打ち続ける。ロスした場合は、何も表示されず icmp_seq がロスしたパケット数分だけ表示が飛ぶ。

時刻を付ける方法は色々あり、基本はパイプで処理すればいい。

Perl版
$ ping 8.8.8.8 | perl -ne 'print scalar(localtime), " ", $_'
$ ping 8.8.8.8 | perl -MPOSIX -ne 'print strftime("%c ", localtime), $_'

シェル版、その1(簡易版、とりあえず出ればOKの人向け)
$ ping 8.8.8.8 | while read line; do echo `date` $line; done

シェル版、その2(Ctrl-C, Ctrl-\, Ctrl-Tなどで統計を表示できるようにする)
$ ping 8.8.8.8 | (trap : INT QUIT; while read line; do echo `date` $line; done)

シェル版、その3(関数して登録する)
$ pingt () {
> ping $@ | while read line; do echo `date` $line; done
> }
$ pingt 8.8.8.8

Windows

Windows 標準の ping は4回で自動停止する。オプション -t をつけると無限になる。ロスした場合は、タイムアウトしたことを示す結果が表示される。

時刻付加は、perl などをインストールすれば Linux版と同じように時刻を付加できる。結果から先に言うと標準の ping コマンドを使用せずにサードパーティ製の ping ツールを使う方が楽にできる。

なお、標準の ping には、タイムスタンプを表示する機能が備わっている
> ping -s 4 1.1.1.1
オプション -s には、1から4の間でホップ数を設定する。すると途中経路にあるノードがタイムスタンプを付加してくれる。

しかし、この機能は IP に実装されているオプションヘッダを使用しているため、この機能が実装されいないノードの場合は正しく表示されない。また、宛先ノードが ping リプライ時にオプションヘッダを取り外すことがある(Windows や Linuxに対しては機能しないことを確認した)。さらに、タイムスタンプ自体が醜いのであまりお勧めできない使い方である。

VMware ESXi

ESXi は、vmkping が標準でインストールされている。デフォルトでは、3回送信して終了する。無制限にするオプションはなく、オプション -c で回数を増やすことで代用できる。出力は、Linux と同じだが、icmp_seq が 0 から始まる点が異なる(Linux は 1 から)。

色々やった結果を述べると、時刻付加は不可能。Linux版と同様のコマンドを適用できるが、vmkping はパイプを使用すると出力をバッファリングする仕様になっているようで、すべての行に同じ時刻が付加されてしまう。また、Ctrl-C で中断した場合は、何も表示されず終了する。終了時刻と icmp_seq から逆算するしかない。

参考

IPv6 はじめました

| コメント(0) | トラックバック(0) |

World IPv6 Dayから遅れること2ヶ月半、ようやくサーバ群をIPv6に対応させました。

現在、https://www.letstryit.net/ は、IPv4とIPv6のデュアルスタックで運用しています。http://ipv6.letstryit.net/ に接続することで、IPv6で接続することができます。画像などは、URLが https://www.letstryit.net/ から始まっているので、うまく表示できないかもしれません。

DTIのFeel6を使ってIPv6接続をしています。IPv6のトンネルをルータであるIX2015で作り、DTCPの認証をCentOSで行うことで接続しています。まだ、いまいち安定していなく、接続が切れることがあります。ご了承ください。

今後ともLet's Try It!をよろしくお願いします。

はじめに

NTT西日本 フレッツ・光ネクストでは、トンネル方式とネイティブ方式でIPv6を利用した通信を行えるようになっています。

トンネル方式は、従来と同じようにプロバイダと自宅ネットワークにトンネルを形成し、ISPからIPv6を自動的に割り当てる方式です。この方式では、IDとパスワードを利用してユーザ認証を行います。トンネルを作成するために、専用の通信機器をレンタルするか、IPv6 PPPoE対応ルータを用意し、その機器を通して通信することになります。

ネイティブ方式は、ユーザ認証を必要とせず、フレッツ網からIPv6アドレスを直接割り当てる方式です。ユーザの識別は、契約している回線を利用して行います。

プロバイダは、最低でも1つの方式に対応しています。ユーザは、一方の通信方式を選択してIPv6の通信を行うことができます。ただし、IPv6に対応していないプロバイダが多く存在するので、その場合はプロバイダを乗り換えるか対応を待つ必要があります。

今回は、プロバイダがネイティブ方式のみ対応していたので、従来のIPv4の方式と比較しながらネイティブ方式の利用方法や技術的な情報をまとめます。

表記について明記しない限り、Windowsは、Windows XP、Windows Vista、Windows 7、Windows Server 2003、Windows Server 2008、Windows Server 2008 R2を指し、Linuxは、Fedora 14、Fedora 15を指します。

2011年10月1日(土)に、NTT西日本の光ネクスト ファミリー・ハイスピードに品目変更を行いました。目的は、200MbpsとIPv6。

8月下旬にインターネットから申し込んで、9月上旬にコンサルティングの電話、そして10月1日に工事を行いました。時間が掛かった理由は、付近の道路が狭いため事前の通告が必要になったためです。

変化点

光プレミアムからの品目変更で変わった点を書きます。

まず、CTUが不要になり、ONUだけになりました。ポートが、4つから1つになりました。ルータを複数繋ぐので、ギガビットハブを用意しました。

次に、回線速度が100Mbpsから200Mbpsになりました。そのため、ギガビットルータが必要になります。以前に購入したNECの無線ルータがギガビット対応なので、そのまま利用しました。

セッション数が、5から2になりました。2つのプロバイダで埋まってしまうことになるので、セッションプラスでセッション数を3にしました。

IPv6が利用可能になりました。IPv6対応のルータが必要になりますが、これもNECの無線LANルータのIPv6パススルーで対応しました。

回線速度

通信速度を測ってみました。

速度.jp

下り受信速度: 74Mbps(74.6Mbps,9.32MByte/s)
上り送信速度: 29Mbps(29.6Mbps,3.71MByte/s)

Radish Network Speed Testing

下り 160 Mbps 安定度 85
上り 120 Mbps 安定度 50

正直言うと、光プレミアムの方が速かったです。安定性がいまいちで、平均すると70Mbpsくらいです。ピークで190Mbpsが出たりしますが、すぐに減速して70Mbpsに落ちてしまいます。光プレミアムは、安定して90Mbpsでていました。

最後に

結果200Mbpsの恩恵は、いまいち受けることができず、安定性に関して今ひとつの感じです。ボトルネックを探り、設定を見直す必要がありそうです。

もう一つの目的のIPv6に関してなんですが、これがなかなか楽しいシステムで、また後ほど取り上げることにします。想像よりは難しくないです。

最近ブログを書いていなかったので、適当に。

NICの話です。

Intel PRO 1000/PT Server Adapter

IntelのPCI Express対応のGigabit Ethernet adapterです。PTシリーズは、主にサーバ向けに販売されているモデルです。

ヤフオクで4000円ほどで転がっているものを友人に頼んで代わりに落札してもらって入手しました。頼んだのは、単にめんどくさかったからです。

Intel PRO 1000/PT Server Adapter デバイスマネージャこんな感じで認識されてます。ドライバは、Windows Server 2008 R2のデフォルトの物を使用しています。このマシンには、他にも2つNICが入っていて、それぞれ別のネットワークに接続されています。

性能

性能を、MarvellのNICと比較しました。速度は、CrystalDiskMarkでネットワークドライブを計測しています。比較は、精密に行っていなく、曖昧です。

まず、Marvellでは、ネットワーク利用率が99%になっているのに、速度が700Mbpsくらいしかでないということがありました。

Intel NICでは、Marvellの時と同じ速度が表示されましたが、ネットワーク利用率は60%前後と適正な表示となっていました。

Marvell NICでは、なんらかのオーバーヘッドがあることなんでしょうか?よくわかりません。

CPU利用率については、比較用の測定をしていません。個人的には、一般的なNICと対して変わらないような気がします。思っていたよりも高いと言ったところです。

最後に

Intel PTシリーズを使ってみましたが、今のところ一般的なNICと変わらないといった印象です。まだ、1時間くらいしかし要していないので何ともいえません。Realtekなどの激安NICと比べると安定しているという印象はありました。

Intel PTシリーズは、Server AdapterとDesktop Adapterの2種類があるので、購入するときは、それに注意してください。

サーバ部分を再構築してました。

前構築したのが3ヶ月前なので、前のネットワークは良くなかったみたいです。まだ、ネットワーク図すら書いてませんしねw

自宅サーバで、慣れてきてもっと高度なことがしたい!!ってな人向けのアドバイスを書いておきます。

Linux上での印刷の設定をしていないことに気づいたので、設定してみまた。

EPSON EP-802AとBrother HL-5250DNの2台とも設定しました。2つのプリンターは、LANで接続しています。USB接続では、やり方が違うのでこの方法では不可能と思います。

環境は、CentOS 5.4、CUPS 1.3です。

 

Linuxで印刷と言えば、CUPS(プリント サーバー)とlp, lpr コマンドです。lp コマンドで印刷指示をCUPSに送り、CUPSがスプーリングをして、プリンターで印刷する、と言う流れになっています。

 

使う前の準備として、CUPSの設定が必須になっています。要するにプリンター ドライバーのインストールと言うやつです。

必要な情報

  • CUPS プリンター ドライバー (PPD ファイルやRPM パッケージ)
  • 接続ポート名 (IP アドレスなど)

これらの情報を探すのが一番苦労しますね。特に、Linux用のドライバーが無いものがああり、無ければそれで終わりです。あきらめるが、ハッキングするしかありません。

lp コマンド → CUPS → ドライバー ソフト → プリンター のような感じで処理しているようです(この部分は、よくわかっていないので、間違っているかもしれません)。

調子乗ってサーバ移行とともに固定グローバルIPアドレスを格安で提供しているプロバイダと契約しました。

以前に、検討していて(この記事を参照)ようやく導入しました。きっかけが無かったので、今回までずるずる延びました。

契約したプロバイダは、i-revoで、500円インターネットというコースです。本当かどうかを確かめるなら、ここのアドレスを正引きして、IPアドレスを逆引きすれば一発でわかります。選択の決め手は、安さで、結局制限とかは考えませんでした。今の状況では、制限には引っかからないくらいの通信量なので大丈夫でしょう。

-------

現在、NEC IX2015 というルータを使用してインターネットにアクセスしていますが、設定に苦労しました。マルチセッションに対応しているので、PPPoEの設定は簡単でしたが、その後のルート設定かなりの時間がかかりました。

通常ルーティングは、静的の場合、宛先ネットワークとネクストホップを指定する物です。ですが、今回はその逆で、送信元ネットワークとネクストホップでルーティングをしたい訳です。静的ルーティングテーブルでは、不可能です。安物のブロードバンドルータは、ここまでの機能しか積んでいませんが、高機能ルータなら、ポリシールーティングが利用できます。

route-map i-revo permit 10
set interface FastEthernet0/0.2

interface FastEthernet1/0.0
ip policy route-map i-revo

ってな感じで、やればうまく振り分けることができます。FastEthernet1/0.0に接続された機器がFastEthernet0/0.2を経由するようになります。ただし、この状態だとすべての通信がFastEthernet0/0.2に流れてしまい、FastEthernet0/1.0と通信ができないので、アクセスリストなどで細かく制御する必要があります。ややこしくなるので割愛。

 

現在、@niftyの光ファイバーで接続しているわけですが、これが動的IPアドレスなんです。接続が切れるたびに、IPアドレスが変わって接続ができない状態があります。だいたい20分くらいですが、ダイナミックDNSの更新ソフトが調子が悪いと、気づくまで接続が切れた状態になります。さらに、自宅にいないと更新できないので、外出中の時は悲惨です。

さて、これらを解決するのが、もちろん固定IPアドレスです。当たり前ですねw

導入は以前から考えているんですが、現在のプロバイダの@niftyでやろうとすると、やたらと高い割に、1個しか割り当ててもらえません。

乗り換えるのは、メールアドレスとかの問題とかがあるので、ちょっと遠慮したいわけです。つまり、新規にプロバイダを契約する方法しかないということです。(他にやり方があるなら知りたいものです。)

安くかつ、高速に使えるプロバイダをリストアップして、比較しようと思います。

アーカイブ

カウンタ

Total
Today
Yesterday

IPv6 Ready

Powered by Movable Type 7.0

このアーカイブについて

このページには、過去に書かれたブログ記事のうちネットワークカテゴリに属しているものが含まれています。

前のカテゴリはソフトウェアです。

次のカテゴリはハードウェアです。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

ウェブページ