1:請(qǐng)你分別劃劃OSI的七層網(wǎng)絡(luò)結(jié)構(gòu)圖,和TCP/IP的五層結(jié)構(gòu)圖?
OSI的七層網(wǎng)絡(luò)結(jié)構(gòu)圖,和TCP/IP的五層結(jié)構(gòu)圖
OSI
OSI是Open System Interconnect的縮寫,意為開(kāi)放式系統(tǒng)互聯(lián)。在OSI出現(xiàn)之前,計(jì)算機(jī)網(wǎng)絡(luò)中存在眾多的體系結(jié)構(gòu),其中以IBM公司的SNA(系統(tǒng)網(wǎng)絡(luò)體系結(jié)構(gòu))和DEC公司的DNA(Digital Network Architecture)數(shù)字網(wǎng)絡(luò)體系結(jié)構(gòu)最為著名。為了解決不同體系結(jié)構(gòu)的網(wǎng)絡(luò)的互聯(lián)問(wèn)題,國(guó)際標(biāo)準(zhǔn)化組織ISO(注意不要與OSI搞混))于1981年制定了開(kāi)放系統(tǒng)互連參考模型(Open System Interconnection Reference Model,OSI/RM)。這個(gè)模型把網(wǎng)絡(luò)通信的工作分為7層,它們由低到高分別是物理層(Physical Layer),數(shù)據(jù)鏈路層(Data Link Layer),網(wǎng)絡(luò)層(Network Layer),傳輸層(Transport Layer),會(huì)話層(Session Layer),表示層(Presen tation Layer)和應(yīng)用層(Application Layer)。第一層到第三層屬于OSI參考模型的低三層,負(fù)責(zé)創(chuàng)建網(wǎng)絡(luò)通信連接的鏈路;第四層到第七層為OSI參考模型的高四層,具體負(fù)責(zé)端到端的數(shù)據(jù)通信。每層完成一定的功能,每層都直接為其上層提供服務(wù),并且所有層次都互相支持,而網(wǎng)絡(luò)通信則可以自上而下(在發(fā)送端)或者自下而上(在接收端)雙向進(jìn)行。當(dāng)然并不是每一通信都需要經(jīng)過(guò)OSI的全部七層,有的甚至只需要雙方對(duì)應(yīng)的某一層即可。物理接口之間的轉(zhuǎn)接,以及中繼器與中繼器之間的連接就只需在物理層中進(jìn)行即可;而路由器與路由器之間的連接則只需經(jīng)過(guò)網(wǎng)絡(luò)層以下的三層即可??偟膩?lái)說(shuō),雙方的通信是在對(duì)等層次上進(jìn)行的,不能在不對(duì)稱層次上進(jìn)行通信。
OSI參考模型的各個(gè)層次的劃分遵循下列原則:
1、同一層中的各網(wǎng)絡(luò)節(jié)點(diǎn)都有相同的層次結(jié)構(gòu),具有同樣的功能。
2、同一節(jié)點(diǎn)內(nèi)相鄰層之間通過(guò)接口(可以是邏輯接口)進(jìn)行通信。
3、七層結(jié)構(gòu)中的每一層使用下一層提供的服務(wù),并且向其上層提供服務(wù)。
4、不同節(jié)點(diǎn)的同等層按照協(xié)議實(shí)現(xiàn)對(duì)等層之間的通信。
第一層:物理層(PhysicalLayer),規(guī)定通信設(shè)備的機(jī)械的、電氣的、功能的和過(guò)程的特性,用以建立、維護(hù)和拆除物理鏈路連接。具體地講,機(jī)械特性規(guī)定了網(wǎng)絡(luò)連接時(shí)所需接插件的規(guī)格尺寸、引腳數(shù)量和排列情況等;電氣特性規(guī)定了在物理連接上傳輸bit流時(shí)線路上信號(hào)電平的大小、阻抗匹配、傳輸速率距離限制等;功能特性是指對(duì)各個(gè)信號(hào)先分配確切的信號(hào)含義,即定義了DTE和DCE之間各個(gè)線路的功能;規(guī)程特性定義了利用信號(hào)線進(jìn)行bit流傳輸?shù)囊唤M操作規(guī)程,是指在物理連接的建立、維護(hù)、交換信息是,DTE和DCE雙放在各電路上的動(dòng)作系列。
在這一層,數(shù)據(jù)的單位稱為比特(bit)。
屬于物理層定義的典型規(guī)范代表包括:EIA/TIA RS-232、EIA/TIA RS-449、V.35、RJ-45等。
第二層:數(shù)據(jù)鏈路層(DataLinkLayer):在物理層提供比特流服務(wù)的基礎(chǔ)上,建立相鄰結(jié)點(diǎn)之間的數(shù)據(jù)鏈路,通過(guò)差錯(cuò)控制提供數(shù)據(jù)幀(Frame)在信道上無(wú)差錯(cuò)的傳輸,并進(jìn)行各電路上的動(dòng)作系列?! ?/p>
數(shù)據(jù)鏈路層在不可靠的物理介質(zhì)上提供可靠的傳輸。該層的作用包括:物理地址尋址、數(shù)據(jù)的成幀、流量控制、數(shù)據(jù)的檢錯(cuò)、重發(fā)等。
在這一層,數(shù)據(jù)的單位稱為幀(frame)。
數(shù)據(jù)鏈路層協(xié)議的代表包括:SDLC、HDLC、PPP、STP、幀中繼等。
第三層是網(wǎng)絡(luò)層
在計(jì)算機(jī)網(wǎng)絡(luò)中進(jìn)行通信的兩個(gè)計(jì)算機(jī)之間可能會(huì)經(jīng)過(guò)很多個(gè)數(shù)據(jù)鏈路,也可能還要經(jīng)過(guò)很多通信子網(wǎng)。網(wǎng)絡(luò)層的任務(wù)就是選擇合適的網(wǎng)間路由和交換結(jié)點(diǎn), 確保數(shù)據(jù)及時(shí)傳送。網(wǎng)絡(luò)層將數(shù)據(jù)鏈路層提供的幀組成數(shù)據(jù)包,包中封裝有網(wǎng)絡(luò)層包頭,其中含有邏輯地址信息- -源站點(diǎn)和目的站點(diǎn)地址的網(wǎng)絡(luò)地址。
如果你在談?wù)撘粋€(gè)IP地址,那么你是在處理第3層的問(wèn)題,這是“數(shù)據(jù)包”問(wèn)題,而不是第2層的“幀”。IP是第3層問(wèn)題的一部分,此外還有一些路由協(xié)議和地址解析協(xié)議(ARP)。有關(guān)路由的一切事情都在第3層處理。地址解析和路由是3層的重要目的。網(wǎng)絡(luò)層還可以實(shí)現(xiàn)擁塞控制、網(wǎng)際互連等功能。
在這一層,數(shù)據(jù)的單位稱為數(shù)據(jù)包(packet)。
網(wǎng)絡(luò)層協(xié)議的代表包括:IP、IPX、RIP、OSPF等。
第四層是處理信息的傳輸層。第4層的數(shù)據(jù)單元也稱作數(shù)據(jù)包(packets)。但是,當(dāng)你談?wù)揟CP等具體的協(xié)議時(shí)又有特殊的叫法,TCP的數(shù)據(jù)單元稱為段(segments)而UDP協(xié)議的數(shù)據(jù)單元稱為“數(shù)據(jù)報(bào)(datagrams)”。這個(gè)層負(fù)責(zé)獲取全部信息,因此,它必須跟蹤數(shù)據(jù)單元碎片、亂序到達(dá)的數(shù)據(jù)包和其它在傳輸過(guò)程中可能發(fā)生的危險(xiǎn)。第4層為上層提供端到端(最終用戶到最終用戶)的透明的、可靠的數(shù)據(jù)傳輸服務(wù)。所為透明的傳輸是指在通信過(guò)程中傳輸層對(duì)上層屏蔽了通信傳輸系統(tǒng)的具體細(xì)節(jié)。
傳輸層協(xié)議的代表包括:TCP、UDP、SPX等。
第五層是會(huì)話層
這一層也可以稱為會(huì)晤層或?qū)υ拰?,在?huì)話層及以上的高層次中,數(shù)據(jù)傳送的單位不再另外命名,統(tǒng)稱為報(bào)文。會(huì)話層不參與具體的傳輸,它提供包括訪問(wèn)驗(yàn)證和會(huì)話管理在內(nèi)的建立和維護(hù)應(yīng)用之間通信的機(jī)制。如服務(wù)器驗(yàn)證用戶登錄便是由會(huì)話層完成的。
第六層是表示層
這一層主要解決擁護(hù)信息的語(yǔ)法表示問(wèn)題。它將欲交換的數(shù)據(jù)從適合于某一用戶的抽象語(yǔ)法,轉(zhuǎn)換為適合于OSI系統(tǒng)內(nèi)部使用的傳送語(yǔ)法。即提供格式化的表示和轉(zhuǎn)換數(shù)據(jù)服務(wù)。數(shù)據(jù)的壓縮和解壓縮, 加密和解密等工作都由表示層負(fù)責(zé)。
第七層應(yīng)用層,應(yīng)用層為操作系統(tǒng)或網(wǎng)絡(luò)應(yīng)用程序提供訪問(wèn)網(wǎng)絡(luò)服務(wù)的接口。
應(yīng)用層協(xié)議的代表包括:Telnet、FTP、HTTP、SNMP等。
通過(guò) OSI 層,信息可以從一臺(tái)計(jì)算機(jī)的軟件應(yīng)用程序傳輸?shù)搅硪慌_(tái)的應(yīng)用程序上。例如,計(jì)算機(jī) A 上的應(yīng)用程序要將信息發(fā)送到計(jì)算機(jī) B 的應(yīng)用程序,則計(jì)算機(jī) A 中的應(yīng)用程序需要將信息先發(fā)送到其應(yīng)用層(第七層),然后此層將信息發(fā)送到表示層(第六層),表示層將數(shù)據(jù)轉(zhuǎn)送到會(huì)話層(第五層),如此繼續(xù),直至物理層(第一層)。在物理層,數(shù)據(jù)被放置在物理網(wǎng)絡(luò)媒介中并被發(fā)送至計(jì)算機(jī) B 。計(jì)算機(jī) B 的物理層接收來(lái)自物理媒介的數(shù)據(jù),然后將信息向上發(fā)送至數(shù)據(jù)鏈路層(第二層),數(shù)據(jù)鏈路層再轉(zhuǎn)送給網(wǎng)絡(luò)層,依次繼續(xù)直到信息到達(dá)計(jì)算機(jī) B 的應(yīng)用層。最后,計(jì)算機(jī) B 的應(yīng)用層再將信息傳送給應(yīng)用程序接收端,從而完成通信過(guò)程。下面圖示說(shuō)明了這一過(guò)程。
OSI 的七層運(yùn)用各種各樣的控制信息來(lái)和其他計(jì)算機(jī)系統(tǒng)的對(duì)應(yīng)層進(jìn)行通信。這些控制信息包含特殊的請(qǐng)求和說(shuō)明,它們?cè)趯?duì)應(yīng)的 OSI 層間進(jìn)行交換。每一層數(shù)據(jù)的頭和尾是兩個(gè)攜帶控制信息的基本形式。
對(duì)于從上一層傳送下來(lái)的數(shù)據(jù),附加在前面的控制信息稱為頭,附加在后面的控制信息稱為尾。然而,在對(duì)來(lái)自上一層數(shù)據(jù)增加協(xié)議頭和協(xié)議尾,對(duì)一個(gè) OSI 層來(lái)說(shuō)并不是必需的。
當(dāng)數(shù)據(jù)在各層間傳送時(shí),每一層都可以在數(shù)據(jù)上增加頭和尾,而這些數(shù)據(jù)已經(jīng)包含了上一層增加的頭和尾。協(xié)議頭包含了有關(guān)層與層間的通信信息。頭、尾以及數(shù)據(jù)是相關(guān)聯(lián)的概念,它們?nèi)Q于分析信息單元的協(xié)議層。例如,傳輸層頭包含了只有傳輸層可以看到的信息,傳輸層下面的其他層只將此頭作為數(shù)據(jù)的一部分傳遞。對(duì)于網(wǎng)絡(luò)層,一個(gè)信息單元由第三層的頭和數(shù)據(jù)組成。對(duì)于數(shù)據(jù)鏈路層,經(jīng)網(wǎng)絡(luò)層向下傳遞的所有信息即第三層頭和數(shù)據(jù)都被看作是數(shù)據(jù)。換句話說(shuō),在給定的某一 OSI 層,信息單元的數(shù)據(jù)部分包含來(lái)自于所有上層的頭和尾以及數(shù)據(jù),這稱之為封裝。
例如,如果計(jì)算機(jī) A 要將應(yīng)用程序中的某數(shù)據(jù)發(fā)送至計(jì)算機(jī) B ,數(shù)據(jù)首先傳送至應(yīng)用層。 計(jì)算機(jī) A 的應(yīng)用層通過(guò)在數(shù)據(jù)上添加協(xié)議頭來(lái)和計(jì)算機(jī) B 的應(yīng)用層通信。所形成的信息單元包含協(xié)議頭、數(shù)據(jù)、可能還有協(xié)議尾,被發(fā)送至表示層,表示層再添加為計(jì)算機(jī) B 的表示層所理解的控制信息的協(xié)議頭。信息單元的大小隨著每一層協(xié)議頭和協(xié)議尾的添加而增加,這些協(xié)議頭和協(xié)議尾包含了計(jì)算機(jī) B 的對(duì)應(yīng)層要使用的控制信息。在物理層,整個(gè)信息單元通過(guò)網(wǎng)絡(luò)介質(zhì)傳輸。
計(jì)算機(jī) B 中的物理層收到信息單元并將其傳送至數(shù)據(jù)鏈路層;然后 B 中的數(shù)據(jù)鏈路層讀取計(jì)算機(jī) A 的數(shù)據(jù)鏈路層添加的協(xié)議頭中的控制信息;然后去除協(xié)議頭和協(xié)議尾,剩余部分被傳送至網(wǎng)絡(luò)層。每一層執(zhí)行相同的動(dòng)作:從對(duì)應(yīng)層讀取協(xié)議頭和協(xié)議尾,并去除,再將剩余信息發(fā)送至上一層。應(yīng)用層執(zhí)行完這些動(dòng)作后,數(shù)據(jù)就被傳送至計(jì)算機(jī) B 中的應(yīng)用程序,這些數(shù)據(jù)和計(jì)算機(jī) A 的應(yīng)用程序所發(fā)送的完全相同 。
一個(gè) OSI 層與另一層之間的通信是利用第二層提供的服務(wù)完成的。相鄰層提供的服務(wù)幫助一 OSI 層與另一計(jì)算機(jī)系統(tǒng)的對(duì)應(yīng)層進(jìn)行通信。一個(gè) OSI 模型的特定層通常是與另外三個(gè) OSI 層聯(lián)系:與之直接相鄰的上一層和下一層,還有目標(biāo)聯(lián)網(wǎng)計(jì)算機(jī)系統(tǒng)的對(duì)應(yīng)層。例如,計(jì)算機(jī) A 的數(shù)據(jù)鏈路層應(yīng)與其網(wǎng)絡(luò)層,物理層以及計(jì)算機(jī) B 的數(shù)據(jù)鏈路層進(jìn)行通信
2:請(qǐng)你詳細(xì)的解釋一下IP協(xié)議的定義,在哪個(gè)層上面,主要有什么作用? TCP與UDP呢?
3:請(qǐng)問(wèn)交換機(jī)和路由器分別的實(shí)現(xiàn)原理是什么?分別在哪個(gè)層次上面實(shí)現(xiàn)的?
4:請(qǐng)問(wèn)C++的類和C里面的struct有什么區(qū)別?
5:請(qǐng)講一講析構(gòu)函數(shù)和虛函數(shù)的用法和作用?
6:全局變量和局部變量有什么區(qū)別?實(shí)怎么實(shí)現(xiàn)的?操作系統(tǒng)和編譯器是怎么知道的?
7:一些寄存器的題目,主要是尋址和內(nèi)存管理等一些知識(shí)。
8:8086是多少尉的系統(tǒng)?在數(shù)據(jù)總線上是怎么實(shí)現(xiàn)的?
軟件測(cè)試的各階段!
面試就是跟你聊聊工作,看經(jīng)驗(yàn)了
筆試,看看數(shù)據(jù)結(jié)構(gòu),二叉樹(shù),排序,什么的
可能會(huì)考多線程
聯(lián)系客服