Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓƵ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
ÀûÓà WireShark ÉîÈëµ÷ÊÔÍøÂçÇëÇó
 
À´Ô´: ²®ÀÖÔÚÏß ·¢²¼ÓÚ£º2017-5-15
  3179  次浏览      22
 

±³¾°

×î½ü·¢ÏÖÎÒÃDzúÆ·ÔÚ´ò¿ª¹ã¸æÁ´½Ó(Webview)ʱÓÐÒ»¶¨¸ÅÂÊ»á·Ç³£Âý£¬°×ÆÁʱ¼ä³¬¹ý 10s£¬×·²é¹ã¸æµÄ¹ý³ÌÖÐÓöµ½²»ÉÙÓÐÒâ˼µÄÊÂÇ飬¸Ð¾õÆÄÓÐÊÕ»ñ¡£ÔÚÕâÀï·ÖÏíһϣ¬Ö÷ÒªÏëÁÄÒ»ÁÄ×·²é bug ʱµÄÄÇЩ·½·¨ÂÛ£¬µ±È»Ò²²»ÄÜÌ«Ð飬»¹ÊÇÒª´øÒ»µã¸É»õ£¬±ÈÈç WireShark µÄʹÓá£

Bug ¸´ÏÖ

Óöµ½ bug ºóµÄµÚÒ»¼þʵ±È»ÊǸ´ÏÖ¡£¾­¹ýÒ»·¬²âÊÔÎÒ·¢ÏÖ bug ¼¸ºõÖ»»áÖ÷Òª³öÏÖÔÚ iPhone6 ÕâÖÖÀϾɻúÐÍÉÏ£¬¶ø±ÊÕßµÄ 7Plus Ôò»ù±¾Ã»ÓÐÎÊÌâ¡£4G ºÍ Wifi ϶¼ÓÐÒ»¶¨¸ÅÂʳöÏÖ£¬Wifi Ëƺõ¸ü¼ÓƵ·±¡£

ÆäʵÓе㾭ÑéµÄ¿ª·¢Õß¿´µ½ÕâÀïÐÄÀïÓ¦¸ÃÓеãÆ×ÁË£¬ÕâÓ¦¸Ã²»ÊÇ¿Í»§¶ËµÄ bug£¬¸ü¿ÉÄÜÊÇÓÉÓÚ¹ã¸æÖ÷ÍøÒ³ÖÊÁ¿Ì«µÍ»òÕßÍøÂç»·¾³²»Îȶ¨µ¼Ö¡£µ«×÷Ϊһ¸ö¿¿Æ׵ijÌÐòÔ±£¬ÔõôÄÜ°ÑÕâÖÖºÁÎÞ¸ù¾ÝµÄ²Â²âÏòÉϼ¶»ã±¨ÄØ£¿

¹Ø×¢µã·ÖÀë

ÎÒÃÇÖªµÀ¼ÓÔØÍøÒ³¿ÉÒÔÓÉÁ½²¿·Öʱ¼ä×é³É£¬Ò»¸öÊDZ¾µØµÄ´¦Àíʱ¼ä£¬ÁíÒ»¸öÊÇÍøÂç¼ÓÔصÄʱ¼ä¡£Á½ÕߵķÖË®ÁëÓ¦¸ÃÔÚ UIWebview µÄ shouldStartLoadWithRequest ·½·¨ÉÏ¡£Õâ¸ö·½·¨µ÷ÓÃ֮ǰÊDZ¾µØ´¦ÀíºÄʱ£¬µ÷ÓÃÖ®ºóÊÇÍøÂç¼ÓÔصÄÇëÇó¡£ËùÒÔÎÒÃÇ¿ÉÒÔ°ÑÊÂÇé·Ö³ÉÁ½²¿·ÖÀ´¿´:

´Ó cell ½ÓÊܵã»÷ʼþµÄ didSelectedRowAtIndexPath Æðµ½ UIWebview µÄ shouldStartLoadWithRequest Ϊֹ¡£

´Ó shouldStartLoadWithRequest Æðµ½ UIWebview µÄ webViewDidFinishLoad Ϊֹ¡£

ÓÉÓÚ Bug ÊÇżÏÖ£¬ËùÒÔ²»¿ÉÄܳ¤Ê±¼äÓà Xcode µ÷ÊÔ£¬ËùÒÔ»¹Òª×¢Òâдһ¸ö¼òµ¥µÄ¹¤¾ß£¬½«Ã¿´ÎµÄ Log ÈÕÖ¾³Ö¾Ã»¯´æÏÂÀ´£¬±£Áôÿһ²½µÄº¯Êýµ÷ÓᢺÄʱ¡¢¾ßÌå²ÎÊýµÈ¡£ÕâÑùÒ»µ©¸´ÏÖ³öÀ´£¬¿ÉÒÔÁ¬ÉϵçÄÔ¶ÁÈ¡ÊÖ»úÖеÄÈÕÖ¾¡£

