TCP/IP與OSI參考模型之異同

人與人之間的溝通靠的是語言,計算機(jī)與計算機(jī)如何通信呢?計算機(jī)和計算機(jī)的溝通主要靠的就是協(xié)議。在計算機(jī)通信中,事先達(dá)成一個詳細(xì)的約定,并遵循這一約定進(jìn)行處理,這種約定就是協(xié)議。那么,目前在計算機(jī)通信中,存在哪些協(xié)議呢?

  • ISO制定了一個國際標(biāo)準(zhǔn)OSI,對通信系統(tǒng)進(jìn)行了標(biāo)準(zhǔn)話,這就是我們通常說的7層OSI協(xié)議。
  • 目前互聯(lián)網(wǎng)所遵守的協(xié)議是TCP/IP協(xié)議,由IETF所建議的,致力于推進(jìn)其標(biāo)準(zhǔn)化作業(yè)的一種協(xié)議。

協(xié)議的分層與OSI參考模型

ISO在制定標(biāo)準(zhǔn)化OSI之前,對網(wǎng)絡(luò)體系結(jié)構(gòu)相關(guān)問題進(jìn)行了充分的討論,最終提出了作為通信協(xié)議設(shè)計指標(biāo)的OSI參考模型。這一模型將通信協(xié)議中必要的功能分成了7層。在這一模型中,每個分層都接收由他下一層所提供的特定服務(wù),并且負(fù)責(zé)為自己的上一層提供特定的服務(wù)。上下層之間進(jìn)行交互時所遵守的約定叫做“接口”。同一層之間的交互遵守的約定叫做“協(xié)議”。OSI參考模型以及每一層的作用具體如下:

OSI參考模型的分層以及各個分層的作用

TCP/IP協(xié)議分層模型

20世紀(jì)90年代,ISO開展了OSI這一國際標(biāo)準(zhǔn)協(xié)議的標(biāo)準(zhǔn)化進(jìn)程,然而,OSI協(xié)議并沒有得到普及,真正被廣泛使用的是TCP/IP協(xié)議。OSI參考模型注重“通信協(xié)議必要的功能是什么”,而TCP/IP更強(qiáng)調(diào)“在計算機(jī)上實(shí)現(xiàn)協(xié)議應(yīng)該開發(fā)哪種程序”;雖然OSI并未被得到普及,但是TCP/IP的各種協(xié)議其實(shí)也能對應(yīng)到OSI參考模型當(dāng)中,清楚這些協(xié)議分屬于OSI的哪一層,就能對該協(xié)議的目的有所了解。下面是各個協(xié)議與OSI參考模型中各個分層之間的對應(yīng)關(guān)系。

TCP/IP與OSI參考模型
  • 硬件(物理層):TCP/IP的最底層是負(fù)責(zé)數(shù)據(jù)傳輸?shù)挠布ㄒ蕴W(wǎng)或者電話線等物理層的設(shè)備。
  • 網(wǎng)絡(luò)接口層(數(shù)據(jù)鏈路層):網(wǎng)絡(luò)接口層是利用以太網(wǎng)中的數(shù)據(jù)連路層進(jìn)行通信,屬于接口層。可以看做是設(shè)備驅(qū)動程序:即在操作系統(tǒng)和硬件之間起橋梁作用。
  • 互聯(lián)網(wǎng)層(網(wǎng)絡(luò)層):互聯(lián)網(wǎng)層使用IP協(xié)議,相當(dāng)于OSI模型中的第3層網(wǎng)絡(luò)層。IP協(xié)議基于IP地址轉(zhuǎn)發(fā)分包數(shù)據(jù),IP協(xié)議的作用是將分組數(shù)據(jù)包發(fā)送到目標(biāo)主機(jī)。TCP/IP分層中的互聯(lián)網(wǎng)層和傳輸層的功能通常是由操作系統(tǒng)提供。
    • IP:IP是跨越網(wǎng)絡(luò)傳送數(shù)據(jù)包,使整個互聯(lián)網(wǎng)都能收到數(shù)據(jù)的協(xié)議。IP協(xié)議書數(shù)據(jù)能夠發(fā)送到地球的另一端,這期間它使用IP地址作為主機(jī)的標(biāo)識。雖然IP也是分組交換的一種協(xié)議,但是他不具有重發(fā)機(jī)制。屬于非可靠性傳輸協(xié)議。
  • ICMP:IP數(shù)據(jù)包在發(fā)送途中一單發(fā)生異常,導(dǎo)致無法到達(dá)對端目標(biāo)地址時,需要給發(fā)送端發(fā)送一個發(fā)生異常的通知。ICMP就是為這一功能而制定的,有時也被用來診斷網(wǎng)絡(luò)的健康狀況。
  • 傳輸層:TCP/IP的傳輸層功能本身與OSI參考模型中的傳輸層類似。傳輸層的主要功能就是能夠讓應(yīng)用程序之間實(shí)現(xiàn)通信。
  • TCP:TCP是一種面向有連接的傳輸層協(xié)議,他可以保證兩端通信主機(jī)之間的通信可達(dá)。TCP能夠正確處理在傳輸過程中丟包、傳輸順序亂掉等異常情況。然而,為了建立與斷開連接,有時它需要至少7次的發(fā)包收包,導(dǎo)致網(wǎng)絡(luò)流量的浪費(fèi)。
  • UDP: UDP有別于TCP,他是一種面向無連接的傳輸層協(xié)議,UDP不會關(guān)注對端是否真的收到了傳送過去的數(shù)據(jù),如果需要檢查對端是否收到分組數(shù)據(jù)包,或者對端是否連接到網(wǎng)絡(luò),則需要在應(yīng)用程序中實(shí)現(xiàn)。UDP通常用于分組數(shù)據(jù)較少或者多播、廣播通信以及視頻通信等多媒體領(lǐng)域。
  • 應(yīng)用層(會話層以上以上的分層):TCP/IP的分層中,將OSI參考模型中的會話層、表示層和應(yīng)用層的功能都集中到了應(yīng)用程序中實(shí)現(xiàn)。

