1. 程式人生 > >歡迎使用CSDN-markdown編輯器計算機網路體系結構

歡迎使用CSDN-markdown編輯器計算機網路體系結構

OSI七層協議
應用層 抽象語言—編碼
表示層 編碼—二進位制
會話層 提供應用程式的會話地址
運輸層 提供埠號===TCP/UDP;分段(受到MTU限制)
網路層 IP協議;邏輯定址
資料鏈路層 =LLC邏輯鏈路控制子層+MAC介質訪問控制子層 控制硬體的工作

物理層 光電轉換
TCP/IP協議棧道—4層或5層
應用層
運輸層
網路層
資料鏈路層
物理層

埠號:0-65535 1-1023註明埠,靜態埠,指派給應用程式
1024-65535動態埠,高階口,隨機分配給程序
常用的熟知埠號
應用程式 FTP TELNET SMTP DNS TFTP HTTP SNMP SNMP
(trap) HTTPS
埠號 21 23 25 53 69 80 161 162 443

埠號作用在於區分客戶端程序,服務端的服務內容

UDP:使用者資料報文協議—非面向連線的不可靠傳輸協議
傳送資料前不需要先建立連線 分段、對資料包進行埠號的編輯

IPV4的報頭:

TCP:傳輸控制協議—面向連線的可靠傳輸協議
傳送資料之前必須先建立連線
除完成傳輸層的基本工作–分段、埠號
還需要保障資料傳輸的可靠性—4種可靠保障機制—確認、重傳、排序、流控(滑動視窗機制)
面向連線—三次握手建立端到端的虛鏈路、4次斷開

三次握手:第一步 A SYN(同步包)
第二步 B ACK+SYN
第三步 A ACK
TCP會話建立
不回覆ACK,後進行重傳,但有時間限制–2s
滑動視窗:發一個包,回覆一個確認;發十個包,回覆一個確認…傳送的包沒有全部收到,進行重傳,並且視窗會下降。

四次斷開:第一步 A FIN
第二步 B ACK
第三步 B FIN
第四步 A ACK

TCP為什麼三次握手就可以建立連線:雙方想要正常溝通,至少保證雙方都知道自己和對方的傳送和接收功能是正常的。
client與server建立連線:1.client→server:client想要和server建立連線,但不能知道自己的訊息有沒有發出去,也不知道server能不能收到;假設server收到,那麼server可以確認client能傳送訊息和自己能接收到訊息。接下來server向client回覆
2.server→client:client收到請求後,表示也想建立連線,此時server再向client回覆且client能收到,表明client第一條訊息傳送成功,並且server能接收到。此時client可以確定自己的傳送和接收是正常的,而且server接收和傳送也是正常的。但是server不知道client能不能接收資訊和自己能不能傳送資訊。所以client需要再發送一條資訊給對方。
3.client→server 此時server收到了client的回覆資訊,就可以確認雙方的接收和傳送功能都是正常的,連線就可以確認了。

TCP為什麼需要四次才能斷開連線:
1.client→server:告訴對方自己要斷開連線了
2.server→client:告訴對方自己還有一些響應的資訊需要傳送
3.server→client:告訴對方響應資訊傳送好了並且可以斷開連線了
4.client→server:告訴對方資訊接收好了,連線斷開

因為有兩方,假設兩次斷開:1.client→server:告訴對方自己要斷開連線了
2.server→client:接收到訊息,連線斷開
這種情況響應資訊無法傳送
四次能斷開,就沒必要多於四次。
故:TCP需要四次就能斷開連線