OSI模型一共分爲7層,自底向上分別是:物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層和應用層。
物理層負責管理我的電腦、打印機、服務器等聯網設備的物理鏈接,包括但不限於集線器、網線、RJ-45標準。
數據鏈路層用於在設備之間創建數據鏈路鏈接,包括網卡、網橋、二層交換機等設備。
網路層用於實現地址管理、路由選擇,包括路由器、三層交換機、防火牆、IP協議等。
傳輸層負責實現數據的傳輸,提供應用進程間的邏輯通訊,包括TCP協議、UDP協議、端口等。
會話層負責創建和斷開通訊鏈接而且進行訪問驗證、會話管理,例如服務器驗證登陸。
表示層負責轉換數據格式,將數據在標準數據格式與設備特定的數據格式之間進行轉換。
應用層提供各類訪問網絡服務的接口,包括HTTP、FTP、SSH、MySQL等協議。服務器
TCP/IP協議通訊採用了5層的層級結構,分別是物理層、數據鏈路層、網絡層、傳輸層、應用層。
物理層主要是負責傳輸數據的硬件,包括雙絞線電纜、無線、光纖等。
數據鏈路層負責處理鏈接硬件,包括控制網卡、硬件相關的設備驅動等。
網絡層用來處理網絡中傳遞的數據包,數據包是最小的傳遞單位,ip協議、icmp協議、arp協議都位於這一層。
傳輸層主要負責傳輸應用層的數據。tcp協議、udp協議位於這一層。
應用層集成了OSI模型中的應用層、會話層、表示層這三層,用於實現應用程序間的溝通。http協議、ftp協議、telnet 協議、dns協議位於這一層。網絡
第一次握手:客戶端發送一個SYN包指明該客戶端打算鏈接的服務器端口,以及初始序號seq,而後進入SYN_SENT狀態,等待服務器確認。
第二次握手:服務器發回包含服務器的初始序號的SYN包(SYN+ACK)做爲應答,而且把確認序號ACK設置爲客戶端的seq+1實現對客戶端的SYN包進行確認。而後服務器進入SYN_RECV狀態。
第三次握手:客戶端收到服務器的SYN+ACK包後,向服務器發送確認包ACK(ack=k+1)。此包發送完畢後,客戶端和服務器進入ESTABLISHED(TCP鏈接成功)狀態,完成三次握手。tcp
狀態變化流程:
客戶端:CLOSE -> SYN-SEND -> ESTAB-LISHED
服務器端:LISTEN -> SYN-RCVD -> ESTAB-LISHEDide
第一次:Client發送一個FIN段序號seq以及確認斷開鏈接的ACK,而後進入FIN-WAIT1狀態
第二次:Server收到Client的FIN和ACK後,返回一個Client的FIN序號seq+1的ACK段,進入CLOSE-WAIT狀態
第三次:客戶端收到響應後進入FIN-WAIT2狀態。Server向Client發送一個FIN段序號seq,而後進入LAST-ACK狀態。
第四次:客戶端收到Server的FIN段的seq後,進入TIME-WAIT狀態而且返回給Server一個確認的ACK的序號seq+1。服務器端收到客戶端響應後進入CLOSE狀態,至此已斷開鏈接。性能
狀態變化流程:
客戶端:ESTAB-LISHED -> FIN-WAIT1 -> FIN-WAIT2 -> TIME-WAIT ->CLOSE
服務器端:ESTAB-LISHED -> CLOSE-WAIT -> LAST-ACK -> CLOSEui
TCP | UDP | |
---|---|---|
面向鏈接 | 是 | 否 |
傳輸可靠性 | 可靠 | 不可靠 |
速度 | 慢 | 快 |
傳輸性能 | 低 | 高 |
數據順序 | 保證 | 不保證 |
數據恢復 | 恢復 | 不恢復 |
流量控制 | 有 | 沒有 |
消耗的系統資源 | 多 | 少 |
應用領域 | 金融、HTTP協議和HTTPS協議 | 傳輸語音、視頻、遊戲數據 |
每個IP地址能夠分爲網絡ID和主機ID 根據網絡ID的位數能夠將IP地址分爲如下5類 A類地址: 網絡ID位是最高8位,其他24位是主機ID 範圍:0.0.0.0-127.255.255.255 可分配的ip數量2^24-2=16777214 B類地址: 網絡ID位是最高16位,其他16位是主機ID 範圍:128.0.0.0-191.255.255.255 可分配的ip數量2^16-2=65534 C類地址: 網絡ID位是最高24位,其他8位是主機ID 範圍:192.0.0.0-223.255.255.255 可分配的ip數量2^8-2=254 D類地址: 範圍:224.0.0.0-239.255.255.255 用於組(多)播 E類地址: 範圍:240.0.0.0-255.255.255.255 保留未使用
交互式配置IP的方法 一、編輯網卡的配置文件 二、使用nmtui或者nmtui-edit命令 使用命令直接配置IP的方法 一、ifconfig命令 # 給網卡配置IP地址 ifconfig ens33 192.168.100.125/24 # 爲網卡配置第二個IP地址 ifconfig ens33:2 192.168.100.128/24 # 刪除IP地址 ifconfig ens33 del 192.168.100.128 二、ip命令 # 給網卡增長IP地址 ip addr add 192.168.100.100/24 dev ens33 # 刪除網卡的IP地址 ip addr del 192.168.100.100/24 dev ens33 三、nmcli命令 # 配置靜態IP會話 nmcli con add con-name work ifname ens33 autoconnect no type ethernet ip4 192.168.100.100/24 gw4 192.168.100.1 # 配置動態IP會話 nmcli con add con-name home type ethernet ifname ens33 # 啓用靜態IP會話 nmcli con up work # 關閉靜態IP會話 nmcli con down work