今天是計(jì)算機(jī)網(wǎng)絡(luò)總結(jié)的最后一節(jié),主要是講OSI七層模型相關(guān)的知識(shí)點(diǎn),還有就是面試過(guò)程中會(huì)遇到的一些問(wèn)題進(jìn)行了匯總,這章內(nèi)容算是計(jì)算機(jī)網(wǎng)絡(luò)的全集了,相信有了這篇文章,大家的復(fù)習(xí)過(guò)程中就一定會(huì)提高效率。
大家都知道在面試過(guò)程中,不管是校招還是社招,計(jì)算機(jī)網(wǎng)絡(luò)肯定是必考項(xiàng),如果準(zhǔn)備的不夠充分,后果可想而知,。能看到這篇文章的,我相信不是學(xué)弟學(xué)妹,就是剛參加工作不久的,一是不知道計(jì)算機(jī)網(wǎng)絡(luò)該從哪兒看起,也不知道哪里是重點(diǎn),二是時(shí)間不允許系統(tǒng)的去復(fù)習(xí)計(jì)算機(jī)網(wǎng)絡(luò),所以我會(huì)將面試中遇到的高頻考點(diǎn)都羅列出來(lái)供大家學(xué)習(xí)。可以點(diǎn)贊收藏,以免著急使用而找不到。希望大家都能在求職過(guò)程中拿到自己滿(mǎn)意的offer!
那就開(kāi)始正文嘍~
TCP/IP 與 OSI 都是為了使網(wǎng)絡(luò)中的兩臺(tái)計(jì)算機(jī)能夠互相連接并實(shí)現(xiàn)通信與回應(yīng),但他們最大的不同在于,OSI 是一個(gè)理論上的網(wǎng)絡(luò)通信模型,而 TCP/IP 則是實(shí)際上的網(wǎng)絡(luò)通信標(biāo)準(zhǔn)。
一、OSI七層模型:
1、物理層
實(shí)現(xiàn)計(jì)算機(jī)節(jié)點(diǎn)之間比特流的透明傳輸,規(guī)定傳輸媒體接口的標(biāo)準(zhǔn),屏蔽掉具體傳輸介質(zhì)和物理設(shè)備的差異,使數(shù)據(jù)鏈路層不必關(guān)心網(wǎng)絡(luò)的具體傳輸介質(zhì),按照物理層規(guī)定的標(biāo)準(zhǔn)傳輸數(shù)據(jù)就行。
2、數(shù)據(jù)鏈路層
通過(guò)差錯(cuò)控制、流量控制等方法,使有差錯(cuò)的物理線路變?yōu)闊o(wú)差錯(cuò)的數(shù)據(jù)鏈路。
數(shù)據(jù)鏈路層的幾個(gè)基本方法:數(shù)據(jù)封裝成幀、透明傳輸、差錯(cuò)控制、流量控制。
- 封裝成幀:把網(wǎng)絡(luò)層數(shù)據(jù)報(bào)加頭和尾,封裝成幀,幀頭中包括源MAC地址和目的MAC地址。
- 透明傳輸:零比特填充、轉(zhuǎn)義字符。
- 差錯(cuò)控制:接收者檢測(cè)錯(cuò)誤,如果發(fā)現(xiàn)差錯(cuò),丟棄該幀,差錯(cuò)控制方法有 CRC 循環(huán)冗余碼。
- 流量控制:控制發(fā)送的傳輸速度,使得接收方來(lái)得及接收。傳輸層TCP也有流量控制功能,但TCP是端到端的流量控制,鏈路層是點(diǎn)到點(diǎn)(比如一個(gè)路由器到下一個(gè)路由器)。
3、網(wǎng)絡(luò)層
實(shí)現(xiàn)網(wǎng)絡(luò)地址與物理地址的轉(zhuǎn)換,并通過(guò)路由選擇算法為分組通過(guò)通信子網(wǎng)選擇最適當(dāng)?shù)穆窂健?/p>
網(wǎng)絡(luò)層最重要的一個(gè)功能就是:路由選擇。路由一般包括路由表和路由算法兩個(gè)方面。每個(gè)路由器都必須建立和維護(hù)自身的路由表,一種是靜態(tài)維護(hù),也就是人工設(shè)置,適用于小型網(wǎng)絡(luò);另一種就是動(dòng)態(tài)維護(hù),是在運(yùn)行過(guò)程中根據(jù)網(wǎng)絡(luò)情況自動(dòng)地動(dòng)態(tài)維護(hù)路由表。
4、傳輸層
提供源端與目的端之間提供可靠的透明數(shù)據(jù)傳輸,傳輸層協(xié)議為不同主機(jī)上運(yùn)行的進(jìn)程提供邏輯通信。
- 網(wǎng)絡(luò)層協(xié)議負(fù)責(zé)的是提供主機(jī)間的邏輯通信;
- 傳輸層協(xié)議負(fù)責(zé)的是提供進(jìn)程間的邏輯通信。
5、會(huì)話(huà)層
是用戶(hù)應(yīng)用程序和網(wǎng)絡(luò)之間的接口,負(fù)責(zé)在網(wǎng)絡(luò)中的兩節(jié)點(diǎn)之間建立、維持、終止通信。
6、表示層
處理用戶(hù)數(shù)據(jù)的表示問(wèn)題,如數(shù)據(jù)的編碼、格式轉(zhuǎn)換、加密和解密、壓縮和解壓縮。
7、應(yīng)用層
為用戶(hù)的應(yīng)用進(jìn)程提供網(wǎng)絡(luò)通信服務(wù),完成和實(shí)現(xiàn)用戶(hù)請(qǐng)求的各種服務(wù)。
二、TCP/IP模型
TCP/IP協(xié)議模型(Transmission Control Protocol/Internet Protocol),包含了一系列構(gòu)成互聯(lián)網(wǎng)基礎(chǔ)的網(wǎng)絡(luò)協(xié)議,是Internet的核心協(xié)議。TCP/IP協(xié)議族按照層次由上到下,層層包裝。
數(shù)據(jù)進(jìn)入?yún)f(xié)議棧時(shí)的封裝過(guò)程
上圖表示了TCP/IP協(xié)議中每個(gè)層的作用,而TCP/IP協(xié)議通信的過(guò)程其實(shí)就對(duì)應(yīng)著數(shù)據(jù)入棧與出棧的過(guò)程。入棧的過(guò)程,數(shù)據(jù)發(fā)送方每層不斷地封裝首部與尾部,添加一些傳輸?shù)?a target="_blank">信息,確保能傳輸?shù)侥康牡亍3鰲5倪^(guò)程,數(shù)據(jù)接收方每層不斷地拆除首部與尾部,得到最終傳輸?shù)臄?shù)據(jù)。
1、網(wǎng)絡(luò)層
實(shí)現(xiàn)網(wǎng)絡(luò)地址與物理地址的轉(zhuǎn)換,并通過(guò)路由選擇算法為分組通過(guò)通信子網(wǎng)選擇最適當(dāng)?shù)穆窂健?/p>
1.1、IP地址與物理地址
物理地址是數(shù)據(jù)鏈路層和物理層使用的地址,IP地址是網(wǎng)絡(luò)層和以上各層使用的地址,是一種邏輯地址,其中ARP協(xié)議將IP地址轉(zhuǎn)換成物理地址。
1.2、ARP地址解析協(xié)議的工作原理
ARP 是根據(jù) IP 地址獲取 MAC 地址的一種協(xié)議,核心原理就是廣播發(fā)送ARP請(qǐng)求,單播發(fā)送ARP響應(yīng)。
- 每個(gè)主機(jī)都在自己的ARP緩沖區(qū)中建立一個(gè)ARP列表,以表示 IP 地址和 MAC 地址之間的對(duì)應(yīng)關(guān)系。
- 當(dāng)源主機(jī)要發(fā)送數(shù)據(jù)時(shí),先檢查ARP列表中是否有該 IP 地址對(duì)應(yīng)的 MAC 地址,如果有,則直接發(fā)送數(shù)據(jù);如果沒(méi)有,就向本網(wǎng)段的所有主機(jī)發(fā)送ARP數(shù)據(jù)包,用于查詢(xún)目的主機(jī)的MAC地址,該數(shù)據(jù)包包括的內(nèi)容有:源主機(jī)IP地址,源主機(jī)MAC地址,目的主機(jī)的IP。
- 當(dāng)本網(wǎng)絡(luò)的所有主機(jī)收到該ARP數(shù)據(jù)包時(shí),首先檢查數(shù)據(jù)包中的IP地址是否是自己的IP地址,如果不是,則忽略該數(shù)據(jù)包,如果是,則首先從數(shù)據(jù)包中取出源主機(jī)的IP和MAC地址寫(xiě)入到ARP列表中,如果已經(jīng)存在,則覆蓋,然后將自己的MAC地址寫(xiě)入ARP響應(yīng)包中,告訴源主機(jī)自己是它想要找的MAC地址。
- 源主機(jī)收到 ARP 響應(yīng)包后,將目的主機(jī)的 IP 和 MAC 地址寫(xiě)入ARP列表,并利用此信息發(fā)送數(shù)據(jù)。如果源主機(jī)一直沒(méi)有收到ARP響應(yīng)數(shù)據(jù)包,表示ARP查詢(xún)失敗。
1.3、RARP逆地址解析協(xié)議
RARP是逆地址解析協(xié)議,作用是完成硬件地址到IP地址的映射,主要用于無(wú)盤(pán)工作站,因?yàn)榻o無(wú)盤(pán)工作站配置的IP地址不能保存。工作流程:在網(wǎng)絡(luò)中配置一臺(tái)RARP服務(wù)器,里面保存著 MAC 地址和 IP 地址的映射關(guān)系,當(dāng)無(wú)盤(pán)工作站啟動(dòng)后,就封裝一個(gè)RARP數(shù)據(jù)包,里面有其MAC地址,然后廣播到網(wǎng)絡(luò)上去,當(dāng)服務(wù)器收到請(qǐng)求包后,就查找對(duì)應(yīng)的MAC地址的IP地址裝入響應(yīng)報(bào)文中發(fā)回給請(qǐng)求者。因?yàn)樾枰獜V播請(qǐng)求報(bào)文,因此RARP只能用于具有廣播能力的網(wǎng)絡(luò)。
1.4、DHCP協(xié)議
動(dòng)態(tài)主機(jī)配置協(xié)議,對(duì) IP地址進(jìn)行集中管理和分配,提升地址的使用率,通過(guò)DHCP協(xié)議,可以使客戶(hù)機(jī)自動(dòng)獲得服務(wù)器分配的lP地址和子網(wǎng)掩碼。
DHCP數(shù)據(jù)發(fā)送過(guò)程
1.5、ICMP協(xié)議
因特網(wǎng)控制報(bào)文協(xié)議,用于在IP主機(jī)、路由器之間傳遞控制消息(控制消息是指網(wǎng)絡(luò)通不通、主機(jī)是否可達(dá)、路由器是否可用等網(wǎng)絡(luò)本身的消息),確認(rèn) IP 包是否成功到達(dá)目標(biāo)地址。因?yàn)?IP 協(xié)議并不是一個(gè)可靠的協(xié)議,它不保證數(shù)據(jù)被送達(dá),當(dāng)傳送IP數(shù)據(jù)包發(fā)生錯(cuò)誤,比如主機(jī)不可達(dá)、路由不可達(dá)等等,ICMP協(xié)議將會(huì)把錯(cuò)誤信息封包,然后傳送回給主機(jī),給主機(jī)一個(gè)處理錯(cuò)誤的機(jī)會(huì)。
ICMP報(bào)文有兩種:差錯(cuò)報(bào)告報(bào)文和詢(xún)問(wèn)報(bào)文。
以下是4種常見(jiàn)的ICMP差錯(cuò)報(bào)告報(bào)文:
- 終點(diǎn)不可達(dá)
- 路由器不知道如何轉(zhuǎn)發(fā)某數(shù)據(jù)報(bào),丟棄該數(shù)據(jù)報(bào),并向源站發(fā)送“終點(diǎn)不可達(dá)”報(bào)文。
- 主機(jī)收到無(wú)法交付給應(yīng)用進(jìn)程的數(shù)據(jù)報(bào),將其丟棄,向源站發(fā)送“終點(diǎn)不可達(dá)”報(bào)文。
- 時(shí)間超過(guò)
- 路由器丟棄生存時(shí)間TTL為0的數(shù)據(jù)報(bào),并向源站發(fā)送“時(shí)間超過(guò)”報(bào)文。
- 當(dāng)終點(diǎn)在預(yù)先規(guī)定的時(shí)間內(nèi)不能收到一個(gè)數(shù)據(jù)報(bào)的全部分片時(shí),就把已收到的分片都丟棄,并向源站發(fā)送“時(shí)間超過(guò)”報(bào)文。
- 參數(shù)問(wèn)題
當(dāng)路由器或目的主機(jī)收到的數(shù)據(jù)報(bào)的首部中有些字段的值不正確時(shí),就丟棄該數(shù)據(jù)報(bào),并向源站發(fā)送“參數(shù)問(wèn)題”報(bào)文。
- 改變路由(重定向)
路由器把“改變路由”報(bào)文發(fā)送給主機(jī),讓主機(jī)知道下次應(yīng)將數(shù)據(jù)報(bào)發(fā)送給另一個(gè)路由器,這樣可以通過(guò)更好的路由。
1.6、交換機(jī)與路由器的區(qū)別
- 工作所處的OSI層次不一樣,交換機(jī)工作在OSI第二層數(shù)據(jù)鏈路層,路由器工作在OSI第三層網(wǎng)絡(luò)層。
- 尋址方式不同:交換機(jī)根據(jù)MAC地址尋址,路由器根據(jù)IP地址尋址。
- 轉(zhuǎn)發(fā)速率不同:交換機(jī)的轉(zhuǎn)發(fā)速度快,路由器轉(zhuǎn)發(fā)速度相對(duì)較慢。
1.7、路由選擇協(xié)議
- 內(nèi)部網(wǎng)關(guān)協(xié)議IGP:
- RIP(Routing Information Protocol):是一種動(dòng)態(tài)路由選擇協(xié)議,基于距離矢量算法,使用“跳數(shù)”來(lái)衡量到達(dá)目標(biāo)地址的路由距離,并且只與自己相鄰的路由器交換信息,范圍限制在15跳之內(nèi)。
- OSPF:開(kāi)放最短路徑優(yōu)先協(xié)議,使用Dijskra算法計(jì)算出到達(dá)每一網(wǎng)絡(luò)的最短路徑,并在檢測(cè)到 鏈路的情況發(fā)生變化時(shí)(如鏈路失效),就執(zhí)行該算法快速收斂到新的無(wú)環(huán)路拓?fù)洹?/li>
- 外部網(wǎng)關(guān)協(xié)議:
BGP:邊界網(wǎng)關(guān)協(xié)議,BGP 是力求尋找一條能夠到達(dá)目的網(wǎng)絡(luò) 且 較好的路由,而并非要尋找一條最佳路由。BGP采用路徑向量路由選擇協(xié)議。
2、傳輸層:
傳輸層主要提供不同主機(jī)上進(jìn)程間“邏輯通信+可靠傳輸”或者“不可靠傳輸”的功能。
2.1、傳輸控制協(xié)議TCP與用戶(hù)數(shù)據(jù)報(bào)協(xié)議UDP的區(qū)別
- TCP是面向字節(jié)流的,基本傳輸單位是TCP報(bào)文段;UDP是面向報(bào)文的,基本傳輸單位是用戶(hù)數(shù)據(jù)報(bào)。
- 面向字節(jié)流:應(yīng)用程序和TCP的交互是一次一個(gè)數(shù)據(jù)塊(大小不等),但TCP把應(yīng)用程序看成是一連串的無(wú)結(jié)構(gòu)的字節(jié)流。TCP有一個(gè)緩沖,當(dāng)應(yīng)用程序傳送的數(shù)據(jù)塊太長(zhǎng),TCP就可以把它劃分短一些再傳送。
- 面向報(bào)文:面向報(bào)文的傳輸方式是應(yīng)用層交給UDP多長(zhǎng)的報(bào)文,UDP就照樣發(fā)送。因此,應(yīng)用程序必須選擇合適大小的報(bào)文。
- TCP 注重安全可靠性,連接雙方在進(jìn)行通信前,需進(jìn)行三次握手建立連接。UDP 是無(wú)連接的,使用最大努力交付,即不保證可靠交付。
- UDP 不需要連接等待,所以數(shù)據(jù)傳輸快,而 TCP 傳輸效率相對(duì)較低。
- TCP首部開(kāi)銷(xiāo)是20個(gè)字節(jié);UDP的首部開(kāi)銷(xiāo)是8個(gè)字節(jié),這也是減少網(wǎng)絡(luò)傳輸開(kāi)銷(xiāo)的一方面。
- TCP有擁塞控制和流量控制,而UDP沒(méi)有擁塞控制和流量控制。
- TCP支持點(diǎn)對(duì)點(diǎn)通信,提供全雙工通信,不提供廣播或多播服務(wù);UDP支持一對(duì)一、一對(duì)多、多對(duì)一、多對(duì)多的通信模式。
2.2、TCP和UDP的使用場(chǎng)景
- 當(dāng)對(duì)網(wǎng)絡(luò)通訊質(zhì)量要求不高時(shí),并且要求網(wǎng)絡(luò)通訊速度能盡量的快,這時(shí)就可以使用UDP。比如及時(shí)通信:語(yǔ)音、 視頻 、直播等。
- 當(dāng)對(duì)網(wǎng)絡(luò)通訊質(zhì)量有要求時(shí),要求整個(gè)數(shù)據(jù)準(zhǔn)確無(wú)誤可靠的傳遞給對(duì)方,這時(shí)就適用使用 TCP 協(xié)議,一般用于文件傳輸、發(fā)送和接收郵件等場(chǎng)景。比如HTTP、HTTPS、FTP等傳輸文件的協(xié)議,POP、SMTP等郵件傳輸?shù)膮f(xié)議都是使用 TCP 協(xié)議。
- TCP對(duì)應(yīng)的協(xié)議:
FTP:文件傳輸協(xié)議,使用21端口
Telnet:遠(yuǎn)程終端接入,使用23端口,用戶(hù)可以以自己的身份遠(yuǎn)程連接到計(jì)算機(jī)上,可提供基于DOS模式下的通信服務(wù)。
SMTP:郵件傳送協(xié)議,用于發(fā)送郵件,使用25端口
POP3:郵件傳送協(xié)議,P用于接收郵件。使用110端口
HTTP:萬(wàn)維網(wǎng)超文本傳輸協(xié)議,是從Web服務(wù)器傳輸超文本到本地瀏覽器的傳送協(xié)議
- UDP對(duì)應(yīng)的協(xié)議:
DNS:域名解析服務(wù),將域名地址轉(zhuǎn)換為IP地址,使用53號(hào)端口;
SNMP:網(wǎng)絡(luò)管理協(xié)議,用來(lái)管理網(wǎng)絡(luò)設(shè)備,使用161號(hào)端口;
TFTP:簡(jiǎn)單文件傳輸協(xié)議,提供不復(fù)雜、開(kāi)銷(xiāo)不大的文件傳輸服務(wù),使用 69 端口;
NFS:遠(yuǎn)程文件服務(wù)器
RIP:路由信息協(xié)議
DHCP:動(dòng)態(tài)主機(jī)配置協(xié)議
IGMP:網(wǎng)際組管理協(xié)議
2.3、TCP相關(guān)知識(shí)點(diǎn)
前面一節(jié)已經(jīng)非常清楚的分析,歡迎查看:
計(jì)算機(jī)網(wǎng)絡(luò)-TCP/UDP詳解(最全)
3、應(yīng)用層
應(yīng)用成主要提供應(yīng)用進(jìn)程間的網(wǎng)絡(luò)通信服務(wù),完成用戶(hù)請(qǐng)求的各種服務(wù)。
-
計(jì)算機(jī)
+關(guān)注
關(guān)注
19文章
7508瀏覽量
88070 -
IP
+關(guān)注
關(guān)注
5文章
1710瀏覽量
149612 -
TCP
+關(guān)注
關(guān)注
8文章
1362瀏覽量
79108 -
OSI
+關(guān)注
關(guān)注
0文章
82瀏覽量
15435
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論