TCPヘッダ ãã���

フォーマッ�

TCPヘッダã«ã¤ã�¦ã¯4回目ã§ã™ãŒã€ã“ã“ã§ã‚‚ã‚„ã£ã±ã‚Šæœ€åˆã�ヘッダã®ãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆã‚’載ã›ã¦ã�ã¾ã™ã€�







「ウィンドウサイズ�

「ウィンドウサイズã€ã�一度ã«å—ä¿¡ã™ã‚‹ã“ã¨ãŒã§ãã‚‹ãƒ��ã‚¿ã®å¤§ãã•
ã§ã™ã€‚ã“ã‚Œã�TCPã®ãƒ•ãƒ­ãƒ¼åˆ¶å¾¡ã§ã‚る「スライãƒ�‚£ãƒ³ã‚°ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã€ã§ä½¿ã‚れるもã®ã§ã™ã€�

TCPã¯ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³åž‹ã�ロトコルãªã®ã§ã€�€ä¿¡ã—ãŸã‚»ã‚°ãƒ¡ãƒ³ãƒˆã«å¯¾ã—ã¦ç¢ºèªå¿œç­�(ACKセグメンãƒ�)ãŒå¿�¦ã§ã™ã€‚サイズã®å¤§ãã„ãƒ��ã‚¿ã‚’é€ã‚‹ã¨ãã„ãã¤ã‹ã�セグメントã«åˆ�‰²ã—ã¦é€ã‚‹ã“ã¨ã«ãªã‚Šã¾ã™ã€‚ãã®ã¨ãã€�
ã²ã¨ã¤ã®ã‚»ã‚°ãƒ¡ãƒ³ãƒˆã‚’é€ã£ã¦ACKãŒè¿”ã£ã¦ãã‚‹ã®ã‚’å¾�£ã¦ã€æ¬¡ã®ã‚»ã‚°ãƒ¡ãƒ³ãƒˆã‚’é€ã‚‹ã€‚ã¾ãŸãã®ACKã‚’å¾�£ã¦é€ã‚‹ãƒ»ãƒ»ãƒ»ã¨ã�†ã‚ˆã†ã«é€šä¿¡ã‚’è¡Œã†ã¨ã¨ã£ã¦ã‚‚効çŽ�Œæ‚ªããªã£ã¦ã—ã¾ã�¾ã™ã€�

ãã“ã§ã€ã„ã£ãºã‚“ã«ã�ã¤ã‹ã‚»ã‚°ãƒ¡ãƒ³ãƒˆã‚’é€ã£ã¦ã—ã¾ã�¾ã—ょã�¼ã£ã¦è€�ˆã‚‹ã‚ã‘ã§ã™ã�ã€�
ã§ã‚‚ã€ã„ã£ãºã‚“ã«ãŸãã•ã‚“é€ã£ã¦ã—ã¾ã£ã¦ã‚‚相手ãŒå‡¦ç�—ãã‚Œãªã‘ã‚Œã°æ„味ãŒã‚ã‚Šã¾ã›ã‚“ã€�ãã“ã§å—ä¿¡ã§ãã‚‹ãƒ��ã‚¿ã®å¤§ãã•ã‚’通知ã—ã¦ã€ãã“ã¾ã§ã�£ãºã‚“ã«é€ã‚Šã¾ã—ょã�¨ã�†ã®ãŒã‚¹ãƒ©ã‚¤ãƒ�‚£ãƒ³ã‚°ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦æ–¹å¼ã§ã™ã€�



スライãƒ�‚£ãƒ³ã‚°ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦

ã§ã¯ã€ç°¡å˜ã«ä»•çµ�¿ã‚’見ã¦ã�ã¾ã™ã€‚図を使ã£ã¦èª¬æ˜Žã—ã¦ã�ã¾ã™ãŒã€ã“ã‚Œã�ãƒ��ã‚¿é€ä¿¡ã‚’è¡Œã£ã¦ã�‚‹é€”中ã¨è€�ˆã¦ãã ã•ã„ã­ã€‚ã¾ãŸé€ã‚ŠãŸã„ãƒ��タをセグメントå˜ä½ã§è€�ˆã¦ã�ã¾ã™ã€�




ã¾ãšã€å›³ã«ä½¿ã£ã¦ã�‚‹è¨˜å·ã®èª¬æ˜Žã§ã™ã€�

SEND(X)�šã‚»ã‚°ãƒ¡ãƒ³ãƒˆã�é€ä¿¡ã€‚Xã¯ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ç•ªå·
ACK(Y,Z)�šç¢ºèªå¿œç­”ã€�Yã¯ACK番å·ã€Zã¯ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã‚µã‚¤ã‚º


é€ä¿¡å…ˆã�BãŒACK(1,3)ã‚’å�ã—ã¦ã€ã€Œæ¬¡ã¯ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ç•ªå·1ã®ã‚»ã‚°ãƒ¡ãƒ³ãƒˆã‚’é€ã£ã¦ã­ã€�3ã¤ã¶ã‚“スペã�スã‚ã‚‹ã‹ã‚‰3ã¤ã�£ãºã‚“ã«é€ã£ã¦ãã‚Œã¦ã‚‚大丈夫ã€�ã¨é€ä¿¡å…��Aã«çŸ¥ã‚‰ã›ã¦ã�¾ã™ã€�

ã˜ã‚ƒã€Aã¯ã€�3ã¤ã�£ãºã‚“ã«é€ã£ã¦ã—ã¾ãˆï½žã€ã¨ã�†ã“ã¨ã§SEND(1)ã€SEND(2)ã€SEND(3)ã§ã™ã€‚ã¾ã�1ã®ã‚»ã‚°ãƒ¡ãƒ³ãƒˆãŒBã«å±Šãã¨ã€Bã¯ãƒãƒƒãƒ•ã‚¡ã«æ ¼ç´ã—ã¦ã€ACK(2,2)ã‚’è¿”ã—ã¦ã�¾ã™ã€‚ã“ã‚Œã�ã€�1ã¯ã¡ã‚�‚“ã¨å—ã‘å–ã£ãŸã‹ã‚‰æ¬¡ã¯2ãŒæ¥ã¦æ¬²ã—ã„ã§ã™ã€‚空ã�¦ã�‚‹ã‚¹ãƒšã�スã¯2ã¤åˆ�§ã™ã€‚ã€ã¨ã�†æ„味ã§ã™ã�。åŒã˜ã‚ˆã�«2ã€�3ãŒBã«å±Šãã¨
ACKã‚’è¿”ã—ã¦æ¬¡ã«æ¥ã¦æ¬²ã—ã„シーケンス番å·ã¨ç©ºã�¦ã�‚‹ã‚¹ãƒšã�スを知らã›ã¦ã�£ã¦ã�¾ã™ã€�

ACKã‚’å—ã‘å–ã£ãŸé€ä¿¡å…��Aã‚’è€�ˆã¦ã�ã¾ã™ã€‚ãŸã¨ãˆã�ã€�
ACK(2,2)ã‚’å—ã‘å–ã‚Œã�1ã¯ã‚‚ã†ã�‚‰ãªã�‚ã‘ã§ã™ã‹ã‚�1ã‚’ç�´æ£�—ã¾ã™ã€�ACK(3,1)ã€ACK(4,0)ã‚’å—ã‘å–ã£ãŸã¨ãã‚‚åŒã˜ã§ã™ã�ã€�2ã€�3ã‚’ç�´æ£�—ã¦ã�ã¾ã™ã€�
ãŸã ã€ã“ã®ã‚ã¨ã‚‚é€ä¿¡ã—ãŸã�¨ã“ã‚ãªã®ã§ã™ãŒã€Bã«ã¯ã‚¹ãƒšã�スãŒã‚ã‚Šã¾ã›ã‚“ã€�

ã“ã�例ã§ã¯ã€Bã¯å‡¦ç�ŒãŸã¾ã£ã¦ã�¦å—ã‘å–ã£ãŸã‚»ã‚°ãƒ¡ãƒ³ãƒˆã‚’ã»ã£ãŸã‚‰ã‹ã—ã«ã—ãŸã¾ã‚“ã¾ã«ãªã£ã¦ã�‚‹ã‚“ã§ã™ã�。ã§ã€ã‚„ã£ã¨ãŸã¾ã£ã¦ã�Ÿã‚»ã‚°ãƒ¡ãƒ³ãƒˆã‚’処ç�—ãã£ã¦ã€ACK(4,3)ã‚’Aã«é€ã‚Šã€Œæ¬¡ã¯4ã‹ã‚‰ãŠé¡˜ã„ã­ã€�3ã¤ã�£ãºã‚“ã«é€ã£ã¦ãã‚Œã¦ã‚‚大丈夫ã€ã¨è¨€ã£ã¦ã�¾ã™ã€‚ã™ã‚‹ã¨ã€Aã¯ã€�3ã¤ã�£ãºã‚“ã«é€ã£ã¦ã‚‚ã„ã�‚“ã�ã€ã¨ã�†ã“ã¨ã§ã€SEND(4)ã€SEND(5)ã€SEND(6)ã‚’é€ä¿¡ã—ã¦ã�‚‹ã‚ã‘ã§ã™ã€�

