計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)篇


引言

先來講講我自身的感受,偶然看到知乎上一位剛?cè)雽W(xué)的學(xué)生問如何學(xué)習(xí)計(jì)算機(jī)網(wǎng)絡(luò)這門課番川,我畢業(yè)多年邑狸,依稀還能記得這門課確實(shí)挺枯燥懈糯,因?yàn)闆]有什么實(shí)踐,都停留在理論階段单雾,茲認(rèn)為一旦實(shí)踐赚哗,就是網(wǎng)絡(luò)安全的實(shí)驗(yàn)課了。

對于一個軟件開發(fā)者而言硅堆,接觸的最頻繁的莫過于網(wǎng)絡(luò)請求屿储,停留在代碼階段。當(dāng)產(chǎn)品交付時(shí)渐逃,移交給運(yùn)維人員够掠,產(chǎn)品即刻由于寫代碼的疏忽,各種漏洞被人攻擊茄菊,樹大就招風(fēng)疯潭。

網(wǎng)絡(luò)安全是個學(xué)科赊堪,網(wǎng)絡(luò)的基礎(chǔ)也多而復(fù)雜,慢慢竖哩,慢慢靠近并揭開它無趣的面紗哭廉。

一、OSI七層協(xié)議模型相叁、TCP/IP四層模型學(xué)習(xí)筆記

1. OSI七層和TCP/IP四層的關(guān)系

開放系統(tǒng)互連參考模型 (Open System Interconnect 簡稱OSI)

OSI七層模型圖云盤鏈接 密碼:1fm4

1.1 OSI引入了服務(wù)遵绰、接口、協(xié)議增淹、分層的概念椿访,TCP/IP借鑒了OSI的這些概念建立TCP/IP模型。

1.2 OSI先有模型虑润,后有協(xié)議成玫,先有標(biāo)準(zhǔn),后進(jìn)行實(shí)踐端辱;而TCP/IP則相反梁剔,先有協(xié)議和應(yīng)用再提出了模型,且是參照的OSI模型舞蔽。

1.3 OSI是一種理論下的模型荣病,而TCP/IP已被廣泛使用,成為網(wǎng)絡(luò)互聯(lián)事實(shí)上的標(biāo)準(zhǔn)渗柿。

TCP:transmission control protocol 傳輸控制協(xié)議

UDP:user data protocol 用戶數(shù)據(jù)報(bào)協(xié)議

OSI七層網(wǎng)絡(luò)模型 TCP/IP四層概念模型 對應(yīng)網(wǎng)絡(luò)協(xié)議
應(yīng)用層(Application) 應(yīng)用層 HTTP个盆、TFTP,、FTP朵栖、 NFS颊亮、 WAIS、SMTP
表示層(Presentation) 應(yīng)用層 Telnet陨溅、 Rlogin终惑、 SNMP、Gopher
會話層(Session) 應(yīng)用層 SMTP门扇、 DNS
傳輸層(Transport) 傳輸層 TCP雹有、UDP
網(wǎng)絡(luò)層(Network) 網(wǎng)絡(luò)層 IP, ICMP, ARP, RARP, AKP, UUCP
數(shù)據(jù)鏈路層(Data Link) 數(shù)據(jù)鏈路層 FDDI, Ethernet, Arpanet, PDN, SLIP, PPP
物理層(Physical) 數(shù)據(jù)鏈路層 IEEE 802.1A, IEEE 802.2到IEEE 802.11

2. OSI七層協(xié)議模型

七層結(jié)構(gòu)記憶方法:應(yīng)、表臼寄、會霸奕、傳、網(wǎng)吉拳、數(shù)质帅、物

應(yīng)用層協(xié)議需要掌握的是:HTTP(Hyper text transfer protocol)、FTP(file transfer protocol)、SMTP(simple mail transfer protocol)煤惩、POP3(post office protocol 3)嫉嘀、IMAP4(Internet mail access protocol)

3. TCP/IP四層模型

3.1 應(yīng)用層:對應(yīng)OSI中的應(yīng)用層、表示層盟庞、會話層

3.2 物理鏈路層:對應(yīng)OSI中的數(shù)據(jù)鏈路層吃沪、物理層(也有叫網(wǎng)絡(luò)接口層)

