合作建站方案關(guān)鍵詞優(yōu)化和seo
這里寫目錄標(biāo)題
- 網(wǎng)絡(luò)模型劃分(五層和七層)及每一層的功能
- 五層網(wǎng)絡(luò)模型
- 七層網(wǎng)絡(luò)模型(OSI模型)
- ==三次握手和四次揮手具體過程及原因==
- 三次握手
- 四次揮手
- TCP/IP協(xié)議組成
- ==UDP協(xié)議與TCP/IP協(xié)議的區(qū)別==
- Http協(xié)議相關(guān)知識
- 網(wǎng)絡(luò)地址,子網(wǎng)掩碼等相關(guān)計算
網(wǎng)絡(luò)模型劃分(五層和七層)及每一層的功能
五層網(wǎng)絡(luò)模型
應(yīng)用層:負(fù)責(zé)處理網(wǎng)絡(luò)應(yīng)用程序,如電子郵件、文件傳輸和網(wǎng)頁瀏覽。主要協(xié)議包括HTTP、FTP、SMTP等。
傳輸層:提供端到端的通信服務(wù),確保數(shù)據(jù)的可靠傳輸。主要協(xié)議有TCP(傳輸控制協(xié)議)和UDP(用戶數(shù)據(jù)報協(xié)議)。
網(wǎng)絡(luò)層:負(fù)責(zé)數(shù)據(jù)包的路由和轉(zhuǎn)發(fā),使數(shù)據(jù)包能夠通過網(wǎng)絡(luò)從源主機(jī)傳輸?shù)侥康闹鳈C(jī)。主要協(xié)議是IP(因特網(wǎng)協(xié)議)。
鏈路層(數(shù)據(jù)鏈路層):在物理層提供的服務(wù)基礎(chǔ)上,建立數(shù)據(jù)鏈路連接,傳輸以“幀”為單位的數(shù)據(jù)包,并采用差錯控制與流量控制方法。
物理層:負(fù)責(zé)比特流的物理傳輸,即處理數(shù)據(jù)傳輸?shù)奈锢斫橘|(zhì),如網(wǎng)線、網(wǎng)卡等。
七層網(wǎng)絡(luò)模型(OSI模型)
物理層:與五層模型中的物理層相同,負(fù)責(zé)比特流的物理傳輸。
數(shù)據(jù)鏈路層:與五層模型中的鏈路層相同,負(fù)責(zé)建立數(shù)據(jù)鏈路連接,傳輸幀數(shù)據(jù)。
網(wǎng)絡(luò)層:與五層模型中的網(wǎng)絡(luò)層相同,負(fù)責(zé)數(shù)據(jù)包的路由和轉(zhuǎn)發(fā)。
傳輸層:與五層模型中的傳輸層相同,提供端到端的通信服務(wù)。
會話層:負(fù)責(zé)在兩個通信實體之間建立、管理和終止會話。
表示層:處理數(shù)據(jù)表示和編碼,確保不同系統(tǒng)間的數(shù)據(jù)能夠正確交換。
應(yīng)用層:提供網(wǎng)絡(luò)應(yīng)用服務(wù),如文件傳輸、電子郵件等。
三次握手和四次揮手具體過程及原因
三次握手
第一次握手:客戶端向服務(wù)器發(fā)送一個SYN包,并附帶一個隨機(jī)生成的序列號,請求建立連接。
第二次握手:服務(wù)器收到SYN包后,返回一個SYN-ACK包作為應(yīng)答,同時包含一個確認(rèn)序列號(對客戶端SYN包的序列號加1)和一個服務(wù)器自己的隨機(jī)序列號。
第三次握手:客戶端收到SYN-ACK包后,返回一個ACK包,該包的序列號是對服務(wù)器SYN-ACK包中的確認(rèn)序列號加1。至此,三次握手完成,連接建立。
為什么要三次握手?
在只有兩次"握手"的情形下,假設(shè)Client想跟Server建立連接,但是卻因為中途連接請求的數(shù)據(jù)報丟失了,故Client端不得不重新發(fā)送一遍;這個時候Server端僅收到一個連接請求,因此可以正常的建立連接。但是,有時候Client端重新發(fā)送請求不是因為數(shù)據(jù)報丟失了,而是有可能數(shù)據(jù)傳輸過程因為網(wǎng)絡(luò)并發(fā)量很大在某結(jié)點被阻塞了,這種情形下Server端將先后收到2次請求,并持續(xù)等待兩個Client請求向他發(fā)送數(shù)據(jù)…問題就在這里,Cient端實際上只有一次請求,而Server端卻有2個響應(yīng),極端的情況可能由于Client端多次重新發(fā)送請求數(shù)據(jù)而導(dǎo)致Server端最后建立了N多個響應(yīng)在等待,因而造成極大的資源浪費!所以,"三次握手"很有必要!
四次揮手
第一次揮手:客戶端發(fā)送一個FIN包給服務(wù)器,表示客戶端不再發(fā)送數(shù)據(jù)。
第二次握手:服務(wù)器收到FIN包后,發(fā)送一個ACK包給客戶端,表示已收到客戶端的關(guān)閉請求。
第三次握手:服務(wù)器完成數(shù)據(jù)傳輸后,發(fā)送一個FIN包給客戶端,表示服務(wù)器也不再發(fā)送數(shù)據(jù)。
第四次握手:客戶端收到服務(wù)器的FIN包后,發(fā)送一個ACK包給服務(wù)器,表示已收到服務(wù)器的關(guān)閉請求。至此,四次揮手完成,連接關(guān)閉。
為什么要四次揮手?
試想一下,假如現(xiàn)在你是客戶端你想斷開跟Server的所有連接該怎么做?第一步,你自己先停止向Server端發(fā)送數(shù)據(jù),并等待Server的回復(fù)。但事情還沒有完,雖然你自身不往Server發(fā)送數(shù)據(jù)了,但是因為你們之前已經(jīng)建立好平等的連接了,所以此時他也有主動權(quán)向你發(fā)送數(shù)據(jù);故Server端還得終止主動向你發(fā)送數(shù)據(jù),并等待你的確認(rèn)。其實,說白了就是保證雙方的一個合約的完整執(zhí)行!
使用TCP的協(xié)議:FTP(文件傳輸協(xié)議)、Telnet(遠(yuǎn)程登錄協(xié)議)、SMTP(簡單郵件傳輸協(xié)議)、POP3(和SMTP相對,用于接收郵件)、HTTP協(xié)議等。
注:seq:"sequance"序列號;ack:"acknowledge"確認(rèn)號;SYN:"synchronize"請求同步標(biāo)志;;ACK:“acknowledge"確認(rèn)標(biāo)志”;FIN:"Finally"結(jié)束標(biāo)志。
TCP/IP協(xié)議組成
TCP/IP協(xié)議(傳輸控制協(xié)議/因特網(wǎng)協(xié)議)并不直接對應(yīng)OSI模型的某一層或幾層,而是更接近于一個協(xié)議族的概念,它涵蓋了從網(wǎng)絡(luò)接口層到應(yīng)用層的多個協(xié)議。不過,為了簡化討論,我們可以將TCP/IP協(xié)議族按照其功能劃分成幾個層次,這些層次與OSI模型有一定的對應(yīng)關(guān)系,但并非嚴(yán)格一致。
TCP/IP協(xié)議族通常被劃分為以下四個層次(也有說法將其劃分為五層,但這里我們采用四層的劃分方式):
網(wǎng)絡(luò)接口層(對應(yīng)OSI模型的物理層和數(shù)據(jù)鏈路層):
這一層負(fù)責(zé)數(shù)據(jù)在物理網(wǎng)絡(luò)上的傳輸,包括數(shù)據(jù)的封裝成幀、幀的同步、差錯控制等。
具體的協(xié)議取決于物理網(wǎng)絡(luò)類型,如以太網(wǎng)、令牌環(huán)網(wǎng)等。
網(wǎng)絡(luò)層(對應(yīng)OSI模型的網(wǎng)絡(luò)層):
主要負(fù)責(zé)數(shù)據(jù)包的路由和轉(zhuǎn)發(fā),確保數(shù)據(jù)包能夠從源主機(jī)傳輸?shù)侥康闹鳈C(jī)。
最核心的協(xié)議是IP(因特網(wǎng)協(xié)議),它定義了數(shù)據(jù)包的格式、尋址方式和路由機(jī)制。
其他協(xié)議還包括ICMP(因特網(wǎng)控制消息協(xié)議)、IGMP(因特網(wǎng)組管理協(xié)議)、ARP(地址解析協(xié)議)和RARP(逆地址解析協(xié)議)等。
傳輸層(對應(yīng)OSI模型的傳輸層):
提供端到端的通信服務(wù),確保數(shù)據(jù)的可靠傳輸或提供無連接的數(shù)據(jù)報服務(wù)。
主要協(xié)議有TCP(傳輸控制協(xié)議)和UDP(用戶數(shù)據(jù)報協(xié)議)。
TCP是一種面向連接的、可靠的、基于字節(jié)流的傳輸層通信協(xié)議;UDP則是一種無連接的、不可靠的、基于數(shù)據(jù)報的傳輸層通信協(xié)議。
應(yīng)用層(對應(yīng)OSI模型的應(yīng)用層、表示層和會話層):
負(fù)責(zé)處理網(wǎng)絡(luò)應(yīng)用程序,提供具體的網(wǎng)絡(luò)服務(wù)。
常見的應(yīng)用層協(xié)議包括HTTP(超文本傳輸協(xié)議)、FTP(文件傳輸協(xié)議)、SMTP(簡單郵件傳輸協(xié)議)、POP3(郵局協(xié)議版本3)、IMAP(互聯(lián)網(wǎng)郵件訪問協(xié)議)、Telnet(遠(yuǎn)程終端協(xié)議)、SSH(安全外殼協(xié)議)、DNS(域名系統(tǒng))等。
需要注意的是,TCP/IP協(xié)議族中的每一層都依賴于其下一層提供的服務(wù),并為其上一層提供服務(wù)。同時,不同層之間的協(xié)議是相互獨立的,每一層都處理自己的數(shù)據(jù)和服務(wù),并通過接口與相鄰層進(jìn)行交互。這種分層的設(shè)計使得TCP/IP協(xié)議族具有良好的可擴(kuò)展性和靈活性。
UDP協(xié)議與TCP/IP協(xié)議的區(qū)別
連接性:TCP/IP是面向連接的協(xié)議,而UDP是無連接的協(xié)議。
可靠性:TCP/IP提供可靠的傳輸服務(wù),通過三次握手和四次揮手確保數(shù)據(jù)的完整性和順序;而UDP不保證數(shù)據(jù)的可靠性,可能會出現(xiàn)丟包、亂序等問題。
應(yīng)用場景:TCP/IP適用于對可靠性要求較高的場景,如文件傳輸、網(wǎng)頁瀏覽等;而UDP適用于對實時性要求較高、對可靠性要求不高的場景,如視頻直播、語音通話等。
Http協(xié)議相關(guān)知識
HTTP(超文本傳輸協(xié)議)是用于從WWW服務(wù)器傳輸超文本到本地瀏覽器的傳送協(xié)議。它是基于TCP協(xié)議之上的應(yīng)用層協(xié)議,由請求和響應(yīng)組成,采用客戶端-服務(wù)器模型。HTTP是無狀態(tài)的,即每次請求都是獨立的,服務(wù)器不會保留之前請求的信息。HTTP請求由請求行、請求頭部和請求體組成,響應(yīng)由狀態(tài)行、響應(yīng)頭部和響應(yīng)體組成。
HTTP 協(xié)議包括哪些請求?
GET:請求讀取由URL所標(biāo)志的信息。
POST:給服務(wù)器添加信息(如注釋)。
PUT:在給定的URL下存儲一個文檔。
DELETE:刪除給定的URL所標(biāo)志的資源。
HTTP 中, POST 與 GET 的區(qū)別
1)Get是從服務(wù)器上獲取數(shù)據(jù),Post是向服務(wù)器傳送數(shù)據(jù)。
2)Get是把參數(shù)數(shù)據(jù)隊列加到提交表單的Action屬性所指向的URL中,值和表單內(nèi)各個字段一一對應(yīng),在URL中可以看到。
3)Get傳送的數(shù)據(jù)量小,不能大于2KB;Post傳送的數(shù)據(jù)量較大,一般被默認(rèn)為不受限制。
4)根據(jù)HTTP規(guī)范,GET用于信息獲取,而且應(yīng)該是安全的和冪等的。
I. 所謂 安全的 意味著該操作用于獲取信息而非修改信息。換句話說,GET請求一般不應(yīng)產(chǎn)生副作用。就是說,它僅僅是獲取資源信息,就像數(shù)據(jù)庫查詢一樣,不會修改,增加數(shù)據(jù),不會影響資源的狀態(tài)。
II. 冪等 的意味著對同一URL的多個請求應(yīng)該返回同樣的結(jié)果。
網(wǎng)絡(luò)地址,子網(wǎng)掩碼等相關(guān)計算
隨著互連網(wǎng)應(yīng)用的不斷擴(kuò)大,原先的IPv4的弊端也逐漸暴露出來,即網(wǎng)絡(luò)號占位太多,而主機(jī)號位太少,所以其能提供的主機(jī)地址也越來越稀缺,目前除了使用NAT在企業(yè)內(nèi)部利用保留地址自行分配以外,通常都對一個高類別的IP地址進(jìn)行再劃分,以形成多個子網(wǎng),提供給不同規(guī)模的用戶群使用。
這里主要是為了在網(wǎng)絡(luò)分段情況下有效地利用IP地址,通過對主機(jī)號的高位部分取作為子網(wǎng)號,從通常的網(wǎng)絡(luò)位界限中擴(kuò)展或壓縮子網(wǎng)掩碼,用來創(chuàng)建某類地址的更多子網(wǎng)。但創(chuàng)建更多的子網(wǎng)時,在每個子網(wǎng)上的可用主機(jī)地址數(shù)目會比原先減少。
什么是子網(wǎng)掩碼?
子網(wǎng)掩碼是標(biāo)志兩個IP地址是否同屬于一個子網(wǎng)的,也是32位二進(jìn)制地址,其每一個為1代表該位是網(wǎng)絡(luò)位,為0代表主機(jī)位。它和IP地址一樣也是使用點式十進(jìn)制來表示的。如果兩個IP地址在子網(wǎng)掩碼的按位與的計算下所得結(jié)果相同,即表明它們共屬于同一子網(wǎng)中。
在計算子網(wǎng)掩碼時,我們要注意IP地址中的保留地址,即" 0"地址和廣播地址,它們是指主機(jī)地址或網(wǎng)絡(luò)地址全為" 0"或" 1"時的IP地址,它們代表著本網(wǎng)絡(luò)地址和廣播地址,一般是不能被計算在內(nèi)的。
子網(wǎng)掩碼的計算:
對于無須再劃分成子網(wǎng)的IP地址來說,其子網(wǎng)掩碼非常簡單,即按照其定義即可寫出:如某B類IP地址為 10.12.3.0,無須再分割子網(wǎng),則該IP地址的子網(wǎng)掩碼255.255.0.0。如果它是一個C類地址,則其子網(wǎng)掩碼為 255.255.255.0。其它類推,不再詳述。下面我們關(guān)鍵要介紹的是一個IP地址,還需要將其高位主機(jī)位再作為劃分出的子網(wǎng)網(wǎng)絡(luò)號,剩下的是每個子網(wǎng)的主機(jī)號,這時該如何進(jìn)行每個子網(wǎng)的掩碼計算。
下面總結(jié)一下有關(guān)子網(wǎng)掩碼和網(wǎng)絡(luò)劃分常見的面試考題:
利用子網(wǎng)數(shù)來計算
在求子網(wǎng)掩碼之前必須先搞清楚要劃分的子網(wǎng)數(shù)目,以及每個子網(wǎng)內(nèi)的所需主機(jī)數(shù)目。
- 將子網(wǎng)數(shù)目轉(zhuǎn)化為二進(jìn)制來表示;
如欲將B類IP地址168.195.0.0劃分成27個子網(wǎng):27=11011;
- 取得該二進(jìn)制的位數(shù),為N;
該二進(jìn)制為五位數(shù),N = 5
- 取得該IP地址的類子網(wǎng)掩碼,將其主機(jī)地址部分的的前N位置1即得出該IP地址劃分子網(wǎng)的子網(wǎng)掩碼。
將B類地址的子網(wǎng)掩碼255.255.0.0的主機(jī)地址前5位置 1,得到 255.255.248.0
利用主機(jī)數(shù)來計算
如欲將B類IP地址168.195.0.0劃分成若干子網(wǎng),每個子網(wǎng)內(nèi)有主機(jī)700臺:
- 將主機(jī)數(shù)目轉(zhuǎn)化為二進(jìn)制來表示;
700=1010111100
- 如果主機(jī)數(shù)小于或等于254(注意去掉保留的兩個IP地址),則取得該主機(jī)的二進(jìn)制位數(shù),為N,這里肯定 N<8。如果大于254,則 N>8,這就是說主機(jī)地址將占據(jù)不止8位;
該二進(jìn)制為十位數(shù),N=10;
- 使用255.255.255.255來將該類IP地址的主機(jī)地址位數(shù)全部置1,然后從后向前的將N位全部置為 0,即為子網(wǎng)掩碼值。
將該B類地址的子網(wǎng)掩碼255.255.0.0的主機(jī)地址全部置1,得到255.255.255.255,然后再從后向前將后 10位置0,即為:11111111.11111111.11111100.00000000,即255.255.252.0。這就是該欲劃分成主機(jī)為700臺的B類IP地址 168.195.0.0的子網(wǎng)掩碼。
還有一種題型,要你根據(jù)每個網(wǎng)絡(luò)的主機(jī)數(shù)量進(jìn)行子網(wǎng)地址的規(guī)劃和計算子網(wǎng)掩碼。這也可按上述原則進(jìn)行計算。
比如一個子網(wǎng)有10臺主機(jī),那么對于這個子網(wǎng)需要的IP地址是:
10+1+1+1=13
注意:加的第一個1是指這個網(wǎng)絡(luò)連接時所需的網(wǎng)關(guān)地址,接著的兩個1分別是指網(wǎng)絡(luò)地址和廣播地址。
因為13小于16(16等于2的4次方),所以主機(jī)位為4位。而256-16=240,所以該子網(wǎng)掩碼為255.255.255.240。
如果一個子網(wǎng)有14臺主機(jī),不少人常犯的錯誤是:依然分配具有16個地址空間的子網(wǎng),而忘記了給網(wǎng)關(guān)分配地址。這樣就錯誤了,因為14+1+1+1=17,17大于16,所以我們只能分配具有32個地址(32等于2的5次方)空間的子網(wǎng)。這時子網(wǎng)掩碼為:255.255.255.224。