¼ÆËã»úÍøÂçµÚÈýÕ¿κóϰÌâ ÏÂÔØ±¾ÎÄ

1¡¢

µÚÈýÕ¿κóϰÌâ

¿¼ÂÇÔÚÖ÷»úAºÍÖ÷»úBÖ®¼äÓÐÒ»ÌõTCPÁ¬½Ó¡£¼ÙÉè´ÓÖ÷»úA´«Ë͵½Ö÷»úBµÄTCP±¨ÎĶξßÓÐÔ´¶Ë¿ÚºÅxºÍÄ¿µÄ¶Ë¿ÚºÅy¡£¶ÔÓÚ´ÓÖ÷»úB´«Ë͵½Ö÷»úAµÄ±¨ÎĶΣ¬Ô´¶Ë¿ÚºÅºÍÄ¿µÄ¶Ë¿ÚºÅ·Ö±ðÊǶàÉÙ£¿

2¡¢ 3¡¢

ÃèÊöÓ¦ÓóÌÐò¿ª·¢ÕßΪʲô¿ÉÄÜÑ¡ÔñÔÚUDPÉÏÔËÐÐÓ¦ÓóÌÐò¶ø²»ÊÇÔÚTCPÉÏÔËÐеÄÔ­Òò¡£

¼Ù¶¨ÔÚÖ÷»úCÉϵÄÒ»¸ö½ø³ÌÓÐÒ»¸ö¾ßÓж˿ںÅ6789µÄUDPÌ×½Ó×Ö¡£¼Ù¶¨Ö÷»úAºÍÖ÷»úB¶¼ÓÃÄ¿µÄ¶Ë¿ÚºÅ6789ÏòÖ÷»úC·¢ËÍÒ»¸öUDP±¨ÎĶΡ£ÕâÁ½Ì¨Ö÷»úµÄÕâЩ±¨ÎĶÎÔÚÖ÷»úC¶¼±»ÃèÊöΪÏàͬµÄÌ×½Ó×ÖÂð£¿Èç¹ûÊÇÕâÑùµÄ»°£¬ÔÚÖ÷»úCµÄ¸Ã½ø³Ì½«ÔõÑùÖªµÀÔ´ÓÚÁ½Ì¨²»Í¬Ö÷»úµÄÕâÁ½¸ö±¨ÎĶΣ¿

4¡¢ÔÚÎÒÃǵÄrdtЭÒéÖУ¬ÎªÊ²Ã´ÐèÒªÒýÈëÐòºÅ£¿

5¡¢ÔÚÎÒÃǵÄrdtЭÒéÖУ¬ÎªÊ²Ã´ÐèÒªÒýÈ붨ʱÆ÷£¿

6¡¢ÊÇ·ÇÅжÏÌ⣺

a. Ö÷»úA¾­¹ýÒ»ÌõTCPÁ¬½ÓÏòÖ÷»úB·¢ËÍÒ»¸ö´óÎļþ¡£¼Ù¶¨Ö÷»úBûÓÐÊý¾Ý·¢ÍùÖ÷

»úA¡£ÒòΪÖ÷»úB²»ÄÜËæÊý¾ÝÉÓ´øÈ·ÈÏ£¬ËùÒÔÖ÷»úB½«²»ÏòÖ÷»úA·¢ËÍÈ·ÈÏ¡£ b. ÔÚÁ¬½ÓµÄÕû¸ö¹ý³ÌÖУ¬TCPµÄrwndµÄ³¤¶È¾ö²»»á±ä»¯¡£

c. ¼ÙÉèÖ÷»úAͨ¹ýÒ»ÌõTCPÁ¬½ÓÏòÖ÷»úB·¢ËÍÒ»¸ö´óÎļþ¡£Ö÷»úA·¢Ë͵«Î´±»È·ÈÏ

µÄ×Ö½ÚÊý²»»á³¬¹ý½ÓÊÕ»º´æµÄ´óС¡£

d. ¼ÙÉèÖ÷»úAͨ¹ýÒ»ÌõTCPÁ¬½ÓÏòÖ÷»úB·¢ËÍÒ»¸ö´óÎļþ¡£Èç¹û¶ÔÓÚÕâÌõÁ¬½ÓµÄÒ»

¸ö±¨ÎĶεÄÐòºÅΪm£¬Ôò¶ÔÓÚºó¼Ì±¨ÎĶεÄÐòºÅ½«±ØÈ»ÊÇm+1¡£

e. TCP±¨ÎĶÎÔÚËüµÄÊײ¿ÖÐÓÐÒ»¸örwnd×ֶΡ£

f. ¼Ù¶¨ÔÚÒ»ÌõTCPÁ¬½ÓÖÐ×îºóµÄSampleRTTµÈÓÚ1Ã룬ÄÇô¶ÔÓÚ¸ÃÁ¬½ÓµÄ

TimeoutIntervalµÄµ±Ç°Öµ±Ø¶¨´óÓÚµÈÓÚ1Ãë¡£

g. ¼ÙÉèÖ÷»úAͨ¹ýÒ»ÌõTCPÁ¬½ÓÏòÖ÷»úB·¢ËÍÒ»¸öÐòºÅΪ38µÄ4¸ö×ֽڵı¨ÎĶΡ£

ÔÚÕâ¸öÏàͬµÄ±¨ÎĶÎÖУ¬È·ÈϺűض¨ÊÇ42¡£

7¡¢