3.3 數(shù)據(jù)包說明:

IP層傳輸單位是IP分組汤善,屬于點(diǎn)到點(diǎn)的傳輸什猖;TCP層傳輸單位是TCP段,屬于端到端的傳輸

二红淡、OSI參考模型

OSI(Open System Interconnection不狮,開放系統(tǒng)互連)七層網(wǎng)絡(luò)模型稱為開放式系統(tǒng)互聯(lián)參考模型 ,是一個邏輯上的定義在旱,一個規(guī)范摇零,它把網(wǎng)絡(luò)從邏輯上分為了7層。每一層都有相關(guān)桶蝎、相對應(yīng)的物理設(shè)備驻仅,比如路由器,交換機(jī)登渣。OSI 七層模型是一種框架性的設(shè)計(jì)方法 噪服,建立七層模型的主要目的是為解決異種網(wǎng)絡(luò)互連時(shí)所遇到的兼容性問題,其最主要的功能就是幫助不同類型的主機(jī)實(shí)現(xiàn)數(shù)據(jù)傳輸胜茧。它的最大優(yōu)點(diǎn)是將服務(wù)粘优、接口協(xié)議這三個概念明確地區(qū)分開來,通過七個層次化的結(jié)構(gòu)模型使不同的系統(tǒng)不同的網(wǎng)絡(luò)之間實(shí)現(xiàn)可靠的通訊呻顽。

1.物理層(Physical Layer)

物理層定義了所有電子及物理設(shè)備的規(guī)范雹顺。其中特別定義了設(shè)備與物理媒介之間的關(guān)系,這包括了針腳廊遍、電壓嬉愧、線纜規(guī)范、集線器喉前、中繼器没酣、網(wǎng)卡、主機(jī)適配器(在SAN中使用的主機(jī)適配器)以及其他的設(shè)備的設(shè)計(jì)定義被饿。因?yàn)槲锢韺觽魉偷氖窃嫉谋忍財(cái)?shù)據(jù)流四康,即設(shè)計(jì)的目的是為了保證當(dāng)發(fā)送時(shí)的信號為二進(jìn)制“1”時(shí),對方接收到的也是二進(jìn)制“1”而不是二進(jìn)制“0”狭握。因而就需要定義哪個設(shè)備有幾個針腳闪金,其中哪個針腳發(fā)送的多少電壓代表二進(jìn)制“1”或二進(jìn)制“0”,還有例如一個bit需要持續(xù)幾微秒,傳輸信號是否在雙向上同時(shí)進(jìn)行哎垦,最初的連接如何創(chuàng)建和最終如何終止等問題囱嫩。

為了更好理解物理層與數(shù)據(jù)鏈路層之間的區(qū)別,可以把物理層認(rèn)為最主要的漏设,是與某個單一設(shè)備傳輸媒介之間的交互有關(guān)墨闲,而數(shù)據(jù)鏈路層則更多地關(guān)注使用同一個通訊媒介的多個設(shè)備(例如,至少兩個設(shè)備)之間的互動郑口。物理層的作用是告訴某個設(shè)備如何傳送信號至一個通訊媒介鸳碧,以及另外一個設(shè)備如何接收這個信號(大多數(shù)情況下它并不會告訴設(shè)備如何與通訊媒介相連接)。有些過時(shí)的物理層標(biāo)準(zhǔn)如RS-232倒是的確使用物理線纜來控制通訊媒介的接入犬性。

物理層的主要功能和提供的服務(wù)如下:

在設(shè)備與傳輸媒介之間創(chuàng)建及終止連接瞻离。
參與通訊過程使得資源可以在共享的多用戶中有效分配。例如乒裆,沖突解決機(jī)制和流量控制套利。
對信號進(jìn)行調(diào)制轉(zhuǎn)換使得用戶設(shè)備中的數(shù)字信號定義能與信道上實(shí)際傳送的數(shù)字信號相匹配。這些信號可以經(jīng)由物理線纜(例如銅纜和光纜)或是無線信道傳送鹤耍。

2.數(shù)據(jù)鏈路層(Datalink Layer)

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

在計(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í)行差錯校驗(yàn)愤兵、流量控制和鏈路控制鹿霸。

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

3.網(wǎng)絡(luò)層(Network Layer)

