這篇文章轉(zhuǎn)載自http://blog.chinaunix.net/uid-26275986-id-4109679.html
文章從滑動(dòng)窗口,流量控制崩侠,擁塞控制等幾個(gè)方面闡述了TCP可靠傳輸?shù)膶?shí)現(xiàn)漆魔。為尊重知識(shí)產(chǎn)權(quán),請到作者博客閱覽啦膜,感謝作者的貢獻(xiàn)有送。
另外淌喻,TCP和UDP的區(qū)別是初級(jí)面試中比較常問到的僧家。個(gè)人覺得最主要的區(qū)別就是TCP可靠,UDP不可靠裸删“斯埃可以抽象的把TCP認(rèn)為是為了解決UDP不可靠的解決方案。
因?yàn)闊o連接不可靠涯塔,所以TCP需要建立連接肌稻;
因?yàn)閬G包不可靠,所以TCP需要丟包重傳匕荸;
因?yàn)闊o序到達(dá)不可靠爹谭,所以TCP需要滑動(dòng)窗口;
因?yàn)榛瑒?dòng)窗口出現(xiàn)榛搔,所以要流量控制诺凡,擁塞控制;
......
那是不是UDP就沒用了呢践惑,當(dāng)然不是腹泌,很多時(shí)候可靠不一定最有價(jià)值。
比如直播尔觉,如果發(fā)生丟包凉袱,你是選擇忍受重傳的延時(shí)呢還是最快的跟上比賽節(jié)奏?
至于什么時(shí)候選擇TCP,什么時(shí)候選擇UDP,大牛們都說,當(dāng)不確定的時(shí)候選TCP...