計算機(jī)入門基礎(chǔ)必備知識大全
現(xiàn)在隨著人民生活水平的不斷提高,電腦作為一種曾經(jīng)的奢侈產(chǎn)品,已經(jīng)深入到千家萬戶當(dāng)中,但是在我們平時使用電腦的時候,可能由于一些操作不當(dāng)會引起電腦的故障,下面就讓小編帶你去看看計算機(jī)入門基礎(chǔ)必備知識大全,希望能幫助到大家!
計算機(jī)網(wǎng)絡(luò)基礎(chǔ)知識匯總學(xué)習(xí)
計算機(jī)網(wǎng)絡(luò)學(xué)習(xí)的核心內(nèi)容就是網(wǎng)絡(luò)協(xié)議的學(xué)習(xí)。網(wǎng)絡(luò)協(xié)議是為計算機(jī)網(wǎng)絡(luò)中進(jìn)行數(shù)據(jù)交換而建立的規(guī)則、標(biāo)準(zhǔn)或者說是約定的集合。因?yàn)椴煌脩舻臄?shù)據(jù)終端可能采取的字符集是不同的,兩者需要進(jìn)行通信,必須要在一定的標(biāo)準(zhǔn)上進(jìn)行。一個很形象地比喻就是我們的語言,我們大天朝地廣人多,地方性語言也非常豐富,而且方言之間差距巨大。A地區(qū)的方言可能B地區(qū)的人根本無法接受,所以我們要為全國人名進(jìn)行溝通建立一個語言標(biāo)準(zhǔn),這就是我們的普通話的作用。同樣,放眼全球,我們與外國友人溝通的標(biāo)準(zhǔn)語言是英語,所以我們才要苦逼的學(xué)習(xí)英語。
計算機(jī)網(wǎng)絡(luò)協(xié)議同我們的語言一樣,多種多樣。而ARPA公司與1977年到1979年推出了一種名為ARPANET的網(wǎng)絡(luò)協(xié)議受到了廣泛的熱捧,其中最主要的原因就是它推出了人盡皆知的TCP/IP標(biāo)準(zhǔn)網(wǎng)絡(luò)協(xié)議。目前TCP/IP協(xié)議已經(jīng)成為Internet中的“通用語言”,下圖為不同計算機(jī)群之間利用TCP/IP進(jìn)行通信的示意圖。
一、網(wǎng)絡(luò)層次劃分
為了使不同計算機(jī)廠家生產(chǎn)的計算機(jī)能夠相互通信,以便在更大的范圍內(nèi)建立計算機(jī)網(wǎng)絡(luò),國際標(biāo)準(zhǔn)化組織(ISO)在1978年提出了“開放系統(tǒng)互聯(lián)參考模型”,即著名的OSI/RM模型(Open System Interconnection/Reference Model)。
它將計算機(jī)網(wǎng)絡(luò)體系結(jié)構(gòu)的通信協(xié)議劃分為七層,自下而上依次為:
物理層(Physics Layer)
數(shù)據(jù)鏈路層(Data Link Layer)
網(wǎng)絡(luò)層(Network Layer)
傳輸層(Transport Layer)
會話層(Session Layer)
表示層(Presentation Layer)
應(yīng)用層(Application Layer)
其中第四層完成數(shù)據(jù)傳送服務(wù),上面三層面向用戶。
除了標(biāo)準(zhǔn)的OSI七層模型以外,常見的網(wǎng)絡(luò)層次劃分還有TCP/IP四層協(xié)議以及TCP/IP五層協(xié)議,它們之間的對應(yīng)關(guān)系如下圖所示:
二、OSI七層網(wǎng)絡(luò)模型
TCP/IP協(xié)議毫無疑問是互聯(lián)網(wǎng)的基礎(chǔ)協(xié)議,沒有它就根本不可能上網(wǎng),任何和互聯(lián)網(wǎng)有關(guān)的操作都離不開TCP/IP協(xié)議。不管是OSI七層模型還是TCP/IP的四層、五層模型,每一層中都要自己的專屬協(xié)議,完成自己相應(yīng)的工作以及與上下層級之間進(jìn)行溝通。由于OSI七層模型為網(wǎng)絡(luò)的標(biāo)準(zhǔn)層次劃分,所以我們以O(shè)SI七層模型為例從下向上進(jìn)行一一介紹。
1)物理層(Physical Layer)
激活、維持、關(guān)閉通信端點(diǎn)之間的機(jī)械特性、電氣特性、功能特性以及過程特性。該層為上層協(xié)議提供了一個傳輸數(shù)據(jù)的可靠的物理媒體。簡單的說,物理層確保原始的數(shù)據(jù)可在各種物理媒體上傳輸。物理層記住兩個重要的設(shè)備名稱,中繼器(Repeater,也叫放大器)和集線器。
2)數(shù)據(jù)鏈路層(Data Link Layer)
數(shù)據(jù)鏈路層在物理層提供的服務(wù)的基礎(chǔ)上向網(wǎng)絡(luò)層提供服務(wù),其最基本的服務(wù)是將源自網(wǎng)絡(luò)層來的數(shù)據(jù)可靠地傳輸?shù)较噜徆?jié)點(diǎn)的目標(biāo)機(jī)網(wǎng)絡(luò)層。為達(dá)到這一目的,數(shù)據(jù)鏈路必須具備一系列相應(yīng)的功能,主要有:如何將數(shù)據(jù)組合成數(shù)據(jù)塊,在數(shù)據(jù)鏈路層中稱這種數(shù)據(jù)塊為幀(frame),幀是數(shù)據(jù)鏈路層的傳送單位;如何控制幀在物理信道上的傳輸,包括如何處理傳輸差錯,如何調(diào)節(jié)發(fā)送速率以使與接收方相匹配;以及在兩個網(wǎng)絡(luò)實(shí)體之間提供數(shù)據(jù)鏈路通路的建立、維持和釋放的管理。數(shù)據(jù)鏈路層在不可靠的物理介質(zhì)上提供可靠的傳輸。該層的作用包括:物理地址尋址、數(shù)據(jù)的成幀、流量控制、數(shù)據(jù)的檢錯、重發(fā)等。
有關(guān)數(shù)據(jù)鏈路層的重要知識點(diǎn):
1> 數(shù)據(jù)鏈路層為網(wǎng)絡(luò)層提供可靠的數(shù)據(jù)傳輸;
2> 基本數(shù)據(jù)單位為幀;
3> 主要的協(xié)議:以太網(wǎng)協(xié)議;
4> 兩個重要設(shè)備名稱:網(wǎng)橋和交換機(jī)。
3)網(wǎng)絡(luò)層(Network Layer)
網(wǎng)絡(luò)層的目的是實(shí)現(xiàn)兩個端系統(tǒng)之間的數(shù)據(jù)透明傳送,具體功能包括尋址和路由選擇、連接的建立、保持和終止等。它提供的服務(wù)使傳輸層不需要了解網(wǎng)絡(luò)中的數(shù)據(jù)傳輸和交換技術(shù)。如果您想用盡量少的詞來記住網(wǎng)絡(luò)層,那就是“路徑選擇、路由及邏輯尋址”。
網(wǎng)絡(luò)層中涉及眾多的協(xié)議,其中包括最重要的協(xié)議,也是TCP/IP的核心協(xié)議——IP協(xié)議。IP協(xié)議非常簡單,僅僅提供不可靠、無連接的傳送服務(wù)。IP協(xié)議的主要功能有:無連接數(shù)據(jù)報傳輸、數(shù)據(jù)報路由選擇和差錯控制。與IP協(xié)議配套使用實(shí)現(xiàn)其功能的還有地址解析協(xié)議ARP、逆地址解析協(xié)議RARP、因特網(wǎng)報文協(xié)議ICMP、因特網(wǎng)組管理協(xié)議IGMP。具體的協(xié)議我們會在接下來的部分進(jìn)行總結(jié),有關(guān)網(wǎng)絡(luò)層的重點(diǎn)為:
1> 網(wǎng)絡(luò)層負(fù)責(zé)對子網(wǎng)間的數(shù)據(jù)包進(jìn)行路由選擇。此外,網(wǎng)絡(luò)層還可以實(shí)現(xiàn)擁塞控制、網(wǎng)際互連等功能;
2> 基本數(shù)據(jù)單位為IP數(shù)據(jù)報;
3> 包含的主要協(xié)議:
IP協(xié)議(Internet Protocol,因特網(wǎng)互聯(lián)協(xié)議);
ICMP協(xié)議(Internet Control Message Protocol,因特網(wǎng)控制報文協(xié)議);
ARP協(xié)議(Address Resolution Protocol,地址解析協(xié)議);
RARP協(xié)議(Reverse Address Resolution Protocol,逆地址解析協(xié)議)。
4> 重要的設(shè)備:路由器。
4)傳輸層(Transport Layer)
第一個端到端,即主機(jī)到主機(jī)的層次。傳輸層負(fù)責(zé)將上層數(shù)據(jù)分段并提供端到端的、可靠的或不可靠的傳輸。此外,傳輸層還要處理端到端的差錯控制和流量控制問題。
傳輸層的任務(wù)是根據(jù)通信子網(wǎng)的特性,最佳的利用網(wǎng)絡(luò)資源,為兩個端系統(tǒng)的會話層之間,提供建立、維護(hù)和取消傳輸連接的功能,負(fù)責(zé)端到端的可靠數(shù)據(jù)傳輸。在這一層,信息傳送的協(xié)議數(shù)據(jù)單元稱為段或報文。
網(wǎng)絡(luò)層只是根據(jù)網(wǎng)絡(luò)地址將源結(jié)點(diǎn)發(fā)出的數(shù)據(jù)包傳送到目的結(jié)點(diǎn),而傳輸層則負(fù)責(zé)將數(shù)據(jù)可靠地傳送到相應(yīng)的端口。
有關(guān)網(wǎng)絡(luò)層的重點(diǎn):
1> 傳輸層負(fù)責(zé)將上層數(shù)據(jù)分段并提供端到端的、可靠的或不可靠的傳輸以及端到端的差錯控制和流量控制問題;
2> 包含的主要協(xié)議:TCP協(xié)議(Transmission Control Protocol,傳輸控制協(xié)議)、UDP協(xié)議(User Datagram Protocol,用戶數(shù)據(jù)報協(xié)議);
3> 重要設(shè)備:網(wǎng)關(guān)。
5)會話層
會話層管理主機(jī)之間的會話進(jìn)程,即負(fù)責(zé)建立、管理、終止進(jìn)程之間的會話。會話層還利用在數(shù)據(jù)中插入校驗(yàn)點(diǎn)來實(shí)現(xiàn)數(shù)據(jù)的同步。
6)表示層
表示層對上層數(shù)據(jù)或信息進(jìn)行變換以保證一個主機(jī)應(yīng)用層信息可以被另一個主機(jī)的應(yīng)用程序理解。表示層的數(shù)據(jù)轉(zhuǎn)換包括數(shù)據(jù)的加密、壓縮、格式轉(zhuǎn)換等。
7)應(yīng)用層
為操作系統(tǒng)或網(wǎng)絡(luò)應(yīng)用程序提供訪問網(wǎng)絡(luò)服務(wù)的接口。
會話層、表示層和應(yīng)用層重點(diǎn):
1> 數(shù)據(jù)傳輸基本單位為報文;
2> 包含的主要協(xié)議:FTP(文件傳送協(xié)議)、Telnet(遠(yuǎn)程登錄協(xié)議)、DNS(域名解析協(xié)議)、SMTP(郵件傳送協(xié)議),POP3協(xié)議(郵局協(xié)議),HTTP協(xié)議(Hyper Te__t Transfer Protocol)。
三、IP地址
1)網(wǎng)絡(luò)地址
IP地址由網(wǎng)絡(luò)號(包括子網(wǎng)號)和主機(jī)號組成,網(wǎng)絡(luò)地址的主機(jī)號為全0,網(wǎng)絡(luò)地址代表著整個網(wǎng)絡(luò)。
2)廣播地址
廣播地址通常稱為直接廣播地址,是為了區(qū)分受限廣播地址。
廣播地址與網(wǎng)絡(luò)地址的主機(jī)號正好相反,廣播地址中,主機(jī)號為全1。當(dāng)向某個網(wǎng)絡(luò)的廣播地址發(fā)送消息時,該網(wǎng)絡(luò)內(nèi)的所有主機(jī)都能收到該廣播消息。
3)組播地址
D類地址就是組播地址。
先回憶下A,B,C,D類地址吧:
A類地址以0開頭,第一個字節(jié)作為網(wǎng)絡(luò)號,地址范圍為:0.0.0.0~127.255.255.255;(modified @2016.05.31)
B類地址以10開頭,前兩個字節(jié)作為網(wǎng)絡(luò)號,地址范圍是:128.0.0.0~191.255.255.255;
C類地址以110開頭,前三個字節(jié)作為網(wǎng)絡(luò)號,地址范圍是:192.0.0.0~223.255.255.255。
D類地址以1110開頭,地址范圍是224.0.0.0~239.255.255.255,D類地址作為組播地址(一對多的通信);
E類地址以1111開頭,地址范圍是240.0.0.0~255.255.255.255,E類地址為保留地址,供以后使用。
注:只有A,B,C有網(wǎng)絡(luò)號和主機(jī)號之分,D類地址和E類地址沒有劃分網(wǎng)絡(luò)號和主機(jī)號。
4)255.255.255.255
該IP地址指的是受限的廣播地址。受限廣播地址與一般廣播地址(直接廣播地址)的區(qū)別在于,受限廣播地址只能用于本地網(wǎng)絡(luò),路由器不會轉(zhuǎn)發(fā)以受限廣播地址為目的地址的分組;一般廣播地址既可在本地廣播,也可跨網(wǎng)段廣播。例如:主機(jī)192.168.1.1/30上的直接廣播數(shù)據(jù)包后,另外一個網(wǎng)段192.168.1.5/30也能收到該數(shù)據(jù)報;若發(fā)送受限廣播數(shù)據(jù)報,則不能收到。
注:一般的廣播地址(直接廣播地址)能夠通過某些路由器(當(dāng)然不是所有的路由器),而受限的廣播地址不能通過路由器。
5)0.0.0.0
常用于尋找自己的IP地址,例如在我們的RARP,BOOTP和DHCP協(xié)議中,若某個未知IP地址的無盤機(jī)想要知道自己的IP地址,它就以255.255.255.255為目的地址,向本地范圍(具體而言是被各個路由器屏蔽的范圍內(nèi))的服務(wù)器發(fā)送IP請求分組。
6)回環(huán)地址
127.0.0.0/8被用作回環(huán)地址,回環(huán)地址表示本機(jī)的地址,常用于對本機(jī)的測試,用的最多的是127.0.0.1。
7)A、B、C類私有地址
私有地址(private address)也叫專用地址,它們不會在全球使用,只具有本地意義。
A類私有地址:10.0.0.0/8,范圍是:10.0.0.0~10.255.255.255
B類私有地址:172.16.0.0/12,范圍是:172.16.0.0~172.31.255.255
C類私有地址:192.168.0.0/16,范圍是:192.168.0.0~192.168.255.255
四、子網(wǎng)掩碼及網(wǎng)絡(luò)劃分
隨著互連網(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地址一樣也是使用點(diǎn)式十進(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ò)劃分常見的面試考題:
1)利用子網(wǎng)數(shù)來計算
在求子網(wǎng)掩碼之前必須先搞清楚要劃分的子網(wǎng)數(shù)目,以及每個子網(wǎng)內(nèi)的所需主機(jī)數(shù)目。
(1) 將子網(wǎng)數(shù)目轉(zhuǎn)化為二進(jìn)制來表示;
如欲將B類IP地址168.195.0.0劃分成27個子網(wǎng):27=11011;
(2) 取得該二進(jìn)制的位數(shù),為N;
該二進(jìn)制為五位數(shù),N = 5
(3) 取得該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
2)利用主機(jī)數(shù)來計算
如欲將B類IP地址168.195.0.0劃分成若干子網(wǎng),每個子網(wǎng)內(nèi)有主機(jī)700臺:
(1) 將主機(jī)數(shù)目轉(zhuǎn)化為二進(jìn)制來表示;
700=1010111100;
(2) 如果主機(jī)數(shù)小于或等于254(注意去掉保留的兩個IP地址),則取得該主機(jī)的二進(jìn)制位數(shù),為N,這里肯定 N<8。如果大于254,則 N>8,這就是說主機(jī)地址將占據(jù)不止8位;
該二進(jìn)制為十位數(shù),N=10;
(3) 使用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)掩碼。
3)還有一種題型,要你根據(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ò)地址和廣播地址。
因?yàn)?3小于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)分配地址。這樣就錯誤了,因?yàn)?4+1+1+1=17,17大于16,所以我們只能分配具有32個地址(32等于2的5次方)空間的子網(wǎng)。這時子網(wǎng)掩碼為:255.255.255.224。
五、ARP/RARP協(xié)議
地址解析協(xié)議,即ARP(Address Resolution Protocol),是根據(jù)IP地址獲取物理地址的一個TCP/IP協(xié)議。主機(jī)發(fā)送信息時將包含目標(biāo)IP地址的ARP請求廣播到網(wǎng)絡(luò)上的所有主機(jī),并接收返回消息,以此確定目標(biāo)的物理地址;收到返回消息后將該IP地址和物理地址存入本機(jī)ARP緩存中并保留一定時間,下次請求時直接查詢ARP緩存以節(jié)約資源。地址解析協(xié)議是建立在網(wǎng)絡(luò)中各個主機(jī)互相信任的基礎(chǔ)上的,網(wǎng)絡(luò)上的主機(jī)可以自主發(fā)送ARP應(yīng)答消息,其他主機(jī)收到應(yīng)答報文時不會檢測該報文的真實(shí)性就會將其記入本機(jī)ARP緩存;由此攻擊者就可以向某一主機(jī)發(fā)送偽ARP應(yīng)答報文,使其發(fā)送的信息無法到達(dá)預(yù)期的主機(jī)或到達(dá)錯誤的主機(jī),這就構(gòu)成了一個ARP欺騙。ARP命令可用于查詢本機(jī)ARP緩存中IP地址和MAC地址的對應(yīng)關(guān)系、添加或刪除靜態(tài)對應(yīng)關(guān)系等。
ARP工作流程舉例:
主機(jī)A的IP地址為192.168.1.1,MAC地址為0A-11-22-33-44-01;
主機(jī)B的IP地址為192.168.1.2,MAC地址為0A-11-22-33-44-02;
當(dāng)主機(jī)A要與主機(jī)B通信時,地址解析協(xié)議可以將主機(jī)B的IP地址(192.168.1.2)解析成主機(jī)B的MAC地址,以下為工作流程:
(1)根據(jù)主機(jī)A上的路由表內(nèi)容,IP確定用于訪問主機(jī)B的轉(zhuǎn)發(fā)IP地址是192.168.1.2。然后A主機(jī)在自己的本地ARP緩存中檢查主機(jī)B的匹配MAC地址。
(2)如果主機(jī)A在ARP緩存中沒有找到映射,它將詢問192.168.1.2的硬件地址,從而將ARP請求幀廣播到本地網(wǎng)絡(luò)上的所有主機(jī)。源主機(jī)A的IP地址和MAC地址都包括在ARP請求中。本地網(wǎng)絡(luò)上的每臺主機(jī)都接收到ARP請求并且檢查是否與自己的IP地址匹配。如果主機(jī)發(fā)現(xiàn)請求的IP地址與自己的IP地址不匹配,它將丟棄ARP請求。
(3)主機(jī)B確定ARP請求中的IP地址與自己的IP地址匹配,則將主機(jī)A的IP地址和MAC地址映射添加到本地ARP緩存中。
(4)主機(jī)B將包含其MAC地址的ARP回復(fù)消息直接發(fā)送回主機(jī)A。
(5)當(dāng)主機(jī)A收到從主機(jī)B發(fā)來的ARP回復(fù)消息時,會用主機(jī)B的IP和MAC地址映射更新ARP緩存。本機(jī)緩存是有生存期的,生存期結(jié)束后,將再次重復(fù)上面的過程。主機(jī)B的MAC地址一旦確定,主機(jī)A就能向主機(jī)B發(fā)送IP通信了。
逆地址解析協(xié)議,即RARP,功能和ARP協(xié)議相對,其將局域網(wǎng)中某個主機(jī)的物理地址轉(zhuǎn)換為IP地址,比如局域網(wǎng)中有一臺主機(jī)只知道物理地址而不知道IP地址,那么可以通過RARP協(xié)議發(fā)出征求自身IP地址的廣播請求,然后由RARP服務(wù)器負(fù)責(zé)回答。
RARP協(xié)議工作流程:
(1)給主機(jī)發(fā)送一個本地的RARP廣播,在此廣播包中,聲明自己的MAC地址并且請求任何收到此請求的RARP服務(wù)器分配一個IP地址;
(2)本地網(wǎng)段上的RARP服務(wù)器收到此請求后,檢查其RARP列表,查找該MAC地址對應(yīng)的IP地址;
(3)如果存在,RARP服務(wù)器就給源主機(jī)發(fā)送一個響應(yīng)數(shù)據(jù)包并將此IP地址提供給對方主機(jī)使用;
(4)如果不存在,RARP服務(wù)器對此不做任何的響應(yīng);
(5)源主機(jī)收到從RARP服務(wù)器的響應(yīng)信息,就利用得到的IP地址進(jìn)行通訊;如果一直沒有收到RARP服務(wù)器的響應(yīng)信息,表示初始化失敗。
六、路由選擇協(xié)議
常見的路由選擇協(xié)議有:RIP協(xié)議、OSPF協(xié)議。
RIP協(xié)議 :底層是貝爾曼福特算法,它選擇路由的度量標(biāo)準(zhǔn)(metric)是跳數(shù),最大跳數(shù)是15跳,如果大于15跳,它就會丟棄數(shù)據(jù)包。
OSPF協(xié)議 :Open Shortest Path First開放式最短路徑優(yōu)先,底層是迪杰斯特拉算法,是鏈路狀態(tài)路由選擇協(xié)議,它選擇路由的度量標(biāo)準(zhǔn)是帶寬,延遲。
回到頂部
七、TCP/IP協(xié)議
TCP/IP協(xié)議是Internet最基本的協(xié)議、Internet國際互聯(lián)網(wǎng)絡(luò)的基礎(chǔ),由網(wǎng)絡(luò)層的IP協(xié)議和傳輸層的TCP協(xié)議組成。通俗而言:TCP負(fù)責(zé)發(fā)現(xiàn)傳輸?shù)膯栴},一有問題就發(fā)出信號,要求重新傳輸,直到所有數(shù)據(jù)安全正確地傳輸?shù)侥康牡?。而IP是給因特網(wǎng)的每一臺聯(lián)網(wǎng)設(shè)備規(guī)定一個地址。
IP層接收由更低層(網(wǎng)絡(luò)接口層例如以太網(wǎng)設(shè)備驅(qū)動程序)發(fā)來的數(shù)據(jù)包,并把該數(shù)據(jù)包發(fā)送到更高層---TCP或UDP層;相反,IP層也把從TCP或UDP層接收來的數(shù)據(jù)包傳送到更低層。IP數(shù)據(jù)包是不可靠的,因?yàn)镮P并沒有做任何事情來確認(rèn)數(shù)據(jù)包是否按順序發(fā)送的或者有沒有被破壞,IP數(shù)據(jù)包中含有發(fā)送它的主機(jī)的地址(源地址)和接收它的主機(jī)的地址(目的地址)。
TCP是面向連接的通信協(xié)議,通過三次握手建立連接,通訊完成時要拆除連接,由于TCP是面向連接的所以只能用于端到端的通訊。TCP提供的是一種可靠的數(shù)據(jù)流服務(wù),采用“帶重傳的肯定確認(rèn)”技術(shù)來實(shí)現(xiàn)傳輸?shù)目煽啃?。TCP還采用一種稱為“滑動窗口”的方式進(jìn)行流量控制,所謂窗口實(shí)際表示接收能力,用以限制發(fā)送方的發(fā)送速度。
TCP報文首部格式:
TCP協(xié)議的三次握手和四次揮手:
注:seq:"sequance"序列號;ack:"acknowledge"確認(rèn)號;SYN:"synchronize"請求同步標(biāo)志;;ACK:"acknowledge"確認(rèn)標(biāo)志";FIN:"Finally"結(jié)束標(biāo)志。
TCP連接建立過程:首先Client端發(fā)送連接請求報文,Server段接受連接后回復(fù)ACK報文,并為這次連接分配資源。Client端接收到ACK報文后也向Server段發(fā)生ACK報文,并分配資源,這樣TCP連接就建立了。
TCP連接斷開過程:假設(shè)Client端發(fā)起中斷連接請求,也就是發(fā)送FIN報文。Server端接到FIN報文后,意思是說"我Client端沒有數(shù)據(jù)要發(fā)給你了",但是如果你還有數(shù)據(jù)沒有發(fā)送完成,則不必急著關(guān)閉Socket,可以繼續(xù)發(fā)送數(shù)據(jù)。所以你先發(fā)送ACK,"告訴Client端,你的請求我收到了,但是我還沒準(zhǔn)備好,請繼續(xù)你等我的消息"。這個時候Client端就進(jìn)入FIN_WAIT狀態(tài),繼續(xù)等待Server端的FIN報文。當(dāng)Server端確定數(shù)據(jù)已發(fā)送完成,則向Client端發(fā)送FIN報文,"告訴Client端,好了,我這邊數(shù)據(jù)發(fā)完了,準(zhǔn)備好關(guān)閉連接了"。Client端收到FIN報文后,"就知道可以關(guān)閉連接了,但是他還是不相信網(wǎng)絡(luò),怕Server端不知道要關(guān)閉,所以發(fā)送ACK后進(jìn)入TIME_WAIT狀態(tài),如果Server端沒有收到ACK則可以重傳?!埃琒erver端收到ACK后,"就知道可以斷開連接了"。Client端等待了2MSL后依然沒有收到回復(fù),則證明Server端已正常關(guān)閉,那好,我Client端也可以關(guān)閉連接了。Ok,TCP連接就這樣關(guān)閉了!
為什么要三次揮手?
在只有兩次“握手”的情形下,假設(shè)Client想跟Server建立連接,但是卻因?yàn)橹型具B接請求的數(shù)據(jù)報丟失了,故Client端不得不重新發(fā)送一遍;這個時候Server端僅收到一個連接請求,因此可以正常的建立連接。但是,有時候Client端重新發(fā)送請求不是因?yàn)閿?shù)據(jù)報丟失了,而是有可能數(shù)據(jù)傳輸過程因?yàn)榫W(wǎng)絡(luò)并發(fā)量很大在某結(jié)點(diǎn)被阻塞了,這種情形下Server端將先后收到2次請求,并持續(xù)等待兩個Client請求向他發(fā)送數(shù)據(jù)...問題就在這里,Cient端實(shí)際上只有一次請求,而Server端卻有2個響應(yīng),極端的情況可能由于Client端多次重新發(fā)送請求數(shù)據(jù)而導(dǎo)致Server端最后建立了N多個響應(yīng)在等待,因而造成極大的資源浪費(fèi)!所以,“三次握手”很有必要!
為什么要四次揮手?
試想一下,假如現(xiàn)在你是客戶端你想斷開跟Server的所有連接該怎么做?第一步,你自己先停止向Server端發(fā)送數(shù)據(jù),并等待Server的回復(fù)。但事情還沒有完,雖然你自身不往Server發(fā)送數(shù)據(jù)了,但是因?yàn)槟銈冎耙呀?jīng)建立好平等的連接了,所以此時他也有主動權(quán)向你發(fā)送數(shù)據(jù);故Server端還得終止主動向你發(fā)送數(shù)據(jù),并等待你的確認(rèn)。其實(shí),說白了就是保證雙方的一個合約的完整執(zhí)行!
使用TCP的協(xié)議:FTP(文件傳輸協(xié)議)、Telnet(遠(yuǎn)程登錄協(xié)議)、SMTP(簡單郵件傳輸協(xié)議)、POP3(和SMTP相對,用于接收郵件)、HTTP協(xié)議等。
八、UDP協(xié)議
UDP用戶數(shù)據(jù)報協(xié)議,是面向無連接的通訊協(xié)議,UDP數(shù)據(jù)包括目的端口號和源端口號信息,由于通訊不需要連接,所以可以實(shí)現(xiàn)廣播發(fā)送。UDP通訊時不需要接收方確認(rèn),屬于不可靠的傳輸,可能會出現(xiàn)丟包現(xiàn)象,實(shí)際應(yīng)用中要求程序員編程驗(yàn)證。
UDP與TCP位于同一層,但它不管數(shù)據(jù)包的順序、錯誤或重發(fā)。因此,UDP不被應(yīng)用于那些使用虛電路的面向連接的服務(wù),UDP主要用于那些面向查詢---應(yīng)答的服務(wù),例如NFS。相對于FTP或Telnet,這些服務(wù)需要交換的信息量較小。
每個UDP報文分UDP報頭和UDP數(shù)據(jù)區(qū)兩部分。報頭由四個16位長(2字節(jié))字段組成,分別說明該報文的源端口、目的端口、報文長度以及校驗(yàn)值。UDP報頭由4個域組成,其中每個域各占用2個字節(jié),具體如下:
(1)源端口號;
(2)目標(biāo)端口號;
(3)數(shù)據(jù)報長度;
(4)校驗(yàn)值。
使用UDP協(xié)議包括:TFTP(簡單文件傳輸協(xié)議)、SNMP(簡單網(wǎng)絡(luò)管理協(xié)議)、DNS(域名解析協(xié)議)、NFS、BOOTP。
TCP 與 UDP 的區(qū)別:TCP是面向連接的,可靠的字節(jié)流服務(wù);UDP是面向無連接的,不可靠的數(shù)據(jù)報服務(wù)。
九、DNS協(xié)議
DNS是域名系統(tǒng)(DomainNameSystem)的縮寫,該系統(tǒng)用于命名組織到域?qū)哟谓Y(jié)構(gòu)中的計算機(jī)和網(wǎng)絡(luò)服務(wù),可以簡單地理解為將URL轉(zhuǎn)換為IP地址。域名是由圓點(diǎn)分開一串單詞或縮寫組成的,每一個域名都對應(yīng)一個惟一的IP地址,在Internet上域名與IP地址之間是一一對應(yīng)的,DNS就是進(jìn)行域名解析的服務(wù)器。DNS命名用于Internet等TCP/IP網(wǎng)絡(luò)中,通過用戶友好的名稱查找計算機(jī)和服務(wù)。
回到頂部
十、NAT協(xié)議
NAT網(wǎng)絡(luò)地址轉(zhuǎn)換(Network Address Translation)屬接入廣域網(wǎng)(WAN)技術(shù),是一種將私有(保留)地址轉(zhuǎn)化為合法IP地址的轉(zhuǎn)換技術(shù),它被廣泛應(yīng)用于各種類型Internet接入方式和各種類型的網(wǎng)絡(luò)中。原因很簡單,NAT不僅完美地解決了lP地址不足的問題,而且還能夠有效地避免來自網(wǎng)絡(luò)外部的攻擊,隱藏并保護(hù)網(wǎng)絡(luò)內(nèi)部的計算機(jī)。
十一、DHCP協(xié)議
DHCP動態(tài)主機(jī)設(shè)置協(xié)議(Dynamic Host Configuration Protocol)是一個局域網(wǎng)的網(wǎng)絡(luò)協(xié)議,使用UDP協(xié)議工作,主要有兩個用途:給內(nèi)部網(wǎng)絡(luò)或網(wǎng)絡(luò)服務(wù)供應(yīng)商自動分配IP地址,給用戶或者內(nèi)部網(wǎng)絡(luò)管理員作為對所有計算機(jī)作中央管理的手段。
十二、HTTP協(xié)議
超文本傳輸協(xié)議(HTTP,HyperTe__t Transfer Protocol)是互聯(lián)網(wǎng)上應(yīng)用最為廣泛的一種網(wǎng)絡(luò)協(xié)議。所有的WWW文件都必須遵守這個標(biāo)準(zhǔn)。
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é)果。
弱電工程中能用到的計算機(jī)網(wǎng)絡(luò)知識匯總
什么是計算機(jī)網(wǎng)絡(luò)?
計算機(jī)網(wǎng)絡(luò),是指將地理位置不同的具有獨(dú)立功能的多臺計算機(jī)及其外部設(shè)備,通過通信線路連接起來,在網(wǎng)絡(luò)操作系統(tǒng),網(wǎng)絡(luò)管理軟件及網(wǎng)絡(luò)通信協(xié)議的管理和協(xié)調(diào)下,實(shí)現(xiàn)資源共享和信息傳遞的計算機(jī)系統(tǒng)。
什么是無線網(wǎng)絡(luò)?
無線網(wǎng)絡(luò),既包括允許用戶建立遠(yuǎn)距離無線連接的全球語音和數(shù)據(jù)網(wǎng)絡(luò),也包括為近距離無線連接進(jìn)行優(yōu)化的紅外線技術(shù)及射頻技術(shù),與有線網(wǎng)絡(luò)的用途十分類似,最大的不同在于傳輸媒介的不同,利用無線電技術(shù)取代網(wǎng)線,可以和有線網(wǎng)絡(luò)互為備份。
OSI,TCP/IP,五層協(xié)議的體系結(jié)構(gòu),以及各層協(xié)議
OSI分層 (7層):物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、會話層、表示層、應(yīng)用層。
TCP/IP分層(4層):網(wǎng)絡(luò)接口層、 網(wǎng)際層、運(yùn)輸層、 應(yīng)用層。
五層協(xié)議 (5層):物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、運(yùn)輸層、 應(yīng)用層。
每一層的協(xié)議如下:
物理層:RJ45、CLOCK、IEEE802.3 (中繼器,集線器,網(wǎng)關(guān))
數(shù)據(jù)鏈路:PPP、FR、HDLC、VLAN、MAC (網(wǎng)橋,交換機(jī))
網(wǎng)絡(luò)層:IP、ICMP、ARP、RARP、OSPF、IP__、RIP、IGRP、(路由器)
傳輸層:TCP、UDP、SP__
會話層:NFS、SQL、NETBIOS、RPC
表示層:JPEG、MPEG、ASII
應(yīng)用層:FTP、DNS、Telnet、SMTP、HTTP、WWW、NFS
TCP各層作用
物理層:物理層規(guī)定了激活、維持、關(guān)閉通信端點(diǎn)之間的機(jī)械特性、電氣特性、功能特性以及過程特性。在這一層,數(shù)據(jù)的單位稱為比特。
數(shù)據(jù)鏈路層:數(shù)據(jù)鏈路層在不可靠的物理介質(zhì)上提供可靠的傳輸。該層的作用包括:物理地址尋址、數(shù)據(jù)的成幀、流量控制、數(shù)據(jù)的檢錯、重發(fā)等。在這一層,數(shù)據(jù)的單位稱為幀。
點(diǎn)擊>>工程資料免費(fèi)下載
網(wǎng)絡(luò)層:網(wǎng)絡(luò)層負(fù)責(zé)對子網(wǎng)間的數(shù)據(jù)包進(jìn)行路由選擇。網(wǎng)絡(luò)層還可以實(shí)現(xiàn)擁塞控制、網(wǎng)際互連等功能。在這一層,數(shù)據(jù)的單位稱為數(shù)據(jù)包。
傳輸層:傳輸層是第一個端到端,即主機(jī)到主機(jī)的層次。傳輸層負(fù)責(zé)將上層數(shù)據(jù)分段并提供端到端的、可靠的或不可靠的傳輸。此外,傳輸層還要處理端到端的差錯控制和流量控制問題。
會話層:會話層管理主機(jī)之間的會話進(jìn)程,即負(fù)責(zé)建立、管理、終止進(jìn)程之間的會話。會話層還利用在數(shù)據(jù)中插入校驗(yàn)點(diǎn)來實(shí)現(xiàn)數(shù)據(jù)的同步。
表示層:表示層對上層數(shù)據(jù)或信息進(jìn)行變換以保證一個主機(jī)應(yīng)用層信息可以被另一個主機(jī)的應(yīng)用程序理解。表示層的數(shù)據(jù)轉(zhuǎn)換包括數(shù)據(jù)的加密、壓縮、格式轉(zhuǎn)換等。
應(yīng)用層:應(yīng)用層為操作系統(tǒng)或網(wǎng)絡(luò)應(yīng)用程序提供訪問網(wǎng)絡(luò)服務(wù)的接口。
TCP應(yīng)用場景
效率要求相對低,但對準(zhǔn)確性要求相對高的場景。因?yàn)閭鬏斨行枰獙?shù)據(jù)確認(rèn)、重發(fā)、排序等操作,相比之下效率沒有UDP高。舉幾個例子:文件傳輸(準(zhǔn)確高要求高、但是速度可以相對慢)、接受郵件、遠(yuǎn)程登錄。
UDP應(yīng)用場景
效率要求相對高,對準(zhǔn)確性要求相對低的場景。舉幾個例子:QQ聊天、在線視頻、網(wǎng)絡(luò)語音電話(即時通訊,速度要求高,但是出現(xiàn)偶爾斷續(xù)不是太大問題,并且此處完全不可以使用重發(fā)機(jī)制)、廣播通信(廣播、多播)。
TCP對應(yīng)的協(xié)議和UDP對應(yīng)的協(xié)議
TCP對應(yīng)的協(xié)議:
(1) FTP:定義了文件傳輸協(xié)議,使用21端口。常說某某計算機(jī)開了FTP服務(wù)便是啟動了文件傳輸服務(wù)。下載文件,上傳主頁,都要用到FTP服務(wù)。
(2) Telnet:它是一種用于遠(yuǎn)程登陸的端口,用戶可以以自己的身份遠(yuǎn)程連接到計算機(jī)上,通過這種端口可以提供一種基于DOS模式下的通信服務(wù)。如以前的BBS是-純字符界面的,支持BBS的服務(wù)器將23端口打開,對外提供服務(wù)。
(3) SMTP:定義了簡單郵件傳送協(xié)議,現(xiàn)在很多郵件服務(wù)器都用的是這個協(xié)議,用于發(fā)送郵件。如常見的免費(fèi)郵件服務(wù)中用的就是這個郵件服務(wù)端口,所以在電子郵件設(shè)置-中常看到有這么SMTP端口設(shè)置這個欄,服務(wù)器開放的是25號端口。
(4) POP3:它是和SMTP對應(yīng),POP3用于接收郵件。通常情況下,POP3協(xié)議所用的是110端口。也是說,只要你有相應(yīng)的使用POP3協(xié)議的程序(例如Fo-__mail或Outlook),就可以不以Web方式登陸進(jìn)郵箱界面,直接用郵件程序就可以收到郵件(如是163郵箱就沒有必要先進(jìn)入網(wǎng)易網(wǎng)站,再進(jìn)入自己的郵-箱來收信)。
(5)HTTP協(xié)議:是從Web服務(wù)器傳輸超文本到本地瀏覽器的傳送協(xié)議。
UDP對應(yīng)的協(xié)議:
(1) DNS:用于域名解析服務(wù),將域名地址轉(zhuǎn)換為IP地址。DNS用的是53號端口。
(2) SNMP:簡單網(wǎng)絡(luò)管理協(xié)議,使用161號端口,是用來管理網(wǎng)絡(luò)設(shè)備的。由于網(wǎng)絡(luò)設(shè)備很多,無連接的服務(wù)就體現(xiàn)出其優(yōu)勢。
(3) TFTP(Trival File Transfer Protocal),簡單文件傳輸協(xié)議,該協(xié)議在熟知端口69上使用UDP服務(wù)。
TCP的三次握手與四次揮手過程,各個狀態(tài)名稱與含義
三次握手
第一次握手:客戶機(jī)首先向服務(wù)器的TCP發(fā)送一個連接請求報文段,這個特殊的報文段不含應(yīng)用層數(shù)據(jù),其首部中同步位SYN被設(shè)置為1。另外,客戶機(jī)會隨機(jī)選擇一個起始序號seq=__(連接請求報文不攜帶數(shù)據(jù),但要消耗一個序號).
第二次握手:服務(wù)器的TCP收到連接請求報文段后,如果同意建立連接,就向客戶機(jī)發(fā)回確認(rèn),并為該TCP連接分配TCP緩存和變量。在確認(rèn)報文段中,SYN和ACK位都被設(shè)置為1,確認(rèn)號字段值為ack=__+1,并且服務(wù)器隨機(jī)產(chǎn)生起始序號seq=y. 確認(rèn)包同樣不包含應(yīng)用層數(shù)據(jù)。
點(diǎn)擊>>工程資料免費(fèi)下載
第三次握手:當(dāng)客戶機(jī)收到確認(rèn)報文段后,還要向服務(wù)器給出確認(rèn),并且也要給該連接分配緩存和變量。這個報文段的確認(rèn)為ACK被設(shè)置為1,序號段被設(shè)置為seq=__+1,確認(rèn)號字段ack=y+1. 該報文段可以攜帶數(shù)據(jù),如果不攜帶數(shù)據(jù)則不消耗序號。理想狀態(tài)下,TCP連接一旦建立,在通信雙方中的任何一方主動關(guān)閉連接之前,TCP 連接都將被一直保持下去。因?yàn)門CP提供全雙工通信,因此雙方任何時候都可以發(fā)送數(shù)據(jù)。
四次揮手
第一次揮手:客戶機(jī)打算關(guān)閉連接,就向其TCP發(fā)送一個連接釋放報文,并停止再發(fā)送數(shù)據(jù),主動關(guān)閉TCP連接。該報文段的FIN標(biāo)志位被設(shè)置為1,seq=u,它等于前面已經(jīng)發(fā)送過的數(shù)據(jù)的最后一個字節(jié)的序號加1。
第二次揮手:服務(wù)器收到連接釋放報文段后即發(fā)出確認(rèn),確認(rèn)號是ack=u+1,序號為v,等于它前面已經(jīng)發(fā)送過的數(shù)據(jù)的最后一個字節(jié)序號加1.此時客戶機(jī)到服務(wù)器這個方向的連接就釋放了,TCP處于半關(guān)閉狀態(tài)。ACK=1,seq=v,ack=u+1
第三次揮手:若服務(wù)器已經(jīng)沒有要向客戶機(jī)發(fā)送的數(shù)據(jù),就通知TCP釋放連接,此時發(fā)出FIN=1,確認(rèn)號ack= u+1,序號seq =w,已經(jīng)發(fā)送過的數(shù)據(jù)最后一個字節(jié)加1。確認(rèn)為ACK=1. (FIN = 1, ACK=1,seq = w, ack =u+1)
第四次揮手:客戶機(jī)收到連接釋放報文段后,必須發(fā)出確認(rèn)。在確認(rèn)報文段中,確認(rèn)位ACK=1,序號seq=u+1,確認(rèn)號ack=w+1. 此時連接還沒有釋放掉,必須經(jīng)過實(shí)踐等待計時器設(shè)置的時間2MSL(Ma__ Segment Lifetime),后,客戶機(jī)才進(jìn)入連接關(guān)閉狀態(tài)。(ACK=1,seq=u+1,ack=w+1)
為什么會采用三次握手,若采用二次握手可以嗎?
采用三次握手是為了防止失效的連接請求報文段再次傳到服務(wù)器,因而產(chǎn)生錯誤。如果由于網(wǎng)絡(luò)不穩(wěn)定,雖然客戶端以前發(fā)送的連接請求以到達(dá)服務(wù)方,但服務(wù)方的同意連接的應(yīng)答未能到達(dá)客戶端。則客戶方要重新發(fā)送連接請求,若采用二次握手,服務(wù)方收到客服端重傳的請求連接后,會以為是新的請求,就會發(fā)送同意連接報文,并新開進(jìn)程提供服務(wù),這樣會造成服務(wù)方資源的無謂浪費(fèi)。
如果只采用一次的話,客戶端不知道服務(wù)端是否已經(jīng)收到自己發(fā)送的數(shù)據(jù),則會不斷地發(fā)送數(shù)據(jù)。為了保證服務(wù)端能收接受到客戶端的信息并能做出正確的應(yīng)答而進(jìn)行前兩次(第一次和第二次)握手,為了保證客戶端能夠接收到服務(wù)端的信息并能做出正確的應(yīng)答而進(jìn)行后兩次(第二次和第三次)握手
為什么斷開連接要四次?
因?yàn)門CP連接是全雙工的網(wǎng)絡(luò)協(xié)議,允許同時通信的雙方同時進(jìn)行數(shù)據(jù)的收發(fā),同樣也允許收發(fā)兩個方向的連接被獨(dú)立關(guān)閉,以避免client數(shù)據(jù)發(fā)送完畢,向server發(fā)送FIN關(guān)閉連接,而server還有發(fā)送到client的數(shù)據(jù)沒有發(fā)送完畢的情況。所以關(guān)閉TCP連接需要進(jìn)行四次握手,每次關(guān)閉一個方向上的連接需要FIN和ACK兩次握手。
TCP擁塞控制
為了更好對TCP進(jìn)行擁塞控制,因特網(wǎng)建議標(biāo)準(zhǔn)定義了以下四種算法:慢開始,擁塞避免,快重傳,快恢復(fù)。
首先在TCP要求發(fā)送端維護(hù)兩個窗口:
1) 接收窗口rwnd,接收方根據(jù)當(dāng)前緩存大小鎖許諾的最新窗口值。
2) 擁塞窗口cwnd ,發(fā)送方根據(jù)自己估算的網(wǎng)絡(luò)擁塞程度而設(shè)置的窗口值。發(fā)送窗口的上限是取這兩者的最小值。點(diǎn)擊>>工程資料免費(fèi)下載
慢開始:TCP剛連接好時,先令擁塞窗口cwnd =1 ,在每次收到一個對新報文段的確認(rèn)時將cwnd加倍. Cwnd的大小呈指數(shù)增長。
擁塞避免算法:當(dāng)cwnd大于等于慢開始門限ssthresh時,cwnd窗口每次加1而不是加倍。當(dāng)發(fā)送方檢測到超時事件的發(fā)生時,就將慢開始門限設(shè)置為當(dāng)前cwnd的一半,同時將cwnd設(shè)置為1. 這樣的目的是迅速減少主機(jī)發(fā)送到網(wǎng)絡(luò)的分組數(shù),使得發(fā)生擁塞的路由器有足夠的時間吧隊列中積壓的分組處理完畢。
快重傳:當(dāng)發(fā)送方連續(xù)收到三個重復(fù)的ACK報文時,直接重傳對方尚未收到的報文段,而不必等待那個報文段設(shè)置的重傳計時器超時。
快恢復(fù):當(dāng)發(fā)送端收到連續(xù)三個冗余的ACK時,就執(zhí)行“乘法減小”算法,把慢開始門限ssthresh減半,cwnd設(shè)置為慢開始門限減半后的數(shù)值(與慢開始不同)。
簡述DNS進(jìn)行域名解析的過程
首先,客戶端發(fā)出DNS請求翻譯IP地址或主機(jī)名。DNS服務(wù)器在收到客戶機(jī)的請求后:
(1)檢查DNS服務(wù)器的緩存,若查到請求的地址或名字,即向客戶機(jī)發(fā)出應(yīng)答信息;
(2)若沒有查到,則在數(shù)據(jù)庫中查找,若查到請求的地址或名字,即向客戶機(jī)發(fā)出應(yīng)答信息;
(3)若沒有查到,則將請求發(fā)給根域DNS服務(wù)器,并依序從根域查找頂級域,由頂級查找二級域,二級域查找三級,直至找到要解析的地址或名字,即向客戶機(jī)所在網(wǎng)絡(luò)的DNS服務(wù)器發(fā)出應(yīng)答信息,DNS服務(wù)器收到應(yīng)答后現(xiàn)在緩存中存儲,然后,將解析結(jié)果發(fā)給客戶機(jī)。
(4)若沒有找到,則返回錯誤信息。
當(dāng)然它有遞歸查詢與迭代查詢兩種方式,但是大概流程和我剛剛講的一樣
簡單解釋一些ARP地址解析協(xié)議的工作過程
廣播發(fā)送ARP請求,單播發(fā)送ARP響應(yīng)。
1:首先,每個主機(jī)都會在自己的ARP緩沖區(qū)中建立一個ARP列表,以表示IP地址和MAC地址之間的對應(yīng)關(guān)系。
2:當(dāng)源主機(jī)要發(fā)送數(shù)據(jù)時,首先檢查ARP列表中是否有對應(yīng)IP地址的目的主機(jī)的MAC地址,如果有,則直接發(fā)送數(shù)據(jù),如果沒有,就向本網(wǎng)段的所有主機(jī)發(fā)送ARP數(shù)據(jù)包,該數(shù)據(jù)包包括的內(nèi)容有:源主機(jī) IP地址,源主機(jī)MAC地址,目的主機(jī)的IP 地址。
3:當(dāng)本網(wǎng)絡(luò)的所有主機(jī)收到該ARP數(shù)據(jù)包時,首先檢查數(shù)據(jù)包中的IP地址是否是自己的IP地址,如果不是,則忽略該數(shù)據(jù)包,如果是,則首先從數(shù)據(jù)包中取出源主機(jī)的IP和MAC地址寫入到ARP列表中,如果已經(jīng)存在,則覆蓋,然后將自己的MAC地址寫入ARP響應(yīng)包中,告訴源主機(jī)自己是它想要找的MAC地址。
4:源主機(jī)收到ARP響應(yīng)包后。將目的主機(jī)的IP和MAC地址寫入ARP列表,并利用此信息發(fā)送數(shù)據(jù)。如果源主機(jī)一直沒有收到ARP響應(yīng)數(shù)據(jù)包,表示ARP查詢失敗。
一次完整的HTTP請求過程
域名解析 --> 發(fā)起TCP的3次握手 --> 建立TCP連接后發(fā)起http請求 --> 服務(wù)器響應(yīng)http請求,瀏覽器得到html代碼 --> 瀏覽器解析html代碼,并請求html代碼中的資源(如js、css、圖片等) --> 瀏覽器對頁面進(jìn)行渲染呈現(xiàn)給用戶
說明一下從http協(xié)議發(fā)送的客戶端請求到達(dá)服務(wù)器端的整個傳輸過程。
1、客戶端瀏覽器通過DNS解析到www.baidu.com的IP地址220.181.27.48,通過這個IP地址找到客戶端到服務(wù)器的路徑??蛻舳藶g覽器發(fā)起一個HTTP會話到220.161.27.48,然后通過TCP進(jìn)行封裝數(shù)據(jù)包,輸入到網(wǎng)絡(luò)層。
2、在客戶端的傳輸層,把HTTP會話請求分成報文段,添加源和目的端口,如服務(wù)器使用80端口監(jiān)聽客戶端的請求,客戶端由系統(tǒng)隨機(jī)選擇一個端口如5000,與服務(wù)器進(jìn)行交換,服務(wù)器把相應(yīng)的請求返回給客戶端的5000端口。然后使用IP層的IP地址查找目的端。
3、客戶端的網(wǎng)絡(luò)層不用關(guān)心應(yīng)用層或者傳輸層的東西,主要做的是通過查找路由表確定如何到達(dá)服務(wù)器,期間可能經(jīng)過多個路由器。
4、客戶端的鏈路層,包通過鏈路層發(fā)送到路由器,通過鄰居協(xié)議查找給定IP地址的MAC地址,然后發(fā)送ARP請求查找目的地址,如果得到回應(yīng)后就可以使用ARP的請求應(yīng)答交換的IP數(shù)據(jù)包現(xiàn)在就可以傳輸了,然后發(fā)送IP數(shù)據(jù)包到達(dá)服務(wù)器的地址。
如何編寫socket套接字
服務(wù)器端程序的編寫步驟:
第一步:調(diào)用socket()函數(shù)創(chuàng)建一個用于通信的套接字。
第二步:給已經(jīng)創(chuàng)建的套接字綁定一個端口號,這一般通過設(shè)置網(wǎng)絡(luò)套接口地址和調(diào)用bind()函數(shù)來實(shí)現(xiàn)。
第三步:調(diào)用listen()函數(shù)使套接字成為一個監(jiān)聽套接字。
第四步:調(diào)用accept()函數(shù)來接受客戶端的連接,這是就可以和客戶端通信了。
第五步:處理客戶端的連接請求。
第六步:終止連接。
客戶端程序編寫步驟:
第一步:調(diào)用socket()函數(shù)創(chuàng)建一個用于通信的套接字。
第二步:通過設(shè)置套接字地址結(jié)構(gòu),說明客戶端與之通信的服務(wù)器的IP地址和端口號。
第三步:調(diào)用connect()函數(shù)來建立與服務(wù)器的連接。
第四步:調(diào)用讀寫函數(shù)發(fā)送或者接收數(shù)據(jù)。
第五步:終止連接。
路由器工作原理——網(wǎng)絡(luò)層
路由器是一種三層設(shè)備,是使用IP地址尋址:
路由器接收到數(shù)據(jù)包,提取目標(biāo)IP地址及子網(wǎng)掩碼計算目標(biāo)網(wǎng)絡(luò)地址;
根據(jù)目標(biāo)網(wǎng)絡(luò)地址查找路由表,如果找到目標(biāo)網(wǎng)絡(luò)地址就按照相應(yīng)的出口發(fā)送到下一個路由器;
如果沒有找到,就看一下有沒有默認(rèn)路由,如果有就按照默認(rèn)路由的出口發(fā)送給下一個路由器;
如果沒有找到就給源IP發(fā)送一個出錯ICMP數(shù)據(jù)包表明沒法傳遞該數(shù)據(jù)包;
如果是直連路由就按照第二層MAC地址發(fā)送給目標(biāo)站點(diǎn)。
請問交換機(jī)的實(shí)現(xiàn)原理是什么——數(shù)據(jù)鏈路層
1.交換機(jī)根據(jù)收到數(shù)據(jù)幀中的源MAC地址建立該地址同交換機(jī)端口的映射,并將其寫入MAC地址表中。
2.交換機(jī)將數(shù)據(jù)幀中的目的MAC地址同已建立的MAC地址表進(jìn)行比較,以決定由哪個端口進(jìn)行轉(zhuǎn)發(fā)。
3.如數(shù)據(jù)幀中的目的MAC地址不在MAC地址表中,則向所有端口轉(zhuǎn)發(fā)。這一過程稱為泛洪(flood)。
4.廣播幀和組播幀向所有的端口轉(zhuǎn)發(fā)。
路由器和交換機(jī)區(qū)別
(1)外形上:
交換機(jī)通常端口比較多,而路由器的端口比較少
(2)工作層次不同:
交換機(jī)一般工作在數(shù)據(jù)鏈路層,而路由器則工作在網(wǎng)絡(luò)層
(3)數(shù)據(jù)的轉(zhuǎn)發(fā)對象不同:
交換機(jī)是根據(jù)MAC地址轉(zhuǎn)發(fā)數(shù)據(jù)幀,而路由器則是根據(jù)IP地址來轉(zhuǎn)發(fā)IP數(shù)據(jù)報/分組。
(4)”分工“不同
交換機(jī)主要是用于組建局域網(wǎng),而路由器則是負(fù)責(zé)讓主機(jī)連接外網(wǎng)。
(5)沖突域和廣播域
交換機(jī)分割沖突域,但是不分割廣播域,而路由器分割廣播域。
讓你電腦知識倍增的十個小技巧
1、離開電腦時應(yīng)該這樣做:Windows鍵+L鍵
工作也有隱私,如果你離開座位時,按下Windows鍵+L鍵自動鎖住屏幕。這樣你在跟別人聊天或其它隱私信息就不會別其他人看到了。
2、快速切換打開的諸多窗口:Alt+Tab\Windows鍵+Tab
方法一:Alt+Tab可以切換最近操作的兩個窗口;
方法二:Windows鍵+Tab 可以將所有窗口都放在桌面,然后一個一個切換。如果你想炫酷點(diǎn),按Windows鍵+Tab實(shí)現(xiàn)3D切換效果吧(適用于Win7和Win10)如下圖。
3、快速打開“我的電腦”(計算機(jī)或資源管理器):Windows鍵+E鍵
我們可以直接按下Windows鍵+E鍵,直接秒開電腦的資源管理器。
4、一秒切回到桌面:Windows鍵+D鍵
當(dāng)我們在電腦上瀏覽一些比較隱私的信息時突然有人走過來,這時我們可以使用Windows鍵+D鍵快速切換到桌面。
5、快速關(guān)閉所有頁面:Alt+F4\Ctrl+W
Ctrl+W或Alt+F4 該方法尤其適用于那些喜歡看“小電影”的用戶,當(dāng)有人過來時,直接用Ctrl+W或Alt+F4即可以關(guān)閉當(dāng)下頁面。
6、如何恢復(fù)誤刪的文字:Ctrl+Z
Ctrl+Z 辛辛苦苦寫的文案不小心刪除掉了?這時可以使用Ctrl+Z恢復(fù)誤刪文字,該方法同樣適用于被誤刪的文件。
7、如何恢復(fù)剛關(guān)閉的網(wǎng)頁:Ctrl+Shift+T
Ctrl+Shift+T 當(dāng)你在關(guān)鍵時刻關(guān)閉當(dāng)前網(wǎng)頁后想恢復(fù)怎么破?So easy,按下Ctrl+Shift+T即可快速恢復(fù)。
8、圖片文字無限放大技巧:Windows和++++++
Windows鍵和++++++ 嫌圖片和字體太小看不清楚?試試Windows鍵和++++++,想放多大就多大。同理,當(dāng)你要縮小時則按Windows鍵和- - - -鍵。
9、電腦外接投影儀顯示器:Windows鍵+P
Windows鍵+P,外接投影儀直接按下這個鍵直接選擇你想要的效果。
10、屏幕錄像:Windows鍵+R
也許很多網(wǎng)友不知道,windows系統(tǒng)有自帶的屏幕錄像功能,按下Windows鍵+R然后輸入psr.e__e回車即可啟動錄像功能啦。
windows其他快捷鍵:
Windows鍵+B 選中桌面右下方工具欄
Windows鍵+D 顯示桌面
Windows鍵+F 打開“查找:所有文件”對話框
Windows鍵+M最小化所有窗口
Windows鍵+R打開“運(yùn)行”對話框
Windows鍵+U打開輔助工具管理器
Windows鍵+BREAK打開“系統(tǒng)屬性”對話框
Windows鍵+CTRL+F 搜索計算機(jī)
Windows鍵+ Pause 顯示“系統(tǒng)屬性”對話框
Windows鍵 + T 循環(huán)切換任務(wù)欄上的程序
Windows鍵+ 數(shù)字 啟動鎖定到任務(wù)欄中的由該數(shù)字所表示位置處的程序。
Shift + Windows鍵 + 數(shù)字 啟動鎖定到任務(wù)欄中的由該數(shù)字所表示位置處的程序的新實(shí)例
Windows鍵 + 空格鍵 預(yù)覽桌面
Windows鍵+ 向右鍵將窗口最大化到屏幕的右側(cè)
Windows鍵+ 向下鍵最小化窗口
Windows鍵+ Home 最小化除活動窗口之外的所有窗口
計算機(jī)入門基礎(chǔ)必備知識大全相關(guān)文章: