サイズ: 2242
コメント:
|
← 2011-12-16 20:05:49時点のリビジョン5 ⇥
サイズ: 2194
コメント:
|
削除された箇所はこのように表示されます。 | 追加された箇所はこのように表示されます。 |
行 1: | 行 1: |
#acl ytoku:admin,read,write,delete,revert All: |
TFTPとその周辺
TFTPとは
- TFTPとはUDPで通信するごくごく簡易的なファイル転送プロトコル
- Trivial File Transfer Protocol の略
UDP vs TCP
- UDPとは 第三層のプロトコルで同じ層にはTCPなどがある。
- TCP
- パケットが到達したかどうか・タイムアウトを自動で管理する
- 大部分の信頼性が要求される通信に用いられる
- アプリケーションが再送処理をする必要がないので、アプリケーションの実装は楽
- 逆にTCP自体の実装は大変
- UDP
- プロトコルが簡単=実装が容易
- パケットが届いたかどうかの管理をしない
- 必要に応じてアプリケーション側で再送処理などをする必要がある
- パケットが一部無くなっても良いのでパフォーマンスを優先したい通信(ストリーミング)とか
- プロトコルスタックの実装を簡単にしたいときとか
- 使用例: DNS, DHCP, TFTP, SDP, etcetc
inetd
- アプリケーションが一々socket作ってlistenしてacceptして云々をやるのは面倒
- inetdは(サーバ側について)アプリケーションの代わりにソケット通信の部分をやってくれるデーモン
- アプリケーションプログラムは標準入出力を介して通信する
- 最近はxinetdのほうがよく使われるし便利
- FreeBSDにはinetd用のtftpdが含まれている
TFTP
- FTPとは目的が同じだから名前が似てるだけで構造は似ても似つかない
- 2種類のリクエストしかない(Read/Write)
- ファイル名を指定してRead Requestを投げるとデータかエラーが返ってくる
- ファイル一覧の取得もサポートしない
- 認証なんて、あるわけない
- なぜUDPか
- だってPXE BIOSのようなOSのない世界でTCPを実装したくないじゃないですか