国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 網絡通信 > 正文

新手入門:解讀OSI七層網絡協議之傳輸層

2019-11-04 12:04:30
字體:
來源:轉載
供稿:網友

介于應用層和網絡層之間的傳輸層是分層網絡體系結構的重心部分。它的重要任務就是直接給運行在不同主機上的應用程序提供通信服務。

傳輸層協議為不同主機上的應用程序進程提供邏輯通信。邏輯通信的意思就是盡管通信的應用進程之間不是物理連接的(實際上,它們可能是在一個行星的不同位置,通過各種各樣的路由器和各種鏈接類型連在一起),而從應用程序的角度來看,它們就像是物理連接的一樣。應用程序通過使用傳輸層提供的邏輯通信互相傳輸信息,而不用考慮用來傳送這些信息的物理基礎設施。團.1描述了邏輯通信的概念。

如圖1所示,傳輸層協議實現于終端系統上,而不是在網絡路由器上。網絡路由器只作用于3—PDU的網絡層字段,而不作用于傳輸層字段。

新手入門:解讀OSI七層網絡協議之傳輸層(圖一)

圖1 傳輸層在兩個應用程序之間提供了邏輯的而不是物理的通信

在發送方,傳輸層將應用程序發送的消息轉換成4—PDU形式(即:傳輸層協議數據單元)。構造4-PDU的過程就是將應用程序消息分割成較小的塊,井給每個塊加上一個頭部。然后,傳輸層將這些4-PDU傳遞給網絡層。在網絡層,每一個4—PDU又被封裝到一個3—PDU今。在接收方,傳輸層接收從網絡層傳送過來的4—PDU,并將這些4-PDU的頭部去掉,將消息重新裝配,最后將它們傳遞給接收進程。

一個計算機網絡可以為網絡應用程序制定多個傳輸層協議。例如,因特網(Internet)有兩個協議——TCP和UDP。每一個協議都為調用應用程序提供一套不同的服務。

所有的傳輸層協議都為應用程序提供多路復用多路分解服務。除了多路復用移路分解服務之外,傳輸層協議還可以給應用進程提供其他服務,包括可靠數據傳輸、帶寬保證和傳輸延遲保證。

傳輸層和網絡層之間的關系

在協議棧中,傳輸層位于網絡層之上,傳輸層協議為不同主機上運行的進程提供邏輯通信,而網絡層協議為不同主機提供邏輯通信。這個區別很微妙,但是卻非常重要。讓我們用一家人作為類比來說明一下這個區別。

設想一下有兩所房子,一個位于東海岸而另一個位于西海岸,每所房子里都住著12個小孩。東海岸的房子里的小孩和西海岸房子里的小孩是堂兄妹。兩所房子里的孩子喜歡互相通信——每個孩子每周都給每一個堂兄妹寫一封信,每一封信都由老式的郵局分別用信封來寄。這樣,每一家每周就都有144封信要送到另一家(這些孩子假如可以用電子郵件的話就可以省掉很多錢了!)在每一家里面.都由一個孩子——西海岸的房子里的Ann和東海岸房子里的BilI——負責郵件的收集和分發。每周Ann都從她的兄弟姐妹那里收集起來信件,并將這些信件送到天天都來的郵遞服務員那里。當信件到達西海岸的房子,Ann又將這些信件分發給她的兄弟姐妹。BilI在東海岸有著同樣的工作。

在這個例于中,郵遞服務提供著兩所房子之間的邏輯通信——郵遞服務在兩所房子之間傳遞郵件,而不是針對每個人的服務。另一方面,Ann和BilI提供堂兄妹之間的邏輯通信——Ann和BilI從他們的兄弟姐妹那里收集郵件并將郵件遞送給他們。注重,從這些堂兄妹的角度看,Ann和BilI是郵件的服務人,盡管他們倆只是端到端寄送服務的一部分(終端系統部分)。這個例子是傳輸層和網絡層之間的關系的一個形象比喻:

主機(也稱為終端系統)=房子 

進程=堂兄妹

應用程序消息=信封里的信

網絡層協議=郵遞服務(包括郵遞員)

傳輸層協議=Ann和Bill

繼續我們的這個例子,Ann和Bill各安閑他們的家中做所有的工作:他們不負責各個郵遞中心的郵件分類工作以及將郵件從一個中心送到另一個中心的工作。這正與傳輸層協議在終端系統中的作用一樣。在一個終端系統中,傳輸層協議將應用進程的消息傳送到網絡邊緣(也就是網絡層),反之亦然:但是它并不涉及消息是如何在網絡層之間傳送的工作。事實上,正如圖1中所說的,中間路由器對于傳輸層加在應用程序消息上的信息不能做任何識別和處理。

