linux 學(xué)習(xí)筆記(七)

1、簡述osi七層模型和TCP/IP五層模型

osi七層模型

物理層(Physical Layer)

利用傳輸介質(zhì)為數(shù)據(jù)鏈路層提供物理連接,實現(xiàn)比特流的透明傳輸。

物理層的作用是實現(xiàn)相鄰計算機(jī)節(jié)點之間比特流的透明傳送,盡可能屏蔽掉具體傳輸介質(zhì)和物理設(shè)備的差異。使其上面的數(shù)據(jù)鏈路層不必考慮網(wǎng)絡(luò)的具體傳輸介質(zhì)是什么?!巴该鱾魉捅忍亓鳌北硎窘?jīng)實際電路傳送后的比特流沒有發(fā)生變化,對傳送的比特流來說,這個電路好像是看不見的。

數(shù)據(jù)鏈路層(Data Link Layer)
第二層,負(fù)責(zé)建立和管理節(jié)點間的鏈路。該層的主要功能是:通過各種控制協(xié)議,將有差錯的物理信道變?yōu)闊o差錯的、能可靠傳輸數(shù)據(jù)幀的數(shù)據(jù)鏈路。

在計算機(jī)網(wǎng)絡(luò)中由于各種干擾的存在,物理鏈路是不可靠的。因此,這一層的主要功能是在物理層提供的比特流的基礎(chǔ)上,通過差錯控制、流量控制方法,使有差錯的物理線路變?yōu)闊o差錯的數(shù)據(jù)鏈路,即提供可靠的通過物理介質(zhì)傳輸數(shù)據(jù)的方法。

該層通常又被分為介質(zhì)訪問控制(MAC)和邏輯鏈路控制(LLC)兩個子層。

MAC子層的主要任務(wù)是解決共享型網(wǎng)絡(luò)中多用戶對信道競爭的問題,完成網(wǎng)絡(luò)介質(zhì)的訪問控制;

LLC子層的主要任務(wù)是建立和維護(hù)網(wǎng)絡(luò)連接,執(zhí)行差錯校驗、流量控制和鏈路控制。

數(shù)據(jù)鏈路層的具體工作是接收來自物理層的位流形式的數(shù)據(jù),并封裝成幀,傳送到上一層;同樣,也將來自上層的數(shù)據(jù)幀,拆裝為位流形式的數(shù)據(jù)轉(zhuǎn)發(fā)到物理層;并且,還負(fù)責(zé)處理接收端發(fā)回的確認(rèn)幀的信息,以便提供可靠的數(shù)據(jù)傳輸。

網(wǎng)絡(luò)層

網(wǎng)絡(luò)層(Network Layer)是OSI模型的第三層,它是OSI參考模型中最復(fù)雜的一層,也是通信子網(wǎng)的最高一層。它在下兩層的基礎(chǔ)上向資源子網(wǎng)提供服務(wù)。其主要任務(wù)是:通過路由選擇算法,為報文或分組通過通信子網(wǎng)選擇最適當(dāng)?shù)穆窂?。該層控制?shù)據(jù)鏈路層與傳輸層之間的信息轉(zhuǎn)發(fā),建立、維持和終止網(wǎng)絡(luò)的連接。具體地說,數(shù)據(jù)鏈路層的數(shù)據(jù)在這一層被轉(zhuǎn)換為數(shù)據(jù)包,然后通過路徑選擇、分段組合、順序、進(jìn)/出路由等控制,將信息從一個網(wǎng)絡(luò)設(shè)備傳送到另一個網(wǎng)絡(luò)設(shè)備。

一般地,數(shù)據(jù)鏈路層是解決同一網(wǎng)絡(luò)內(nèi)節(jié)點之間的通信,而網(wǎng)絡(luò)層主要解決不同子網(wǎng)間的通信。例如在廣域網(wǎng)之間通信時,必然會遇到路由(即兩節(jié)點間可能有多條路徑)選擇問題。

在實現(xiàn)網(wǎng)絡(luò)層功能時,需要解決的主要問題如下:

尋址:數(shù)據(jù)鏈路層中使用的物理地址(如MAC地址)僅解決網(wǎng)絡(luò)內(nèi)部的尋址問題。在不同子網(wǎng)之間通信時,為了識別和找到網(wǎng)絡(luò)中的設(shè)備,每一子網(wǎng)中的設(shè)備都會被分配一個唯一的地址。由于各子網(wǎng)使用的物理技術(shù)可能不同,因此這個地址應(yīng)當(dāng)是邏輯地址(如IP地址)。

交換:規(guī)定不同的信息交換方式。常見的交換技術(shù)有:線路交換技術(shù)和存儲轉(zhuǎn)發(fā)技術(shù),后者又包括報文交換技術(shù)和分組交換技術(shù)。

路由算法:當(dāng)源節(jié)點和目的節(jié)點之間存在多條路徑時,本層可以根據(jù)路由算法,通過網(wǎng)絡(luò)為數(shù)據(jù)分組選擇最佳路徑,并將信息從最合適的路徑由發(fā)送端傳送到接收端。

連接服務(wù):與數(shù)據(jù)鏈路層流量控制不同的是,前者控制的是網(wǎng)絡(luò)相鄰節(jié)點間的流量,后者控制的是從源節(jié)點到目的節(jié)點間的流量。其目的在于防止阻塞,并進(jìn)行差錯檢測。

傳輸層

OSI下3層的主要任務(wù)是數(shù)據(jù)通信,上3層的任務(wù)是數(shù)據(jù)處理。而傳輸層(Transport Layer)是OSI模型的第4層。因此該層是通信子網(wǎng)和資源子網(wǎng)的接口和橋梁,起到承上啟下的作用。

該層的主要任務(wù)是:向用戶提供可靠的端到端的差錯和流量控制,保證報文的正確傳輸。傳輸層的作用是向高層屏蔽下層數(shù)據(jù)通信的細(xì)節(jié),即向用戶透明地傳送報文。該層常見的協(xié)議:TCP/IP中的TCP協(xié)議、Novell網(wǎng)絡(luò)中的SPX協(xié)議和微軟的NetBIOS/NetBEUI協(xié)議。

傳輸層提供會話層和網(wǎng)絡(luò)層之間的傳輸服務(wù),這種服務(wù)從會話層獲得數(shù)據(jù),并在必要時,對數(shù)據(jù)進(jìn)行分割。然后,傳輸層將數(shù)據(jù)傳遞到網(wǎng)絡(luò)層,并確保數(shù)據(jù)能正確無誤地傳送到網(wǎng)絡(luò)層。因此,傳輸層負(fù)責(zé)提供兩節(jié)點之間數(shù)據(jù)的可靠傳送,當(dāng)兩節(jié)點的聯(lián)系確定之后,傳輸層則負(fù)責(zé)監(jiān)督工作。綜上,傳輸層的主要功能如下:

傳輸連接管理:提供建立、維護(hù)和拆除傳輸連接的功能。傳輸層在網(wǎng)絡(luò)層的基礎(chǔ)上為高層提供“面向連接”和“面向無接連”的兩種服務(wù)。

處理傳輸差錯:提供可靠的“面向連接”和不太可靠的“面向無連接”的數(shù)據(jù)傳輸服務(wù)、差錯控制和流量控制。在提供“面向連接”服務(wù)時,通過這一層傳輸?shù)臄?shù)據(jù)將由目標(biāo)設(shè)備確認(rèn),如果在指定的時間內(nèi)未收到確認(rèn)信息,數(shù)據(jù)將被重發(fā)。

會話層

會話層(Session Layer)是OSI模型的第5層,是用戶應(yīng)用程序和網(wǎng)絡(luò)之間的接口,主要任務(wù)是:向兩個實體的表示層提供建立和使用連接的方法。將不同實體之間的表示層的連接稱為會話。因此會話層的任務(wù)就是組織和協(xié)調(diào)兩個會話進(jìn)程之間的通信,并對數(shù)據(jù)交換進(jìn)行管理。

用戶可以按照半雙工、單工和全雙工的方式建立會話。當(dāng)建立會話時,用戶必須提供他們想要連接的遠(yuǎn)程地址。而這些地址與MAC(介質(zhì)訪問控制子層)地址或網(wǎng)絡(luò)層的邏輯地址不同,它們是為用戶專門設(shè)計的,更便于用戶記憶。域名(DN)就是一種網(wǎng)絡(luò)上使用的遠(yuǎn)程地址例如:www.baidu.com就是一個域名。會話層的具體功能如下:

會話管理:允許用戶在兩個實體設(shè)備之間建立、維持和終止會話,并支持它們之間的數(shù)據(jù)交換。例如提供單方向會話或雙向同時會話,并管理會話中的發(fā)送順序,以及會話所占用時間的長短。

會話流量控制:提供會話流量控制和交叉會話功能。

尋址:使用遠(yuǎn)程地址建立會話連接。

出錯控制:從邏輯上講會話層主要負(fù)責(zé)數(shù)據(jù)交換的建立、保持和終止,但實際的工作卻是接收來自傳輸層的數(shù)據(jù),并負(fù)責(zé)糾正錯誤。會話控制和遠(yuǎn)程過程調(diào)用均屬于這一層的功能。但應(yīng)注意,此層檢查的錯誤不是通信介質(zhì)的錯誤,而是磁盤空間、打印機(jī)缺紙等類型的高級錯誤。

表示層

表示層(Presentation Layer)是OSI模型的第六層,它對來自應(yīng)用層的命令和數(shù)據(jù)進(jìn)行解釋,對各種語法賦予相應(yīng)的含義,并按照一定的格式傳送給會話層。其主要功能是“處理用戶信息的表示問題,如編碼、數(shù)據(jù)格式轉(zhuǎn)換和加密解密”等。表示層的具體功能如下:

數(shù)據(jù)格式處理:協(xié)商和建立數(shù)據(jù)交換的格式,解決各應(yīng)用程序之間在數(shù)據(jù)格式表示上的差異。

數(shù)據(jù)的編碼:處理字符集和數(shù)字的轉(zhuǎn)換。例如由于用戶程序中的數(shù)據(jù)類型(整型或?qū)嵭?、有符號或無符號等)、用戶標(biāo)識等都可以有不同的表示方式,因此,在設(shè)備之間需要具有在不同字符集或格式之間轉(zhuǎn)換的功能。

壓縮和解壓縮:為了減少數(shù)據(jù)的傳輸量,這一層還負(fù)責(zé)數(shù)據(jù)的壓縮與恢復(fù)。

數(shù)據(jù)的加密和解密:可以提高網(wǎng)絡(luò)的安全性。

應(yīng)用層

應(yīng)用層(Application Layer)是OSI參考模型的最高層,它是計算機(jī)用戶,以及各種應(yīng)用程序和網(wǎng)絡(luò)之間的接口,其功能是直接向用戶提供服務(wù),完成用戶希望在網(wǎng)絡(luò)上完成的各種工作。它在其他6層工作的基礎(chǔ)上,負(fù)責(zé)完成網(wǎng)絡(luò)中應(yīng)用程序與網(wǎng)絡(luò)操作系統(tǒng)之間的聯(lián)系,建立與結(jié)束使用者之間的聯(lián)系,并完成網(wǎng)絡(luò)用戶提出的各種網(wǎng)絡(luò)服務(wù)及應(yīng)用所需的監(jiān)督、管理和服務(wù)等各種協(xié)議。此外,該層還負(fù)責(zé)協(xié)調(diào)各個應(yīng)用程序間的工作。