網(wǎng)絡(luò)層(Network Layer)是OSI模型的第三層珊肃,它是OSI參考模型中最復(fù)雜的一層,也是通信子網(wǎng)的最高一層馅笙。它在下兩層的基礎(chǔ)上向資源子網(wǎng)提供服務(wù)伦乔。其主要任務(wù)是:通過路由選擇算法,為報(bào)文或分組通過通信子網(wǎng)選擇最適當(dāng)?shù)穆窂窖有贰T搶涌刂茢?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é)點(diǎn)之間的通信散址,而網(wǎng)絡(luò)層主要解決不同子網(wǎng)間的通信.例如在廣域網(wǎng)之間通信時(shí),必然會遇到路由(即兩節(jié)點(diǎn)間可能有多條路徑)選擇問題宣赔。

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

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

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

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

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

4.傳輸層(Transport Layer)

OSI模型中最重要的一層。傳輸協(xié)議同時(shí)進(jìn)行流量控制或是基于接收方可接收數(shù)據(jù)的快慢程度規(guī)定適當(dāng)?shù)陌l(fā)送速率遗菠。除此之外联喘,傳輸層按照網(wǎng)絡(luò)能處理的最大尺寸將較長的數(shù)據(jù)包進(jìn)行強(qiáng)制分割。例如辙纬,以太網(wǎng)無法接收大于1500字節(jié)的數(shù)據(jù)包豁遭。發(fā)送方節(jié)點(diǎn)的傳輸層將數(shù)據(jù)分割成較小的數(shù)據(jù)片,同時(shí)對每一數(shù)據(jù)片安排一序列號贺拣,以便數(shù)據(jù)到達(dá)接收方節(jié)點(diǎn)的傳輸層時(shí)蓖谢,能以正確的順序重組。該過程即被稱為排序譬涡。工作在傳輸層的一種服務(wù)是 T C P / I P 協(xié)議套中的T C P (傳輸控制協(xié)議)闪幽,另一項(xiàng)傳輸層服務(wù)是I P X / S P X 協(xié)議集的S P X (序列包交換)。

5.會話層(Session Layer)

負(fù)責(zé)在網(wǎng)絡(luò)中的兩節(jié)點(diǎn)之間建立涡匀、維持和終止通信盯腌。 會話層的功能包括:建立通信鏈接,保持會話過程通信鏈接的暢通陨瘩,同步兩個節(jié)點(diǎn)之間的對話腕够,決定通信是否被中斷以及通信中斷時(shí)決定從何處重新發(fā)送。

你可能常常聽到有人把會話層稱作網(wǎng)絡(luò)通信的“交通警察”舌劳。當(dāng)通過撥號向你的 ISP(因特網(wǎng)服務(wù)提供商)請求連接到因特網(wǎng)時(shí)帚湘,ISP 服務(wù)器上的會話層向你與你的 PC 客戶機(jī)上的會話層進(jìn)行協(xié)商連接。若你的電話線偶然從墻上插孔脫落時(shí)蒿囤,你終端機(jī)上的會話層將檢測到連接中斷并重新發(fā)起連接客们。會話層通過決定節(jié)點(diǎn)通信的優(yōu)先級和通信時(shí)間的長短來設(shè)置通信期限

6.表示層(Presentation Layer)

應(yīng)用程序和網(wǎng)絡(luò)之間的翻譯官,在表示層材诽,數(shù)據(jù)將按照網(wǎng)絡(luò)能理解的方案進(jìn)行格式化底挫;這種格式化也因所使用網(wǎng)絡(luò)的類型不同而不同僻孝。表示層管理數(shù)據(jù)的解密與加密璧坟,如系統(tǒng)口令的處理柳沙。例如:在 Internet上查詢你銀行賬戶暖侨,使用的即是一種安全連接型诚。你的賬戶數(shù)據(jù)在發(fā)送前被加密威根,在網(wǎng)絡(luò)的另一端徘六,表示層將對接收到的數(shù)據(jù)解密锄贼。除此之外,表示層協(xié)議還對圖片和文件格式信息進(jìn)行解碼和編碼注簿。

7.應(yīng)用層(Application Layer)

