本文是對個人筆記中內(nèi)容的整理,部分代碼及圖片來自互聯(lián)網(wǎng),由于不好找到原始出處,所以未加注明。
如有痛感,聯(lián)系刪除。
本文將介紹以下知識點:
TCP與UDP的區(qū)別;
單播、多播、廣播;
Java中實現(xiàn)UDP的重要的類;
Peer Discovering方案
一、TCP vs UDP
TCP:Transmission Control Protocol(傳輸控制協(xié)議)
TCP是一種面向連接(連接導(dǎo)向)的、可靠的、基于字節(jié)流的運輸層(Transport layer)通信協(xié)議,由IETF的RFC 793說明(specified)。TCP建立連接之后,通信雙方都同時可以進行數(shù)據(jù)的傳輸,是全雙工的。
在保證可靠性上,采用超時重傳和捎帶確認機制;
在流量控制上,采用滑動窗口協(xié)議,協(xié)議中規(guī)定,對于窗口內(nèi)未經(jīng)確認的分組需要重傳;
在擁塞控制上,采用慢啟動算法。
TCP傳輸過程示意圖: