1画机、簡述osi七層模型和TCP/IP五層模型
OSI七層模型
1984年缨硝,ISO發(fā)布了著名的OSI(Open System Interconnection)標準狐史,它定義了網(wǎng)絡(luò)互聯(lián)的7層框架芋簿,物理層峡懈、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層与斤、傳輸層肪康、會話層、表示層和應(yīng)用層)撩穿,即OSI開放系統(tǒng)互連參考模型
7層 應(yīng)用層
應(yīng)用層(Application Layer)提供為應(yīng)用軟件而設(shè)的接口磷支,以設(shè)置與另一應(yīng)用軟件之間的通信。例如:HTTP食寡、HTTPS雾狈、FTP、TELNET抵皱、SSH善榛、SMTP辩蛋、POP3、MySQL等第6層 表示層
主條目:表示層(Presentation Layer)把數(shù)據(jù)轉(zhuǎn)換為能與接收者的系統(tǒng)格式兼容并適合傳輸?shù)母袷?/p>第5層 會話層
會話層(Session Layer)負責在數(shù)據(jù)傳輸中設(shè)置和維護電腦網(wǎng)絡(luò)中兩臺電腦之間的通信連接锭弊。第4層 傳輸層
傳輸層(Transport Layer)把傳輸表頭(TH)加至數(shù)據(jù)以形成數(shù)據(jù)包堪澎。傳輸表頭包含了所使用的協(xié)議等發(fā)送信息擂错。例如:傳輸控制協(xié)議(TCP)等味滞。第3層 網(wǎng)絡(luò)層
網(wǎng)絡(luò)層(Network Layer)決定數(shù)據(jù)的路徑選擇和轉(zhuǎn)寄,將網(wǎng)絡(luò)表頭(NH)加至數(shù)據(jù)包钮呀,以形成報文剑鞍。網(wǎng)絡(luò)表頭包含了網(wǎng)絡(luò)數(shù)據(jù)。例如:互聯(lián)網(wǎng)協(xié)議(IP)等爽醋。第2層 數(shù)據(jù)鏈接層
數(shù)據(jù)鏈路層(Data Link Layer)負責網(wǎng)絡(luò)尋址蚁署、錯誤偵測和改錯。當表頭和表尾被加至數(shù)據(jù)包時蚂四,會形成信息框(Data Frame)光戈。數(shù)據(jù)鏈表頭(DLH)是包含了物理地址和錯誤偵測及改錯的方法。數(shù)據(jù)鏈表尾(DLT)是一串指示數(shù)據(jù)包末端的字符串遂赠。例如以太網(wǎng)久妆、無線局域網(wǎng)(Wi-Fi)和通用分組無線服務(wù)(GPRS)等。分為兩個子層:邏輯鏈路控制(logical link control跷睦,LLC)子層和介質(zhì)訪問控制(Media access control筷弦,MAC)子層-
第1層 物理層
物理層(Physical Layer)在局部局域網(wǎng)上傳送數(shù)據(jù)幀(Data Frame),它負責管理電腦通信設(shè)備和網(wǎng)絡(luò)媒體之間的互通抑诸。包括了針腳烂琴、電壓、線纜規(guī)范蜕乡、集線器奸绷、中繼器、網(wǎng)卡层玲、主機接口卡等
OSI7module.png
TCP/IP五層模型
? Transmission Control Protocol/Internet Protocol 傳輸控制協(xié)議/因特網(wǎng)互聯(lián)協(xié)議
TCP/IP是一個Protocol Stack号醉,包括TCP、IP称簿、UDP扣癣、ICMP、RIP憨降、TELNET父虑、FTP、SMTP授药、ARP等許多協(xié)議.共定義了四層
2士嚎、總結(jié)描述TCP三次握手四次揮手
所謂三次握手(Three-way Handshake)呜魄,是指建立一個TCP連接時,需要客戶端和服務(wù)器總共發(fā)送3個包莱衩。三次握手的目的是連接服務(wù)器指定端口爵嗅,建立TCP連接,并同步連接雙方的序列號和確認號并交換 TCP 窗口大小信息.在socket編程中,客戶端執(zhí)行connect()時笨蚁。將觸發(fā)三次握手睹晒。
第一次握手:
客戶端發(fā)送一個TCP的SYN標志位置1的包指明客戶打算連接的服務(wù)器的端口,以及初始序號X,保存在包頭的序列號(Sequence Number)字段里括细。第二次握手:
服務(wù)器發(fā)回確認包(ACK)應(yīng)答伪很。即SYN標志位和ACK標志位均為1同時,將確認序號(Acknowledgement Number)設(shè)置為客戶的I S N加1以.即X+1奋单。-
第三次握手.
客戶端再次發(fā)送確認包(ACK) SYN標志位為0,ACK標志位為1.并且把服務(wù)器發(fā)來ACK的序號字段+1,放在確定字段中發(fā)送給對方.并且在數(shù)據(jù)段放寫ISN的+1
threehand.png
? TCP的連接的拆除需要發(fā)送四個包锉试,因此稱為四次揮手(four-way handshake)±辣簦客戶端或服務(wù)器均可主動發(fā)起揮手動作呆盖,在socket編程中,任何一方執(zhí)行close()操作即可產(chǎn)生揮手操作贷笛。
于TCP連接是全雙工的应又,因此每個方向都必須單獨進行關(guān)閉。這個原則是當一方完成它的數(shù)據(jù)發(fā)送任務(wù)后就能發(fā)送一個FIN來終止這個方向的連接昨忆。收到一個 FIN只意味著這一方向上沒有數(shù)據(jù)流動丁频,一個TCP連接在收到一個FIN后仍能發(fā)送數(shù)據(jù)。首先進行關(guān)閉的一方將執(zhí)行主動關(guān)閉邑贴,而另一方執(zhí)行被動關(guān)閉席里。
(1)客戶端A發(fā)送一個FIN,用來關(guān)閉客戶A到服務(wù)器B的數(shù)據(jù)傳送(報文段4)拢驾。
(2)服務(wù)器B收到這個FIN奖磁,它發(fā)回一個ACK,確認序號為收到的序號加1(報文段5)繁疤。和SYN一樣咖为,一個FIN將占用一個序號。
(3)服務(wù)器B關(guān)閉與客戶端A的連接稠腊,發(fā)送一個FIN給客戶端A(報文段6)躁染。
-
(4)客戶端A發(fā)回ACK報文確認,并將確認序號設(shè)置為收到序號加1(報文段7)
fourbaiby.png
3架忌、描述TCP和UDP區(qū)別
TCP特性
- 工作在傳輸層
- 面向連接協(xié)議
- 全雙工協(xié)議
- 半關(guān)閉
- 錯誤檢查
- 將數(shù)據(jù)打包成段吞彤,排序
- 確認機制
- 數(shù)據(jù)恢復(fù),重傳
- 流量控制,滑動窗口
- 擁塞控制饰恕,慢啟動和擁塞避免算法
工作在傳輸層
- 提供不可靠的網(wǎng)絡(luò)訪問
- 非面向連接協(xié)議
- 有限的錯誤檢查
- 傳輸性能高
- 無數(shù)據(jù)恢復(fù)特性