應(yīng)用層(Application Layer)是OSI參考模型的最高層契吉,它是計(jì)算機(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)之間在功能勾邦、界面蚣录、實(shí)現(xiàn)技術(shù)、對硬件的支持眷篇、安全可靠性以及具有的各種應(yīng)用程序接口等各個方面的差異是很大的萎河。

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

三昧港、TCP/IP的5層模型

相比于OSI的七層模型擎椰,更常用的是TCP/IP的5層模型。TCP/IP的5層模型是將ISO的七層模型的應(yīng)用層创肥、表示層达舒、會話層合并為應(yīng)用層值朋,得到如下圖所示的五層模型:

TCP/IP通信的三次握手、四次揮手

三次握手:

第一次握手:客戶端發(fā)送syn包(syn=x)到服務(wù)器巩搏,并進(jìn)入SYN_SEND狀態(tài)昨登,等待服務(wù)器確認(rèn);

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

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

握手過程中傳送的包里不包含數(shù)據(jù)淘正,三次握手完畢后,客戶端與服務(wù)器才正式開始傳送數(shù)據(jù)臼闻。理想狀態(tài)下鸿吆,TCP連接一旦建立,在通信雙方中的任何一方主動關(guān)閉連接之前述呐,TCP 連接都將被一直保持下去惩淳。

四次揮手

第一次揮手:主動關(guān)閉方發(fā)送一個FIN,用來關(guān)閉主動方到被動關(guān)閉方的數(shù)據(jù)傳送乓搬,也就是主動關(guān)閉方告訴被動關(guān)閉方:我已經(jīng)不會再給你發(fā)數(shù)據(jù)了(當(dāng)然思犁,在fin包之前發(fā)送出去的數(shù)據(jù),如果沒有收到對應(yīng)的ack確認(rèn)報(bào)文进肯,主動關(guān)閉方依然會重發(fā)這些數(shù)據(jù))激蹲,但是,此時(shí)主動關(guān)閉方還可以接受數(shù)據(jù)江掩。

第二次揮手:被動關(guān)閉方收到FIN包后学辱,發(fā)送一個ACK給對方,確認(rèn)序號為收到序號+1(與SYN相同环形,一個FIN占用一個序號)策泣。

第三次揮手:被動關(guān)閉方發(fā)送一個FIN,用來關(guān)閉被動關(guān)閉方到主動關(guān)閉方的數(shù)據(jù)傳送斟赚,也就是告訴主動關(guān)閉方着降,我的數(shù)據(jù)也發(fā)送完了,不會再給你發(fā)數(shù)據(jù)了拗军。

第四次揮手:主動關(guān)閉方收到FIN后任洞,發(fā)送一個ACK給被動關(guān)閉方蓄喇,確認(rèn)序號為收到序號+1,至此交掏,完成四次揮手妆偏。

四、了解交換機(jī)盅弛、路由器钱骂、網(wǎng)關(guān)的概念,并知道各自的用途

1.交換機(jī)

在計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)中挪鹏,交換機(jī)是針對共享工作模式的弱點(diǎn)而推出的见秽。交換機(jī)擁有一條高帶寬的背部總線和內(nèi)部交換矩陣。交換機(jī)的所有的端口都掛接在這條背部總線上讨盒,當(dāng)控制電路收到數(shù)據(jù)包以后解取,處理端口會查找內(nèi)存中的地址對照表以確定目的MAC(網(wǎng)卡的硬件地址)的NIC(網(wǎng)卡)掛接在哪個端口上,通過內(nèi)部交換矩陣迅速將數(shù)據(jù)包傳送到目的端口返顺。目的MAC若不存在禀苦,交換機(jī)才廣播到所有的端口,接收端口回應(yīng)后交換機(jī)會“學(xué)習(xí)”新的地址遂鹊,并把它添加入內(nèi)部地址表中振乏。

交換機(jī)工作于OSI參考模型的第二層,即數(shù)據(jù)鏈路層秉扑。交換機(jī)內(nèi)部的CPU會在每個端口成功連接時(shí)慧邮,通過ARP協(xié)議學(xué)習(xí)它的MAC地址,保存成一張ARP表舟陆。在今后的通訊中赋咽,發(fā)往該MAC地址的數(shù)據(jù)包將僅送往其對應(yīng)的端口,而不是所有的端口吨娜。因此,交換機(jī)可用于劃分?jǐn)?shù)據(jù)鏈路層廣播淘钟,即沖突域宦赠;但它不能劃分網(wǎng)絡(luò)層廣播,即廣播域米母。

