OSIå‚照モデル セッション層
概è¦
Socketライブラリ
UNIXã§ä½¿ã‚れã¦ã„ã‚‹ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ç³»ãƒ©ã‚¤ãƒ–ラリ
Windowsã§ã¯WinSock
を用ã„ã¦ã€é€šä¿¡ç›¸æ‰‹ã€å¯¾è±¡ã‚¢ãƒ—リケーションã¨ã®æŽ¥ç¶šï½žåˆ‡æ–ã¾ã§ã‚’行ã†å±¤ã€‚
リゾルãƒ
Socketライブラリã«ãŠã‘ã‚‹åå‰è§£æ±ºã‚’è¡Œã†æ©Ÿèƒ½ã€‚
DNSã¸ã®å•ã„åˆã‚ã›ã‚’実行ã™ã‚‹ã€‚
ブラウザã¯WEBサーãƒãƒ¼ã«ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’é€ã‚‹éš›ã€ãƒªã‚¾ãƒ«ãƒã‚’用ã„ã¦å¯¾è±¡IPã‚’å–å¾—ã™ã‚‹ã€‚
ソケット
ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã«ãŠã‘るセッション毎ã«ä½œæˆã•ã‚Œã‚‹ã‚»ãƒƒã‚·ãƒ§ãƒ³æƒ…å ±ã€‚
Socketライブラリã«ãŠã‘ã‚‹Socketを用ã„ã¦ãƒ¡ãƒ¢ãƒªé ˜åŸŸã«ç”Ÿæˆã™ã‚‹ã€‚
ホテルã§ä¾‹ãˆã‚‹ã¨ã‚¢ã‚«ã‚¦ãƒ³ãƒˆ(é¡§å®¢æƒ…å ±)。
・自IPアドレス
・自ãƒãƒ¼ãƒˆç•ªå·
・通信相手IPアドレス
・通信相手ãƒãƒ¼ãƒˆç•ªå·
・プãƒã‚°ãƒ©ãƒ ID
ç‰ã®æƒ…å ±ã‚’ä¿æŒã™ã‚‹ã€‚
コマンドライン:netstatã§å†…容を確èªã™ã‚‹äº‹ãŒã§ãる。
ディスクリプタ
ホテルã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆ(é¡§å®¢æƒ…å ±)ã«å¯¾ã™ã‚‹ç•ªå·æœã«å½“ãŸã‚‹ãƒ¦ãƒ‹ãƒ¼ã‚¯ãªæ•°å—
ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã«ãŠã‘るセッションを区別ã™ã‚‹ã€‚
Socketライブラリã«ãŠã‘ã‚‹Socketを用ã„ã¦ã‚½ã‚±ãƒƒãƒˆã‚’生æˆã™ã‚‹ã¨ã€Socketライブラリã‹ã‚‰è¿”ã•れる数値。
コマンドライン:netstatã«ãŠã„ã¦ä½•行目ã‹ï¼Ÿã«å½“ãŸã‚‹æ•°å€¤ã€‚
以後ã€é€šä¿¡ç›¸æ‰‹ã«ã“ã®æ•°å€¤ã‚’渡ã—ã¦ä»–ã®é€šä¿¡ã¨åŒºåˆ¥ã™ã‚‹ç‚ºã«ä½¿ç”¨ã™ã‚‹ã€‚
æµã‚Œ
Socket
Socketライブラリã«ãŠã‘るソケットを作æˆã™ã‚‹æ©Ÿèƒ½ã€‚
æˆåŠŸã™ã‚‹ã¨å„ソケットを区別ã™ã‚‹ç‚ºã«ã€ãƒ‡ã‚£ã‚¹ã‚¯ãƒªãƒ—ã‚¿ãŒè¿”ã•れる。
Connect
クライアントã‹ã‚‰WEBサーãƒãƒ¼ã«å¯¾ã—ã¦ã‚»ãƒƒã‚·ãƒ§ãƒ³ã‚’作æˆã™ã‚‹æ©Ÿèƒ½ã€‚
生æˆã—ãŸãƒ‡ã‚£ã‚¹ã‚¯ãƒªãƒ—タをサーãƒãƒ¼ã«é€ä¿¡ã™ã‚‹äº‹ã§ã€ã‚µãƒ¼ãƒãƒ¼å´ã§ã‚‚他通信ã¨åŒºåˆ¥ã§ãã€é€šä¿¡çµŒè·¯ãŒç¢ºä¿ã•れる。
Bind
サーãƒãƒ¼å´ã«ã¦ã€é€šä¿¡ã‚’許å¯ã™ã‚‹IPアドレスã¨ãƒãƒ¼ãƒˆç•ªå·ã‚’è¨å®šã™ã‚‹æ©Ÿèƒ½ã€‚
通常WEBサーãƒãƒ¼ã§ã¯å…¨IPã«å¯¾ã—ã¦ãƒ‡ãƒ¼ã‚¿ã‚’é€ä¿¡ã™ã‚‹ç‚ºã€ã“ã“ã§ã¯(0)ï¼å…¨ç›¸æ‰‹ã‚’指定ã™ã‚‹ã€‚
Listen
Bindã®è¨å®šã‚’TCP/IPソフトã«é€šçŸ¥ã—ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã‹ã‚‰ã®å—ä¿¡ã‚’å¯èƒ½ã«ã™ã‚‹æ©Ÿèƒ½ã€‚
Accept
クライアントã‹ã‚‰ã®é€šä¿¡ã‚’å—ã‘付ã‘る機能。
çµæžœã¨ã—ã¦æ–°ã—ã„ディスクリプタを作æˆã—ã€
以後ã€å—ã‘付ã‘ãŸé€šä¿¡ç›¸æ‰‹(クライアント)ã¨ã®é€šä¿¡ã«ã¯ã“ã®ãƒ‡ã‚£ã‚¹ã‚¯ãƒªãƒ—タを使用ã™ã‚‹ã€‚
ã“ã“ã§ä½¿ç”¨ã—ã¦ã„ãŸãƒ‡ã‚£ã‚¹ã‚¯ãƒªãƒ—ã‚¿ã¯ã€ã€Œç©ºãã€ã¨ãªã‚Šåˆ¥ã®é€šä¿¡ã«ä½¿ç”¨ã•れる。
Write
通信ãŒç¢ºç«‹ã•れãŸå¾Œã€ç›¸æ‰‹ã«ãƒ‡ãƒ¼ã‚¿ã‚’é€ä¿¡ã™ã‚‹æ©Ÿèƒ½ã€‚
クライアントã‹ã‚‰ã§ã‚‚ã€ã‚µãƒ¼ãƒãƒ¼ã‹ã‚‰ã§ã‚‚利用ã™ã‚‹ã€‚
Read
通信ãŒç¢ºç«‹ã•れãŸå¾Œã€ç›¸æ‰‹ã«ãƒ‡ãƒ¼ã‚¿ã‚’å—ä¿¡ã™ã‚‹æ©Ÿèƒ½ã€‚
クライアントã‹ã‚‰ã§ã‚‚ã€ã‚µãƒ¼ãƒãƒ¼ã‹ã‚‰ã§ã‚‚利用ã™ã‚‹ã€‚
Close
é€šä¿¡ã‚’é®æ–ã™ã‚‹æ©Ÿèƒ½ã€‚
タイムアウト
Connect Timeout
接続時
Read Timeout
リクエスト時