應(yīng)用層為用戶提供的服務(wù)和協(xié)議有:文件服務(wù)、目錄服務(wù)、文件傳輸服務(wù)(FTP)、遠(yuǎn)程登錄服務(wù)(Telnet)、電子郵件服務(wù)(E-mail)、打印服務(wù)、安全服務(wù)、網(wǎng)絡(luò)管理服務(wù)、數(shù)據(jù)庫服務(wù)等。上述的各種網(wǎng)絡(luò)服務(wù)由該層的不同應(yīng)用協(xié)議和程序完成,不同的網(wǎng)絡(luò)操作系統(tǒng)之間在功能、界面、實現(xiàn)技術(shù)、對硬件的支持、安全可靠性以及具有的各種應(yīng)用程序接口等各個方面的差異是很大的。

應(yīng)用層的主要功能如下:

  1. 用戶接口:應(yīng)用層是用戶與網(wǎng)絡(luò),以及應(yīng)用程序與網(wǎng)絡(luò)間的直接接口,使得用戶能夠與網(wǎng)絡(luò)進(jìn)行交互式聯(lián)系。
  2. 實現(xiàn)各種服務(wù):該層具有的各種應(yīng)用程序可以完成和實現(xiàn)用戶請求的各種服務(wù)。

TCP/IP五層模型

TCP、IP五層模型.png

2、總結(jié)描述TCP三次握手四次揮手

三次握手

第一次握手:建立連接時,客戶端發(fā)送syn包(syn=x)到服務(wù)器,并進(jìn)入SYN_SENT狀態(tài),等待服務(wù)器確認(rèn);SYN:同步序列編號(Synchronize Sequence Numbers)。

第二次握手:服務(wù)器收到syn包,必須確認(rèn)客戶的SYN(ack=x+1),同時自己也發(fā)送一個SYN包(syn=y),即SYN+ACK包,此時服務(wù)器進(jìn)入SYN_RECV狀態(tài);

第三次握手:客戶端收到服務(wù)器的SYN+ACK包,向服務(wù)器發(fā)送確認(rèn)包ACK(ack=y+1),此包發(fā)送完畢,客戶端和服務(wù)器進(jìn)入ESTABLISHED(TCP連接成功)狀態(tài),完成三次握手。

四次揮手過程理解

  1. 客戶端進(jìn)程發(fā)出連接釋放報文,并且停止發(fā)送數(shù)據(jù)。釋放數(shù)據(jù)報文首部,F(xiàn)IN=1,其序列號為seq=u(等于前面已經(jīng)傳送過來的數(shù)據(jù)的最后一個字節(jié)的序號加1),此時,客戶端進(jìn)入FIN-WAIT-1(終止等待1)狀態(tài)。 TCP規(guī)定,F(xiàn)IN報文段即使不攜帶數(shù)據(jù),也要消耗一個序號。
  2. 服務(wù)器收到連接釋放報文,發(fā)出確認(rèn)報文,ACK=1,ack=u+1,并且?guī)献约旱男蛄刑杝eq=v,此時,服務(wù)端就進(jìn)入了CLOSE-WAIT(關(guān)閉等待)狀態(tài)。TCP服務(wù)器通知高層的應(yīng)用進(jìn)程,客戶端向服務(wù)器的方向就釋放了,這時候處于半關(guān)閉狀態(tài),即客戶端已經(jīng)沒有數(shù)據(jù)要發(fā)送了,但是服務(wù)器若發(fā)送數(shù)據(jù),客戶端依然要接受。這個狀態(tài)還要持續(xù)一段時間,也就是整個CLOSE-WAIT狀態(tài)持續(xù)的時間。
  3. 客戶端收到服務(wù)器的確認(rèn)請求后,此時,客戶端就進(jìn)入FIN-WAIT-2(終止等待2)狀態(tài),等待服務(wù)器發(fā)送連接釋放報文(在這之前還需要接受服務(wù)器發(fā)送的最后的數(shù)據(jù))。
  4. 服務(wù)器將最后的數(shù)據(jù)發(fā)送完畢后,就向客戶端發(fā)送連接釋放報文,F(xiàn)IN=1,ack=u+1,由于在半關(guān)閉狀態(tài),服務(wù)器很可能又發(fā)送了一些數(shù)據(jù),假定此時的序列號為seq=w,此時,服務(wù)器就進(jìn)入了LAST-ACK(最后確認(rèn))狀態(tài),等待客戶端的確認(rèn)。
  5. 客戶端收到服務(wù)器的連接釋放報文后,必須發(fā)出確認(rèn),ACK=1,ack=w+1,而自己的序列號是seq=u+1,此時,客戶端就進(jìn)入了TIME-WAIT(時間等待)狀態(tài)。注意此時TCP連接還沒有釋放,必須經(jīng)過2??MSL(最長報文段壽命)的時間后,當(dāng)客戶端撤銷相應(yīng)的TCB后,才進(jìn)入CLOSED狀態(tài)。
  6. 服務(wù)器只要收到了客戶端發(fā)出的確認(rèn),立即進(jìn)入CLOSED狀態(tài)。同樣,撤銷TCB后,就結(jié)束了這次的TCP連接??梢钥吹剑?wù)器結(jié)束TCP連接的時間要比客戶端早一些。