±¾µØ´¦Àí

±¾µØ´¦ÀíµÄºÄʱÏà¶Ô½Ï¶Ì£¬µ«Âß¼­Ò»µã¶¼²»¼òµ¥¡£ÔÚÎÒ¸öÈË¿´À´£¬´Óչʾ UITableview µ½´¦Àíµã»÷ʼþµÄÁ÷³Ì£¬×ãÒÔ·´Ó³³öÒ»¸öÍŶӵļ¼ÊõʵÁ¦¡£ºÁ²»¿äÕŵÄ˵£¬ÄÜ°ÑÕâ¸öСҵÎñ×öµ½ÍêÃÀµÄÍŶÓÁÈÁÈÎÞ¼¸£¬ÆäÖбØÈ»Éæ¼°µ½ MVC/MVVM µÈ¼Ü¹¹µÄÑ¡ÐÍÉè¼ÆÓë¾ßÌåʵÏÖ¡¢ÍøÂç²ãÓë³Ö¾Ã»¯²ãµÄ·â×°¡¢ÏîÄ¿Ä£¿é»¯µÄ²ð·ÖµÈºËÐÄ֪ʶµã¡£Îһᾡ¿ì³é¿ÕרÃÅһЩƪÎÄÕÂÀ´ÁÄÁÄÕâЩ£¬ÕâÀï¾Í²»ÔÙ׸Êö¡£

»¨ÁËÒ»·¬¹¦·òÕûÀíºÃÒµÎñÁ÷³Ì¡¢×öºÃͳ¼ÆÒÔºó»¹ÕæÓÐһЩÊÕ»ñ¡£¿Í»§¶ËµÄÂß¼­ÊÇ pushViewController ¶¯»­Ö´ÐÐÍêºó²Å·¢ËÍÇëÇ󣬰װ×ÀË·ÑÁË´óÔ¼ 0.5s µÄ¶¯»­Ê±¼ä£¬ÕâЩʱ¼äÔ­±¾¿ÉÒÔÓÃÀ´¼ÓÔØÍøÒ³¡£

ÍøÂçÇëÇó

½èÖúÈÕÖ¾ÎÒ»¹·¢ÏÖ£¬±¾µØ´¦ÀíËäÈ»ÀË·ÑÁËʱ¼ä£¬µ«Õâ¸öʱ¼äÏà¶ÔÎȶ¨£¬´óÔ¼ÔÚ 1s ×óÓÒ¡£¸ü´óµÄºÄʱÀ´×ÔÓÚÍøÂçÇëÇ󲿷֡£Ò»°ãÇé¿öÏ£¬´ò¿ªÍøÒ³»áÓжÌÔݵİ×ÆÁʱ¼ä£¬Õâ¶Îʱ¼äÄÚϵͳ»á¼ÓÔØ HTML µÈ×ÊÔ´²¢½øÐÐäÖȾ£¬Í¬Ê±½çÃæÉÏÓоջ¨ÔÚת¶¯¡£

°×ÆÁʲôʱºòÏûʧȡ¾öÓÚϵͳʲôʱºò¼ÓÔØÍêÍøÒ³£¬ÎÒÃÇÎÞ·¨¿ØÖÆ¡£µ«¾Õ»¨ÏûʧµÄʱ¼äÊÇÒÑÖªµÄ£¬ÎÒÃǵÄÂß¼­ÊÇдÔÚ webViewDidFinishLoad ÖС£Õâô×ö²»Ò»¶¨×¼È·£¬ÒòΪÍøÒ³Öض¨ÏòʱҲ»áµ÷Óà webViewDidFinishLoad ·½·¨µ¼Ö¿ͻ§¶ËÎóÒÔΪÒѾ­¼ÓÔØÍê³É¡£¸ü¼Ó׼ȷµÄ×ö·¨¿ÉÒԲο¼: ÈçºÎ׼ȷÅÐ¶Ï WebView ¼ÓÔØÍê³É£¬µ±È»ÕâÒ²Ò²½ö½öÊǸü׼ȷһЩ£¬¾Í UIWebview ¶øÑÔ£¬Ïë׼ȷµÄÅжÏÍøÂçÊÇ·ñ¼ÓÔØÍê³É¼¸ºõÊDz»¿ÉÄܵÄ(¸Ðл @JackAlan µÄʵ¼ù)¡£