傳輸方式的分類

  • 面向有連接和無連接類型
  • 面向有連接類型:面向有連接型中,在發(fā)送數(shù)據(jù)之前,需要在收發(fā)主機(jī)之間連接一條通信線路。類似人們平常打電話,在通信傳輸前后,專門進(jìn)行建立和斷開連接的處理。
  • 面向無連接類型:面向無連接類型則不要求建立和斷開連接。發(fā)送端可與任何時候自由發(fā)送數(shù)據(jù),反之,接收端也永遠(yuǎn)不知道自己會從何時從哪里收到數(shù)據(jù)。因此,在面向無連接的情況下,接受端需要時常確認(rèn)是否收到了數(shù)據(jù)。類似人們?nèi)ム]寄寄包裹,在面向無連接中,不需要確認(rèn)對端是否存在,即使接收端不存在或者無法接受數(shù)據(jù),發(fā)送端也能將數(shù)據(jù)發(fā)送出去。
  • 電路交換和分組交換
  • 電路交換:主要用于過去的電話網(wǎng)。電路交換中,交換機(jī)主要負(fù)責(zé)數(shù)據(jù)的中轉(zhuǎn)處理,計算機(jī)首先被連接到交換機(jī),交換機(jī)與交換機(jī)之間則由眾多通信線路再繼續(xù)連接。因此,計算機(jī)之間在發(fā)送數(shù)據(jù)時,需要通過交換機(jī)與目標(biāo)主機(jī)建立通信電路,連接電路被稱為建立連接,建立連接以后,用戶就可以一直使用這條電路,直到該連接被斷開為止。
  • 分組交換:因?yàn)樵陔娐方粨Q中,兩臺通信的主機(jī)之間需要建立連接,且是獨(dú)占線路進(jìn)行數(shù)據(jù)傳輸?shù)模渌嬎銠C(jī)只能等待這臺計算機(jī)處理結(jié)束后才有機(jī)會使用這條電路手收發(fā)數(shù)據(jù)。鑒于電路交換的弊端,人們想出了分組交換,即讓連接到通信電路的計算機(jī)將所要發(fā)送的數(shù)據(jù)分成多個數(shù)據(jù)包,按照一定的順序排列之后分別發(fā)送。有了分組交換,數(shù)據(jù)被細(xì)分之后,所有的計算機(jī)就可以一齊手法數(shù)據(jù),提高了通信線路的利用率。在分組的過程中,在每個分組的首部寫入了發(fā)送端和接收端的地址,因此,一條線路可以同時為多個用戶提供服務(wù)。在分組交換過程中,有分組交換機(jī)(路由器)連接通信線路,分組交換的大致處理過程:發(fā)送端計算機(jī)將數(shù)據(jù)分組發(fā)送給路由器,路由器收到這些分組數(shù)據(jù)以后,緩存到自己的緩沖區(qū),然后再轉(zhuǎn)發(fā)給目標(biāo)計算機(jī)。路由器接收到數(shù)據(jù)以后會順序緩存到響應(yīng)的隊列中,再以先進(jìn)先出的順序?qū)⑺麄冎鹨话l(fā)送出去。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容