[ トップページ ]

メイン

ネットワーク・通信 アーカイブ

2007-11-14

ただしい XML インタフェースをつくるには XML の API をつかう必要があるが,かんたんに XML (もどき) のインタフェースをつくるには,Perl のパターンマッチ機能をつかうのが便利である. 本来の XML は 1 行にいくつタグがあってもよいし,タグでかこまれる内容が複数行にまたがってもかまわないが,それに制限をくわえればかんたんに処理することができる. こんなインチキな XML 処理は奨励されないかもしれないが,ちょっとしたプロトタイプをつくるには便利である.

つづく…

複数のコンピュータをネットワークを介してつなぎ,それらにのせられたアプリケーションのあいだで相互に通信させる実験をするとき,実験を起動するのに,最初に通信をおこなうアプリケーションのポートをたたくようにするのが便利である. この目的で内容のない UDP (User Datagram Protocol) メッセージをおくるプログラムを書いてみた (UDP を TCP にかえるのは容易であるが,受信プログラムはやや複雑になる).

つづく…

2007-11-15

Linux 上でイーサネットのハブのようなふるまいをするプログラムをつくろうとすると,ソケットを promiscuous mode (プロミスキャス・モード) で動作させる必要がある. きちんとハブとして動作させようとするとやや複雑なプログラムを書く必要があるが,ここではもっとさぼって,ハブにちかいがもうすこしいいかげんに動作するプログラムをしめす.

つづく…

ファイルにふくまれる音声 (VoIP, Voice over IP) を RTP (Real-time Transport Protocol) によって送信する Perl プログラムをしめす. 音声は線形 16 bit を基本とするが,u-Law (G.711) などもあつかえるようにしてある. 送信・受信のためのポート番号と受信者の IP アドレスはこのプログラムのなかで指定されている ($REMOTE_PORT_RTP, $LOCAL_PORT_RTP, $ip など). RTCP (Real-Time Control Protocol) もあつかっているが,RTCP によって特別の制御をしようとしているわけではない.

つづく…

RTP (Real-time Transport Protocol) による 2 チャンネル (ステレオ) の音声 (VoIP, Voice over IP) を受信してオーディオ再生するプログラムをしめす. 音声は 16 bit 線形を基本とするが,u-Law (G.711) などもあつかえるようにしてある. 受信のためのポート番号はこのプログラムのなかで指定されている ($IN_PORT_RTP). とりあえず,こまかい説明ははぶくが,あとで必要に応じて説明をくわえることにしたい.

つづく…

2007-11-17

SSIP コミュニケータは GUI ベースでチャットができる,みじかい Java のプログラムである. プロトコルと通信プログラムの学習のためにつかうことを意図している. まずプログラムをうごかしてみてください. そして興味があれば,なかをのぞいてみてください. ここでは SSIP というプロトコルと SSIP コミュニケータの 使用法,構造などについて説明する. また,SSIP の問題点とその可能な解決策などについてもふれる.

つづく…

2008-03-29

メイルの誤送信防止などの目的のため,メイル・プロキシ (SMTP プロキシ) が重要になっている. Perl によって書かれたメイル・プロキシとしては Qsmtpd があるが,自分で単純なプロキシをつくりたいとおもったときには,このプログラムは複雑すぎて,あまり参考にはならない. そこで,できるだけ単純なプロキシのプログラムを書いてみた.

つづく…

2012-05-20

Linux の promiscuous mode をつかって,VLAN タグつきのパケットをためしに送受信するプログラムをつくった. VLAN スイッチであそぶためのものだ. プログラム上のスイッチ (#define VLAN) をきりかえてコンパイルするとタグなしつまり通常の Ethernet のパケットの送受信をすることができる.

つづく…

IP ネットワークにおいては導通テストのためには ping をつかうことがおおい. しかし,IP がつかえない環境,あるいはネットワーク・インタフェースを直接あつかいたいときには,ping はつかえないか,または便利でない. こういうときにつかうためのかんたんなツールを掲載する. もちろん Ethernet でもつかえるが,Ethernet がつかえないときでも Linux の promiscuous mode がつかえれば,このツールをつかうことができる.

つづく…

高性能の Ethernet スイッチが 1000 円くらいで買える時代になっているが,学習のようすを観察するなどの実験用としてはプログラマブルなスイッチがほしいこともある. Ethernet の標準にきっちり対応しているわけではないが,学習機能をもち,かんたんなスイッチングができるプログラムをつくったので,ここに掲載する.

つづく…

2013-02-18

ip コマンドをつかって,コンピュータ間で GRE トンネルをはることができる. すこしコマンドをかえるだけで IP/GRE でも (IP/)Ethernet/GRE でも実現できる.

つづく…

2014-04-13

工学院大学で学生につかってもらうことを第一の目的として Python で Ethernet シミュレータをつくった. このプログラムは public domain としている.

よのなかには Ethernet を正確にシミュレートするプログラムはあるが,概略動作をみせるための教育的なシミュレータがみつけられなかったので,自分でつくることにした. このシミュレータではコマンド・ウィンドウを複数ひらいて,それぞれでスイッチや端末をシミュレートするプログラムをはしらせることができる. さぼったプログラムなのでボート番号が制約されたりはするが,Ethernet のおよその動作をみせることができる.

つづく…

2014-08-05

C でプログラムを書くのはつかれる,Python のほうが楽だとおもって,Python による raw socket 通信のデモ・プログラムを書いた. おもったほど容易ではなかったが,ほぼ 1 秒ごとに Ethernet のパケットを送受信するプログラムをしめす. (この項目全体は通常の Creative Commons ライセンスによるが,プログラムは public domain とする. つまり,無制限にコピーしてよい.)

つづく…

2017-06-17

学習用 Ethernet シミュレータ」にちかい使い勝手の IP シミュレータを開発した. そのプログラムを ここにおく.

つづく…

1013-06-240.jpg

方向指定 3D デザイン・印刷技術を使用してつくったこのようなもの デイシン Yahoo! Japan ショップで売っています.

Creative Commons License
このブログは、次のライセンスで保護されています。 クリエイティブ・コモンズ・ライセンス.
Powered by
Movable Type 3.36