計(jì)算機(jī)網(wǎng)絡(luò) 傳輸層

傳輸層

只有主機(jī)才有的層次,為應(yīng)用層提供通信服務(wù)使用網(wǎng)絡(luò)層服務(wù)
傳輸層的功能:

1.傳輸層提供進(jìn)程和進(jìn)程之間的邏輯通信
網(wǎng)絡(luò)層提供主機(jī)之間的邏輯通信

2.復(fù)用和分用
3.傳輸層對(duì)收到的報(bào)文進(jìn)行差錯(cuò)檢測

4.傳輸層兩種協(xié)議
傳輸層的尋址與端口

  • 復(fù)用:應(yīng)用層所有的應(yīng)用進(jìn)程都可以通過傳輸層再傳輸?shù)骄W(wǎng)絡(luò)層精盅。
  • 分用:傳輸層從網(wǎng)絡(luò)層收到數(shù)據(jù)后交付指明的應(yīng)用進(jìn)程帽哑。
    邏輯端口/軟件端口 端口是傳輸層的SAP,標(biāo)識(shí)主機(jī)中的應(yīng)用進(jìn)程叹俏。
    端口號(hào)只有本地意義祝拯,在因特網(wǎng)中不同計(jì)算機(jī)的相同端口是沒有聯(lián)系的。
    端口號(hào)長度位16bit她肯,能表示65536個(gè)不同的端口號(hào)佳头。

套接字Socket=(主機(jī)IP地址,端口號(hào))




UDP

UDP只在IP數(shù)據(jù)服務(wù)之上增加和很少功能晴氨,即復(fù)用分用和差錯(cuò)檢測功能康嘉。
UDP的主要特點(diǎn):
1.UDP是無連接的,減少開銷和發(fā)送數(shù)據(jù)之前的時(shí)延籽前。
2.UDP使用最大努力交付亭珍,即不保證可靠交付。
3.UDP是面向報(bào)文的枝哄,適合一次性傳輸少量數(shù)據(jù)的網(wǎng)絡(luò)應(yīng)用肄梨。


應(yīng)用層給UDP多長的報(bào)文,UDP 就照樣發(fā)送挠锥,即一次發(fā)送一個(gè)完整報(bào)文

4.UDP無擁塞控制众羡,適合很多實(shí)時(shí)應(yīng)用。
5.UDP首部開銷小蓖租,8B【TCP 20B】
UDP首部格式


分用時(shí)粱侣,找不到對(duì)應(yīng)的目的端口號(hào)羊壹,就丟棄報(bào)文,并發(fā)回ICMP端口不可達(dá)差錯(cuò)報(bào)文
偽首部(用于校驗(yàn))

來講一下校驗(yàn)過程:
紅圈內(nèi)為校驗(yàn)字段
  • 在發(fā)送端:
    1.填上偽首部
    2.全0填充校驗(yàn)和字段
    3.全0填充數(shù)據(jù)部分(UDP4B怪)
    4.偽首部+首部+數(shù)據(jù)部分采用二進(jìn)制反碼求和
    5.把和求反碼填入校驗(yàn)字段
    6.去掉偽首部齐婴,發(fā)送
  • 在接收端:
    1.填上偽首部
    2.偽首部+首部+數(shù)據(jù)部分采用二進(jìn)制反碼求和
    3.結(jié)構(gòu)全為1則無差錯(cuò)油猫,否則丟棄數(shù)據(jù)報(bào)/交給應(yīng)用層附上出差錯(cuò)警告。



TCP

