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