ËùÒÔ˵ÍøÂç¼ÓÔØ»¹¿ÉÒÔϸ·ÖΪÁ½²¿·Ö£¬Ò»¸öÊÇ´¿°×ÆÁʱ¼ä£¬ÁíÒ»²¿·ÖÔòÊdzöÏÖÁËÍøÒ³µ«»¹ÔÚת¶¯¾Õ»¨µÄʱ¼ä¡£ÕâÊÇÒòΪһ¸ö Frame(¿ÉÒÔÊÇ HTML Ò²¿ÉÒÔÊÇ iFrame) È«²¿¼ÓÔØÍê³É(°üÀ¨ CSS/JS µÈ)ºó²Å»áµ÷Óà webViewDidFinishLoad ·½·¨£¬ËùÒÔ´æÔÚÍøÒ³ÒѾ­äÖȾµ«»¹ÔÚÖ´ÐÐ JS ÇëÇóµÄÇé¿ö£¬·´Ó³ÔÚÓû§¶Ë£¬¾ÍÊÇÄÜ¿´µ½ÍøÒ³µ«¾Õ»¨»¹ÔÚת¶¯¡£ÕâÖÖÇé¿öÈç¹û³ÖÐøʱ¼ä¹ý¾Ã»áµ¼ÖÂÓû§²»ÄÍ·³£¬µ«Ïà±ÈÓÚ´¿´âµÄ°×ÆÁʱ¼äÀ´Ëµ¸üÄܱ»½ÓÊÜһЩ¡£

ͬʱÎÒÃÇÒ²¿ÉÒÔÈ·¶¨£¬Èç¹ûÍøÒ³ÒѾ­¼ÓÔØ£¬µ« JS ÇëÇó»¹ÔÚ¼ÌÐø£¬Õâ¾ÍÊǹã¸æÖ÷µÄÍøÒ³ÖÊÁ¿Ì«²îµ¼Öµġ£ËðʧӦ¸ÃÓÉËûÃdzе££¬ÎÒÃÇÎÞÄÜΪÁ¦¡£¶ø³¤Ê±¼äµÄ°×ÆÁÔòÊÇÎÒÃÇÓ¦¸ÃÖص㿼ÂǵÄÎÊÌâ¡£

С½á

Æäʵ·ÖÎöµ½ÕâÀïÒѾ­¿ÉÒÔÏòÁìµ¼»ã±¨ÁË¡£ÍøÂç¼ÓÔصĺÄʱһ¹²ÊÇÈý¶Î£¬µÚÒ»¶ÎÊDZ¾µØ´¦Àíʱ¼ä£¬´æÔÚÐÔÄÜÀ˷ѵ«Ê±¼ä±È½ÏÎȶ¨£¬µÚ¶þ¶ÎÊÇÍøÒ³°×ÆÁʱ¼ä£¬Õâ¶Îʱ¼äÄÚϵͳµÄ UIWebView ÔÚÇëÇó×ÊÔ´²¢äÖȾ£¬µÚÈý¶ÎÊǼÓÔØÍøÒ³ºóµÄ¾Õ»¨×ª¶¯Ê±¼ä£¬Ò»°ãºÄʱ½ÏÉÙ£¬ÎÒÃÇÒ²ÎÞ·¨¿ØÖÆ¡£

ÎÒÃÇ»¹ÖªµÀ UIWebView ÌṩµÄ API ºÜÉÙ£¬´Ó¿ªÊ¼ÇëÇóµ½ÍøÒ³¼ÓÔؽáÊøÍêÈ«ÊǺںÐģʽ£¬¼¸ºõÎÞ´ÓÏÂÊÖ¡£µ«×÷ΪһÃûÓÐ×·Çó£¬ÓÐÀíÏ룬Óб§¸º£¬Óм¼ÊõµÄËÄÓгÌÐòÔ±£¬ÔõôÄÜÇáÑÔ·ÅÆúÄØ£¿

WireShark

¿Í»§¶ËÔÚµ÷ÊÔÍøÂçʱ×î³£ÓõŤ¾ßÒªÊý Charles£¬µ«ËüÖ»Äܵ÷ÊÔ HTTP/HTTPS ÇëÇó£¬¶Ô TCP ²ã¾ÍÎÞÄÜΪÁ¦ÁË¡£ÒªÏëÁ˽â HTTP ÇëÇó¹ý³ÌÖеÄϸ½Ú£¬ÎÒÃDZØÐëҪʹÓÃÍþÁ¦¸ü´ó(¿Ï¶¨Ò²¸ü¸´ÔÓ)µÄÎäÆ÷£¬Ò²¾ÍÊDZ¾ÎĵÄÖ÷½Ç WireShark¡£