1.TCP是面向連接(虛連接)的傳輸層協(xié)議柠偶。
2.每一條TCP連接只能有兩個(gè)端點(diǎn)情妖,每一條TCP連接只能是點(diǎn)對(duì)點(diǎn)的。
3.TCP提供可靠交付的服務(wù)诱担,無差錯(cuò)毡证、不丟失、不重復(fù)该肴、按序到達(dá)情竹∶瓴唬【可靠有序匀哄,不丟不重】
4.TCP提供全雙工通信。

  • 發(fā)送緩存:準(zhǔn)備發(fā)送的數(shù)據(jù)和已發(fā)送但尚未收到確認(rèn)的數(shù)據(jù)
  • 接收緩存:按序到達(dá)但尚未被接受應(yīng)用程序讀取的數(shù)據(jù)和不按序到達(dá)的數(shù)據(jù)

    5.TCP面向字節(jié)流:TCP把應(yīng)用程序交下來的數(shù)據(jù)看成僅僅是一連串的無結(jié)構(gòu)的字節(jié)流雏蛮∠呀溃【流:流入到進(jìn)程或從進(jìn)程流出的字節(jié)序列】
    把1~10放入緩存等待發(fā)送
TCP報(bào)文段首部格式

TCP是強(qiáng)迫癥填充已達(dá)4字節(jié)整數(shù)倍
序號(hào):在一個(gè)TCP連接中傳送的字節(jié)流中的每一個(gè)字節(jié)都按順序編碼,本字段表示本報(bào)文段所發(fā)送數(shù)據(jù)的第一個(gè)字節(jié)的序號(hào)挑秉。
最右邊是1序號(hào)就為1法梯,最右邊為序號(hào)是4

確認(rèn)號(hào):期望收到對(duì)方下一個(gè)報(bào)文段的第一個(gè)數(shù)據(jù)字節(jié)的序號(hào)。若確認(rèn)號(hào)為N犀概,則證明到序號(hào)N-1為止的所有數(shù)據(jù)都已正確收到立哑。
數(shù)據(jù)偏移(首部長度):TCP報(bào)文段的數(shù)據(jù)起始處距離TCP報(bào)文段的起始處有多遠(yuǎn),以4B為單位姻灶,即一個(gè)數(shù)值是4B铛绰。

6個(gè)控制位
緊急位URG:URG=1時(shí),標(biāo)明此報(bào)文段中有緊急數(shù)據(jù)产喉,是高優(yōu)先級(jí)的數(shù)據(jù)捂掰,應(yīng)盡快傳送,不用在緩存里排隊(duì)曾沈,配合緊急指針字段使用这嚣。
確認(rèn)位ACK:ACK=1時(shí)確認(rèn)號(hào)有效,在連接建立后所有傳送的報(bào)文段都必須把ACK置為1塞俱。
推送位PSH:PSH=1時(shí)姐帚,接收方盡快交付接受應(yīng)用進(jìn)程,不再等待緩存填滿再向上交付障涯。
復(fù)位RST:RST=1時(shí)卧土,表明TCP連接中出現(xiàn)嚴(yán)重差錯(cuò)惫皱,必須釋放連接,然后再重新建立傳輸鏈接尤莺。
同步位SYN:SYN=1時(shí)旅敷,表明是一個(gè)連接請求/連接接受報(bào)文。
終止位FIN:FIN=1時(shí)颤霎,表明此報(bào)文段發(fā)送方數(shù)據(jù)已發(fā)完媳谁,要求釋放連接。

窗口:指的是發(fā)送本報(bào)文段的一方的接收窗口友酱,即現(xiàn)在允許對(duì)方發(fā)送的數(shù)據(jù)量晴音。
校驗(yàn)和:檢驗(yàn)首部+數(shù)據(jù),檢驗(yàn)時(shí)要加上12B偽首部缔杉,第四個(gè)字段為6锤躁。
緊急指針:URG=1時(shí)才有意義,指出本報(bào)文段中緊急數(shù)據(jù)的字節(jié)數(shù)或详。
選項(xiàng):最大報(bào)文段長度MSS系羞、窗口擴(kuò)大、時(shí)間戳霸琴、選擇確認(rèn)......

TCP連接管理

TCP連接傳輸三個(gè)階段:

TCP連接的建立采用客戶服務(wù)器方式椒振,主動(dòng)發(fā)起連接的應(yīng)用進(jìn)程叫做客戶,而被動(dòng)等待連接建立的應(yīng)用進(jìn)程叫服務(wù)器梧乘。

