一、簡述osi七層模型和TCP/IP五層模型;算法
物理層數據庫
在OSI參考模型中,物理層(Physical Layer)是參考模型的最低層,也是OSI模型的第一層。centos
物理層的主要功能是:利用傳輸介質爲數據鏈路層提供物理鏈接,實現比特流的透明傳輸。安全
物理層的做用是實現相鄰計算機節點之間比特流的透明傳送,儘量屏蔽掉具體傳輸介質和物理設備的差別。使其上面的數據鏈路層沒必要考慮網絡的具體傳輸介質是什麼。「透明傳送比特流」表示經實際電路傳送後的比特流沒有發生變化,對傳送的比特流來講,這個電路好像是看不見的。服務器
數據鏈路層網絡
數據鏈路層(Data Link Layer)是OSI模型的第二層,負責創建和管理節點間的鏈路。該層的主要功能是:經過各類控制協議,將有差錯的物理信道變爲無差錯的、能可靠傳輸數據幀的數據鏈路。ide
在計算機網絡中因爲各類干擾的存在,物理鏈路是不可靠的。所以,這一層的主要功能是在物理層提供的比特流的基礎上,經過差錯控制、流量控制方法,使有差錯的物理線路變爲無差錯的數據鏈路,即提供可靠的經過物理介質傳輸數據的方法。測試
該層一般又被分爲介質訪問控制(MAC)和邏輯鏈路控制(LLC)兩個子層。編碼
MAC子層的主要任務是解決共享型網絡中多用戶對信道競爭的問題,完成網絡介質的訪問控制;加密
LLC子層的主要任務是創建和維護網絡鏈接,執行差錯校驗、流量控制和鏈路控制。
數據鏈路層的具體工做是接收來自物理層的位流形式的數據,並封裝成幀,傳送到上一層;一樣,也未來自上層的數據幀,拆裝爲位流形式的數據轉發到物理層;而且,還負責處理接收端發回的確認幀的信息,以便提供可靠的數據傳輸。
網絡層
網絡層(Network Layer)是OSI模型的第三層,它是OSI參考模型中最複雜的一層,也是通訊子網的最高一層。它在下兩層的基礎上向資源子網提供服務。其主要任務是:經過路由選擇算法,爲報文或分組經過通訊子網選擇最適當的路徑。該層控制數據鏈路層與傳輸層之間的信息轉發,創建、維持和終止網絡的鏈接。具體地說,數據鏈路層的數據在這一層被轉換爲數據包,而後經過路徑選擇、分段組合、順序、進/出路由等控制,將信息從一個網絡設備傳送到另外一個網絡設備。
通常地,數據鏈路層是解決同一網絡內節點之間的通訊,而網絡層主要解決不一樣子網間的通訊。例如在廣域網之間通訊時,必然會遇到路由(即兩節點間可能有多條路徑)選擇問題。
在實現網絡層功能時,須要解決的主要問題以下:
尋址:數據鏈路層中使用的物理地址(如MAC地址)僅解決網絡內部的尋址問題。在不一樣子網之間通訊時,爲了識別和找到網絡中的設備,每一子網中的設備都會被分配一個惟一的地址。因爲各子網使用的物理技術可能不一樣,所以這個地址應當是邏輯地址(如IP地址)。
交換:規定不一樣的信息交換方式。常見的交換技術有:線路交換技術和存儲轉發技術,後者又包括報文交換技術和分組交換技術。
路由算法:當源節點和目的節點之間存在多條路徑時,本層能夠根據路由算法,經過網絡爲數據分組選擇最佳路徑,並將信息從最合適的路徑由發送端傳送到接收端。
鏈接服務:與數據鏈路層流量控制不一樣的是,前者控制的是網絡相鄰節點間的流量,後者控制的是從源節點到目的節點間的流量。其目的在於防止阻塞,並進行差錯檢測。
傳輸層
OSI下3層的主要任務是數據通訊,上3層的任務是數據處理。而傳輸層(Transport Layer)是OSI模型的第4層。所以該層是通訊子網和資源子網的接口和橋樑,起到承上啓下的做用。
該層的主要任務是:向用戶提供可靠的端到端的差錯和流量控制,保證報文的正確傳輸。傳輸層的做用是向高層屏蔽下層數據通訊的細節,即向用戶透明地傳送報文。該層常見的協議:TCP/IP中的TCP協議、Novell網絡中的SPX協議和微軟的NetBIOS/NetBEUI協議。
傳輸層提供會話層和網絡層之間的傳輸服務,這種服務從會話層得到數據,並在必要時,對數據進行分割。而後,傳輸層將數據傳遞到網絡層,並確保數據能正確無誤地傳送到網絡層。所以,傳輸層負責提供兩節點之間數據的可靠傳送,當兩節點的聯繫肯定以後,傳輸層則負責監督工做。綜上,傳輸層的主要功能以下:
傳輸鏈接管理:提供創建、維護和拆除傳輸鏈接的功能。傳輸層在網絡層的基礎上爲高層提供「面向鏈接」和「面向無接連」的兩種服務。
處理傳輸差錯:提供可靠的「面向鏈接」和不太可靠的「面向無鏈接」的數據傳輸服務、差錯控制和流量控制。在提供「面向鏈接」服務時,經過這一層傳輸的數據將由目標設備確認,若是在指定的時間內未收到確認信息,數據將被重發。
監控服務質量。
會話層
會話層(Session Layer)是OSI模型的第5層,是用戶應用程序和網絡之間的接口,主要任務是:向兩個實體的表示層提供創建和使用鏈接的方法。將不一樣實體之間的表示層的鏈接稱爲會話。所以會話層的任務就是組織和協調兩個會話進程之間的通訊,並對數據交換進行管理。
用戶能夠按照半雙工、單工和全雙工的方式創建會話。當創建會話時,用戶必須提供他們想要鏈接的遠程地址。而這些地址與MAC(介質訪問控制子層)地址或網絡層的邏輯地址不一樣,它們是爲用戶專門設計的,更便於用戶記憶。域名(DN)就是一種網絡上使用的遠程地址例如:www.3721.com就是一個域名。會話層的具體功能以下:
會話管理:容許用戶在兩個實體設備之間創建、維持和終止會話,並支持它們之間的數據交換。例如提供單方向會話或雙向同時會話,並管理會話中的發送順序,以及會話所佔用時間的長短。
會話流量控制:提供會話流量控制和交叉會話功能。
尋址:使用遠程地址創建會話鏈接。l
出錯控制:從邏輯上講會話層主要負責數據交換的創建、保持和終止,但實際的工做倒是接收來自傳輸層的數據,並負責糾正錯誤。會話控制和遠程過程調用均屬於這一層的功能。但應注意,此層檢查的錯誤不是通訊介質的錯誤,而是磁盤空間、打印機缺紙等類型的高級錯誤。
表示層
表示層(Presentation Layer)是OSI模型的第六層,它對來自應用層的命令和數據進行解釋,對各類語法賦予相應的含義,並按照必定的格式傳送給會話層。其主要功能是「處理用戶信息的表示問題,如編碼、數據格式轉換和加密解密」等。表示層的具體功能以下:
數據格式處理:協商和創建數據交換的格式,解決各應用程序之間在數據格式表示上的差別。
數據的編碼:處理字符集和數字的轉換。例如因爲用戶程序中的數據類型(整型或實型、有符號或無符號等)、用戶標識等均可以有不一樣的表示方式,所以,在設備之間須要具備在不一樣字符集或格式之間轉換的功能。
壓縮和解壓縮:爲了減小數據的傳輸量,這一層還負責數據的壓縮與恢復。
數據的加密和解密:能夠提升網絡的安全性。
應用層
應用層(Application Layer)是OSI參考模型的最高層,它是計算機用戶,以及各類應用程序和網絡之間的接口,其功能是直接向用戶提供服務,完成用戶但願在網絡上完成的各類工做。它在其餘6層工做的基礎上,負責完成網絡中應用程序與網絡操做系統之間的聯繫,創建與結束使用者之間的聯繫,並完成網絡用戶提出的各類網絡服務及應用所需的監督、管理和服務等各類協議。此外,該層還負責協調各個應用程序間的工做。
應用層爲用戶提供的服務和協議有:文件服務、目錄服務、文件傳輸服務(FTP)、遠程登陸服務(Telnet)、電子郵件服務(E-mail)、打印服務、安全服務、網絡管理服務、數據庫服務等。上述的各類網絡服務由該層的不一樣應用協議和程序完成,不一樣的網絡操做系統之間在功能、界面、實現技術、對硬件的支持、安全可靠性以及具備的各類應用程序接口等各個方面的差別是很大的。應用層的主要功能以下:
用戶接口:應用層是用戶與網絡,以及應用程序與網絡間的直接接口,使得用戶可以與網絡進行交互式聯繫。
實現各類服務:該層具備的各類應用程序能夠完成和實現用戶請求的各類服務。
二、總結描述TCP三次握手四次揮手;
三次握手過程理解:
第一次握手:創建鏈接時,客戶端發送syn包(syn=j)到服務器,並進入SYN_SENT狀態,等待服務器確認;SYN:同步序列編號(Synchronize Sequence Numbers)。
第二次握手:服務器收到syn包,必須確認客戶的SYN(ack=j+1),同時本身也發送一個SYN包(syn=k),即SYN+ACK包,此時服務器進入SYN_RECV狀態;
第三次握手:客戶端收到服務器的SYN+ACK包,向服務器發送確認包ACK(ack=k+1),此包發送完畢,客戶端和服務器進入ESTABLISHED(TCP鏈接成功)狀態,完成三次握手。
四次揮手過程理解:
1)客戶端進程發出鏈接釋放報文,而且中止發送數據。釋放數據報文首部,FIN=1,其序列號爲seq=u(等於前面已經傳送過來的數據的最後一個字節的序號加1),此時,客戶端進入FIN-WAIT-1(終止等待1)狀態。 TCP規定,FIN報文段即便不攜帶數據,也要消耗一個序號。
2)服務器收到鏈接釋放報文,發出確認報文,ACK=1,ack=u+1,而且帶上本身的序列號seq=v,此時,服務端就進入了CLOSE-WAIT(關閉等待)狀態。TCP服務器通知高層的應用進程,客戶端向服務器的方向就釋放了,這時候處於半關閉狀態,即客戶端已經沒有數據要發送了,可是服務器若發送數據,客戶端依然要接受。這個狀態還要持續一段時間,也就是整個CLOSE-WAIT狀態持續的時間。
3)客戶端收到服務器的確認請求後,此時,客戶端就進入FIN-WAIT-2(終止等待2)狀態,等待服務器發送鏈接釋放報文(在這以前還須要接受服務器發送的最後的數據)。
4)服務器將最後的數據發送完畢後,就向客戶端發送鏈接釋放報文,FIN=1,ack=u+1,因爲在半關閉狀態,服務器極可能又發送了一些數據,假定此時的序列號爲seq=w,此時,服務器就進入了LAST-ACK(最後確認)狀態,等待客戶端的確認。
5)客戶端收到服務器的鏈接釋放報文後,必須發出確認,ACK=1,ack=w+1,而本身的序列號是seq=u+1,此時,客戶端就進入了TIME-WAIT(時間等待)狀態。注意此時TCP鏈接尚未釋放,必須通過2∗∗MSL(最長報文段壽命)的時間後,當客戶端撤銷相應的TCB後,才進入CLOSED狀態。
6)服務器只要收到了客戶端發出的確認,當即進入CLOSED狀態。一樣,撤銷TCB後,就結束了此次的TCP鏈接。能夠看到,服務器結束TCP鏈接的時間要比客戶端早一些。
三、描述TCP和UDP區別
a、TCP面向鏈接(如打電話要先撥號創建鏈接);UDP是無鏈接的,即發送數據以前不須要創建鏈接;
b、TCP提供可靠的服務。也就是說,經過TCP鏈接傳送的數據,無差錯,不丟失,不重複,且按序到達;UDP盡最大努力交付,即不保證可靠交付;Tcp經過校驗和,重傳控制,序號標識,滑動窗口、確認應答實現可靠傳輸。如丟包時的重發控制,還能夠對次序亂掉的分包進行順序控制。
c、UDP具備較好的實時性,工做效率比TCP高,適用於對高速傳輸和實時性有較高的通訊或廣播通訊。
d.每一條TCP鏈接只能是點到點的;UDP支持一對一,一對多,多對一和多對多的交互通訊.
e、TCP對系統資源要求較多,UDP對系統資源要求較少。
四、總結ip分類以及每一個分類能夠分配的IP數量;
網絡中的每個主機或路由器至少有一個ip地址;
在Internet中不容許有兩個設備具備一樣的IP地址;
IP地址採用分層結構;
IP地址是由網絡號(net ID)與主機號(host ID)兩部分組成的。
IP地址長度爲32位,點分十進制(dotted decimal)地址;
採用x.x.x.x的格式來表示,每一個x爲8位,每一個x的值爲0~255(例如 202.113.29.16);
根據不一樣的取值範圍,IP地址能夠分爲五類;
IP地址中的前5位用於標識IP地址的類別:
A類地址的第一位爲0;
B類地址的前兩位爲10;
C類地址的前三位爲110;
D類地址的前四位爲1110;
E類地址的前五位爲11110。
IP地址根據網絡號和主機號來分,分爲A、B、C三類及特殊地址D、E。全0和全1的都保留不用。
A類:(1.0.0.0-126.0.0.0)(默認子網掩碼:255.0.0.0或 0xFF000000)第一個字節爲網絡號,後三個字節爲主機號。該類IP地址的最前面爲「0」,因此地址的網絡號取值於1~126之間。通常用於大型網絡。
定義:第1字節爲網絡地址,其它3個字節爲主機地址
範圍:1.0.0.1 - 126.255.255.254
數量:容許有126個網段,每一個網段容許有16777214臺主機
子網掩碼:255.0.0.0
私有地址:10.X.X.X是私有地址(所謂的私有地址就是在互聯網上不使用,而被用在局域網絡中的地址),範圍10.0.0.1-10.255.255.254
保留地址:127.X.X.X是保留地址,也是本機地址,等效於localhost或本機IP。通常用於測試使用。例如:ping 127.0.0.1來測試本機TCP/IP是否正常。
B類:(128.0.0.0-191.255.0.0)(默認子網掩碼:255.255.0.0或0xFFFF0000)前兩個字節爲網絡號,後兩個字節爲主機號。該類IP地址的最前面爲「10」,因此地址的網絡號取值於128~191之間。通常用於中等規模網絡。
定義:第1字節和第2字節爲網絡地址,其它2個字節爲主機地址
範圍:128.0.0.1 - 191.255.255.254
數量:容許有16384個網段,每一個網段容許有65534臺主機
子網掩碼:255.255.0.0
私有地址:172.16.0.0 - 172.31.255.255是私有地址
保留地址:169.254.X.X是保留地址。若是你的IP地址是自動獲取IP地址,而你在網絡上又沒有找到可用的DHCP服務器。就會獲得其中一個IP
C類:(192.0.0.0-223.255.255.0)(子網掩碼:255.255.255.0或 0xFFFFFF00)前三個字節爲網絡號,最後一個字節爲主機號。該類IP地址的最前面爲「110」,因此地址的網絡號取值於192~223之間。通常用於小型網絡。
定義:第1字節、第2字節和第3個字節爲網絡地址,第4個個字節爲主機地址。另外第1個字節的前三位固定爲110
範圍:192.0.0.1 - 223.255.255.254
數量:容許有2097152個網段,每一個網段容許有254臺主機
子網掩碼:255.255.255.0
私有地址:192.168.X.X是私有地址。(192.168.0.0 - 192.168.255.255)
D類:是多播地址。該類IP地址的最前面爲「1110」,因此地址的網絡號取值於224~239之間。通常用於多路廣播用戶。
定義:不分網絡地址和主機地址,它的第1個字節的前四位固定爲1110
範圍:224.0.0.1 - 239.255.255.254
E類:是保留地址。該類IP地址的最前面爲「1111」,因此地址的網絡號取值於240~255之間。
定義:不分網絡地址和主機地址,它的第1個字節的前五位固定爲11110
範圍:240.0.0.1 - 255.255.255.254
五、總結IP配置方法
1使用ifconfig配置ip
ifconfig eth0 192.168.1.1/24
2使用 ip address配置ip
ip address add 192.168.2.1/24 dev eth0
再將192.168.1.1/24刪除便可。
ip address del 192.168.1.1/24 dev eth0
3在centos 7中使用nmcli配置ip:
nmcli connection add con-name eth0-test ifname eth0 type ethernet ipv4.method manual ipv4.address 192.168.3.1/24
將對應的配置up起來便可。
nmcli connection up eth0-test
4修改其配置文件,讓其永久有效:
其中要記得設置ONBOOT=yes,若是是靜態IP要設置BOOTPROTO=static,和設置ip、mask、GATEWAY、dns