Ò»°ãÀ´ËµÔ½Å£X µÄ¹¤¾ß³¤µÃ¾ÍÔ½³ó£¬WireShark Ò²ºÁ²»ÀýÍâµÄÓÐ×ÅÒ»¸±ÈÃÈËã±ƵÄÍâ±í¡£

²»¹ý²»ÓÃÌ«¼±£¬ÎÒÃÇÒªÓõ½µÄ¶«Î÷²»¶à£¬¶¥²¿ºì¿òÀïµÄÀ¶É«öèÓã±êÖ¾±íʾ¿ªÊ¼¼àÌýÍøÂçÊý¾Ý£¬ºìÉ«°´Å¥Ò»¿´Ò²Äܲ³öÀ´ÊÇֹͣ¼ÖÆ¡£Óë Charles Ö»¼àÌý HTTP ÇëÇó²»Í¬µÄÊÇ£¬WireShark ¿ÉÒÔµ÷ÊÔµ½ IP ²ãÉõÖÁ¸üϸ½Ú£¬ËùÒÔËüµÄÊý¾Ý°üÒ²¸ü¶à£¬¼¸ÃëÖÓµÄʱ¼ä¾Í»á±»ÉÏǧ¸öÇëÇóÑÍû£¬ËùÒÔÎÒ½¨ÒéÓû§ÂÔ΢¿ØÖÆһϼàÌýµÄʱ³¤£¬»òÕßÎÒÃÇ¿ÉÒÔÔÚµÚ¶þ¸öºì¿òÖÐÊäÈë¹ýÂËÌõ¼þÀ´¼õÉÙ¸ÉÈÅ£¬Õâ¸öÏÂÎÄ»áÏêϸ½éÉÜ¡£

WireShark ¿ÉÒÔ¼àÌý±¾»úµÄÍø¿¨£¬Ò²¿ÉÒÔ¼àÌýÊÖ»úµÄÍøÂ硣ʹÓà WireShark µ÷ÊÔÕæ»úʱ²»ÓÃÁ¬½Ó´úÀí£¬Ö»ÐèҪͨ¹ý USB Á¬½Óµ½µçÄÔ¾ÍÐУ¬·ñÔò¾ÍÎÞ·¨µ÷ÊÔ 4G ÍøÂçÁË¡£ÎÒÃÇ¿ÉÒÔÓà rvictl -s É豸 UDID ÃüÁîÀ´´´½¨Ò»¸öÐéÄâµÄÍø¿¨:

rvictl -s 902a6a449af014086dxxxxxx346490aaa0a8739

µ±È»£¬¿´ÊÖ»ú UDID »¹ÊÇͦÂé·³µÄ£¬×÷Ϊһ¸öÀÁÈË£¬ÔõôÄܲ»ÓÃÃüÁîÐÐÀ´Íê³ÉÄØ£¿

instruments -s | awk '{print $NR}' | sed -n 3p | awk '{print substr($0,2,length($0)-2)}' | xargs rvictl -s

ÕâÑùÖ»ÒªÁ¬ÉÏÊÖ»ú£¬¾Í¿ÉÒÔÖ±½Ó»ñÈ¡µ½ UDID ÁË¡£

ÔËÐÐÃüÁîºó»á¿´µ½³É¹¦´´½¨ rvi0 ÐéÄâÍø¿¨µÄÌáʾ£¬Ë«»÷ rvi0 ÄÇÒ»Ðм´¿É¡£

×¥°ü½çÃæ

ÎÒÃÇÖ÷Òª¹Ø×¢Á½¸öÄÚÈÝ£¬ÉÏÃæµÄ´óºì¿òÀïÃæÊÇÊý¾ÝÁ÷£¬°üº¬ÁË TCP¡¢DNS¡¢ICMP¡¢HTTP µÈЭÒ飬ÑÕÉ«»¨»¨ÂÌÂÌ£¬Ñ¤Àö¶à²Ê¡£Ò»°ãÀ´ËµºÚÉ«µÄÄÚÈݱíʾÓöµ½´íÎó£¬ÐèÒªÖصã¹Ø×¢£¬ÆäËûÄÚÈÝÔò¸¨ÖúÀí½â¡£·´¸´µ÷ÊÔ¼¸´ÎÒÔºóÒ²¾ÍÄÜ»ù±¾¼Çס¸÷ÖÖÑÕÉ«¶ÔÓ¦µÄº¬ÒåÁË¡£