交換機(jī)被廣泛應(yīng)用于二層網(wǎng)絡(luò)交換勾扭,俗稱“二層交換機(jī)”。

交換機(jī)的種類有:二層交換機(jī)铁瞒、三層交換機(jī)妙色、四層交換機(jī)、七層交換機(jī)分別工作在OSI七層模型中的第二層慧耍、第三層身辨、第四層和第七層丐谋,并因此而得名。

2.路由器

路由器(Router)是一種計(jì)算機(jī)網(wǎng)絡(luò)設(shè)備煌珊,提供了路由與轉(zhuǎn)送兩種重要機(jī)制号俐,可以決定數(shù)據(jù)包從來源端到目的端所經(jīng)過的路由路徑(host到host之間的傳輸路徑),這個過程稱為路由定庵;將路由器輸入端的數(shù)據(jù)包移送至適當(dāng)?shù)穆酚善鬏敵龆?在路由器內(nèi)部進(jìn)行)吏饿,這稱為轉(zhuǎn)送。路由工作在OSI模型的第三層——即網(wǎng)絡(luò)層蔬浙,例如網(wǎng)際協(xié)議猪落。

路由器的一個作用是連通不同的網(wǎng)絡(luò),另一個作用是選擇信息傳送的線路畴博。 路由器與交換機(jī)的差別笨忌,路由器是屬于OSI第三層的產(chǎn)品,交換機(jī)是OSI第二層的產(chǎn)品(這里特指二層交換機(jī))绎晃。

3.網(wǎng)關(guān)

網(wǎng)關(guān)(Gateway)蜜唾,網(wǎng)關(guān)顧名思義就是連接兩個網(wǎng)絡(luò)的設(shè)備,區(qū)別于路由器(由于歷史的原因庶艾,許多有關(guān)TCP/IP的文獻(xiàn)曾經(jīng)把網(wǎng)絡(luò)層使用的路由器(Router)稱為網(wǎng)關(guān)袁余,在今天很多局域網(wǎng)采用都是路由來接入網(wǎng)絡(luò),因此現(xiàn)在通常指的網(wǎng)關(guān)就是路由器的IP)咱揍,經(jīng)常在家庭中或者小型企業(yè)網(wǎng)絡(luò)中使用颖榜,用于連接局域網(wǎng)和Internet。 網(wǎng)關(guān)也經(jīng)常指把一種協(xié)議轉(zhuǎn)成另一種協(xié)議的設(shè)備煤裙,比如語音網(wǎng)關(guān)掩完。

在傳統(tǒng)TCP/IP術(shù)語中,網(wǎng)絡(luò)設(shè)備只分成兩種硼砰,一種為網(wǎng)關(guān)(gateway)且蓬,另一種為主機(jī)(host)。網(wǎng)關(guān)能在網(wǎng)絡(luò)間轉(zhuǎn)遞數(shù)據(jù)包题翰,但主機(jī)不能轉(zhuǎn)送數(shù)據(jù)包恶阴。在主機(jī)(又稱終端系統(tǒng),end system)中豹障,數(shù)據(jù)包需經(jīng)過TCP/IP四層協(xié)議處理冯事,但是在網(wǎng)關(guān)(又稱中介系統(tǒng),intermediate system)只需要到達(dá)網(wǎng)際層(Internet layer)血公,決定路徑之后就可以轉(zhuǎn)送昵仅。在當(dāng)時(shí),網(wǎng)關(guān)(gateway)與路由器(router)還沒有區(qū)別累魔。

在現(xiàn)代網(wǎng)絡(luò)術(shù)語中摔笤,網(wǎng)關(guān)(gateway)與路由器(router)的定義不同够滑。網(wǎng)關(guān)(gateway)能在不同協(xié)議間移動數(shù)據(jù),而路由器(router)是在不同網(wǎng)絡(luò)間移動數(shù)據(jù)籍茧,相當(dāng)于傳統(tǒng)所說的IP網(wǎng)關(guān)(IP gateway)版述。

