精品福利视频一区二区三区,免费A级毛片无码无遮挡,偷窥目拍性综合图区,亚洲欧洲无码AV电影在线观看,超清无码熟妇人妻AV在线电影

認證培訓,h3c認證體系,網(wǎng)絡(luò )工程師
豐沃創(chuàng  )新

什么是網(wǎng)絡(luò )OSI模型?【網(wǎng)絡(luò )工程師】

  • 發(fā)布時(shí)間: 2019-8-7 10:19:02

任何系統之間,如果需要通信,都需要一套自己的協(xié)議系統。這個(gè)協(xié)議系統一般要定義互相通信的語(yǔ)言,以及硬件。

OSI是被提取抽象出來(lái)的系統間通信模型,中文意思是“開(kāi)放式系統互聯(lián)”,是描述多個(gè)系統之間交流的通用模型。

OSI模型

OSI初步

在講OSI之間,我們首先看一個(gè)例子,PC a向PC b發(fā)送數據包的過(guò)程如下:

  • a在內存中通過(guò)定義的語(yǔ)言生成數據包
  • 將數據包通過(guò)總線(xiàn)傳給TCP/IP協(xié)議處理單元,告訴對方的IP地址、UDP還是TCP、端口號
  • TCP/IP處理模塊收到包之后,封裝,通過(guò)總線(xiàn)發(fā)送給以太網(wǎng)卡
  • 以太網(wǎng)卡再進(jìn)行編碼,變成高低電平震蕩發(fā)給交換機
  • 交換機將數據包交換到b的接口
  • b輸送到以太網(wǎng)卡的解碼芯片,去掉以太網(wǎng)頭然后產(chǎn)生中斷,將數據包送到內存
  • TCP/IP處理模塊提取IP頭和TCP頭,以便區分應該輸送到哪個(gè)應用程序的緩沖區內存。
  • 送到b的應用程序緩沖區內存

可以發(fā)現里面最重要的就是三個(gè)元素

  • 連:通信雙方需要連通起來(lái)。
  • 找:指的是通信雙方必須能區分自己和對方。
  • 發(fā):定義了如何將數據發(fā)到對方。

OSI的七個(gè)層次

OSI模型將系統通信劃分為了7個(gè)層次,最上面的三個(gè)層次可以歸屬到應用層。這個(gè)層不需要關(guān)心如何將數據傳送到對方,只關(guān)心如何組織和表達數據。

應用層

應用層是OSI的最上層,表示一個(gè)系統對另一個(gè)系統要傳達的最終消息。

只關(guān)注數據, 不關(guān)注指令如何發(fā)送

表示層

表示層就是對應用層數據的一種表示。

發(fā)送方必須用雙方規定好的格式來(lái)表示信息:可以嵌入在實(shí)體數據中。

會(huì )話(huà)層

會(huì )話(huà)層:建立會(huì )話(huà)交互機制。實(shí)際是雙方的應用程序之間的交互。

應用層、表示層、會(huì )話(huà)層的數據內容都被封裝起來(lái),交給押運員傳輸層。

TCP/IP只有4層:應用層、傳輸層、網(wǎng)絡(luò )層、物理鏈路層,它將OSI的應用層、表示層、會(huì )話(huà)層合并為一層,即應用訪(fǎng)問(wèn)層。意思是這個(gè)層全部與應用程序相關(guān)的邏輯,與網(wǎng)絡(luò )通信無(wú)關(guān)。應用程序只需要調用下層的接口就可以完成通信。

下四層的作用是把上三層的數據成功送到目的地。

傳輸層

典型的傳輸層程序如下:

  • TCP協(xié)議的作用是保證上層數據能傳輸到目的地。類(lèi)似貨運公司的押運員,不管通過(guò)什么渠道(直達還是下一跳),不管物理鏈路的類(lèi)型,只要送到即可。
  • 如果出現錯誤,需要重新發(fā)送。每件貨物到了目的地必須找收件人簽字(TCP的ACK應答包)或者一批貨物到了以后一次性簽收。(滑動(dòng)窗口
  • 最后回公司登記

TCP主要處理?yè)砣土髁靠刂啤?/span>路由器是調度中心,它可以決定走哪條路。TCP不能調度,它只是在發(fā)生了擁擠就只能通知后續的貨物慢點(diǎn)發(fā)。如果道路暢通,則通知后面的貨物加速發(fā)送。

那么TCP是怎么知道鏈路是否擁塞呢?它可以通過(guò)接收方返回的ACK應答來(lái)判斷鏈路擁擠的。如果半天都沒(méi)收到對方的簽字,說(shuō)明擁塞,有丟失

** 傳輸層的程序一定運行在通信雙方的終端設備上。**而不是在中間的互聯(lián)設備上。