¼ÙÉèÖ÷»úAͨ¹ýÒ»ÌõTCPÁ¬½ÓÏòÖ÷»úB·¢ËÍÁ½¸ö½ô½Ó×ŵÄTCP±¨ÎĶΡ£µÚÒ»¸ö±¨ÎĶεÄÐòºÅΪ90£¬µÚ¶þ¸ö±¨ÎĶÎÐòºÅΪ110¡£ a. µÚÒ»¸ö±¨ÎĶÎÖÐÓжàÉÙÊý¾Ý£¿

b. ¼ÙÉèµÚÒ»¸ö±¨ÎĶζªÊ§¶øµÚ¶þ¸ö±¨ÎĶε½´ïÖ÷»úB¡£ÄÇôÔÚÖ÷»úB·¢ÍùÖ÷»úA

µÄÈ·Èϱ¨ÎÄÖУ¬È·ÈϺÅÓ¦¸ÃÊǶàÉÙ£¿

8¡¢UDPºÍTCPʹÓ÷´ÂëÀ´¼ÆËãËüÃǵļìÑéºÍ¡£¼ÙÉèÄãÓÐÏÂÃæ3¸ö8±ÈÌØ×Ö½Ú£º

01010011,01100110,01110100¡£ÕâЩ8±ÈÌØ×ֽں͵ķ´ÂëÊǶàÉÙ£¿£¨×¢Òâµ½¾¡¹ÜUDPºÍTCPʹÓÃ16±ÈÌØµÄ×ÖÀ´¼ÆËã¼ìÑéºÍ£¬µ«¶ÔÓÚÕâ¸öÎÊÌ⣬ÄãÓ¦¸Ã¿¼ÂÇ8±ÈÌØºÍ¡££©Ð´³öËùÓй¤×÷¹ý³Ì¡£UDPΪʲôҪÓøú͵ķ´Â룬¼´ÎªÊ²Ã´²»Ö±½ÓʹÓøúÍÄØ£¿Ê¹Óø÷´Âë·½°¸£¬½ÓÊÕ·½ÈçºÎ¼ì²â³ö²î´í£¿1±ÈÌØµÄ²î´í½«¿ÉÄܼì²â²»³öÀ´Âð£¿2±ÈÌØµÄ²î´íÄØ£¿

9¡¢µ±Êý¾Ý·Ö×éºÍÈ·ÈÏ·Ö×é·¢Éú´Û¸Äʱ£¬¸ø³ördt3.0ЭÒéÔËÐеĹ켣¡£Äã»­µÄ¹ì¼£Ó¦µ±ÀàËÆ

ÓÚͼ3-16ÖÐËùÓõÄͼ¡£

10¡¢¿¼ÂÇÔÚͼ3-14ÖеÄrdt2.2½ÓÊÕ·½£¬ÔÚ״̬¡°µÈ´ýÀ´×ÔϲãµÄ0¡±ºÍ״̬¡°µÈ´ýÀ´×Ôϲã

µÄ1¡±ÖеÄ×Ôת»»£¨¼´´Óij״̬ת»»»Ø×ÔÉí£©ÖÐÉú³ÉÒ»¸öзÖ×飺sndpk=make_pkt(ACK, 1, checksum)ºÍsndpk=make_pkt(ACK, 0, checksum)¡£Èç¹ûÕâ¸ö¶¯×÷´Ó״̬¡°µÈ´ýÀ´×ÔϲãµÄ1¡±ÖеÄ×Ôת»»ÖÐɾ³ý£¬¸ÃЭÒ齫ÕýÈ·¹¤×÷Âð£¿ÆÀ¹ÀÄãµÄ´ð°¸¡£ÔÚ״̬¡°µÈ´ýÀ´×ÔϲãµÄ0¡±ÖеÄ×Ôת»»ÖÐɾ³ýÕâ¸öʼþ½«»áÔõÑù£¿[Ìáʾ£ºÔÚºóÒ»ÖÖÇé¿öÏ£¬¿¼ÂÇÈç¹ûµÚÒ»¸ö·¢ËÍ·½µ½½ÓÊÕ·½µÄ·Ö×éË𻵵ϰ£¬½«»á·¢ÉúʲôÇé¿ö£¿]

11¡¢¶ÔÏÂÃæµÄÎÊÌâÅжÏÊÇ·Ç£¬²¢¼òÒªµØÖ¤ÊµÄãµÄ»Ø´ð£º

a. ¶ÔÓÚSRЭÒ飬·¢ËÍ·½¿ÉÄÜ»áÊÕµ½ÂäÔÚÆäµ±Ç°´°¿ÚÖ®ÍâµÄ·Ö×éµÄACK¡£ b. ¶ÔÓÚGBNЭÒ飬·¢ËÍ·½¿ÉÄÜ»áÊÕµ½ÂäÔÚÆäµ±Ç°´°¿ÚÖ®ÍâµÄ·Ö×éµÄACK¡£ c. µ±·¢ËÍ·½ºÍ½ÓÊÕ·½´°¿Ú³¤¶È¶¼Îª1ʱ£¬±ÈÌØ½»ÌæÐ­ÒéÓëSRЭÒéÏàͬ¡£ d. µ±·¢ËÍ·½ºÍ½ÓÊÕ·½´°¿Ú³¤¶È¶¼Îª1ʱ£¬±ÈÌØ½»ÌæÐ­ÒéÓëGBNЭÒéÏàͬ¡£