3、描述TCP和UDP區(qū)別

TCP

TCP協(xié)議是一種可靠的、一對一的、面向有連接的通信協(xié)議,TCP主要通過下列幾種方式保證數(shù)據(jù)傳輸?shù)目煽啃裕?/p>

  1. 在使用TCP協(xié)議進(jìn)行數(shù)據(jù)傳輸時,往往需要客戶端和服務(wù)端先建立一個“通道“、且這個通道只能夠被客戶端和服務(wù)端使用,所以TCP傳輸協(xié)議只能面向一對一的連接。

  2. 為了保證數(shù)據(jù)傳輸?shù)臏?zhǔn)確無誤,TCP傳輸協(xié)議將用于傳輸?shù)臄?shù)據(jù)包分為若干個部分(每個部分的大小根據(jù)當(dāng)時的網(wǎng)絡(luò)情況而定),然后在它們的首部添加一個檢驗字節(jié)。當(dāng)數(shù)據(jù)的一個部分被接收完畢之后,服務(wù)端會對這一部分的完整性和準(zhǔn)確性進(jìn)行校驗,校驗之后如果數(shù)據(jù)的完整度和準(zhǔn)確度都為100%,在服務(wù)端會要求客戶端開始數(shù)據(jù)下一個部分的傳輸,如果數(shù)據(jù)的完整性和準(zhǔn)確性與原來不相符,那么服務(wù)端會要求客戶端再次傳輸這個部分。

UDP

  1. UDP是一個非連接的協(xié)議,傳輸數(shù)據(jù)之前源端和終端不建立連接, 當(dāng)它想傳送時就簡單地去抓取來自應(yīng)用程序的數(shù)據(jù),并盡可能快地把它扔到網(wǎng)絡(luò)上。 在發(fā)送端,UDP傳送數(shù)據(jù)的速度僅僅是受應(yīng)用程序生成數(shù)據(jù)的速度、 計算機(jī)的能力和傳輸帶寬的限制; 在接收端,UDP把每個消息段放在隊列中,應(yīng)用程序每次從隊列中讀一個消息段。

  2. 由于傳輸數(shù)據(jù)不建立連接,因此也就不需要維護(hù)連接狀態(tài),包括收發(fā)狀態(tài)等, 因此一臺服務(wù)機(jī)可同時向多個客戶機(jī)傳輸相同的消息。

  3. UDP信息包的標(biāo)題很短,只有8個字節(jié),相對于TCP的20個字節(jié)信息包的額外開銷很小。

  4. 吞吐量不受擁擠控制算法的調(diào)節(jié),只受應(yīng)用軟件生成數(shù)據(jù)的速率、傳輸帶寬、 源端和終端主機(jī)性能的限制。

  5. UDP使用盡最大努力交付,即不保證可靠交付, 因此主機(jī)不需要維持復(fù)雜的鏈接狀態(tài)表。

  6. UDP是面向報文的。發(fā)送方的UDP對應(yīng)用程序交下來的報文, 在添加首部后就向下交付給IP層。既不拆分,也不合并,而是保留這些報文的邊界, 因此,應(yīng)用程序需要選擇合適的報文大小。

