³¬Ê±ÖØ·¢£ºµ± TCP ·¢³öÒ»¸ö¶Îºó£¬ËüÆô¶¯Ò»¸ö¶¨Ê±Æ÷£¬µÈ´ýÄ¿µÄ¶ËÈ·ÈÏÊÕµ½Õâ¸ö±¨ÎĶΡ£Èç¹û²»Äܼ°Ê±ÊÕµ½Ò»¸öÈ·ÈÏ£¬½«ÖØ·¢Õâ¸ö±¨ÎĶΡ£
Á÷Á¿¿ØÖÆ£ºTCP Á¬½ÓµÄÿһ·½¶¼Óй̶¨´óСµÄ»º³å¿Õ¼ä¡£TCP µÄ½ÓÊÕ¶ËÖ»ÔÊÐíÁíÒ»¶Ë·¢ËͽÓÊն˻º³åÇøËùÄܽÓÄɵÄÊý¾Ý£¬Õâ¿ÉÒÔ·ÀÖ¹½Ï¿ìÖ÷»úÖÂʹ½ÏÂýÖ÷»úµÄ»º³åÇøÒç³ö£¬Õâ¾ÍÊÇÁ÷Á¿¿ØÖÆ¡£TCP ʹÓõÄÁ÷Á¿¿ØÖÆÐÒéÊǿɱä´óСµÄ»¬¶¯´°¿ÚÐÒé¡£
ʲôÊÇ TCP Óµ¶Â£¿
¼ÆËã»úÍøÂçÖеĴø¿í¡¢½»»»½áµãÖеĻº´æ¼°´¦Àí»úµÈ¶¼ÊÇÍøÂçµÄ×ÊÔ´¡£ÔÚij¶Îʱ¼ä£¬Èô¶ÔÍøÂçÖÐijһ×ÊÔ´µÄÐèÇ󳬹ýÁ˸Ã×ÊÔ´ËùÄÜÌṩµÄ¿ÉÓò¿·Ö£¬ÍøÂçµÄÐÔÄܾͻá±ä»µ£¬ÕâÖÖÇé¿ö¾Í½Ð×öÓµÈû¡£?? Ôõô½â¾ö TCP Óµ¶Â£¿
ͨ¹ýÓµÈû¿ØÖÆÀ´½â¾ö¡£Óµ¶Â¿ØÖÆ£¬¾ÍÊÇ·ÀÖ¹¹ý¶àµÄÊý¾Ý×¢ÈëÍøÂçÖУ¬ÕâÑù¿ÉÒÔʹÍøÂçÖеÄ·ÓÉÆ÷»òÁ´Â·²»Ö¹ýÔØ¡£×¢Ò⣬ӵÈû¿ØÖƺÍÁ÷Á¿¿ØÖƲ»Í¬£¬Ç°ÕßÊÇÒ»¸öÈ«¾ÖÐԵĹý³Ì£¬¶øºóÕßÖ¸µã¶ÔµãͨÐÅÁ¿µÄ¿ØÖÆ¡£ÓµÈû¿ØÖƵķ½·¨Ö÷ÒªÓÐÒÔÏÂËÄÖÖ£º
1¡¢Âý¿ªÊ¼¡£2¡¢ÓµÈû±ÜÃâ¡£3¡¢¿ìÖØ´«¡£4¡¢¿ì»Ö¸´¡£1£©Âý¿ªÊ¼
²»ÒªÒ»¿ªÊ¼¾Í·¢ËÍ´óÁ¿µÄÊý¾Ý£¬ÏÈ̽²âÒ»ÏÂÍøÂçµÄÓµÈû³Ì¶È£¬Ò²¾ÍÊÇ˵ÓÉСµ½´óÖð½¥Ôö¼ÓÓµÈû´°¿ÚµÄ´óС¡£2£©ÓµÈû±ÜÃâ
ÓµÈû±ÜÃâËã·¨£¬ÈÃÓµÈû´°¿Ú»ºÂýÔö³¤£¬¼´Ã¿¾¹ýÒ»¸öÍù·µÊ±¼ä RTT ¾Í°Ñ·¢ËÍ·½µÄÓµÈû´°¿Ú cwnd ¼Ó 1 £¬¶ø²»ÊǼӱ¶£¬ÕâÑùÓµÈû´°¿Ú°´ÏßÐÔ¹æÂÉ»ºÂýÔö³¤¡£
3£©¿ìÖØ´«
¿ìÖØ´«£¬ÒªÇó½ÓÊÕ·½ÔÚÊÕµ½Ò»¸öʧÐòµÄ±¨ÎĶκó¾ÍÁ¢¼´·¢³öÖظ´È·ÈÏ£¨ÎªµÄÊÇʹ·¢ËÍ·½¼°ÔçÖªµÀÓб¨ÎĶÎûÓе½´ï¶Ô·½£©£¬¶ø²»ÒªµÈµ½×Ô¼º·¢ËÍÊý¾ÝʱÉÓ´øÈ·ÈÏ¡£
¿ìÖØ´«Ëã·¨¹æ¶¨£¬·¢ËÍ·½Ö»ÒªÒ»Á¬ÊÕµ½Èý¸öÖظ´È·ÈÏ£¬¾ÍÓ¦µ±Á¢¼´ÖØ´«¶Ô·½ÉÐδÊÕµ½µÄ±¨ÎĶΣ¬¶ø²»±Ø¼ÌÐøµÈ´ýÉèÖõÄÖØ´«¼ÆʱÆ÷ʱ¼äµ½ÆÚ¡£
4£©¿ì»Ö¸´
¿ìÖØ´«ÅäºÏʹÓõĻ¹Óпì»Ö¸´Ëã·¨£¬µ±·¢ËÍ·½Á¬ÐøÊÕµ½Èý¸öÖظ´È·ÈÏʱ£¬¾ÍÖ´ÐС°³Ë·¨¼õС¡±Ëã·¨£¬°Ñ ssthresh ÃÅÏÞ¼õ°ë¡£
µ«ÊǽÓÏÂÈ¥²¢²»Ö´ÐÐÂý¿ªÊ¼Ëã·¨£ºÒòΪÈç¹ûÍøÂç³öÏÖÓµÈûµÄ»°¾Í²»»áÊÕµ½ºÃ¼¸¸öÖظ´µÄÈ·ÈÏ£¬ËùÒÔ·¢ËÍ·½ÏÖÔÚÈÏΪÍøÂç¿ÉÄÜûÓгöÏÖÓµÈû¡£
ËùÒÔ´Ëʱ²»Ö´ÐÐÂý¿ªÊ¼Ëã·¨£¬¶øÊǽ« cwnd ÉèÖÃΪ ssthresh µÄ´óС£¬È»ºóÖ´ÐÐÓµÈû±ÜÃâËã·¨¡£
UDP
UDP ÊÇʲô£¿
UDP£¨User Data Protocol£¬Óû§Êý¾Ý±¨ÐÒ飩£¬ÊÇÓë TCP Ïà¶ÔÓ¦µÄÐÒé¡£ËüÊÇÃæÏò·ÇÁ¬½ÓµÄÐÒ飬Ëü²»Óë¶Ô·½½¨Á¢Á¬½Ó£¬¶øÊÇÖ±½Ó¾Í°ÑÊý¾Ý°ü·¢Ë͹ýÈ¥¡£Ö÷ÒªÌصãÈçÏ£º
UDP ÊÇÎÞÁ¬½ÓµÄ¡£
UDP ʹÓþ¡×î´óŬÁ¦½»¸¶£¬¼´²»±£Ö¤¿É¿¿½»¸¶£¬Òò´ËÖ÷»ú²»ÐèҪά³Ö¸´ÔÓµÄÁ´½Ó״̬£¨ÕâÀïÃæÓÐÐí¶à²ÎÊý£©¡£
UDP ÊÇÃæÏò±¨Îĵġ£
UDP ûÓÐÓµÈû¿ØÖÆ£¬Òò´ËÍøÂç³öÏÖÓµÈû²»»áʹԴÖ÷»úµÄ·¢ËÍËÙÂʽµµÍ¡£¶ÔʵʱӦÓúÜÓÐÓã¬Èç Ö±²¥£¬ÊµÊ±ÊÓƵ»áÒéµÈUDP Ö§³ÖÒ»¶ÔÒ»¡¢Ò»¶Ô¶à¡¢¶à¶ÔÒ»ºÍ¶à¶Ô¶àµÄ½»»¥Í¨ÐÅ¡£
UDP µÄÊײ¿¿ªÏúС£¬Ö»ÓÐ 8 ¸ö×Ö½Ú£¬±È TCP µÄ 20 ¸ö×Ö½ÚµÄÊײ¿Òª¶Ì¡£
UDP ¶ÔÓ¦µÄÓ¦ÓòãÐÒ飿
DNS £ºÓÃÓÚÓòÃû½âÎö·þÎñ£¬½«ÓòÃûµØַת»»Îª IP µØÖ·¡£DNS ÓõÄÊÇ 53 ºÅ¶Ë¿Ú¡£
SNMP £º¼òµ¥ÍøÂç¹ÜÀíÐÒ飬ʹÓà 161 ºÅ¶Ë¿Ú£¬ÊÇÓÃÀ´¹ÜÀíÍøÂçÉ豸µÄ¡£ÓÉÓÚÍøÂçÉ豸ºÜ¶à£¬ÎÞÁ¬½ÓµÄ·þÎñ¾ÍÌåÏÖ³öÆäÓÅÊÆ¡£
TFTP(Trivial File Transfer Protocol)£º¼òµ¥Îļþ´«ÊäÐÒ飬¸ÃÐÒéÔÚÊìÖª¶Ë¿Ú 69 ÉÏʹÓà UDP ·þÎñ¡£
¡¾ÖØÒª¡¿TCP Óë UDP µÄÇø±ð
Õâ¸öÎÊÌ⣬ÉÏÃæÔÚ½éÉÜ TCP ºÍ UDP ¶¼Ìáµ½ÁË£¬¾ÍÊÇ×öÁËÕûºÏ¹þ¡£
TCP(Transmission Control Protocol)ºÍ UDP(User Datagram Protocol) ÐÒéÊôÓÚ´«Êä²ãÐÒ飬ËüÃÇÖ®¼äµÄÇø±ð°üÀ¨£º
TCP ÊÇÃæÏòÁ¬½ÓµÄ£»UDP ÊÇÎÞÁ¬½ÓµÄ¡£TCP ÊÇ¿É¿¿µÄ£»UDP ÊDz»¿É¿¿µÄ¡£
TCP Ö»Ö§³Öµã¶ÔµãͨÐÅ£»UDP Ö§³ÖÒ»¶ÔÒ»¡¢Ò»¶Ô¶à¡¢¶à¶ÔÒ»¡¢¶à¶Ô¶àµÄͨÐÅģʽ¡£TCP ÊÇÃæÏò×Ö½ÚÁ÷µÄ£»UDP ÊÇÃæÏò±¨Îĵġ£
TCP ÓÐÓµÈû¿ØÖÆ»úÖÆ£»UDP ûÓÐÓµÈû¿ØÖÆ£¬ÊʺÏýÌåͨÐÅ¡£
TCP Êײ¿¿ªÏú(20 ¸ö×Ö½Ú)£¬±È UDP µÄÊײ¿¿ªÏú(8 ¸ö×Ö½Ú)Òª´ó¡£?? Ϊʲô TCP ½ÐÊý¾ÝÁ÷ģʽ£¿ UDP ½ÐÊý¾Ý±¨Ä£Ê½£¿
ËùνµÄ¡°Á÷ģʽ¡±£¬ÊÇÖ¸TCP ·¢ËͶ˷¢Ëͼ¸´ÎÊý¾ÝºÍ½ÓÊն˽ÓÊÕ¼¸´ÎÊý¾ÝÊÇûÓбØÈ»ÁªÏµµÄ¡£
±ÈÈçÄãͨ¹ý TCP Á¬½Ó¸øÁíÒ»¶Ë·¢ËÍÊý¾Ý£¬ÄãÖ»µ÷ÓÃÁËÒ»´Î write £¬·¢ËÍÁË 100 ¸ö×Ö½Ú£¬µ«ÊǶԷ½¿ÉÒÔ·Ö 10´ÎÊÕÍ꣬ÿ´Î 10 ¸ö×Ö½Ú£»ÄãÒ²¿ÉÒÔµ÷Óà 10 ´Î write £¬Ã¿´Î 10 ¸ö×Ö½Ú£¬µ«ÊǶԷ½¿ÉÒÔÒ»´Î¾ÍÊÕÍê¡£ÔÒò£ºÕâÊÇÒòΪ TCP ÊÇÃæÏòÁ¬½ÓµÄ£¬Ò»¸ö Socket ÖÐÊÕµ½µÄÊý¾Ý¶¼ÊÇÓÉͬһ̨Ö÷»ú·¢³ö£¬ÇÒÓÐÐòµØµ½´ï£¬ËùÒÔÿ´Î¶ÁÈ¡¶àÉÙÊý¾Ý¶¼¿ÉÒÔ¡£
ËùνµÄ¡°Êý¾Ý±¨Ä£Ê½¡±£¬ÊÇÖ¸ UDP ·¢ËͶ˵÷ÓÃÁ˼¸´Î write £¬½ÓÊն˱ØÐëÓÃÏàͬ´ÎÊýµÄ read ¶ÁÍê¡£
UDP ÊÇ»ùÓÚ±¨Îĵģ¬ÔÚ½ÓÊÕµÄʱºò£¬Ã¿´Î×î¶àÖ»ÄܶÁÈ¡Ò»¸ö±¨ÎÄ£¬±¨Îĺͱ¨ÎÄÊDz»»áºÏ²¢µÄ£¬Èç¹û»º³åÇøСÓÚ±¨Îij¤¶È£¬Ôò¶à³öµÄ²¿·Ö»á±»¶ªÆú¡£
ÔÒò£ºÕâÊÇÒòΪ UDP ÊÇÎÞÁ¬½ÓµÄ£¬Ö»ÒªÖªµÀ½ÓÊͦ赀 IP ºÍ¶Ë¿Ú£¬ÈκÎÖ÷»ú¶¼¿ÉÒÔÏò½ÓÊն˷¢ËÍÊý¾Ý¡£Õâʱºò£¬Èç¹ûÒ»´ÎÄܶÁÈ¡³¬¹ýÒ»¸ö±¨ÎĵÄÊý¾Ý£¬Ôò»áÂÒÌס£
UDP ±¨Îĵĸñʽ
16 λ * 4 = 64 λ = 8 ×Ö½Ú¡£
DNS
DNS ÊÇʲô£¿
ÓòÃû½âÎö£¬www.xxx.com ת»»³É IP £¬Äܹ»Ê¹Óû§¸ü·½±ãµÄ·ÃÎÊ»¥ÁªÍø£¬¶ø²»ÓÃÈ¥¼ÇסÄܹ»±»»úÆ÷Ö±½Ó¶ÁÈ¡µÄ IP Êý´®¡£
DNS ÐÒéÔËÐÐÔÚ UDP ÐÒéÖ®ÉÏ£¬Ê¹Óö˿ںŠ53 ¡£
Ö÷»ú½âÎöÓòÃûµÄ˳Ðò£¿
1. ä¯ÀÀÆ÷»º´æ
2. ÕÒ±¾»úµÄ hosts Îļþ3. ·ÓÉ»º´æ
4. ÕÒ DNS ·þÎñÆ÷(±¾µØÓòÃû¡¢¶¥¼¶ÓòÃû¡¢¸ùÓòÃû)
µü´ú²éѯµÝ¹é²éѯDNS ʹÓÃʲôÐÒ飿
²Î¼û ¡¶DNSʹÓõÄÊÇ TCP ÐÒ黹ÊÇ UDP ÐÒé¡· ÎÄÕ¡£¼ÈʹÓà TCP ÓÖʹÓà UDP ¡£
ÇøÓò´«ËÍʱʹÓà TCP ÐÒé¡£
¸¨ÓòÃû·þÎñÆ÷»á¶¨Ê±£¨Ò»°ãʱ 3 Сʱ£©ÏòÖ÷ÓòÃû·þÎñÆ÷½øÐвéѯÒÔ±ãÁ˽âÊý¾ÝÊÇ·ñÓб䶯¡£ÈçÓб䶯£¬Ôò»áÖ´ÐÐÒ»´ÎÇøÓò´«ËÍ£¬½øÐÐÊý¾Ýͬ²½¡£ÇøÓò´«Ëͽ«Ê¹Óà TCP ¶ø²»ÊÇ UDP £¬ÒòΪÊý¾Ýͬ²½´«Ë͵ÄÊý¾ÝÁ¿±ÈÒ»¸öÇëÇóºÍÓ¦´ðµÄÊý¾ÝÁ¿Òª¶àµÃ¶à¡£TCP ÊÇÒ»ÖÖ¿É¿¿µÄÁ¬½Ó£¬±£Ö¤ÁËÊý¾ÝµÄ׼ȷÐÔ¡£
ÓòÃû½âÎöʱʹÓà UDP ÐÒé¡£
¿Í»§¶ËÏò DNS ·þÎñÆ÷²éѯÓòÃû£¬Ò»°ã·µ»ØµÄÄÚÈݶ¼²»³¬¹ý 512 ×Ö½Ú£¬Óà UDP ´«Êä¼´¿É¡£UDP ±¨ÎĵÄ×î´ó³¤¶ÈΪ 512 ×Ö½Ú¡£
²»Óþ¹ý TCP Èý´ÎÎÕÊÖ£¬ÕâÑù DNS ·þÎñÆ÷¸ºÔظüµÍ£¬ÏìÓ¦¸ü¿ì¡£ËäÈ»´ÓÀíÂÛÉÏ˵£¬¿Í»§¶ËÒ²¿ÉÒÔÖ¸¶¨Ïò DNS ·þÎñÆ÷²éѯµÄʱºòʹÓà TCP £¬µ«ÊÂʵÉÏ£¬ºÜ¶à DNS ·þÎñÆ÷½øÐÐÅäÖõÄʱºò£¬½öÖ§³ÖUDP ²éѯ°ü¡£
HTTP
HTTP ÊÇʲô£¿
HTTP ÐÒ飬ÊÇ Hyper Text Transfer Protocol£¨³¬Îı¾´«ÊäÐÒ飩µÄËõд£¬ÊÇÓÃÓÚ´ÓÍòάÍø£¨WWW:World WideWeb £©·þÎñÆ÷´«Ê䳬Îı¾µ½±¾µØä¯ÀÀÆ÷µÄ´«ËÍÐÒé¡£Ö÷ÒªÌصãÈçÏ£º
¼òµ¥¿ìËÙ£º¿Í»§Ïò·þÎñÆ÷ÇëÇó·þÎñʱ£¬Ö»Ðè´«ËÍÇëÇó·½·¨ºÍ·¾¶¡£ÇëÇó·½·¨³£ÓõÄÓÐ GET¡¢HEAD¡¢POST µÈµÈ¡£Ã¿ÖÖ·½·¨¹æ¶¨ÁË¿Í»§Óë·þÎñÆ÷ÁªÏµµÄÀàÐͲ»Í¬¡£ÓÉÓÚ HTTP ÐÒé¼òµ¥£¬Ê¹µÃ HTTP ·þÎñÆ÷µÄ³ÌÐò¹æģС£¬Òò¶øͨÐÅËٶȺܿ졣
Êý¾Ý¸ñʽÁé»î£ºHTTP ÔÊÐí´«ÊäÈÎÒâÀàÐ͵ÄÊý¾Ý¶ÔÏó¡£ÕýÔÚ´«ÊäµÄÀàÐÍÓÉContent-Type ¼ÓÒÔ±ê¼Ç¡£ÎÞÁ¬½Ó£ºÎÞÁ¬½ÓµÄº¬ÒåÊÇÏÞÖÆÿ´ÎÁ¬½ÓÖ»´¦ÀíÒ»¸öÇëÇó¡£·þÎñÆ÷´¦ÀíÍê¿Í»§µÄÇëÇ󣬲¢ÊÕµ½¿Í»§µÄÓ¦´ðºó£¬¼´¶Ï¿ªÁ¬½Ó¡£²ÉÓÃÕâÖÖ·½Ê½¿ÉÒÔ½ÚÊ¡´«Êäʱ¼ä¡£Ö÷ÒªÖ¸µÄÊDz»Ê¹Óà Keep-Alive »úÖƵÄÇé¿öÏ¡£
ÎÞ״̬£ºHTTP ÐÒéÊÇÎÞ״̬ÐÒé¡£ÎÞ״̬£¬ÊÇÖ¸ÐÒé¶ÔÓÚÊÂÎñ´¦ÀíûÓмÇÒäÄÜÁ¦¡£ÎÞ״̬Òâζ×ÅÈç¹ûºóÐø´¦ÀíÐèҪǰÃæµÄÐÅÏ¢£¬ÔòËü±ØÐëÖØ´«£¬ÕâÑù¿ÉÄܵ¼ÖÂÿ´ÎÁ¬½Ó´«Ë͵ÄÊý¾ÝÁ¿Ôö´ó¡£ÁíÒ»·½Ã棬ÔÚ·þÎñÆ÷²»ÐèÒªÏÈÇ°ÐÅϢʱËüµÄÓ¦´ð¾Í½Ï¿ì¡£
ÎÞ״̬£¬ËùÒÔ¸üÈÝÒ××ö·þÎñµÄÀ©ÈÝ£¬Ö§³Å¸ü´óµÄ·ÃÎÊÁ¿¡£Ö§³Ö B/S ¼° C/S ģʽ¡£