網(wǎng)關(guān)是連接兩個網(wǎng)絡(luò)的設(shè)備,對于語音網(wǎng)關(guān)來說寞冯,他可以連接PSTN網(wǎng)絡(luò)和以太網(wǎng)渴析,這就相當(dāng)于VOIP,把不同電話中的模擬信號通過網(wǎng)關(guān)而轉(zhuǎn)換成數(shù)字信號吮龄,而且加入?yún)f(xié)議再去傳輸俭茧。在到了接收端的時(shí)候再通過網(wǎng)關(guān)還原成模擬的電話信號,最后才能在電話機(jī)上聽到漓帚。

對于以太網(wǎng)中的網(wǎng)關(guān)只能轉(zhuǎn)發(fā)三層以上數(shù)據(jù)包母债,這一點(diǎn)和路由是一樣的。而不同的是網(wǎng)關(guān)中并沒有路由表尝抖,他只能按照預(yù)先設(shè)定的不同網(wǎng)段來進(jìn)行轉(zhuǎn)發(fā)毡们。網(wǎng)關(guān)最重要的一點(diǎn)就是端口映射,子網(wǎng)內(nèi)用戶在外網(wǎng)看來只是外網(wǎng)的IP地址對應(yīng)著不同的端口昧辽,這樣看來就會保護(hù)子網(wǎng)內(nèi)的用戶衙熔。

4.初識路由表

路由表(routing table)或稱路由擇域信息庫( Routing Information Base),是一個存儲在路由器或者聯(lián)網(wǎng)計(jì)算機(jī)中的電子表格(文件)或類數(shù)據(jù)庫搅荞。路由表存儲著指向特定網(wǎng)絡(luò)地址的路徑(在有些情況下红氯,還記錄有路徑的路由度量值)。路由表中含有網(wǎng)絡(luò)周邊的拓?fù)湫畔⒐就础B酚杀斫⒌闹饕繕?biāo)是為了實(shí)現(xiàn)路由協(xié)議和靜態(tài)路由選擇痢甘。

路由表使用了和利用地圖投遞包裹相似的思想。只要網(wǎng)絡(luò)上的一個節(jié)點(diǎn)需要發(fā)送數(shù)據(jù)給網(wǎng)絡(luò)上的另一個節(jié)點(diǎn)茉贡,它就必須要知道把數(shù)據(jù)發(fā)送到哪塞栅。設(shè)備不可能直接連接到目的節(jié)點(diǎn),它需要找到另一個方式去發(fā)送數(shù)據(jù)包腔丧。在局域網(wǎng)中构蹬,節(jié)點(diǎn)也不知道如何發(fā)送IP包到網(wǎng)關(guān)。將數(shù)據(jù)包發(fā)到正確的地址是一個復(fù)雜的任務(wù)悔据,網(wǎng)關(guān)需要記錄發(fā)送數(shù)據(jù)包的路徑信息。路由表就存儲著這樣的路徑信息俗壹,就如地圖一樣科汗,是一個記錄路徑信息,并為需要這些信息的節(jié)點(diǎn)提供服務(wù)的數(shù)據(jù)庫绷雏。

如下圖所示為一張路由表:

路由表參數(shù)說明:

  • Destination:目的網(wǎng)段

  • mask:子網(wǎng)掩碼

  • interface:到達(dá)該目的地的本路由器的出口ip

  • gateway:下一跳路由器入口的ip头滔,路由器通過interface和gateway定義一條到下一個路由器的鏈路怖亭,通常情況下,interface和gateway是同一網(wǎng)段的

  • metric:跳數(shù)坤检,該條路由記錄的質(zhì)量兴猩,一般情況下,如果有多條到達(dá)相同目的地的路由記錄早歇,路由器會采用metric值小的那條路由

5.TCP倾芝、UDP和HTTP區(qū)別于聯(lián)系

TCP/IP協(xié)議是一個協(xié)議簇,這個協(xié)議簇中包含了很多種協(xié)議箭跳,TCP晨另、UDP和HTTP只是TCP/IP協(xié)議簇的成員。之所以命名為TCP/IP協(xié)議谱姓,因?yàn)門CP,IP協(xié)議是兩個很重要的協(xié)議借尿,就用他兩命名了。

