tcp協(xié)議頭結(jié)構(gòu)
tcp報(bào)頭一共20個(gè)字節(jié)纸镊。每行4個(gè),所以一共5行概疆。每行4個(gè)字節(jié)逗威,就是4*8=32個(gè)位。
第四行那些字母叫做標(biāo)志位岔冀,6個(gè)標(biāo)志位凯旭。
udp協(xié)議頭結(jié)構(gòu)
沒找到合適的圖,分為三行
第一行:16位源端口號(hào)楣颠,16位目的端口號(hào)
第二行:16位用戶數(shù)據(jù)包長(zhǎng)度尽纽,16位校驗(yàn)和
第三行:數(shù)據(jù)咐蚯。
tcp童漩,udp區(qū)別
1、TCP面向連接(如打電話要先撥號(hào)建立連接);UDP是無連接的春锋,即發(fā)送數(shù)據(jù)之前不需要建立連接
2矫膨、TCP提供可靠的服務(wù)。也就是說期奔,通過TCP連接傳送的數(shù)據(jù)侧馅,無差錯(cuò),不丟失呐萌,不重復(fù)馁痴,且按序到達(dá);UDP盡最大努力交付,即不保證可靠交付
3肺孤、TCP面向字節(jié)流罗晕,實(shí)際上是TCP把數(shù)據(jù)看成一連串無結(jié)構(gòu)的字節(jié)流;UDP是面向報(bào)文的
UDP沒有擁塞控制?赠堵?小渊?因此網(wǎng)絡(luò)出現(xiàn)擁塞不會(huì)使源主機(jī)的發(fā)送速率降低(對(duì)實(shí)時(shí)應(yīng)用很有用,如IP電話茫叭,實(shí)時(shí)視頻會(huì)議等)
4酬屉、每一條TCP連接只能是點(diǎn)到點(diǎn)的;UDP支持一對(duì)一,一對(duì)多,多對(duì)一和多對(duì)多的交互通信
5呐萨、TCP首部開銷20字節(jié);UDP的首部開銷小杀饵,只有8個(gè)字節(jié)
6、TCP的邏輯通信信道是全雙工的可靠信道谬擦,UDP則是不可靠信道
tcp如何保證可靠傳輸
1.應(yīng)用數(shù)據(jù)被分割成TCP認(rèn)為最適合發(fā)送的數(shù)據(jù)塊凹髓,TCP能將數(shù)據(jù)截?cái)酁楹侠淼拈L(zhǎng)度。
2.當(dāng)TCP發(fā)出一個(gè)段后,它會(huì)啟動(dòng)一個(gè)定時(shí)器,等待目的端確認(rèn)收到這個(gè)報(bào)文段寒波,如果不能及時(shí)收到確認(rèn)就重發(fā)這個(gè)報(bào)文段屯远,超時(shí)重發(fā)。
3.當(dāng)TCP端收到另一個(gè)TCP端發(fā)出的一個(gè)報(bào)文段扛伍,它會(huì)發(fā)送一個(gè)確認(rèn),對(duì)于收到的請(qǐng)求,給予確認(rèn)響應(yīng)礼患。
4.TCP會(huì)檢測(cè)收到報(bào)文段的頭部和數(shù)據(jù)的校驗(yàn)和,如果不對(duì)掠归,TCP將丟棄這個(gè)報(bào)文段并且不發(fā)送確認(rèn)缅叠。
5.TCP會(huì)對(duì)失序的數(shù)據(jù)進(jìn)行重新排序再提交給應(yīng)用層。
6.TCP會(huì)丟棄重復(fù)的數(shù)據(jù)虏冻。
7.TCP每一端都有固定大小的緩沖區(qū)肤粱,進(jìn)行流量控制,防止較快主機(jī)使較慢主機(jī)的緩沖區(qū)溢出厨相。
網(wǎng)絡(luò)的七層結(jié)構(gòu)
OSI模型:物理層领曼,數(shù)據(jù)鏈路層,網(wǎng)絡(luò)層(ip)蛮穿,傳輸層(tcp,udp)庶骄,會(huì)話層,表示層践磅,應(yīng)用層(http)单刁。
tcp屬于哪一層
ip屬于哪一層