ÏÂÃæµÄСºì¿òÀïÃæÖ÷ÒªÊÇijһ¸ö°üµÄÊý¾ÝÏê½â£¬»á¸ù¾Ý²»Í¬µÄЭÒé²ãÀ´»®·Ö£¬±ÈÈçÎÒÑ¡ÖÐµÄ 99 ºÅ°üʱһ¸ö TCP °ü£¬¿ÉÒÔºÜÇå³þµÄ¿´µ½ËüµÄ IP Í·²¿¡¢TCP Í·²¿ºÍ TCP Payload¡£ÕâЩÊý¾Ý±ØҪʱ¿ÉÒÔ×ö¸üÏêϸµÄ·ÖÎö£¬µ«Ò»°ãÒ²²»ÓùØ×¢¡£

Ò»°ãÀ´ËµÒ»´ÎÇëÇóµÄÊý¾Ý°ü»á·Ç³£´ó£¬¿ÉÄÜ»áÓÐÉÏǧ¸ö£¬ÈçºÎÕÒµ½×Ô¼º¸ÐÐËȤµÄÇëÇóÄØ£¬ÎÒÃÇ¿ÉÒÔʹÓÃ֮ǰÌáµ½µÄ¹ýÂ˹¦ÄÜ¡£WireShark µÄ¹ýÂËʹÓÃÁËÒ»Ì××Ô¼º¶¨ÒåµÄÓï·¨£¬²»ÊìϤµÄ»°ÐèÒªÉÏÍø²éÒ»²é»òÕß½èÖú×Ô¶¯²¹È«¹¦ÄÜÀ´¡°ÍûÎÄÉúÒ塱¡£

ÓÉÓÚÊÇÒª²é¿´ HTTP ÇëÇóµÄ¾ßÌåϸ½Ú£¬ÎÒÃÇÏȵÃÕÒµ½ÇëÇóµÄÍøÖ·£¬È»ºóÀûÓà ping ÃüÁîµÃµ½Ëü¶ÔÓ¦µÄ IP µØÖ·¡£ÕâÖÖ×ö·¨Ò»°ãûÎÊÌ⣬µ«Ò²²»ÅųýÓеÄÓòÃû»á×öһЩÓÅ»¯£¬±ÈÈ粻ͬµÄ IP ÇëÇó DNS ½âÎöʱ·µ»Ø²»Í¬µÄ IP µØÖ·À´±£Ö¤×î¼ÑËٶȡ£Ò²¾ÍÊÇ˵ÊÖ»úÉÏ DNS ½âÎöµÄ½á¹û²¢²»×ÜÊǺ͵çÄÔÉϵĽâÎö½á¹ûÒ»Ö¡£ÕâÖÖÇé¿öÏÂÎÒÃÇ¿ÉÒÔͨ¹ý²é¿´ DNS Êý¾Ý°üÀ´È·¶¨¡£

±ÈÈç´ÓͼÖпÉÒÔ¿´µ½ res.wx.qq.com Õâ¸öÓòÃû½âÎö³öÁËÒ»´ó¶Ñ IP µØÖ·£¬¶øÕæÕýʹÓõĽöÓÐÇ°Á½¸ö¡£

½âÎö³öµØÖ·ºó£¬ÎÒÃǾͿÉÒÔ×ö¼òµ¥µÄ¹ýÂËÁË£¬ÊäÈëip.addr == 220.194.203.68:

ÕâÑù¾ÍÖ»ÏÔʾºÍ 220.194.203.68 Ö÷»úÖ®¼äµÄͨÐÅÁË¡£×¢Òâºì¿òÖÐµÄ SourcePort£¬ÕâÊÇ¿Í»§¶Ë¶Ë¿Ú¡£ÎÒÃÇÖªµÀ HTTP Ö§³Ö²¢·¢ÇëÇ󣬲»Í¬µÄ²¢·¢ÇëÇó¿Ï¶¨ÊÇÕ¼Óò»Í¬µÄ¶Ë¿Ú¡£ËùÒÔÔÚͼÖп´µ½µÄÉÏÏÂÁ½¸öÊý¾Ý°ü£¬²¢·ÇÒ»¶¨ÊÇÇëÇóÓëÏìÓ¦µÄ¹Øϵ£¬ËûÃÇ¿ÉÄÜÊôÓÚÁ½¸ö²»Í¬µÄ¶Ë¿Ú£¬±Ë´ËÖ®¼äºÁÎÞ¹Øϵ£¬Ö»ÊÇÇ¡ºÃÔÚʱ¼äÉÏ×î½Ó½ü¶øÒÑ¡£

Èç¹ûÖ»ÏëÏÔʾij¸ö¶Ë¿ÚµÄÊý¾Ý£¬¿ÉÒÔʹÓÃ:ip.addr == 220.194.203.68 and tcp.dstport == 58854¡£

Èç¹ûÖ»Ïë¿´ HTTP ЭÒéµÄ GET ÇëÇóÓëÏìÓ¦£¬¿ÉÒÔʹÓà ip.addr == 220.194.203.68 and (http.request.method == "GET" || http.response.code == 200) À´¹ýÂË¡£

Èç¹ûÏë¿´¶ª°ü·½ÃæµÄÊý¾Ý£¬¿ÉÒÔÓà ip.addr == 220.194.203.68 and (tcp.analysis.fast_retransmission || tcp.analysis.retransmission)

ÒÔÉÏÊDZÊÕßÔÚµ÷ÊÔ¹ý³ÌÖÐÓõ½±È½Ï¶àµÄÃüÁ½ö¹©²Î¿¼¡£ÓÐÐËȤµÄ¶ÁÕß¿ÉÒÔ×ÔÐÐ×¥°üʵÑ飬¾Í²»°¤¸öÌùͼÁË¡£

Case1: DNS½âÎö

¾­¹ý¶à´Î×¥°üºóÎÒ¿ªÊ¼·ÖÎöÄÇЩ³¤Ê±¼ä°×ÆÁµÄÍøÒ³¶ÔÓ¦µÄÊý¾Ý°ü£¬¹ûÈ»·¢ÏÖ²»ÉÙÎÊÌ⣬±ÈÈçÕâÀï:

¿ÉÒÔºÜÃ÷ÏԵĿ´µ½ÔÚÒ»´ó´®ºÚÉ«´íÎóÐÅÏ¢£¬µ«Èç¹ûÄãÈ¥µ÷ÊÔÕâЩÊý¾Ý°ü£¬ÄÇô¾Íµô½øÏÝÚåÁË¡£DNS ÊÇ»ùÓÚ UDP µÄЭÒ飬²»»áÓÐ TCP ÖØ´«£¬ËùÒÔÕâЩºÚÉ«µÄÊý¾Ý°ü±Ø¶¨ÊÇ֮ǰµÄ¶ª°üÖØ´«£¬²»ÓùØÐÄ¡£Èç¹ûÖ»¿´À¶É«µÄ DNS ÇëÇ󣬾ͻᷢÏÖÁ¬Ðø·¢ËÍÁ˼¸¸öÇëÇ󵫶¼Ã»ÓÐÏìÓ¦£¬Ö±µ½µÚ 12s ²ÅµÃµ½½âÎöºóµÄIP µØÖ·¡£

´Ó DNS ÇëÇóµÄ½ÓÊÕ·½µÄµØÖ·ÒÔ 172.24 ¿ªÍ·¿ÉÒÔ¿´³ö£¬ÕâÊÇÄÚÍø DNS ·þÎñÆ÷£¬²»ÖªµÀΪʲô¿¨Á˺ܾá£

Case2: ÎÕÊÖÏìÓ¦ÑÓ³Ù

ÏÂͼÊÇÒ»´ÎµäÐ굀 TCP ÎÕÊÖʱµÄ³¡¾°¡£Í¬Ê±Ò²¿ÉÒÔ¿´µ½µÚÒ»ÕÅͼÖÐµÄ SYN ÎÕÊÖ°ü·¢³öºó£¬¹ýÁËÒ»ÃëÖӲŽÓÊܵ½ ACK¡£µ±È»ÁË£¬Ô­ÒòÒ²²»Çå³þ£¬Ö»ÄܽâÊÍΪÍøÂ綶¶¯¡£

ËæºóÎÒÓÖÔÚ 4G ÍøÂçÏÂ×¥ÁËÒ»´Î°ü:

Õâ´ÎÊÂÇé¾Í¸üÀëÆ×ÁË£¬µÚ¶þÃë·¢³öµÄ SYN ÎÕÊÖ°ü·´¸´¶ªÊ§(Ò²ÓпÉÄÜÊÇ·þÎñ¶ËûÓÐÏìÓ¦¡¢»òÕßÊÇ ACK ¶ªÊ§)£¬×ÜÖ®¿Í»§¶Ë²»¶ÏÖØ´« SYN °ü¡£

