1 / 17

トランスポート層

トランスポート層. 岡村耕二 http://okaweb.ec.kyushu-u.ac.jp/lectures/in-ng/. プロトコル. アプリケーション層. アプリケーション層. プロトコル. プレゼンテーション層. プレゼンテーション層. プロトコル. セッション層. セッション層. プロトコル. トランスポート層. トランスポート層. プロトコル. ネットワーク層. ネットワーク層. プロトコル. データリンク層. データリンク層. プロトコル. 物理層. 物理層. 階層とプロトコル (OSI 参照モデル).

Download Presentation

トランスポート層

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. トランスポート層 岡村耕二 http://okaweb.ec.kyushu-u.ac.jp/lectures/in-ng/

  2. プロトコル アプリケーション層 アプリケーション層 プロトコル プレゼンテーション層 プレゼンテーション層 プロトコル セッション層 セッション層 プロトコル トランスポート層 トランスポート層 プロトコル ネットワーク層 ネットワーク層 プロトコル データリンク層 データリンク層 プロトコル 物理層 物理層 階層とプロトコル (OSI 参照モデル) 情報ネットワーク

  3. 7層の概略(IT辞典 http://e-words.jp) • アプリケーション層 • データ通信を利用した様々なサービスを人間や他のプログラムに提供する。 • プレゼンテーション層 • 第5層から受け取ったデータをユーザが分かりやすい形式に変換したり、第7層から送られてくるデータを通信に適した形式に変換したりする。 • セッション層 • 通信プログラム同士がデータの送受信を行なうための仮想的な経路(コネクション)の確立や解放を行なう。 • トランスポート層 • 相手まで確実に効率よくデータを届けるためのデータ圧縮や誤り訂正、再送制御などを行なう。 • ネットワーク層 • 相手までデータを届けるための通信経路の選択や、通信経路内のアドレス(住所)の管理を行なう。 • データリンク層 • 通信相手との物理的な通信路を確保し、通信路を流れるデータのエラー検出などを行なう。 • 物理層 • データを通信回線に送出するための電気的な変換や機械的な作業を受け持つ。ピンの形状やケーブルの特性なども第1層で定められる。 情報ネットワーク

  4. トランスポート層 • セッション層より上位では,個々の応用プロセスが処理を実現するのに必要な情報が、メッセージ単位まで分割される。トランスポート層以下は、このメッセージを通信相手の応用プロセスまで、詳細な伝達手段を意識せずに、確実に送り届ける機能を果たしている。 • トランスポート層では、両端のコンピュータシステム内で機能してるアプリケーションプロセス間で、データ送信の保証をすることができる。データ通信の保証のために、通信エラーの検出や回復の機能を持つ。また、上位層が要求するスループットや伝送遅延などのサービス品質(QoS: Quality of Service) を保証する。 • 代表的なプロトコルに、インターネットにおける誤りのないコネクション型サービスTCP (Transmission Control Protocol) や、動画像などを伝送するための効率の良いコネクションレス型サービス UDP (User Datagram Protocol) などがある。 情報ネットワーク

  5. トランスポート 一度に複数の人としゃべったり 相手によってゆっくりしゃべったり、一度にたくさんしゃべったり 情報ネットワーク

  6. 典型的な構成(近距離) アプリケーション プレゼンテーション セッション トランスポート ネットワーク データリンク 物理 情報ネットワーク

  7. 典型的な構成(長距離) アプリケーション プレゼンテーション セッション トランスポート ネットワーク データリンク・物理 データリンク・物理 情報ネットワーク

  8. トランスポート層 • プロセスとプロセスの通信 • TCP (Transmission Control Protocol ) • 信頼性があるが、速度が不定 • メール、WEBアクセス • UDP(User Datagram Protocol) • 信頼性がないが、 速度は一定 • マルチメディア通信 情報ネットワーク

  9. トランスポート層 • IPアドレスだけでは識別子が足りない • ホスト内でもっと細かく識別できる必要がある • プロセス • ウインドウ • IP Address + Port = トランスポートアドレス • ポート番号 • 16bit • 特定のサービスを固定的に割り当てる • 25: 電子メール • 80: WWW 情報ネットワーク

  10. ネットワーク層とトランスポート層 アプリケーション プレゼンテーション セッション トランスポート ネットワーク データリンク・物理 データリンク・物理 情報ネットワーク

  11. 決められたポート番号 http://www.iana.org/assignments/port-numbers The range for assigned ports managed by the IANA is 0-1023. Port Assignments: Keyword Decimal Description References ------- ------- ----------- ---------- 0/tcp Reserved 0/udp Reserved # Jon Postel <postel@isi.edu> tcpmux 1/tcp TCP Port Service Multiplexer tcpmux 1/udp TCP Port Service Multiplexer # Mark Lottor <MKL@nisc.sri.com> compressnet 2/tcp Management Utility compressnet 2/udp Management Utility compressnet 3/tcp Compression Process compressnet 3/udp Compression Process # Bernie Volz <VOLZ@PROCESS.COM> 情報ネットワーク

  12. 信頼性のある TCP 通信の実現と工夫 送信 受信 送信 受信 • Slow Start • Sliding Window • 遅延時間に弱い • なかなかスピードが出ない。 スループット 時間 情報ネットワーク

  13. 通信アプリケーション • 電子メール • SMTP/POP/IMAP • WWW • HTTP/FTP • DNS • DNS • VoD • RTSP • テレビ会議 • RTP 情報ネットワーク

  14. トランスポート層通信プログラム(TCP) int sock; struct sockaddr_in server; server.sin_family = AF_INET; server.sin_port = htons(rport); if((sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0){ perror("TCPsocket"); return -1; } if(bind(sock, (struct sockaddr *)&server,sizeof(server)) < 0){ perror("TCPbind "); return -1; } listen(sock, 5); 情報ネットワーク

  15. トランスポート層通信プログラム(TCP) int sock; struct sockaddr_in server; struct hostent *host; int s_addr; host = gethostbyname(dst); memcpy((char *)&s_addr, (char *)host->h_addr, host->h_length); bzero(&server,sizeof(struct sockaddr_in)); server.sin_family = AF_INET; server.sin_port = htons(rport); server.sin_addr.s_addr = s_addr; if((sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP))<0){ perror("socket "); return -1; } if(connect(sock,(struct sockaddr *)&server, sizeof(server))<0){ perror("connect"); return -1; } 情報ネットワーク

  16. トランスポート層通信プログラム(UDP) sock=socket(AF_INET,SOCK_DGRAM,0); saddr.sin_family = AF_INET; port = mport + i; saddr.sin_port = htons(port); saddr.sin_addr.s_addr = s_addr; if(connect(ssock, (struct sockaddr *)&saddr[i], sizeof(struct sockaddr_in))<0){ perror("connect"); return -1; } if (!setsockopt(ssock[i], SOL_SOCKET, SO_SNDBUF, (char *)&bufsize, sizeof(bufsize))) break; } 情報ネットワーク

  17. トランスポート層通信プログラム(TCP/UDP) データの読み出し、書き込み方法は、共通 read(sock, buf, 1024); write(sock, buf, 1024); 情報ネットワーク

More Related