回覆列表
  • 1 # 喲喲吼說科技

    OSI(Open System Interconnect,開放系統互聯)是ISO組織研究的網路互聯模型,將網路通訊過程定義成七層模型。

    如題,什麼是OSI參考模型?

    喲喲認為OSI參考模型就是將網路通訊的完整過程採用分層的體系結構進行細分,方便人們理解網路具體的通訊過程。

    OSI參考模型分為七層,分別為物理層、資料鏈路層、網路層、傳輸層、會話層、表示層、應用層,每一層都有對應的功能。

    下面喲喲來詳細介紹一下:

    1、物理層

    就是為裝置之間的資料通訊提供可靠的傳輸環境;

    2、資料鏈路層

    就是為資料傳輸提供資料通道;

    4、傳輸層

    提供端到端傳輸的服務;

    5、會話層

    提供會話的建立和維持服務;

    6、表示層

    將資料轉化為應用層可以讀取的內容格式;

    7、應用層

    實現應用程序之間的資訊交換;

    每一層會有對應的協議,透過將網路通訊過程細分至七層,可以更好的去理解網路通訊的過程以及各協議的應用過程。

  • 2 # 網路技術棧

    OSI模型概述:

    1、OSI模型(Open System Interconnection Reference Model,縮寫為OSI),全名"開放式系統互聯通訊參考模型"

    2、OSI模型是國際標準化組織(ISO)①和國際電報電話諮詢委員會(CCITT)②聯合制定的開放系統互連參考模型,為開放式互連資訊系統提供了一種功能結構的框架,它從高到低分別為:應用層、表示層、會話層、傳輸層、網路層、資料鏈路層、物理層。

    3、那麼OSI究竟是用來幹什麼的?

    OSI模型定義了開放系統的層次結構以及各層之間的相互關係及各層所包含的服務,OSI模型是作為一個框架來協調和組織各層協議的制定,也是對網路內部結構最精練的概括與描述進行整體修改。

    OSI的服務定義詳細說明了各層所提供的服務。某一層的服務就是該層及其下各層的一種能力,它透過介面提供給更高一層。各層所提供的服務與這些服務是怎麼實現的無關。同時,各種服務定義還定義了層與層之間的介面和各層的所使用的原語,但是不涉及介面是怎麼實現的。

    簡言之OSI模型就是一套標準,網際網路大部分協議都是基於OSI模型進行開發。

    當今的網際網路有著各式各樣的應用,誇張一點可以說是隻有你想不到,沒有你找不到的,OSI模型就是為了網路的互相通訊以及形形色色的網路應用的實現而建立的。

    網路裝置需要執行許許多多的網路協議以實現當今網際網路所需要的各種功能,面對種類繁多的功能,我們可以將各式各樣的功能按照不同的功能劃分為一個整體模型,有著相似的功能的劃分為同一層次。

    二、OSI七層

    OSI參考模型的各個層次的劃分遵循下列原則:

    同一層中的各網路節點都有相同的層次結構,具有同樣的功能。

    同一節點內相鄰層之間透過介面(可以是邏輯介面)進行通訊。

    七層結構中的每一層使用下一層提供的服務,並且向其上層提供服務。

    不同節點的同等層按照協議實現對等層之間的通訊。

    1、 物理層

    物理層主要是指傳輸資料所需要的物理硬體鏈路,如光纜、電纜、雙絞線、無線電波(WiFi)等方式。

    物理層的作用就是透過物理手段把硬體裝置(如電腦、路由器、交換機等)連線起來,它主要規定了網路的一些電氣特性,作用是負責傳送0和1的電訊號。

    在這裡說明一下,透過物理手段將裝置連線起來組成區域網,物理手段就是光纜、電纜、雙絞線、無線電波(WiFi)等,比如中美之間的網路通訊是透過海底光纜。

    兩個不同的區域網(比如電信的網路和移動的網路)通訊,電信手機先連線電信的伺服器,移動手機連線到移動伺服器,電信和移動之間是透過物理手段連結的,這樣電信和移動的網路就能夠實現互相通訊了。

    下圖是全球網際網路跨國通訊光纜的連線情況:

    從上圖可以看到國家與國家,大洲與大洲之間都透過各種密密麻麻的線路進行連線,可以說整個網際網路就是就無數臺硬體裝置和無數條線路所組成的一個龐大的區域網,大至運營商的高效能網路,小至家裡的無線路由器,這些都是組成網際網路的一部分。

    2、 資料鏈路層

    二層交換機就是工作在資料鏈路層

    透過上面對物理層的講解,我們都知道物理只是負責傳送0和1的電訊號,單單這些0和1的電訊號是沒有任何意義的,所有必須要規定解讀方式:多少個0和1算一組?每個訊號有什麼意義?——這就是鏈路層的意義,它在物理層的上方,確定了0和1的分組方式。

    2.1、MAC地址

    大約在20世界70、80年代的時候,有很多家公司都有自己研發的網路型別,每家公司都有自己的電訊號分組方式。例如大名鼎鼎IBM的令牌環網路,但是逐漸地,各式各樣的網路都被一種叫做"乙太網"(Ethernet)的協議,佔據了主導地位。

    乙太網規定,一組電訊號構成一個數據包,再由資料包組成一個數據鏈路層的資料協議單元,這個單元叫做"幀"(Frame)。每一幀分成兩個部分:標頭(Head)和資料(Data)。把資料包封裝成幀的目的是為了資料包的可靠傳輸。

    "標頭"包含資料包的一些說明項,比如傳送者、接受者、資料型別等等;"資料"則是資料包的具體內容。

    "標頭"的長度,固定為18位元組。"資料"的長度,最短為46位元組,最長為1500位元組。因此,整個"幀"最短為64位元組,最長為1518位元組。如果資料很長,就必須分割成多個幀進行傳送。

    上面提到,乙太網資料包的"標頭",包含了傳送者和接受者的資訊。那麼,傳送者和接受者是如何標識呢?

    乙太網規定,連入網路的所有裝置,都必須具有"網絡卡"介面。資料包必須是從一塊網絡卡,傳送到另一塊網絡卡。網絡卡的地址,就是資料包的傳送地址和接收地址,這叫做MAC地址。

    每塊網絡卡出廠的時候,都有一個全世界獨一無二的MAC地址,長度是48個二進位制位,通常用12個十六進位制數表示。

    前6個十六進位制數是廠商編號,後6個是該廠商的網絡卡流水號。有了MAC地址,就可以定位網絡卡和資料包的路徑了。

    2.2、廣播

    定義地址只是第一步,後面還有更多的步驟。

    首先,一塊網絡卡怎麼會知道另一塊網絡卡的MAC地址?有一種叫做ARP的協議,可以解決這個問題。這個留到後面介紹,這裡只需要知道就可以了,乙太網資料包必須知道接收方的MAC地址,然後才能傳送幀。

    其次,就算有了MAC地址,系統怎樣才能把資料包準確送到接收方?乙太網採用了一種很"原始"的方式,它不是把資料包準確送到接收方,而是向本網路內所有計算機發送,讓每臺計算機自己分析自己是不是這個資料包的接收方。

    上圖中,計算機1向計算機2傳送一個數據包,同一個子網路的3、4、5計算機都會收到這個包。它們讀取這個包的"標頭",找到接收方的MAC地址,然後與自身的MAC地址相比較,如果兩者相同,就接收這個包,做進一步處理,若不是就丟棄這個包。這種傳送方式就叫做"廣播"(broadcasting)。(這就是二層交換機的工作方式,以後的文章會作詳細的介紹敬請關注。)

    有了資料包的定義、網絡卡的MAC地址、廣播的傳送方式,"連結層"就可以在多臺計算機之間傳送資料了。

    3、 網路層

    三層交換機和路由器就是工作在網路層。

    根據上面的講解,理論上只需要依靠MAC地址和廣播這兩項技術,在廣州的網絡卡發出的資料包就可以被在上海的網絡卡接收了這樣就可以互相通訊了,但如果全世界的計算機都是在用這種方式進行通訊的話,那麼每一臺計算機發出的資料包都會以廣播的形式被全世界的電腦接收,全世界的電腦再一一進行分析,這種方式是非常低效的,且間接造成了非常大的資源浪費。

    因此我們必須找到一種方法,區分哪些MAC地址屬於同一個子網,如果是同一個子網就採用廣播,如果不是,則採用"路由"的方式傳送,但是這個功能不是MAC地址技術所具備的,這也間接地導致了網路層的出現,網路層的作用是引入一套新的地址,使我們能夠區分哪些計算機屬於同一個子網,這個套機制就叫做"網路地址",也就是我們常說的"IP地址"。 (下面會對路由作出解析)

    3.1、IP協議

    規定網路地址的協議,叫IP協議。他定義的地址,就叫做"IP地址"。IP協議目前有兩根版本,IPv4和IPv6,而目前較為廣泛使用的是IP協議版本4,也就是IPv4,IPv4由32位二進位制所組成,IPv6目前正普及,IPv6由128位組成,長度是IPv4的4倍之多號稱可以為全世界的每一粒沙子編上一個IP地址。

    在2011年,IPv4的地址已經完全分配完畢,但IPv6目前仍處於部署的初期,仍然不能大規模使用。

    IPv4地址由32個二進位制位組成,習慣上,我們分成四段十進位制數表示IPV4地址,從0.0.0.0到255.255.255.255。

    【拓展一下IPv4地址在家裡一直在用啊,192.168.1.1路由器上的這個地址不就是IPv4地址嗎?怎麼會已經分發完畢了?事實上家裡路由器所使用的192.168.1.1 這個網段被稱為私有地址,私有地址在網際網路上是不能進行通訊的,私有地址只能在內部區域網使用,那麼問題又來了,如果私有地址不能在網際網路進行通訊,那麼我在和家裡是怎樣上網的?家裡上網普遍的形式都是撥號,透過撥號運營商會分配一個"真正"的IPv4地址給你,然後透過路由器內建的"NAT"協議進行地址、埠轉換進行上網。(NAT是什麼東西這裡就不詳細說明了,以後的文章會詳細說明的,現在你只需要知道,NAT協議是對於IPv4地址短缺的問題的救星,另一方面也可以理解為IPv6普及的最大的障礙之一。)】

    網際網路上的每一臺計算機,都會分配到一個IP地址。這個地址分成兩個部分,前一部分代表網路,後一部分代表主機。比如,IP地址192.168.1.1,這是一個32位的地址,它的網路部分是前24位(192.168.1),那麼主機部分就是後8位(最後的那個1)。處於同一個子網路的電腦,它們IP地址的網路部分必定是相同的,也就是說192.168.1.1與192.168.1.100是處在同一個子網路。

    3.2、子網掩碼

    但是,問題在於單從IP地址,我們無法判斷網路部分。還是以192.168.1.1為例,它的網路部分,到底是前24位,還是前16位,甚至前28位,單從IP地址上是看不出來的,那麼,怎樣才能從IP地址,判斷兩臺計算機是否屬於同一個子網路呢?這就要用到另一個引數"子網掩碼"(subnet mask)。

    所謂"子網掩碼",就是表示子網路特徵的一個引數。它在形式上等同於IP地址,也是一個32位二進位制數字,它的網路部分全部為1,主機部分全部為0。比如,IP地址192.168.1.1,如果已知網路部分是前24位,主機部分是後8位,那麼子網路掩碼就是

    11111111.11111111.11111111.00000000,寫成十進位制就是255.255.255.0。

    知道"子網掩碼",我們就能判斷,任意兩個IP地址是否處在同一個子網路。較為簡單的方法是已知 192.168.1.10和192.168.1.100 兩個IP的子網掩碼都是255.255.255.0(

    11111111.11111111.11111111.00000000),兩個IP地址都在同一子網的前提條件是網路位相同,網路位就是255(二進位制中的"1"),主機位就是0(二進位制中的"0"),這樣就能判斷出192.168.1.10和192.168.1.100的網路位都是192.168.1這就就能知道兩個IP是否同屬於一個子網(這個方法對於"可變子網長度掩碼"也就是VLSM不適用)。

    總結一下,IP協議的作用主要有兩個,一個是為每一臺計算機分配IP地址,另一個是確定哪些IP地址在同一個子網路。

    3.3、IP資料包

    根據IP協議傳送的資料,就叫做IP資料包。想必,其中肯定包含有IP地址的資訊。

    但是前面說過,乙太網資料包只包含MAC地址,並沒有IP地址的欄位。那麼是否需要修改資料定義,再新增一個欄位呢?不需要,我們可以把IP資料包直接放進乙太網資料包的"資料"部分,因此完全不用修改乙太網的規格。這就是網際網路分層結構的好處:上層的變動完全不涉及下層的結構。

    具體來說,IP資料包也分為"標頭"和"資料"兩個部分。

    "標頭"部分主要包括版本、長度、IP地址等資訊,"資料"部分則是IP資料包的具體內容。它放進乙太網資料包後,乙太網資料包就變成了下面這樣。

    IP資料包的"標頭"部分的長度為20到60位元組,整個資料包的總長度最大為65,535位元組。因此,理論上,一個IP資料包的"資料"部分,最長為65,515位元組。前面說過,乙太網資料包的"資料"部分,最長只有1500位元組。因此,如果IP資料包超過了1500位元組,它就需要分割成幾個乙太網資料包,分開發送了。

    3.4、ARP協議

    因為IP資料包是放在乙太網資料包裡傳送的,所以我們必須同時知道對方的MAC地址和IP地址。正常情況下,對方的IP地址是已知的,但是我們不知道它的MAC地址。

    所以,我們需要一種協議,能夠從IP地址得到MAC地址。

    這裡又可以分成兩種情況。第一種情況,如果兩臺主機不在同一個子網路,那麼事實上沒有辦法得到對方的MAC地址,只能把資料包傳送到兩個子網路連線處的"閘道器"(gateway),讓閘道器去處理(閘道器下面會解析)。

    第二種情況,如果兩臺主機在同一個子網路,那麼我們就可以使用ARP協議,得到對方的MAC地址,ARP協議也是發出一個數據包(包含在乙太網資料包中),其中包含它所要查詢主機的IP地址,在對方的MAC地址這一欄,填的是FF:FF:FF:FF:FF:FF,表示這是一個"廣播"地址。它所在子網中的每一臺主機,都會收到這個資料包,從中取出IP地址,與自身的IP地址進行比較。如果兩者相同,都做出回覆,並向對方報告自己的MAC地址,若與自身IP不符合就丟棄這個包。

    總之,有了ARP協議之後,我們就可以得到同一個子網路內的主機MAC地址,可以把資料包傳送到任意一臺主機之上了。

    3.5、閘道器or路由

    路由器:

    上面我們提到若兩臺計算機處於兩個不同的子網就需要使用路由來進行通訊,那麼路由究竟為何物呢?下面我們一一道來。

    路由器(Router)是用於連線多個處於不同子網網路的網路,當資料從一個子網傳輸到另一個子網時,可透過路由器來完成。因此,路由器具有判斷網路地址和選擇路徑的功能,它能在多子網互聯環境中為各個子網直接建立連線。

    路由器的主要工作就是為經過路由器的每個資料幀尋找一條最佳傳輸路徑,並將該資料有效地傳送到目的站點。由此可見,選擇最佳路徑的策略即路由演算法是路由器的關鍵所在。為了完成這項工作,在路由器中儲存著各種傳輸路徑的相關資料——路由表(Routing Table),供路由選擇時使用,路由表中儲存著子網的資訊和下一個路由器的名字等內容。路由表可以是由系統管理員固定設定好的,也可以由系統動態修改,可以由路由器自動調整,也可以由主機控制。(路由表為何物?可以看一下我發表的文章《如何配置靜態路由?》)

    閘道器:

    閘道器是路由器中的一種,一般來說閘道器既可以用於廣域網互連,也可以用於區域網互連。 閘道器是一種充當轉換重任的計算機系統或裝置。在使用不同的通訊協議、資料格式或語言,甚至體系結構完全不同的兩種系統之間,閘道器是一個翻譯器。

    家裡所使用的無線路由器的LAN介面的IP地址(一般為192.168.1.1和192.168.0.1)就是你所在區域網中的閘道器,當你所在的區域網的計算機需要和其它區域網中的計算機,或者需要訪問網際網路的時候,你所在區域網的計算機會先把資料包傳輸到閘道器(路由器的LAN介面),然後再由閘道器進行轉發。

    舉個簡單的例子,一套房子內部有三個房間、一個大門,房子可以比喻成是你的電腦所在的區域網,三個房間可以比喻成你所在區域網中的三臺電腦,房子的大門可以比喻成閘道器。當你在房子內的一個房間進入另一個房間的時候並不需要經過房子的大門,在區域網中也是一樣的,處在同一區域網的中計算機進行通訊的時候並不需要用到閘道器。(使用MAC地址和廣播技術通訊)當你需要到鄰居家去玩的時候需要要從你家房子的大門出去(IP協議),相應的,區域網中的計算機需要和其它區域網中的計算機、和網際網路上的計算機進行通訊的時候,資料包必須要透過閘道器才可以到達。

    這就是為什麼我們在有路由器上網的時候,必須要把計算機中的預設閘道器地址設定成路由器LAN介面的地址的原因,因為路由器的LAN介面就是你所在網路的閘道器,你的電腦要上網,資料包必須要經過閘道器轉發出去。目前家用路由器一般使用192.168.1.1和192.168.0.1作為LAN介面的地址,這兩個地址也是最常見的閘道器地址。

    作為普通的使用者,只需要記住,手動配置ip地址的時候,預設閘道器的地址就是路由器的LAN介面的地址,也就是你路由器的管理頁面登陸地址。如果你選擇自動獲取ip地址,那麼就不需要關注預設閘道器地址了,但路由器的DHCP伺服器分配下來的預設閘道器也一定是路由器的LAN介面的ip地址。

    4、 傳輸層

    4.1、埠號

    有了MAC地址和IP地址,我們已經可以在網際網路上任意兩臺主機上建立通訊。

    接下來的問題是,同一臺主機上有許多程式都需要用到網路,比如,你一邊瀏覽網頁,一邊與朋友線上聊天。當一個數據包從網際網路上發來的時候,你怎麼知道,它是表示網頁的內容,還是表示線上聊天的內容?

    也就是說,我們還需要一個引數,表示這個資料包到底供哪個程式(程序)使用。這個引數就叫做"埠"(port),它其實是每一個使用網絡卡的程式的編號。每個資料包都發到主機的特定埠,所以不同的程式就能取到自己所需要的資料。

    "埠"是0到65535之間的一個整數,正好16個二進位制位。0到1023的埠被系統佔用,使用者只能選用大於1023的埠。不管是瀏覽網頁還是線上聊天,應用程式會隨機選用一個埠,然後與伺服器的相應埠聯絡。

    "傳輸層"的功能,就是建立"埠到埠"的通訊。相比之下,"網路層"的功能是建立"主機到主機"的通訊。只要確定主機和埠,我們就能實現程式之間的交流。因此,Unix系統就把主機+埠,叫做"套接字"(socket)。有了它,就可以進行網路應用程式開發了。(那麼Socket是什麼這問題就不在這文章所討論的範圍內了,有興趣的朋友可以百度一下)

    0.0.0.0:135其中135就是被佔用的埠號,一次類推。

    4.2、TCP\UDP

    UDP和TCP協議都是傳輸層的協議,他們的主要作用就是在應用層的資料包標頭加上埠號(或者在IP協議的資料包中插入埠號)。

    UDP協議的優點是比較簡單,容易實現,但是缺點是可靠性較差,一旦資料包發出,無法知道對方是否收到。

    TCP協議可以近似認為是有確認機制的UDP協議。每發出一個數據包都要求確認。如果有一個數據包遺失,就收不到確認,發出方就知道有必要重發這個資料包了。

    TCP協議主要的確認機制是"三次握手,四次揮手",由於這個協議非常複雜。(TCP\IP協議會在以後的文章中詳細進行講解,敬請關注。)

    5、 會話層

    會話層,是使用者應用程式和網路之間的介面,主要任務是:向兩個實體的表示層提供建立和使用連線的方法。將不同實體之間的表示層的連線稱為會話。因此會話層的任務就是組織和協調兩個會話程序之間的通訊,並對資料交換進行管理。

    使用者可以按照半雙工、單工和全雙工的方式建立會話。當建立會話時,使用者必須提供他們想要連線的遠端地址。而這些地址與MAC(介質訪問控制子層)地址或網路層的邏輯地址不同,它們是為使用者專門設計的,更便於使用者記憶。域名就是一種網路上使用的遠端地址例如:www.toutiao.com就是一個域名。

    會話層的具體功能如下:

    會話管理:允許使用者在兩個實體裝置之間建立、維持和終止會話,並支援它們之間的資料交換。例如提供單方向會話或雙向同時會話,並管理會話中的傳送順序,以及會話所佔用時間的長短。

    會話流量控制:提供會話流量控制和交叉會話功能。

    定址:使用遠端地址建立會話連線。

    出錯控制:從邏輯上講會話層主要負責資料交換的建立、保持和終止,但實際的工作卻是接收來自傳輸層的資料,並負責糾正錯誤。會話控制和遠端過程呼叫均屬於這一層的功能。但應注意,此層檢查的錯誤不是通訊介質的錯誤,而是磁碟空間、印表機缺紙等型別的高階錯誤。

    6、 表示層

    表示層它對來自應用層的命令和資料進行解釋,對各種語法賦予相應的含義,並按照一定的格式傳送給會話層。其主要功能是"處理使用者資訊的表示問題,如編碼、資料格式轉換和加密解密"等。

    表示層的具體功能如下:

    資料格式處理:協商和建立資料交換的格式,解決各應用程式之間在資料格式表示上的差異。

    資料的編碼:處理字符集和數字的轉換。例如由於使用者程式中的資料型別(整型或實型、有符號或無符號等)、使用者標識等都可以有不同的表示方式,因此,在裝置之間需要具有在不同字符集或格式之間轉換的功能。

    壓縮和解壓縮:為了減少資料的傳輸量,這一層還負責資料的壓縮與恢復。

    資料的加密和解密:可以提高網路的安全性。

    7、 應用層

    應用程式收到"傳輸層"的資料,接下來就要進行解讀。由於網際網路是開放架構,資料來源五花八門,必須事先規定好格式,否則根本無法解讀。"應用層"的作用,就是規定應用程式的資料格式。舉例來說,TCP協議可以為各種各樣的程式傳遞資料,比如Email、WWW、FTP等等。那麼,必須有不同協議規定電子郵件、網頁、FTP資料的格式,這些應用程式協議就構成了"應用層"。這是最高的一層,直接面對使用者。

    這裡的引用層是文章開頭的OSI七層模型的最上面三層的綜合,因為是直接面向用戶,因此它的主要作用是"消除裝置固有資料格式和網路標準資料格式直接的差異",因為在網路流中,資料的格式是標準化的,但是具體到不同得裝置,不同的作業系統上,他的要求資料呈現格式是不同的,因此需要轉化成統一的、使用者能夠感知的聲音、圖片、文字等資訊,這就是應用層做的事情。

    註釋:

    1 國際化標準組織(International Organization for Standardization)是非政府性的標準化制定機構,其宗旨是:在世界範圍內促進標準化工作的發展,以利於國際物資交流和互助,並擴大知識、科學、技術和經濟方面的合作。其主要任務是:制定國際標準,協調世界範圍內的標準化工作,與其他國際性組織合作研究有關標準化問題。

    2 CCITT是國際電報電話諮詢委員會的簡稱,它是國際電信聯盟(ITU)前身。主要職責是研究電信的新技術、新業務和資費等問題,並對這類問題透過建議使全世界的電信標準化。

  • 3 # 話說攝影

    OSI七層參考模型,全稱Open System Interconnection Reference Model,開放系統互連參考模型。

    OSI參考模型是國際標準化組織ISO於1984年提出的,提出的目的,一是在邏輯結構上進行了分層,使網路結構更加清晰,易於學習和操作。二是每一層都可以專注於自身協議和標準的制定,促進標準化工作,而且各層的協議可以相對獨立的發展,各層協議間影響較小,三是有了統一的模型,使不同廠商裝置之間可以互相相容。

    其實很好理解,看到OSI參考模型,我就想到了漢堡,漢堡的模型就是兩片面包夾一塊肉和一片蔬菜,大家都可以按這個模式去學習做漢堡,我們可以專門研究漢堡中間這塊肉是用雞肉還是牛肉,或者不同口味,但對面包和蔬菜的影響較小,麵包供應商和蔬菜供應商、漢堡供應商可以隨機搭配,從而生產出適合不同人口味的漢堡。

    那這個模型是什麼樣的呢?

    OSI七層參考模型,自上而下為:應用層、表示層、會話層、傳輸層、網路層、資料鏈路層、物理層。

    其中應用層、表示層、會話層屬於高層,這一般是軟體工程師的範疇,傳輸層、網路層、資料鏈路層、物理層屬於底層,這是網路工程師關注的範疇。

    OSI參考模型各個層次的基本功能如下:

    應用層:OSI參考模型中最靠近使用者的一層,可分為"系統應用層"、"使用者應用層"。為應用程式提供網路服務。

    表示層:提供各種用於應用層資料的編碼和轉換功能,確保一個系統的應用層傳送的資料能被另一個系統的應用層識別。典型功能:rar壓縮解壓工具

    會話層:負責建立、管理和終止表示層實體之間的通訊會話。該層的通訊由不同裝置中的應用程式之間的服務請求和響應組成。典型應用:服務提供方對輸入的賬號/密碼進行驗證,有問題,終止通訊服務。

    傳輸層:提供面向連線或非面向連線的資料傳遞以及進行重傳前的差錯檢測。提高資訊交流可靠性。

    網路層:提供邏輯地址,供路由器確定路徑。

    資料鏈路層:將位元組合成位元組,再將位元組組合成幀,使用鏈路層地址(乙太網使用MAC地址)來訪問介質,並進行差錯檢測。

    物理層: 實現邏輯上的資料與可感知的光/電訊號之間的轉換。

    但其實OSI參考模型更多地是從概念上對網路結構進行分層,大家懂個概念就好,OSI模型協議較為複雜,沒有得到廣泛應用,TCP/IP模型因其開放性和易用性成為網際網路主流協議,所以在實際應用中還是以TCP/IP協議簇為主。

    現實中網路的設計和實現,都是用TCP/IP協議簇。TCP/IP協議簇和OSI協議簇使用的具體協議是不同的,而我們常用的協議,如HTTP,FTP,TCP,IP等協議,都是TCP/IP協議簇。所以,如果學習網路知識,還是要以TCP/IP協議簇為主。

    TCP/IP標準模型就是由OSI參考模型演變而來的。

  • 4 # 弄潮傳媒助手

    模型的概念,就像肉夾饃的模型,兩片餅饃,中間夾著一塊肉,塗上番茄醬、滷肉醬或者辣醬等等。

    簡單來說,OSI參考模型是為了使網路結構更加清晰,易於學習和操作,同時進行標準化工作的一種模式。

    而OSI模型有七層,下面我們從高到低來具體分析這七層各自起著怎樣的作用。

    最高的是應用層:這是最靠近使用者的一層,內部又包括"系統應用層"、"使用者應用層",它是網路終端,非常重要。

    其次是表示層:這一層有一個大家熟悉的工具,rar壓縮解壓工具。顧名思義,它就是確保一個數據信息可以在兩個不同系統之間傳遞,起著溝通的作用。

    然後到了會話層:這一層主要起著“紀檢委”和“安全員”的作用,它對各種來往的賬戶進行密碼驗證,再選擇放行或者阻攔。

    之後是傳輸層:如果說會話層是對來往使用者和賬號進行檢查,那傳輸層則是對各種連結和資料內容進行檢查,進行查錯,提高資訊傳遞的質量和可靠性。

    而網路層:這一層比較簡單好懂,它就是提供網址,為路由器打通前路,更快更好地提供無線網。

    然後就到了資料鏈路層:這一層是把傳輸層更加細化,將資料的位元組組成,以幀為單位,再透過幀進入鏈路層訪問介質,進行查錯檢測。

    最後一層是物理層: 這一層是一物理邏輯為原則,將資料轉化成光訊號或者電訊號。

    OSI(Open System Interconnect,開放系統互聯)是ISO組織研究的網路互聯模型,將網路通訊過程定義成七層模型。

    以上就是OSI模型的基本工作層,學習了這一模型,大家是不是對網路當中具體的通訊過程更加清楚了呢?期待你的留言評論!

  • 5 # 喲喲吼說科技

    OSI(Open System Interconnect,開放系統互聯)是ISO組織研究的網路互聯模型,將網路通訊過程定義成七層模型。

    如題,什麼是OSI參考模型?

    喲喲認為OSI參考模型就是將網路通訊的完整過程採用分層的體系結構進行細分,方便人們理解網路具體的通訊過程。

    OSI參考模型分為七層,分別為物理層、資料鏈路層、網路層、傳輸層、會話層、表示層、應用層,每一層都有對應的功能。

    下面喲喲來詳細介紹一下:

    1、物理層

    就是為裝置之間的資料通訊提供可靠的傳輸環境;

    2、資料鏈路層

    就是為資料傳輸提供資料通道;

    4、傳輸層

    提供端到端傳輸的服務;

    5、會話層

    提供會話的建立和維持服務;

    6、表示層

    將資料轉化為應用層可以讀取的內容格式;

    7、應用層

    實現應用程序之間的資訊交換;

    每一層會有對應的協議,透過將網路通訊過程細分至七層,可以更好的去理解網路通訊的過程以及各協議的應用過程。

  • 6 # 網路技術棧

    OSI模型概述:

    1、OSI模型(Open System Interconnection Reference Model,縮寫為OSI),全名"開放式系統互聯通訊參考模型"

    2、OSI模型是國際標準化組織(ISO)①和國際電報電話諮詢委員會(CCITT)②聯合制定的開放系統互連參考模型,為開放式互連資訊系統提供了一種功能結構的框架,它從高到低分別為:應用層、表示層、會話層、傳輸層、網路層、資料鏈路層、物理層。

    3、那麼OSI究竟是用來幹什麼的?

    OSI模型定義了開放系統的層次結構以及各層之間的相互關係及各層所包含的服務,OSI模型是作為一個框架來協調和組織各層協議的制定,也是對網路內部結構最精練的概括與描述進行整體修改。

    OSI的服務定義詳細說明了各層所提供的服務。某一層的服務就是該層及其下各層的一種能力,它透過介面提供給更高一層。各層所提供的服務與這些服務是怎麼實現的無關。同時,各種服務定義還定義了層與層之間的介面和各層的所使用的原語,但是不涉及介面是怎麼實現的。

    簡言之OSI模型就是一套標準,網際網路大部分協議都是基於OSI模型進行開發。

    當今的網際網路有著各式各樣的應用,誇張一點可以說是隻有你想不到,沒有你找不到的,OSI模型就是為了網路的互相通訊以及形形色色的網路應用的實現而建立的。

    網路裝置需要執行許許多多的網路協議以實現當今網際網路所需要的各種功能,面對種類繁多的功能,我們可以將各式各樣的功能按照不同的功能劃分為一個整體模型,有著相似的功能的劃分為同一層次。

    二、OSI七層

    OSI參考模型的各個層次的劃分遵循下列原則:

    同一層中的各網路節點都有相同的層次結構,具有同樣的功能。

    同一節點內相鄰層之間透過介面(可以是邏輯介面)進行通訊。

    七層結構中的每一層使用下一層提供的服務,並且向其上層提供服務。

    不同節點的同等層按照協議實現對等層之間的通訊。

    1、 物理層

    物理層主要是指傳輸資料所需要的物理硬體鏈路,如光纜、電纜、雙絞線、無線電波(WiFi)等方式。

    物理層的作用就是透過物理手段把硬體裝置(如電腦、路由器、交換機等)連線起來,它主要規定了網路的一些電氣特性,作用是負責傳送0和1的電訊號。

    在這裡說明一下,透過物理手段將裝置連線起來組成區域網,物理手段就是光纜、電纜、雙絞線、無線電波(WiFi)等,比如中美之間的網路通訊是透過海底光纜。

    兩個不同的區域網(比如電信的網路和移動的網路)通訊,電信手機先連線電信的伺服器,移動手機連線到移動伺服器,電信和移動之間是透過物理手段連結的,這樣電信和移動的網路就能夠實現互相通訊了。

    下圖是全球網際網路跨國通訊光纜的連線情況:

    從上圖可以看到國家與國家,大洲與大洲之間都透過各種密密麻麻的線路進行連線,可以說整個網際網路就是就無數臺硬體裝置和無數條線路所組成的一個龐大的區域網,大至運營商的高效能網路,小至家裡的無線路由器,這些都是組成網際網路的一部分。

    2、 資料鏈路層

    二層交換機就是工作在資料鏈路層

    透過上面對物理層的講解,我們都知道物理只是負責傳送0和1的電訊號,單單這些0和1的電訊號是沒有任何意義的,所有必須要規定解讀方式:多少個0和1算一組?每個訊號有什麼意義?——這就是鏈路層的意義,它在物理層的上方,確定了0和1的分組方式。

    2.1、MAC地址

    大約在20世界70、80年代的時候,有很多家公司都有自己研發的網路型別,每家公司都有自己的電訊號分組方式。例如大名鼎鼎IBM的令牌環網路,但是逐漸地,各式各樣的網路都被一種叫做"乙太網"(Ethernet)的協議,佔據了主導地位。

    乙太網規定,一組電訊號構成一個數據包,再由資料包組成一個數據鏈路層的資料協議單元,這個單元叫做"幀"(Frame)。每一幀分成兩個部分:標頭(Head)和資料(Data)。把資料包封裝成幀的目的是為了資料包的可靠傳輸。

    "標頭"包含資料包的一些說明項,比如傳送者、接受者、資料型別等等;"資料"則是資料包的具體內容。

    "標頭"的長度,固定為18位元組。"資料"的長度,最短為46位元組,最長為1500位元組。因此,整個"幀"最短為64位元組,最長為1518位元組。如果資料很長,就必須分割成多個幀進行傳送。

    上面提到,乙太網資料包的"標頭",包含了傳送者和接受者的資訊。那麼,傳送者和接受者是如何標識呢?

    乙太網規定,連入網路的所有裝置,都必須具有"網絡卡"介面。資料包必須是從一塊網絡卡,傳送到另一塊網絡卡。網絡卡的地址,就是資料包的傳送地址和接收地址,這叫做MAC地址。

    每塊網絡卡出廠的時候,都有一個全世界獨一無二的MAC地址,長度是48個二進位制位,通常用12個十六進位制數表示。

    前6個十六進位制數是廠商編號,後6個是該廠商的網絡卡流水號。有了MAC地址,就可以定位網絡卡和資料包的路徑了。

    2.2、廣播

    定義地址只是第一步,後面還有更多的步驟。

    首先,一塊網絡卡怎麼會知道另一塊網絡卡的MAC地址?有一種叫做ARP的協議,可以解決這個問題。這個留到後面介紹,這裡只需要知道就可以了,乙太網資料包必須知道接收方的MAC地址,然後才能傳送幀。

    其次,就算有了MAC地址,系統怎樣才能把資料包準確送到接收方?乙太網採用了一種很"原始"的方式,它不是把資料包準確送到接收方,而是向本網路內所有計算機發送,讓每臺計算機自己分析自己是不是這個資料包的接收方。

    上圖中,計算機1向計算機2傳送一個數據包,同一個子網路的3、4、5計算機都會收到這個包。它們讀取這個包的"標頭",找到接收方的MAC地址,然後與自身的MAC地址相比較,如果兩者相同,就接收這個包,做進一步處理,若不是就丟棄這個包。這種傳送方式就叫做"廣播"(broadcasting)。(這就是二層交換機的工作方式,以後的文章會作詳細的介紹敬請關注。)

    有了資料包的定義、網絡卡的MAC地址、廣播的傳送方式,"連結層"就可以在多臺計算機之間傳送資料了。

    3、 網路層

    三層交換機和路由器就是工作在網路層。

    根據上面的講解,理論上只需要依靠MAC地址和廣播這兩項技術,在廣州的網絡卡發出的資料包就可以被在上海的網絡卡接收了這樣就可以互相通訊了,但如果全世界的計算機都是在用這種方式進行通訊的話,那麼每一臺計算機發出的資料包都會以廣播的形式被全世界的電腦接收,全世界的電腦再一一進行分析,這種方式是非常低效的,且間接造成了非常大的資源浪費。

    因此我們必須找到一種方法,區分哪些MAC地址屬於同一個子網,如果是同一個子網就採用廣播,如果不是,則採用"路由"的方式傳送,但是這個功能不是MAC地址技術所具備的,這也間接地導致了網路層的出現,網路層的作用是引入一套新的地址,使我們能夠區分哪些計算機屬於同一個子網,這個套機制就叫做"網路地址",也就是我們常說的"IP地址"。 (下面會對路由作出解析)

    3.1、IP協議

    規定網路地址的協議,叫IP協議。他定義的地址,就叫做"IP地址"。IP協議目前有兩根版本,IPv4和IPv6,而目前較為廣泛使用的是IP協議版本4,也就是IPv4,IPv4由32位二進位制所組成,IPv6目前正普及,IPv6由128位組成,長度是IPv4的4倍之多號稱可以為全世界的每一粒沙子編上一個IP地址。

    在2011年,IPv4的地址已經完全分配完畢,但IPv6目前仍處於部署的初期,仍然不能大規模使用。

    IPv4地址由32個二進位制位組成,習慣上,我們分成四段十進位制數表示IPV4地址,從0.0.0.0到255.255.255.255。

    【拓展一下IPv4地址在家裡一直在用啊,192.168.1.1路由器上的這個地址不就是IPv4地址嗎?怎麼會已經分發完畢了?事實上家裡路由器所使用的192.168.1.1 這個網段被稱為私有地址,私有地址在網際網路上是不能進行通訊的,私有地址只能在內部區域網使用,那麼問題又來了,如果私有地址不能在網際網路進行通訊,那麼我在和家裡是怎樣上網的?家裡上網普遍的形式都是撥號,透過撥號運營商會分配一個"真正"的IPv4地址給你,然後透過路由器內建的"NAT"協議進行地址、埠轉換進行上網。(NAT是什麼東西這裡就不詳細說明了,以後的文章會詳細說明的,現在你只需要知道,NAT協議是對於IPv4地址短缺的問題的救星,另一方面也可以理解為IPv6普及的最大的障礙之一。)】

    網際網路上的每一臺計算機,都會分配到一個IP地址。這個地址分成兩個部分,前一部分代表網路,後一部分代表主機。比如,IP地址192.168.1.1,這是一個32位的地址,它的網路部分是前24位(192.168.1),那麼主機部分就是後8位(最後的那個1)。處於同一個子網路的電腦,它們IP地址的網路部分必定是相同的,也就是說192.168.1.1與192.168.1.100是處在同一個子網路。

    3.2、子網掩碼

    但是,問題在於單從IP地址,我們無法判斷網路部分。還是以192.168.1.1為例,它的網路部分,到底是前24位,還是前16位,甚至前28位,單從IP地址上是看不出來的,那麼,怎樣才能從IP地址,判斷兩臺計算機是否屬於同一個子網路呢?這就要用到另一個引數"子網掩碼"(subnet mask)。

    所謂"子網掩碼",就是表示子網路特徵的一個引數。它在形式上等同於IP地址,也是一個32位二進位制數字,它的網路部分全部為1,主機部分全部為0。比如,IP地址192.168.1.1,如果已知網路部分是前24位,主機部分是後8位,那麼子網路掩碼就是

    11111111.11111111.11111111.00000000,寫成十進位制就是255.255.255.0。

    知道"子網掩碼",我們就能判斷,任意兩個IP地址是否處在同一個子網路。較為簡單的方法是已知 192.168.1.10和192.168.1.100 兩個IP的子網掩碼都是255.255.255.0(

    11111111.11111111.11111111.00000000),兩個IP地址都在同一子網的前提條件是網路位相同,網路位就是255(二進位制中的"1"),主機位就是0(二進位制中的"0"),這樣就能判斷出192.168.1.10和192.168.1.100的網路位都是192.168.1這就就能知道兩個IP是否同屬於一個子網(這個方法對於"可變子網長度掩碼"也就是VLSM不適用)。

    總結一下,IP協議的作用主要有兩個,一個是為每一臺計算機分配IP地址,另一個是確定哪些IP地址在同一個子網路。

    3.3、IP資料包

    根據IP協議傳送的資料,就叫做IP資料包。想必,其中肯定包含有IP地址的資訊。

    但是前面說過,乙太網資料包只包含MAC地址,並沒有IP地址的欄位。那麼是否需要修改資料定義,再新增一個欄位呢?不需要,我們可以把IP資料包直接放進乙太網資料包的"資料"部分,因此完全不用修改乙太網的規格。這就是網際網路分層結構的好處:上層的變動完全不涉及下層的結構。

    具體來說,IP資料包也分為"標頭"和"資料"兩個部分。

    "標頭"部分主要包括版本、長度、IP地址等資訊,"資料"部分則是IP資料包的具體內容。它放進乙太網資料包後,乙太網資料包就變成了下面這樣。

    IP資料包的"標頭"部分的長度為20到60位元組,整個資料包的總長度最大為65,535位元組。因此,理論上,一個IP資料包的"資料"部分,最長為65,515位元組。前面說過,乙太網資料包的"資料"部分,最長只有1500位元組。因此,如果IP資料包超過了1500位元組,它就需要分割成幾個乙太網資料包,分開發送了。

    3.4、ARP協議

    因為IP資料包是放在乙太網資料包裡傳送的,所以我們必須同時知道對方的MAC地址和IP地址。正常情況下,對方的IP地址是已知的,但是我們不知道它的MAC地址。

    所以,我們需要一種協議,能夠從IP地址得到MAC地址。

    這裡又可以分成兩種情況。第一種情況,如果兩臺主機不在同一個子網路,那麼事實上沒有辦法得到對方的MAC地址,只能把資料包傳送到兩個子網路連線處的"閘道器"(gateway),讓閘道器去處理(閘道器下面會解析)。

    第二種情況,如果兩臺主機在同一個子網路,那麼我們就可以使用ARP協議,得到對方的MAC地址,ARP協議也是發出一個數據包(包含在乙太網資料包中),其中包含它所要查詢主機的IP地址,在對方的MAC地址這一欄,填的是FF:FF:FF:FF:FF:FF,表示這是一個"廣播"地址。它所在子網中的每一臺主機,都會收到這個資料包,從中取出IP地址,與自身的IP地址進行比較。如果兩者相同,都做出回覆,並向對方報告自己的MAC地址,若與自身IP不符合就丟棄這個包。

    總之,有了ARP協議之後,我們就可以得到同一個子網路內的主機MAC地址,可以把資料包傳送到任意一臺主機之上了。

    3.5、閘道器or路由

    路由器:

    上面我們提到若兩臺計算機處於兩個不同的子網就需要使用路由來進行通訊,那麼路由究竟為何物呢?下面我們一一道來。

    路由器(Router)是用於連線多個處於不同子網網路的網路,當資料從一個子網傳輸到另一個子網時,可透過路由器來完成。因此,路由器具有判斷網路地址和選擇路徑的功能,它能在多子網互聯環境中為各個子網直接建立連線。

    路由器的主要工作就是為經過路由器的每個資料幀尋找一條最佳傳輸路徑,並將該資料有效地傳送到目的站點。由此可見,選擇最佳路徑的策略即路由演算法是路由器的關鍵所在。為了完成這項工作,在路由器中儲存著各種傳輸路徑的相關資料——路由表(Routing Table),供路由選擇時使用,路由表中儲存著子網的資訊和下一個路由器的名字等內容。路由表可以是由系統管理員固定設定好的,也可以由系統動態修改,可以由路由器自動調整,也可以由主機控制。(路由表為何物?可以看一下我發表的文章《如何配置靜態路由?》)

    閘道器:

    閘道器是路由器中的一種,一般來說閘道器既可以用於廣域網互連,也可以用於區域網互連。 閘道器是一種充當轉換重任的計算機系統或裝置。在使用不同的通訊協議、資料格式或語言,甚至體系結構完全不同的兩種系統之間,閘道器是一個翻譯器。

    家裡所使用的無線路由器的LAN介面的IP地址(一般為192.168.1.1和192.168.0.1)就是你所在區域網中的閘道器,當你所在的區域網的計算機需要和其它區域網中的計算機,或者需要訪問網際網路的時候,你所在區域網的計算機會先把資料包傳輸到閘道器(路由器的LAN介面),然後再由閘道器進行轉發。

    舉個簡單的例子,一套房子內部有三個房間、一個大門,房子可以比喻成是你的電腦所在的區域網,三個房間可以比喻成你所在區域網中的三臺電腦,房子的大門可以比喻成閘道器。當你在房子內的一個房間進入另一個房間的時候並不需要經過房子的大門,在區域網中也是一樣的,處在同一區域網的中計算機進行通訊的時候並不需要用到閘道器。(使用MAC地址和廣播技術通訊)當你需要到鄰居家去玩的時候需要要從你家房子的大門出去(IP協議),相應的,區域網中的計算機需要和其它區域網中的計算機、和網際網路上的計算機進行通訊的時候,資料包必須要透過閘道器才可以到達。

    這就是為什麼我們在有路由器上網的時候,必須要把計算機中的預設閘道器地址設定成路由器LAN介面的地址的原因,因為路由器的LAN介面就是你所在網路的閘道器,你的電腦要上網,資料包必須要經過閘道器轉發出去。目前家用路由器一般使用192.168.1.1和192.168.0.1作為LAN介面的地址,這兩個地址也是最常見的閘道器地址。

    作為普通的使用者,只需要記住,手動配置ip地址的時候,預設閘道器的地址就是路由器的LAN介面的地址,也就是你路由器的管理頁面登陸地址。如果你選擇自動獲取ip地址,那麼就不需要關注預設閘道器地址了,但路由器的DHCP伺服器分配下來的預設閘道器也一定是路由器的LAN介面的ip地址。

    4、 傳輸層

    4.1、埠號

    有了MAC地址和IP地址,我們已經可以在網際網路上任意兩臺主機上建立通訊。

    接下來的問題是,同一臺主機上有許多程式都需要用到網路,比如,你一邊瀏覽網頁,一邊與朋友線上聊天。當一個數據包從網際網路上發來的時候,你怎麼知道,它是表示網頁的內容,還是表示線上聊天的內容?

    也就是說,我們還需要一個引數,表示這個資料包到底供哪個程式(程序)使用。這個引數就叫做"埠"(port),它其實是每一個使用網絡卡的程式的編號。每個資料包都發到主機的特定埠,所以不同的程式就能取到自己所需要的資料。

    "埠"是0到65535之間的一個整數,正好16個二進位制位。0到1023的埠被系統佔用,使用者只能選用大於1023的埠。不管是瀏覽網頁還是線上聊天,應用程式會隨機選用一個埠,然後與伺服器的相應埠聯絡。

    "傳輸層"的功能,就是建立"埠到埠"的通訊。相比之下,"網路層"的功能是建立"主機到主機"的通訊。只要確定主機和埠,我們就能實現程式之間的交流。因此,Unix系統就把主機+埠,叫做"套接字"(socket)。有了它,就可以進行網路應用程式開發了。(那麼Socket是什麼這問題就不在這文章所討論的範圍內了,有興趣的朋友可以百度一下)

    0.0.0.0:135其中135就是被佔用的埠號,一次類推。

    4.2、TCP\UDP

    UDP和TCP協議都是傳輸層的協議,他們的主要作用就是在應用層的資料包標頭加上埠號(或者在IP協議的資料包中插入埠號)。

    UDP協議的優點是比較簡單,容易實現,但是缺點是可靠性較差,一旦資料包發出,無法知道對方是否收到。

    TCP協議可以近似認為是有確認機制的UDP協議。每發出一個數據包都要求確認。如果有一個數據包遺失,就收不到確認,發出方就知道有必要重發這個資料包了。

    TCP協議主要的確認機制是"三次握手,四次揮手",由於這個協議非常複雜。(TCP\IP協議會在以後的文章中詳細進行講解,敬請關注。)

    5、 會話層

    會話層,是使用者應用程式和網路之間的介面,主要任務是:向兩個實體的表示層提供建立和使用連線的方法。將不同實體之間的表示層的連線稱為會話。因此會話層的任務就是組織和協調兩個會話程序之間的通訊,並對資料交換進行管理。

    使用者可以按照半雙工、單工和全雙工的方式建立會話。當建立會話時,使用者必須提供他們想要連線的遠端地址。而這些地址與MAC(介質訪問控制子層)地址或網路層的邏輯地址不同,它們是為使用者專門設計的,更便於使用者記憶。域名就是一種網路上使用的遠端地址例如:www.toutiao.com就是一個域名。

    會話層的具體功能如下:

    會話管理:允許使用者在兩個實體裝置之間建立、維持和終止會話,並支援它們之間的資料交換。例如提供單方向會話或雙向同時會話,並管理會話中的傳送順序,以及會話所佔用時間的長短。

    會話流量控制:提供會話流量控制和交叉會話功能。

    定址:使用遠端地址建立會話連線。

    出錯控制:從邏輯上講會話層主要負責資料交換的建立、保持和終止,但實際的工作卻是接收來自傳輸層的資料,並負責糾正錯誤。會話控制和遠端過程呼叫均屬於這一層的功能。但應注意,此層檢查的錯誤不是通訊介質的錯誤,而是磁碟空間、印表機缺紙等型別的高階錯誤。

    6、 表示層

    表示層它對來自應用層的命令和資料進行解釋,對各種語法賦予相應的含義,並按照一定的格式傳送給會話層。其主要功能是"處理使用者資訊的表示問題,如編碼、資料格式轉換和加密解密"等。

    表示層的具體功能如下:

    資料格式處理:協商和建立資料交換的格式,解決各應用程式之間在資料格式表示上的差異。

    資料的編碼:處理字符集和數字的轉換。例如由於使用者程式中的資料型別(整型或實型、有符號或無符號等)、使用者標識等都可以有不同的表示方式,因此,在裝置之間需要具有在不同字符集或格式之間轉換的功能。

    壓縮和解壓縮:為了減少資料的傳輸量,這一層還負責資料的壓縮與恢復。

    資料的加密和解密:可以提高網路的安全性。

    7、 應用層

    應用程式收到"傳輸層"的資料,接下來就要進行解讀。由於網際網路是開放架構,資料來源五花八門,必須事先規定好格式,否則根本無法解讀。"應用層"的作用,就是規定應用程式的資料格式。舉例來說,TCP協議可以為各種各樣的程式傳遞資料,比如Email、WWW、FTP等等。那麼,必須有不同協議規定電子郵件、網頁、FTP資料的格式,這些應用程式協議就構成了"應用層"。這是最高的一層,直接面對使用者。

    這裡的引用層是文章開頭的OSI七層模型的最上面三層的綜合,因為是直接面向用戶,因此它的主要作用是"消除裝置固有資料格式和網路標準資料格式直接的差異",因為在網路流中,資料的格式是標準化的,但是具體到不同得裝置,不同的作業系統上,他的要求資料呈現格式是不同的,因此需要轉化成統一的、使用者能夠感知的聲音、圖片、文字等資訊,這就是應用層做的事情。

    註釋:

    1 國際化標準組織(International Organization for Standardization)是非政府性的標準化制定機構,其宗旨是:在世界範圍內促進標準化工作的發展,以利於國際物資交流和互助,並擴大知識、科學、技術和經濟方面的合作。其主要任務是:制定國際標準,協調世界範圍內的標準化工作,與其他國際性組織合作研究有關標準化問題。

    2 CCITT是國際電報電話諮詢委員會的簡稱,它是國際電信聯盟(ITU)前身。主要職責是研究電信的新技術、新業務和資費等問題,並對這類問題透過建議使全世界的電信標準化。

  • 7 # 話說攝影

    OSI七層參考模型,全稱Open System Interconnection Reference Model,開放系統互連參考模型。

    OSI參考模型是國際標準化組織ISO於1984年提出的,提出的目的,一是在邏輯結構上進行了分層,使網路結構更加清晰,易於學習和操作。二是每一層都可以專注於自身協議和標準的制定,促進標準化工作,而且各層的協議可以相對獨立的發展,各層協議間影響較小,三是有了統一的模型,使不同廠商裝置之間可以互相相容。

    其實很好理解,看到OSI參考模型,我就想到了漢堡,漢堡的模型就是兩片面包夾一塊肉和一片蔬菜,大家都可以按這個模式去學習做漢堡,我們可以專門研究漢堡中間這塊肉是用雞肉還是牛肉,或者不同口味,但對面包和蔬菜的影響較小,麵包供應商和蔬菜供應商、漢堡供應商可以隨機搭配,從而生產出適合不同人口味的漢堡。

    那這個模型是什麼樣的呢?

    OSI七層參考模型,自上而下為:應用層、表示層、會話層、傳輸層、網路層、資料鏈路層、物理層。

    其中應用層、表示層、會話層屬於高層,這一般是軟體工程師的範疇,傳輸層、網路層、資料鏈路層、物理層屬於底層,這是網路工程師關注的範疇。

    OSI參考模型各個層次的基本功能如下:

    應用層:OSI參考模型中最靠近使用者的一層,可分為"系統應用層"、"使用者應用層"。為應用程式提供網路服務。

    表示層:提供各種用於應用層資料的編碼和轉換功能,確保一個系統的應用層傳送的資料能被另一個系統的應用層識別。典型功能:rar壓縮解壓工具

    會話層:負責建立、管理和終止表示層實體之間的通訊會話。該層的通訊由不同裝置中的應用程式之間的服務請求和響應組成。典型應用:服務提供方對輸入的賬號/密碼進行驗證,有問題,終止通訊服務。

    傳輸層:提供面向連線或非面向連線的資料傳遞以及進行重傳前的差錯檢測。提高資訊交流可靠性。

    網路層:提供邏輯地址,供路由器確定路徑。

    資料鏈路層:將位元組合成位元組,再將位元組組合成幀,使用鏈路層地址(乙太網使用MAC地址)來訪問介質,並進行差錯檢測。

    物理層: 實現邏輯上的資料與可感知的光/電訊號之間的轉換。

    但其實OSI參考模型更多地是從概念上對網路結構進行分層,大家懂個概念就好,OSI模型協議較為複雜,沒有得到廣泛應用,TCP/IP模型因其開放性和易用性成為網際網路主流協議,所以在實際應用中還是以TCP/IP協議簇為主。

    現實中網路的設計和實現,都是用TCP/IP協議簇。TCP/IP協議簇和OSI協議簇使用的具體協議是不同的,而我們常用的協議,如HTTP,FTP,TCP,IP等協議,都是TCP/IP協議簇。所以,如果學習網路知識,還是要以TCP/IP協議簇為主。

    TCP/IP標準模型就是由OSI參考模型演變而來的。

  • 8 # 弄潮傳媒助手

    模型的概念,就像肉夾饃的模型,兩片餅饃,中間夾著一塊肉,塗上番茄醬、滷肉醬或者辣醬等等。

    簡單來說,OSI參考模型是為了使網路結構更加清晰,易於學習和操作,同時進行標準化工作的一種模式。

    而OSI模型有七層,下面我們從高到低來具體分析這七層各自起著怎樣的作用。

    最高的是應用層:這是最靠近使用者的一層,內部又包括"系統應用層"、"使用者應用層",它是網路終端,非常重要。

    其次是表示層:這一層有一個大家熟悉的工具,rar壓縮解壓工具。顧名思義,它就是確保一個數據信息可以在兩個不同系統之間傳遞,起著溝通的作用。

    然後到了會話層:這一層主要起著“紀檢委”和“安全員”的作用,它對各種來往的賬戶進行密碼驗證,再選擇放行或者阻攔。

    之後是傳輸層:如果說會話層是對來往使用者和賬號進行檢查,那傳輸層則是對各種連結和資料內容進行檢查,進行查錯,提高資訊傳遞的質量和可靠性。

    而網路層:這一層比較簡單好懂,它就是提供網址,為路由器打通前路,更快更好地提供無線網。

    然後就到了資料鏈路層:這一層是把傳輸層更加細化,將資料的位元組組成,以幀為單位,再透過幀進入鏈路層訪問介質,進行查錯檢測。

    最後一層是物理層: 這一層是一物理邏輯為原則,將資料轉化成光訊號或者電訊號。

    OSI(Open System Interconnect,開放系統互聯)是ISO組織研究的網路互聯模型,將網路通訊過程定義成七層模型。

    以上就是OSI模型的基本工作層,學習了這一模型,大家是不是對網路當中具體的通訊過程更加清楚了呢?期待你的留言評論!

  • 中秋節和大豐收的關聯?
  • 我想在老家自己的宅基地上建一層平房,有沒有合適的圖紙幫忙參考,準備花20萬就行了?