TCP的連接建立

ROUND1:客戶端發(fā)送連接請求報(bào)文段澎迎,無應(yīng)用層數(shù)據(jù)。SYN=1选调,seq=x(隨機(jī))
ROUND2:服務(wù)器為該TCP連接分配緩存和變量夹供,并向客戶端返回確認(rèn)報(bào)文段,允許連接仁堪,無應(yīng)用層數(shù)據(jù)哮洽。SYN=1,ACK=1枝笨,seq=y(隨機(jī))袁铐,ack=x+1
ROUND3:客戶端為該TCP連接分配緩存和變量,并向服務(wù)器端返回確認(rèn)的確認(rèn)横浑,可以攜帶數(shù)據(jù)剔桨。SYN=0,ACK=1徙融,seq=x+1洒缀,ack=y+1

TCP的連接釋放

四次揮手
參與一條TCP連接的兩個(gè)進(jìn)程中的任何一個(gè)都能終止該連接,連接結(jié)束后,主機(jī)中的“資源”(緩存和變量)將被釋放树绩。
ROUND1:客戶端發(fā)送連接釋放報(bào)文段萨脑,,停止發(fā)送數(shù)據(jù)饺饭,主動(dòng)關(guān)閉TCP連接渤早。FIN=1,seq=u
ROUND2:服務(wù)器端回送一個(gè)確認(rèn)報(bào)文段瘫俊,客戶到服務(wù)器這個(gè)方向的連接就釋放了--半關(guān)閉狀態(tài)鹊杖。ACK=1,seq=v,ack=u+1
ROUND3:服務(wù)器端發(fā)送完數(shù)據(jù)扛芽,就會(huì)發(fā)出連接釋放報(bào)文段骂蓖,主動(dòng)關(guān)閉TCP連接。FIN=1川尖,ACK=1登下,seq=w,ack=u+1
ROUND4:客戶端回送一個(gè)確認(rèn)報(bào)文段叮喳,再等到時(shí)間等待計(jì)時(shí)器設(shè)置的2MSL(最長報(bào)文段壽命)后被芳,連接徹底關(guān)閉。ACK=1,seq=u+1嘲更,ack=w+1

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末筐钟,一起剝皮案震驚了整個(gè)濱河市揩瞪,隨后出現(xiàn)的幾起案子赋朦,更是在濱河造成了極大的恐慌,老刑警劉巖李破,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件宠哄,死亡現(xiàn)場離奇詭異,居然都是意外死亡嗤攻,警方通過查閱死者的電腦和手機(jī)毛嫉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來妇菱,“玉大人承粤,你說我怎么就攤上這事〈惩牛” “怎么了辛臊?”我有些...
    開封第一講書人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長房交。 經(jīng)常有香客問我彻舰,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任刃唤,我火速辦了婚禮隔心,結(jié)果婚禮上尚胞,老公的妹妹穿的比我還像新娘硬霍。我一直安慰自己笼裳,他們只是感情好须尚,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開白布侍咱。 她就那樣靜靜地躺著耐床,像睡著了一般。 火紅的嫁衣襯著肌膚如雪楔脯。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,688評(píng)論 1 305
  • 那天堪嫂,我揣著相機(jī)與錄音,去河邊找鬼木柬。 笑死皆串,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的眉枕。 我是一名探鬼主播,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼速挑,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了姥宝?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤套么,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后胚泌,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡诸迟,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了阵苇。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡紊册,死狀恐怖快耿,靈堂內(nèi)的尸體忽然破棺而出囊陡,到底是詐尸還是另有隱情掀亥,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布搪花,位于F島的核電站,受9級(jí)特大地震影響撮竿,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜幢踏,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望僚匆。 院中可真熱鬧惨驶,春花似錦白热、人聲如沸粗卜。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽焕数。三九已至,卻和暖如春堡赔,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來泰國打工离例, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留悉稠,地道東北人宫蛆。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓的猛,卻偏偏與公主長得像,于是被迫代替她去往敵國和親卦尊。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容