¸üÓÐÒâ˼µÄÊÇ£¬¹Û²ì TSval£¬Ëü±íʾ°ü·¢³öʱµÄʱ¼ä´Á¡£ÎÒÃǹ۲ìÕ⼸¸öÖµ»á·¢ÏÖ£¬Ç°¼¸´ÎµÄ¼ä¸ôʱ¼äÊÇ 1s£¬ºóÀ´±ä³ÉÁË 2s£¬4s ºÍ 8s¡£Õâ²»½ûÈÃÎÒÏëÆðÁË RTO µÄ¸ÅÄî¡£

ÎÒÃÇÖªµÀ RTT ±íʾµÄÊÇÍøÂçÇëÇó´Ó·¢Æðµ½½ÓÊÕÏìÓ¦µÄʱ¼ä£¬ËüÊÇÒ»¸öËæ×ÅÍøÂç»·¾³¶ø¶¯Ì¬¸Ä±äµÄÖµ¡£TCP Óд°¿ÚµÄ¸ÅÄ¶ÔÓÚ´°¿ÚµÄµÚÒ»¸öÊý¾Ý°ü£¬Èç¹ûËüÎÞ·¨·¢ËÍ£¬´°¿Ú¾Í²»ÄÜÏòºó»¬¶¯¡£¿Í»§¶ËÒÔ½ÓÊÕµ½ ACK ×÷ΪÊý¾Ý°ü³É¹¦·¢Ë͵ıêÖ¾£¬ÄÇôÈç¹û ACK ÊÕ²»µ½ÄØ£¿¿Í»§¶Ëµ±È»²»»áÒ»Ö±µÈÏÂÈ¥£¬Ëü»áÉèÖÃÒ»¸ö³¬Ê±Ê±¼ä£¬Ò»µ©³¬¹ýÕâ¸öʱ¼ä¾ÍÈÏΪÊý¾Ý°ü¶ªÊ§£¬´Ó¶øÖØ´«¡£

Õâ¸ö³¬Ê±Ê±¼ä¾Í±»³ÆΪ RTO£¬ÏÔÈ»Ëü±ØÐëÂÔ´óÓÚ RTT£¬·ñÔò¾Í»áÎó±¨Êý¾Ý°ü¶ªÊ§¡£µ«Ò²²»Äܹý´ó£¬·ñÔò»áÀË·Ñʱ¼ä¡£Òò´ËºÏÀíµÄ RTO ±ØÐë¸úËæ RTT ¶¯Ì¬µ÷Õû£¬Ê¼ÖÕ±£Ö¤´óÓÚ RTT µ«Ò²²»ÖÁÓÚÌ«´ó¡£¹Û²ìÉÏÃæµÄ½Øͼ¿ÉÒÔ·¢ÏÖ£¬Ä³Ð©Çé¿öÏ RTT »á·Ç³£Ð¡£¬Ð¡µ½Ö»Óм¸ºÁÃë¡£Èç¹û RTO Ò²ÉèÖÃΪ¼¸ºÁÃë¾Í»áÏԵò»Ì«ºÏÀí£¬Õâ»á¼Ó´ó¿Í»§¶ËºÍÑØ;¸÷·ÓÉÆ÷µÄѹÁ¦¡£Òò´Ë RTO »¹»áÉèÖÃÏÂÏÞ£¬²»Í¬µÄ²Ù×÷ϵͳ¿ÉÄÜÓв»Í¬µÄʵÏÖ£¬±ÈÈç Linux ÉÏÊÇ 200ms¡£Í¬Ê±£¬RTO Ò²»áÉèÖÃÉÏÏÞ£¬¾ßÌåµÄËã·¨¿ÉÒԲο¼ÕâƪÎÄÕ ºÍÕâƪÎÄÕ¡£

ÐèҪעÒâµÄÊÇ£¬RTO Ëæ×Å RTT ¶¯Ì¬±ä»¯£¬µ«Èç¹û´ïµ½ÁË RTO µ¼ÖÂÁ˳¬Ê±ÖØ´«£¬ÒÔºóµÄ RTO ¾Í²»ÔÙËæ×Å RTT ±ä»¯ÁË(´ËʱµÄ RTT ÎÞ·¨¼ÆËã)£¬»áÖ¸ÊýÔö³¤¡£Ò²¾ÍÊÇÉÏÃæ½ØͼÖеļä¸ôʱ¼ä´Ó 2s ±ä³É 4s ÔÙ±ä³É 8s µÄÔ­Òò¡£

ͬÑùµÄ£¬ÎÒÃÇ·¢ÏÖÁËÎÕÊÖ»¨·ÑÁË 20s ÕâÒ»ÏÖÏ󣬵«ÎÞ·¨¸ø³ö׼ȷԭÒò£¬Ö»ÄܽâÊÍΪÍøÂ綶¶¯¡£

×ܽá

ͨ¹ý TCP ²ãÃæµÄ×¥°ü£¬ÎÒÃDz»½ö½öѧϰÁË WireShark µÄʹÓã¬Ò²¸´Ï°ÁË TCP ЭÒéµÄÏà¹Ø֪ʶ£¬¶ÔÎÊÌâµÄ·ÖÎöÒ²¸ü¼ÓÉîÈë¡£´Ó×î³õµÄÍøÂçÎÊÌ⿪ʼϸ»¯ÍÚ¾ò£¬µÃ³öÁË°×ÆÁʱ¼ä¹ý³¤¡¢ÍøÒ³¼ÓÔØÌ«ÂýµÄ½áÂÛ£¬×îÖÕÓÖ¾ßÌåµÄ¼ÆËã³öÁËÓжàÉÙ¸ö HTTP ÇëÇó£¬DNS ½âÎö¡¢TCP ÎÕÊÖ¡¢TCP Êý¾Ý´«ÊäµÈ¸÷¸ö½×¶ÎµÄºÄʱ¡£ÓÉ´Ë¿´À´£¬ÍøÒ³¼ÓÔØÂýµÄ×ï¿ý»öÊײ¢·Ç¹ã¸æÖ÷ÍøÒ³µÄÖÊÁ¿ÎÊÌ⣬¶øÊÇÍøÂçµÄ²»Îȶ¨ÎÊÌâ¡£ËäÈ»×îÖÕҲûÓеõ½ÓÐЧµÄ½â¾ö·½°¸£¬µ«ÖÁÉÙÃ÷È·ÁËÎÊÌâµÄ·¢ÉúÔ­Òò£¬¸ø³öÁËÁîÈËÐÅ·þµÄ½âÊÍ¡£

   
3179 ´Îä¯ÀÀ       22
????

HTTP????
nginx??????
SD-WAN???
5G?????
 
????

??????????
IPv6???????
??????????
???????
????

????????
????????
???????????????
??????????
×îл¼Æ»®
Node+Vue3.0Ç°¶ËÈ«Õ»¿ª·¢ 7-5 [ÌØ»Ý]
Spring Cloud΢·þÎñ¼Ü¹¹ 7-5[ÌØ»Ý]
SysMLºÍEAϵͳÉè¼ÆÓ뽨ģ 7-26[ÌØ»Ý]
Python¡¢Êý¾Ý·ÖÎöÓë»úÆ÷ѧϰ 8-23[ÌØ»Ý]
ǶÈëʽÈí¼þ¼Ü¹¹Éè¼Æ 8-22[ÏßÉÏ]
LinuxÄں˱à³Ì¼°É豸Çý¶¯ 7-25[±±¾©]

ר¼ÒÊӽǿ´ITÓë¼Ü¹¹
Èí¼þ¼Ü¹¹Éè¼Æ
ÃæÏò·þÎñÌåϵ¼Ü¹¹ºÍÒµÎñ×é¼þµÄ˼¿¼
ÈËÈËÍøÒƶ¯¿ª·¢¼Ü¹¹
¼Ü¹¹¸¯»¯Ö®ÃÕ
̸ƽ̨¼´·þÎñPaaS
Ïà¹ØÅàѵ¿Î³Ì

ÔƼÆËãÔ­ÀíÓëÓ¦ÓÃ
Windows Azure ÔƼÆËãÓ¦ÓÃ

ĦÍÐÂÞÀ­ ÔÆƽ̨µÄ¹¹½¨ÓëÓ¦ÓÃ
ͨÓù«Ë¾GE DockerÔ­ÀíÓëʵ¼ù
ijÑз¢ÖÐÐÄ Openstackʵ¼ù
ÖªÃûµç×Ó¹«Ë¾ ÔÆƽ̨¼Ü¹¹ÓëÓ¦ÓÃ
ijµçÁ¦ÐÐÒµ »ùÓÚÔÆƽ̨¹¹½¨ÔÆ·þÎñ
ÔƼÆËãÓëWindows AzureÅàѵ
±±¾© ÔƼÆËãÔ­ÀíÓëÓ¦ÓÃ