新手入門 了解網路應用與網路協議5

2021-06-15 22:26:19 字數 2202 閱讀 6566

posted on 2007-04-26 10:55

szw104

閱讀(8)

編輯收藏

引用網摘 所屬分類:

web原理

由網際網路傳輸協議提供的服務

tcp服務

tcp服務模型包括面向連線的服務和可靠的資料傳輸服務。呼叫tcp作為其傳輸協議的應用同時取得這兩種服務。

面向連線的服務指的是客戶端和伺服器端的tcp在開始傳輸應用層訊息之前,先交換傳輸層控制資訊。這個所謂的握手過程警示客戶和伺服器,以便它們為來自對方的分組衝擊做好準備。握手階段結束之後,我們說這兩個程序的套接字之間存在乙個tcp連線(tcp connection)。這是乙個全雙工的連線,也就是說客戶和伺服器這兩個程序可以同時通過該連線向對方傳送訊息。完成訊息的傳送後,應用程序必須告知tcp拆除這個連線。稱這種服務為「面向連線」服務而不是「連線」服務(或者說「虛電路」服務)的理由在於,它兩端的程序是以非常鬆散的方式連線的。

可靠的傳輸服務指的是彼此通訊的程序可以依賴tcp無錯地順序遞送所有資料。當其中任何乙個應用程序把乙個位元組流傳入套接字時,它可以指望tcp把同樣的位元組流遞送到對方的套接字,中間不會有位元組的丟失或重複。

概述完tcp提供的服務後,我們說一下tcp沒有提供的服務。首先,tcp不保證最小傳輸率。具體地說,tcp不允許傳送程序以想要的任意速率傳送;相反,傳送速率受到tcp擁塞控制的調節,傳送程序有可能被迫以乙個較低的平均速率傳送。其次,tcp不提供任何延遲保證。具體地說,傳送程序把資料傳入自己的tcp套接字之後,這個資料將最終到達其接收套接字,然而就該資料花多長時間到達那兒來說,tcp絕對不作保證。花幾十秒甚至幾分鐘等待tcp從web伺服器往web瀏覽器遞送乙個訊息(例如,其中含有乙個html檔案)也非罕見。總之,tcp保證遞送全部資料,但對遞送速率和所經歷的延遲不加保證。

udp服務

udp是乙個不提供非必要服務的輕量級傳輸協議,具有乙個最簡約的服務模型。udp是無連線的,因此兩個程序彼此通訊之前沒有握手過程。udp提供不可靠的資料傳輸服務,也就是說當乙個程序往自己的udp套接字發出乙個訊息時,udp不能保證這個訊息會最終到達接收套接字。另外,就確實到達接收套接字的訊息而言,它們的到達順序也可能與傳送順序不一致。

udp不包含擁塞控制機制,因此傳送程序能夠以任意速率往udp套接字傾注資料。儘管不能保證所有的資料都到達接收套接字,但是仍會有相當比例的資料到達。實時應用程式的開發人員往往選擇在udp上執行他們的應用。與tcp類似,utp也不提供任何延遲保證。

下表指出了一些流行的網際網路應用所用的傳輸協議。我們看到,電子郵件、遠端終端訪問、web和檔案傳送都使用tcp。這些應用選擇tcp的主要原因在於tcp提供可靠的資料傳輸服務,能夠保證所有資料最終到達其目的地。我們還看到,網際網路**一般執行在udp之上。乙個網際網路**應用的兩端都得以某個最小速率跨網路傳送資料:與tcp相比,udp更可能滿足這個要求。另外,網際網路**應用可容忍資料丟失,因此並不需要由tcp提供的可靠資料傳輸服務。

表2:流行的應用及採用的協議

我們已經指出,tcp和udp都不提供定時保證,這是不是意味著時間敏感的應用不能執行在當今的網際網路上呢?其答案顯然是否定的——時間敏感的應用已在網際網路上存在好多年了。這些應用往往工作得相當出色,因為它們已被設計成能夠盡最大程度地對付這種缺乏保證的服務。儘管如此,當延遲過大時(這在公共網際網路中是常事),最聰明的設計也有其侷限。總之,當今的網際網路通常能夠為時間敏感的應用提供滿意的服務,但不能提供任何定時或頻寬上的保證。

本文準備介紹的網路應用

網際網路上,公眾域和專屬的應用層出不窮。我們不想百科全書式地羅列一大堆網際網路應用,於是選了少數幾個既重要且流行的應用集中討論。我們將具體地討論4個流行的應用:web、檔案傳送、電子郵件、目錄服務。我們首先討論web

,其原因不僅在於web是乙個極其流行的應用,還在於它的應用層協議(即http)相對簡單,可用於闡明網路協議的許多關鍵因素。接下來討**件傳送,因為其協議與http恰好形成對照,使得我們可以強調一些額外因素。我們還討論電子郵件,它是網際網路中第乙個高度流行的應用。應該看到,現代的電子郵件使用不止乙個應用層協議。web、檔案傳送和電於郵件有共同的服務需求:需要可靠的傳輸服務,沒有特別的定時需求,能接受彈性頻寬服務。tcp提供的服務完全滿足這3個應用。網域名稱系統(domain name system,dn5)是我們討論的第4個應用,它為網際網路提供目錄服務。多數使用者不會直接與dns打交道;相反,他們通過其他應用(包括即將討論的那3個應用)間接求助於dns。dns精妙地展示了可以怎樣在網際網路中實現分布式資料庫。這4個即將討論的應用對時間都不大敏感。

新手入門 了解網路應用與網路協議2

posted on 2007 04 26 10 53 szw104 閱讀 2 編輯收藏 引用網摘 所屬分類 web原理 應用層協議 把網路應用和應用層協議區分開來相當重要。應用層協議僅僅是網路應用的一部分,讓我們看幾個例子。web是乙個允許使用者從web伺服器按要求取得 文件 的網路應用,web應用...

TCP IP協議新手入門學習二

表5.從a到b的ip包 在這種情況下,使用ip是多餘的,因為它根本沒有起到什麼作用,用ip只能增加多餘的處理時間,占用了多餘的傳輸頻寬。b接收到這個包後,ip層檢查這個包內的目的位址是不是和自己的ip位址一致,如果一致則將資料返回給上層協議。這稱為直接路由。5.2 間接路由 下面這個示意圖更接近in...

網路層協議與應用

1.ip資料報格式 版本 ipv4 首部長度 ip包頭部長度,因為長度可變,因此需要定義 優先順序與服務型別 提供三層的qos 總長度 ip資料總長度 識別符號,標誌,段偏移量 上層來的資料到ip層被分片,這幾個字段用來對資料報進行標識,使資料到達目的端重組的時候,不會亂序.ttl 為了防止乙個資料...