1)TCP/IP協(xié)議簇屉来,大致可分為三個層次:網(wǎng)絡(luò)層路翻、傳輸層和應(yīng)用層。
在網(wǎng)絡(luò)層有IP協(xié)議茄靠、ICMP協(xié)議茂契、ARP協(xié)議、RARP協(xié)議和BOOTP協(xié)議嘹黔。
在傳輸層中有TCP協(xié)議與UDP協(xié)議账嚎。
在應(yīng)用層有FTP、HTTP儡蔓、TELNET郭蕉、SMTP、DNS等協(xié)議喂江。
HTTP也是一個協(xié)議召锈,是從Web服務(wù)器傳輸超文本到本地瀏覽器的傳送協(xié)議。

2)HTTP協(xié)議是建立在請求/響應(yīng)模型上的获询。首先由客戶建立一條與服務(wù)器的TCP鏈接涨岁,并發(fā)送一個請求到服務(wù)器,請求中包含請求方法吉嚣、URI梢薪、協(xié)議版本以及相關(guān)的MIME樣式的消息。服務(wù)器響應(yīng)一個狀態(tài)行尝哆,包含消息的協(xié)議版本秉撇、一個成功和失敗碼以及相關(guān)的MIME式樣的消息。
HTTP/1.0為每一次HTTP的請求/響應(yīng)建立一條新的TCP鏈接,因此一個包含HTML內(nèi)容和圖片的頁面將需要建立多次的短期的TCP鏈接琐馆。一次TCP鏈接的建立將需要3次握手规阀。
另外,為了獲得適當(dāng)?shù)膫鬏斔俣仁蒴铮瑒t需要TCP花費(fèi)額外的回路鏈接時(shí)間(RTT)谁撼。每一次鏈接的建立需要這種經(jīng)常性的開銷,而其并不帶有實(shí)際有用的數(shù)據(jù)滋饲,只是保證鏈接的可靠性厉碟,因此HTTP/1.1提出了可持續(xù)鏈接的實(shí)現(xiàn)方法。HTTP/1.1將只建立一次TCP的鏈接而重復(fù)地使用它傳輸一系列的請求/響應(yīng)消息了赌,因此減少了鏈接建立的次數(shù)和經(jīng)常性的鏈接開銷墨榄。

3)雖然HTTP本身是一個協(xié)議,但其最終還是基于TCP的勿她。目前袄秩,有人正在研究基于TCP+UDP混合的HTTP協(xié)議。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末逢并,一起剝皮案震驚了整個濱河市之剧,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌砍聊,老刑警劉巖背稼,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異玻蝌,居然都是意外死亡蟹肘,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進(jìn)店門俯树,熙熙樓的掌柜王于貴愁眉苦臉地迎上來帘腹,“玉大人,你說我怎么就攤上這事许饿⊙粲” “怎么了?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵陋率,是天一觀的道長球化。 經(jīng)常有香客問我,道長瓦糟,這世上最難降的妖魔是什么筒愚? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮菩浙,結(jié)果婚禮上锨能,老公的妹妹穿的比我還像新娘扯再。我一直安慰自己,他們只是感情好址遇,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著斋竞,像睡著了一般倔约。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上坝初,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天浸剩,我揣著相機(jī)與錄音,去河邊找鬼鳄袍。 笑死绢要,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的拗小。 我是一名探鬼主播重罪,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼哀九!你這毒婦竟也來了剿配?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤阅束,失蹤者是張志新(化名)和其女友劉穎呼胚,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體息裸,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蝇更,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了呼盆。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片年扩。...
    茶點(diǎn)故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖宿亡,靈堂內(nèi)的尸體忽然破棺而出常遂,到底是詐尸還是另有隱情,我是刑警寧澤挽荠,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布克胳,位于F島的核電站,受9級特大地震影響圈匆,放射性物質(zhì)發(fā)生泄漏漠另。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一跃赚、第九天 我趴在偏房一處隱蔽的房頂上張望笆搓。 院中可真熱鬧性湿,春花似錦、人聲如沸满败。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽算墨。三九已至宵荒,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間净嘀,已是汗流浹背报咳。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留挖藏,地道東北人暑刃。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像膜眠,于是被迫代替她去往敵國和親岩臣。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評論 2 345

推薦閱讀更多精彩內(nèi)容