成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

IP協議不可靠無連接 為什么不把它設計為可靠的?

網絡 網絡管理
因特網使用的IP協議是無連接的,因此其傳輸是不可靠的。這樣容易使人們感到因特網很不可靠,那為什么當初不直接把它設計為可靠的?

因特網使用的IP協議是無連接的,因此其傳輸是不可靠的。這樣容易使人們感到因特網很不可靠,那為什么當初不直接把它設計為可靠的?

先打一個比方。郵局寄送的平信很像無連接的IP數據報。每封平信可能走不同的傳送路徑,同時平信也不保證不丟失。當我們發現收信人沒有收到寄出的平信時,去找郵局索賠是沒有用的。郵局會說:“平信不保證不丟失。怕丟失就請你寄掛號信”。但是大家并不會將所有的信件都用掛號方式郵寄,這是因為郵局從來不會隨意地將平信丟棄,而丟失平信的概率并不大,況且寄掛號信要多花些錢,還要去郵局排隊,太麻煩。總之,盡管寄平信有可能會丟失,但絕大多數的信件還是平信,因為寄平信方便、便宜。

我們知道,傳統的電信網的最主要的用途是進行電話通信。普通的電話機很簡單,沒有什么智能,因此電信公司就不得不把電信網設計得非常好,這種電信網可以保證用戶通話時的通信質量。這點對使用非常簡單的電話機的用戶則是非常方便的。但電信公司為了建設能夠確保傳輸質量的電信網則付出了巨大的代價(使用昂貴的程控交換機和網管系統)。

數據的傳送顯然必須是非常可靠的。當初美國國防部在設計 ARPANET 時有一個很重要的討論內容就是:“誰應當負責數據傳輸的可靠性?”這時出現了兩種對立的意見。一種意見是主張應當像電信網那樣,由通信網絡負責數據傳輸的可靠性(因為電信網的發展歷史及其技術水平已經證明了人們可以將網絡設計得相當可靠)。但另一種意見則堅決主張由用戶的主機負責數據傳輸的可靠性。這里最重要的理由是:這樣可以使計算機網絡便宜、靈活,同時還可以滿足軍事上的各種特殊的需求。

下面用一個簡單例子來說明這一問題。

設主機 A 通過因特網向主機 B 傳送文件(如下圖所示)。怎樣才能實現文件數據的可靠傳輸呢?

 

[[129974]]

 

如按照電信網的思路,就是設法(這需要花費相當多的錢)將不可靠的因特網做成為可靠的因特網。

但設計計算機網絡的人采用另外一種思路,即設法實現端到端的可靠傳輸。

提出這種思路的人認為,計算機網絡和電信網的一個重大區別就是終端設備的性能差別很大。電信網的終端是非常簡單的、沒有什么智能的電話機。因此電信網的不可靠必然會嚴重地影響人們利用電話的通信。但計算機網絡的終端是有很多智能的主機。這樣就使得計算機網絡和電信網有兩個重要區別。***,即使傳送數據的因特網有一些缺陷(如造成比特差錯或分組丟失),但具有很多智能的終端主機仍然有辦法實現可靠的數據傳輸(例如,能夠及時發現差錯并通知發送方重傳剛才出錯的數據)。第二,即使網絡可以實現 100% 地無差錯傳輸,端到端的數據傳輸仍然有可能出現差錯。

為了說明這點,我們可以用一個簡單例子來說明這個問題。這就是主機 A 向主機 B 傳送一個文件的情況。

文件是通過一個文件系統存儲在主機 A 的硬盤中。主機 B 也有一個文件系統,用來接收和存儲從 A 發送過來的文件。應用層使用的應用程序現在就是文件傳送程序,這個程序一部分在主機 A 運行,另一部分在主機 B 運行。

現在討論文件傳送的大致步驟:

(1)主機 A 的文件傳送程序調用文件系統將文件從硬盤中讀出。然后文件系統將文件傳遞給文件傳送程序。

(2)主機 A 請求數據通信系統將文件傳送到主機 B。這里包括使用一些通信協議和將數據文件劃分為適當大小的分組。

(3)通信網絡將這些數據分組逐個傳送給主機 B。

(4)在主機 B,數據通信協議將收到的數據傳遞給文件傳送應用程序在主機 B 運行的那一部分。

(5)在主機 B,文件傳送程序請求主機 B 的文件系統將收到的數據寫到主機 B 的硬盤中。

在以上的幾個步驟中,都存在使數據受到損傷的一些因素。例如:

(1)雖然文件原來是正確寫在主機 A 的硬盤上,但在讀出后就可能出現差錯(如在磁盤存儲系統中的硬件出現了故障)。

(2)文件系統、文件傳送程序或數據通信系統的軟件在對文件中的數據進行緩存或復制的過程中都有可能出現故障。

(3)主機 A 或 B 的硬件處理機或存儲器在主機 A 或 B 進行數據緩存或復制的過程中也有可能出現故障。

(4)通信系統在傳輸數據分組時有可能產生檢測不出來的比特差錯或甚至丟失某些分組。

(5)主機 A 或 B 都有可能在進行數據處理的過程中突然崩潰。

由此可看出,即使對于這樣一個簡單的文件傳送任務,僅僅使通信網絡非常可靠并不能保證文件從主機 A 硬盤到主機 B 硬盤的傳送是可靠的。也就是說,花費很多的錢將通信網絡做成為非常可靠的,對傳送計算機數據來說是得不償失的。既然現在的終端設備有智能,就應當把網絡設計得簡單些,而讓具有智能的終端來完成“使傳輸變得可靠”的任務。

于是,計算機網絡的設計者采用了一種策略,這就是“端到端的可靠傳輸”。更具體些,就是在運輸層使用面向連接的 TCP 協議,它可保證端到端的可靠傳輸。只要主機 B 的 TCP 發現了數據的傳輸有差錯,就告訴主機 A 將出現差錯的那部分數據重傳,直到這部分數據正確傳送到主機 B 為止。而 TCP 發現不了數據有差錯的概率是很小的。采用這樣的建網策略,既可以使網絡部分價格便宜和靈活可靠,又能夠保證端到端的可靠傳輸。

這樣,我們可以這樣想像,將因特網的范圍稍微擴大一些,即擴大到主機中的運輸層。由于運輸層使用了 TCP 協議,使得端到端的數據傳輸成為可靠的,因此這樣擴大了范圍的因特網就成為可靠的網絡。

因此,說“因特網提供的數據傳輸是不可靠的”或“因特網提供的數據傳輸是可靠的”這兩種說法都可以在文獻中找到,問題是是怎樣界定因特網的范圍。如果說因特網提供的數據傳輸是不可靠的,那么這里的因特網指的是不包括主機在內的網絡(僅有下三層)。說因特網提供的數據傳輸是可靠的,就表明因特網的范圍已經擴大到主機的運輸層。

再回到通過郵局寄平信的例子。當我們寄出一封平信后,可以等待收信人的確認(通過他的回信)。如果隔了一些日子還沒有收到回信,我們可以將該信件再寄一次。這就是將“端到端的可靠傳輸”的原理用于寄信的例子。

責任編輯:藍雨淚 來源: CSDN博客
相關推薦

2010-06-12 15:30:57

UDP協議

2010-04-16 17:16:34

2021-07-27 12:27:21

工業物聯網IIOT物聯網

2022-11-16 14:33:45

工業物聯網物聯網安全

2012-03-12 14:17:10

2025-01-09 10:48:36

2021-09-07 09:40:39

漏洞網絡安全代碼

2011-11-29 09:48:43

2023-04-28 17:39:01

2009-05-14 08:39:33

英特爾歐盟反壟斷

2023-12-11 07:26:14

云原生業務可觀測性

2013-09-26 10:38:14

VDI企業桌面

2022-07-27 07:36:01

TCP可靠性

2021-04-23 23:29:20

比特幣加密貨幣匿名幣

2021-04-07 14:29:05

開發技能代碼

2010-06-13 14:08:17

IP無連接協議

2019-09-18 20:07:06

AndroidTCP協議

2021-06-08 15:02:59

谷歌FacebookCPU

2022-10-31 10:50:05

2017-01-16 10:40:33

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 毛片视频免费观看 | 亚洲精品乱码久久久久久蜜桃91 | 97伊人 | 国产精品久久久精品 | 国产一区二区免费 | 国产农村妇女精品一二区 | 日本一区二区高清不卡 | 亚洲综合大片69999 | 免费国产一区二区 | 国产欧美日韩一区二区三区在线观看 | 久久88| 国产精品视屏 | 一区二区国产精品 | 久久精品二区 | 欧美亚洲在线 | 美女午夜影院 | 久日精品| 精品成人一区二区 | 青青草这里只有精品 | 在线观看国产 | 精品视频一区二区三区在线观看 | 拍真实国产伦偷精品 | 久久午夜剧场 | 亚洲区一区二区 | 精品综合| 亚洲精品视频在线播放 | 91精品国产一区二区三区 | 国产在线精品一区 | 青青草视频网站 | 日本亚洲欧美 | 亚洲国产精品成人无久久精品 | 亚洲成人午夜在线 | 免费观看黄色一级片 | 成人午夜视频在线观看 | 日韩福利在线 | 伊人欧美视频 | 午夜小视频在线播放 | 污污的网站在线观看 | 鸳鸯谱在线观看高清 | 国产欧美一区二区久久性色99 | 国产视频观看 |