因為傳輸層是一種端到端的保障機制,必須保證成功收到了并成功處理數據,才算發(fā)送成功了。如果只到了對方的網(wǎng)卡,但是斷電了,也不叫端到端保障。

具體的可以再看從輸入網(wǎng)址到瀏覽器返回內容(二),TCP/IP篇

網(wǎng)絡(luò )層

上面說(shuō)到了傳輸層其實(shí)只是一個(gè)押運員,它并不能進(jìn)行調度,那么如何選路就交給了網(wǎng)絡(luò )層。

同樣以客戶(hù)寄貨物為例,當客戶(hù)把貨物交給貨運公司的時(shí)候,會(huì )填寫(xiě)目的地址,至于應該走哪條路,統統不管,全部交給網(wǎng)絡(luò )層處理。

  • 貨運公司為每件貨物貼上IP頭地址標簽
  • 貨運公司掌握了全球范圍的地址信息(路由表
  • 選擇了一條路就上路。
  • 貨物每中轉到一個(gè)地方就交給那個(gè)地方的調度,由調度來(lái)決定下一站到哪里。
  • 舊調度不必告訴新調度最終的目的怎么走,因為所有調度都知道最終的目的。

總結一下就是,客戶(hù)寄送貨物的時(shí)候需要給出最終的目的地址,不管這個(gè)貨物途徑哪個(gè)中轉站,所有的中轉站都會(huì )知道最終的目的地址。

比如,要從新疆將貨物寄到青島,但是新疆到青島沒(méi)有直到的火車(chē),所以只能去北京轉出。

那么新疆的調度會(huì )去查找路由表,發(fā)現必須先到北京。注意此時(shí)在貨物上貼上的還是青島的標簽,而不是北京的標簽,但是會(huì )將貨物發(fā)到去北京的火車(chē)上。

貨物到北京,查看最終的目的地,會(huì )查找北京調度中心的路由表,此路由表與新疆的表不同。于是將貨物送到去青島的火車(chē)。

可以看出** 路由器就是調度的角色**

比如從青島訪(fǎng)問(wèn)北京的服務(wù)器,具體步驟如下:

  • 首先必須知道服務(wù)器的IP地址,用這個(gè)IP地址作為最終目的地址組裝成數據包,發(fā)送給青島的Internet提供商(下面叫運營(yíng)商)的路由器
  • 運營(yíng)商的路由器解析目的IP地址,發(fā)現應該從1號端口發(fā)送出,于是發(fā)到了河北的另一臺路由器。
  • 河北路由器根據目的IP查找路由表,發(fā)現需要從8口出
  • 多次中轉以后,發(fā)到了北京的路由器。
  • 最終到了北京的服務(wù)器,將這個(gè)包傳送到這臺服務(wù)器的網(wǎng)卡,并提交到TCP/IP協(xié)議處理的內存空間。
  • 發(fā)現是一個(gè)TCP握手數據包,所以返回一個(gè)確認包,三次握手完成后,就可以向服務(wù)器發(fā)送HTTP請求來(lái)獲取網(wǎng)頁(yè)資源。

在中轉的過(guò)程中,目的IP并不會(huì )改變,改變的只是MAC地址,也就是說(shuō)會(huì )將MAC地址改為下一站的地址。

數據鏈路層

數據鏈路層:連通兩個(gè)設備之間的鏈路,將上層的數據包再次打包成對應鏈路特定的格式。按照對應鏈路的規則在鏈路上傳輸給對方。

數據鏈路就好比交通規則:上路之前還需要看公路的質(zhì)量怎么樣,和對方商量傳輸的事宜。

鏈路層的作用:

  • 協(xié)商鏈路參數:雙工、速率、鏈路質(zhì)量
  • 打包成,加上同步頭,一次傳輸一句或者一個(gè)字符一個(gè)字符(取決于上層的選擇)
  • 鏈路層程序調用物理層提供的接口,將幀交給物理層。
  • 提供一些保障機制,在每個(gè)幀之后加一個(gè)校驗字段。如果不符說(shuō)明鏈路干擾,直接丟棄,不過(guò)不會(huì )報告錯誤,因為上層對鏈路層的錯誤不關(guān)心。接收方的傳輸層會(huì )感知某個(gè)包沒(méi)有到達,重新傳送不完整的包。鏈路層只偵錯,不糾錯。

兩臺PC之間的通信和兩個(gè)路由器之間通信是有區別的。

路由間的通信:

簡(jiǎn)單的路由設備工作在OSI的第三層,即網(wǎng)絡(luò )層,沒(méi)有上4層的處理邏輯。

所以收到包之后,只檢查包中的IP地址,不改變IP頭之上的其他內容。

如果有NAT功能的路由器,會(huì )對IP包的源或者目的IP地址做修改。

  • PC A上的瀏覽器要訪(fǎng)問(wèn)PC B上的Web服務(wù),首先調用WinSock接口,訪(fǎng)問(wèn)OS內核中的TCP/IP協(xié)議棧,將目的IP和目的端口以及數據(HTTP GET請求)告訴TCP/IP協(xié)議棧
  • 協(xié)議棧發(fā)現與PC B不存在鏈接,所以通過(guò)三次握手與B的協(xié)議棧建立連接。(A的協(xié)議棧組裝第一次握手包,發(fā)給OS的內核緩沖區,調用網(wǎng)卡驅動(dòng)從緩沖區將IP包編碼并傳遞出去,因為握手包很小,所以只需要一個(gè)幀。)
  • 幀到達路由器A的緩沖區,產(chǎn)生中斷信號,去掉以太網(wǎng)頭,發(fā)送到路由器A的內存,等待IP轉發(fā)邏輯塊處理(IP路由協(xié)議計算模塊),分析出IP包的頭部目的IP地址,查找路由表確定出去的端口號,所以IP路由運算一定要高效。
  • 查找出后,從網(wǎng)卡2出發(fā)送到路由器B的網(wǎng)卡2.通過(guò)同樣的過(guò)程,發(fā)送到PC B的網(wǎng)卡緩沖區,網(wǎng)卡產(chǎn)生中斷,通過(guò)總線(xiàn)傳送到TCP/IP的協(xié)議棧緩沖區內存。
  • PC B的協(xié)議棧分析出IP是自己的,端口號是80,同時(shí)握手標識位是二進(jìn)制1,就知道是從源設備向Web服務(wù)程序所監聽(tīng)的端口發(fā)起的握手連接。所以回復IP包給PC A,PC A再回一個(gè)最終確認的包。
  • 握手成功,PC A的協(xié)議棧將緩沖區中有瀏覽器發(fā)送過(guò)來(lái)的HTTP GET請求數據組裝成TCP/IP數據包發(fā)送給PC B。PC B獲得數據包之后,分析TCP 端口號,根據對應關(guān)系將數據放到監聽(tīng)這個(gè)端口的應用程序的緩沖區內存。
  • 應用程序收到GET請求后,觸發(fā)Web服務(wù)邏輯流程,返回Web數據。同樣由B的協(xié)議棧發(fā)送給PC機 A。
未收到確認的包會(huì )放到緩沖區中,不會(huì )刪除,直到收到對方的確認。

所以即使中途的設備把包丟棄了,運行在兩端的TCP/IP協(xié)議依然會(huì )重傳,這就是端到端的保障,因為設備中途網(wǎng)絡(luò )設備不會(huì )緩存發(fā)送的數據,更不會(huì )自動(dòng)重傳。

現在我們來(lái)對比一下IP頭和TCP頭的區別:

  • IP頭是個(gè)標簽,用來(lái)查看是誰(shuí)發(fā)的貨物。
  • TCP頭是用來(lái)確認由哪個(gè)上層應用程序來(lái)處理收到的包。(用端口號來(lái)決定)

物理層

物理層:在一種介質(zhì)上將數據編碼發(fā)送給對方。

注意鏈路層是控制物理層的。

我們可以把物理層看做傳送帶,不會(huì )進(jìn)行貨物分批,所以需要鏈路層給每批貨物加標志性的頭,接收方看到標志了以后就知道新一批貨物來(lái)了。

經(jīng)過(guò)物理層編碼后,最終變成了一串bit流。通過(guò)電路振蕩傳輸給對方,收到bit流之后,提交給鏈路層程序,剝去鏈路層同步頭、幀頭幀尾、控制字符。

MTU ,最大傳輸單元:每種鏈路都有自己最合適的分批大小

如果一次傳輸傳送大于這個(gè)大小的貨物,超過(guò)了鏈路接收放的處理吞吐量,會(huì )造成緩沖區溢出。

不過(guò)TCP和IP協(xié)議都會(huì )給貨物分批。TCP會(huì )首先給貨物分批,到了IP層,會(huì )按照鏈路層的分批大小來(lái)進(jìn)行分批,如果TCP的分批大小已經(jīng)小于鏈路層的分批,不會(huì )再分。

被IP層分批的貨物,最終會(huì )由接受方的IP層再組裝,但是由TCP分批的貨物,接收方的TCP層不會(huì )合并。對貨物的處理分析全部交由上層的應用程序來(lái)處理

精品福利视频一区二区三区,免费A级毛片无码无遮挡,偷窥目拍性综合图区,亚洲欧洲无码AV电影在线观看,超清无码熟妇人妻AV在线电影