繼續我們的例子,假設Ann和Bill都去度假了,另外一對堂兄妹——Susan和Harvey代替——他們來提供家庭內部的郵件收取和分發工作。不幸的是,Susan和Harvey所提供的收集和分發工作與Ann和Bill所提供的不完全相同。對于年齡更小的Susan和Harvey來說,他們收集和分發郵件的頻率比較少,而且偶然會發生丟失信件的事情(這些信件偶然被家里的狗吃掉了)。這樣,這一對堂兄妹Susan和Harvey提供了一套不同于Ann和Bill的服務(也就是說,服務模型不同)。打比方來說,正如一個計算機網絡可以接受不同的傳輸層協議一樣,每一個協議為應用程序提供不同的服務模型。

Ann和Bill所可能提供服務明顯地受限于郵遞服務所提供的服務。例如,假如郵遞服務并不提供在兩所房子之間傳遞郵件所需要的最大時限(如3天),那么Ann和Bill也就不能保證各個堂兄妹之間的郵件的最大延遲。同樣,傳輸層協議所提供的服務也通常受限于位于其下方的網絡層協議。假如網絡層協議不能提供主機之間傳送的4—PDU的延遲和帶寬保證,那么傳輸層協議也不能提供進程之間傳送的消息的延遲和帶寬保證。

然而,即使當下面的網絡層協議使得網絡層并不能提供某些相應服務時,傳輸層協議仍然可以提供某些特定服務。例如,即使下面的網絡層協議并不是可靠的,也就是說,即使網絡層協議丟失、篡改或者復制了傳送的數據包,傳輸層協議也可以提供可靠的數據傳輸服務。另一個例子是,即使網絡層不能保證4—PDU的保密性,傳輸層協議也可以通過加密的方式來保證應用程序消息不被入侵吝讀取。我們會在以后的文章里逐漸接觸到這些問題。

因特網中傳輸層

回憶一下因特網,通常是TCP/ip網絡,應用層可以得到兩種不同的傳輸層協議。其中—·種協議是UDP(User Datagram PRotocol),它為調用應用進程提供了一種不可靠的、無連接的服務。第二種協議是TCP(Tansmission Control Protocol),它為調用應用進程提供了一種可靠的、面向連接的服務。當設計一個網絡應用程序時,應用程序外發者必須指定這兩種傳輸協議中的一種。

在進行UDP和TCP的簡單介紹之前,我們有必要先簡介—下因特網的網絡層。因特網的網絡層協議有——個名字——ID,也就是iNTERNET Protocol。IP提供了主機之間的邏輯通信。IP服務模型是一個盡力傳送服務。這就意味著IP盡它最大的努力在通信主機之間傳送數據段,但是卻不提供任何保障。非凡是,它不能保證數據段傳輸的安全性,不能保證數據段的順序傳輸,不能保證數據段傳輸的數據完整性?;谶@些原因,IP被稱為不可靠服務。每一個主機都要有一個IP地址。

在對IP服務模型進行了簡要介紹之后,讓我們來總結—下TCP和UDP的服務模型。UDP和TCP的基本職責就是將IP的兩個終端系統之間的傳送服務擴展為終端系統上運行的兩個進程之間的傳送服務。主機—主機的傳送到進程—進程傳送的擴展被稱為應用程序的多路復用和多路分解。UDP和TCP還通過在頭部中加入糾錯字段來提供完整性檢測。這兩個最小的傳輸層服務——進程—進程數據傳送和錯誤檢測——是UDP所提供的惟一的兩個服務!非凡是,正如IP一樣,UDP是一種不可靠的服務,它不能保證由一個進程送出的數據可以完整地到達目標進程。

另一方面,TCP為應用進程提供了幾種額外的服務。首先,也是最重要的,它提供可靠的數據傳輸。通過使用數據流控制、序列編號、確認和計時器(我們會在以后的文章介紹這些技術),TCP保證了數據正確有序地從發送方進程傳送到接收方進程。這樣,TCP就將IP的終端系統之間的不可靠傳送服務轉換成了進程之間的可靠的數據傳輸服務。TCP還使用了擁塞控制機制。與其說擁塞控制是提供給調用進程的服務,不如說它是提供給整個因特網的服務,為了公共利益的服務。泛泛地說,TCP擁塞控制阻止了任何一個TCP連接在超大量數據傳輸時鏈路和交換機被沉沒的問題。確切地說,TCP答應TCP連接通過一個擁擠的網絡鏈路平等地分享該鏈接的帶寬。這是通過調整發送方TCP可以傳送到網絡的流量米實現的。而UDP的通信流量是無法進行控制的。一個使用UDP傳輸協議的應用程序可以用其需要的任意速度發送數據。




發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鲁甸县| 洛阳市| 安阳市| 涟水县| 庆安县| 稷山县| 新蔡县| 永丰县| 儋州市| 湟中县| 抚顺市| 榆树市| 武强县| 外汇| 阿勒泰市| 罗城| 双江| 石渠县| 丹江口市| 德兴市| 合阳县| 达州市| 甘谷县| 友谊县| 双桥区| 山阴县| 松江区| 巩义市| 阳高县| 双辽市| 泰来县| 元江| 威远县| 固原市| 浙江省| 盐城市| 齐河县| 平武县| 灵台县| 疏勒县| 乡宁县|