4、ip分類以及每個分類可以分配的IP數(shù)量

-- A類 B類 C類 D類
網(wǎng)絡(luò)地址 1.0.0.0-126.0.0.0 128.0.0.0-191.255.0.0 192.0.0.0-223.255.255.0 多播地址
ip 范圍 1.0.0.1-126.255.255.254 128.0.0.1-191.255.255.254 192.0.0.1 - 223.255.255.254 224.0.0.1 - 239.255.255.254
子網(wǎng)掩碼 255.0.0.0 255.255.0.0 255.255.255.0 不分網(wǎng)絡(luò)地址和主機(jī)地址
網(wǎng)段數(shù) 126個 16384個 2097152個
每個網(wǎng)段主機(jī)數(shù) 16777214臺 65534臺 254臺

5、總結(jié)IP配置方法

ifconfig

ifconfig [網(wǎng)絡(luò)設(shè)備][down up -allmulti -arp -promisc][add<地址>][del<地址>][<hw<網(wǎng)絡(luò)設(shè)備類型><硬件地址>][io_addr<I/O地址>][irq<IRQ地址>][media<網(wǎng)絡(luò)媒介類型>][mem_start<內(nèi)存地址>][metric<數(shù)目>][mtu<字節(jié)>][netmask<子網(wǎng)掩碼>][tunnel<地址>][-broadcast<地址>][-pointopoint<地址>][IP地址]

# ifconfig eth0 add 192.168.0.1 netmask  255.255.255.0  //為網(wǎng)卡誒之IPv4地址
# ifconfig eth0 del 192.168.0.1 netmask  255.255.255.0 //為網(wǎng)卡刪除IPv4地址

修改網(wǎng)絡(luò)配置文件

打開配置文件:
vi /etc/sysconfig/network-scripts/ifcfg-ethXX
#xx為網(wǎng)卡數(shù)據(jù)量,第一塊是eth0

[root@VM_0_14_centos network-scripts]# cat ifcfg-eth0 
# Created by cloud-init on instance boot automatically, do not edit.
#
BOOTPROTO=none
DEVICE=eth0
HWADDR=52:54:00:ea:da:45
NM_CONTROLLED=no
ONBOOT=yes
PERSISTENT_DHCLIENT=yes
TYPE=Ethernet
USERCTL=no
IPADDR=192.168.0.2
NETMASK=255.255.255.0
GATEWAY=192.168.0.254
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • title: 網(wǎng)絡(luò)基礎(chǔ)學(xué)習(xí)總結(jié)(1) tags: 網(wǎng)絡(luò) categories:筆記 date: 2017-06-1...
    行徑行閱讀 2,744評論 0 3
  • 個人認(rèn)為,Goodboy1881先生的TCP /IP 協(xié)議詳解學(xué)習(xí)博客系列博客是一部非常精彩的學(xué)習(xí)筆記,這雖然只是...
    貳零壹柒_fc10閱讀 5,195評論 0 8
  • 協(xié)議基礎(chǔ) 協(xié)議就是計算機(jī)之間通過網(wǎng)絡(luò)實現(xiàn)通信時實現(xiàn)所達(dá)成的一種“約定”,這種約定使得那些由不同廠商的設(shè)備,不同的C...
    d9fc24a0c9a9閱讀 2,531評論 0 6
  • 1.TCP報頭格式 UDP報頭格式 TCP報頭格式 UDP報頭格式 具體的各部分解釋看 TCP報文格式詳解 - ...
    杰倫哎呦哎呦閱讀 2,740評論 0 5
  • 每個人都希望能夠青春無悔,然而真 正做到的,又有幾個呢?曾經(jīng)自喻上 天下地?zé)o所不能的玉面小飛龍鄭微, 在遇到性格孤...
    toris左左閱讀 229評論 0 2

友情鏈接更多精彩內(nèi)容