ã“ã“ã§ã¯è©±ã‚’ç°¡å˜ã«ã™ã‚‹ãŸã‚ã«ã€Aã‹ã‚‰Bã¸ã®å˜ç´”ãªãƒ��ã‚¿é€ä¿¡ã§ã™ãŒã€å®Ÿéš›ã«ã¯å…¨2é‡é€šä¿¡ã§åŒæ™‚ã«Bã‹ã‚‰Aもデータをé€ã‚‹ã“ã¨ã¯å¯èƒ½ã§ã™ã€‚ãã®å ´åˆã‚‚è€�ˆæ–¹ã¯åŒã˜ã§ã™ã€�
ãŠäº’ã„ã«å—ä¿¡ã§ãるスペã�スをウィンドウサイズã§é€šçŸ¥ã—ã‚ã£ã¦ã€è¤�•°ã®ã‚»ã‚°ãƒ¡ãƒ³ãƒˆã‚’一度ã«é€ã‚‹ã“ã¨ã«ã‚ˆã£ã¦é€šä¿¡ã®åŠ¹çŽ�‚’ã‚ã’ã¦ã�¾ã™ã€�

ã¾ãŸãƒãƒ�ƒˆãƒ¯ãƒ¼ã‚¯ãŒæ··é›‘ã—ã¦ã—ã¾ã�“ã¨ã‚’「輻輳(ãµããã�)ã€ã¨å‘¼ã‚“ã§ã�¾ã™ãŒã€ãã®è¼»è¼³çŠ¶æ…‹ã‚’回é¿ã™ã‚‹ãŸã‚ã«ã‚‚ã“ã®ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã‚µã‚¤ã‚ºãŒä½¿ã‚ã‚Œã¾ã™ã€�
ãã�仕çµ�¿ã¯ã€è¼»è¼³ã‚’検å�ã—ãŸã‚‰ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã‚µã‚¤ã‚ºã‚’一気ã«æ¸›å°‘ã•ã›ã¦é€ä¿¡ã™ã‚‹ã‚»ã‚°ãƒ¡ãƒ³ãƒˆã�数を減らã—ã¾ã™ã€‚ãã®ã‚ã¨å¾ã€�«ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã‚µã‚¤ã‚ºã‚’増加ã•ã›ã¦ã�ã“ã¨ã«ã‚ˆã£ã¦è¼»è¼³ã‚’回é¿ã—ã¦ã�¾ã™ã€�



「ã�ãƒ�ƒ€ãƒã‚§ãƒ�‚¯ã‚µãƒ�ã€ã€Œã‚¢ãƒ¼ã‚¸ã‚§ãƒ³ãƒˆã�インタã€�

「ã�ãƒ�ƒ€ãƒã‚§ãƒ�‚¯ã‚µãƒ�ã€ã�IPヘッダã«ã‚‚ã‚ã‚Šã¾ã—ãŸãŒã‚¨ãƒ©ãƒ¼ãƒã‚§ãƒ�‚¯ã‚’è¡Œã†ãŸã‚ã®ã‚‚ã�ã§ã™ã€‚詳ã—ã„ãƒã‚§ãƒ�‚¯ã‚µãƒ�計算ã«ã¤ã�¦ã¯è§¦ã‚Œã¾ã›ã‚“ã€�
最後ã�「アージェントã�インタã€ã�緊急ãƒ��ã‚¿ãŒã©ã“ã‹ã‚‰å§‹ã¾ã‚‹ã‹ã¨ã�†ã“ã¨ã‚’示ã™ã�インタã§ã™ã€�
(ãŸã ã—ã€ç·Šæ€¥ãƒ��ã‚¿ãŒã©ã‚“ãªã‚‚ã�ãŒã‚ã‚‹ã‹ã¨ã�†ã“ã¨ã¯ã‚ˆã知りã¾ã›ã‚“。誰ã‹æ•™ãˆã¦��)








(C) Copyright 2000-2001 Gene All Right Reserved