TCP、UDP與分組交換、電路交換之間的關係?

課本中將TCP與UDP進行對比,將分組交換與電路交換進行對比

電路交換需要先建立連接才能傳輸資料,分組交換則不需要;

TCP是面向連接的,UDP不是。

那假如一個UDP連接在物理層使用的是電路交換,那它在傳輸資料時需要先建立連接嗎?

假如一個TCP連接在物理層使用的是分組交換,那它在傳輸資料時還是面向連接的嗎?

我覺得兩個問題的答案都是肯定的,可是還是搞不清這兩個協議和兩個交換方式的關係。

還是說這兩種搭配其實是不可行的?


電路交換漸漸被IP分組交換所取代,是由於電路交換有一個致命的弱點:信道資源獨佔,即使沒有數據傳輸,依然會佔據傳輸信道。

舉個例子:中國與哈薩克建了石油管道,

這個管道只能用於石油的運輸,即使閑置,也不能用於天然氣的運輸,也不能用於自來水的運輸,那要實現三者的運輸,只能建設三根管道。

如果中國與哈薩克有一條高速公路,

這條公路上跑著大型集裝箱卡車,有運輸原油的,有運輸天然氣的,也有運輸自來水的,雖然卡車也佔用道路資源,但一旦卡車經過,道路資源就被釋放出來了,別的卡車還可以跑,這樣只需要一條高速公路,可以實現多種任務,不光可以運貨,還可以跑旅遊大巴、小汽車,道路的利用率也很高,最最重要的是:道路是共享的,道路不屬於任何個體!

以上的輸油管道代表的就是電路交換石油代表語音數據;而高速公路代表的是IP網路分組交換集卡代表IP包(分組)。

如果上面的內容沒看出兩者的區別,請自覺一點,繼續看,直到懂為止;如果看懂了,請繼續閱讀。

IP分組交換技術發明與上世紀60,70年代,遠遠落後於電話技術電報技術(19世紀末發明的),那個時候電話與電報技術已經非常成熟,IP網路技術來源於生活、高於生活,它借鑒了電話、電報的服務理念,希望IP網路也可以提供類似電話、電報的傳輸服務。

TCP用來提供類似電話的服務,傳輸數據前先建立連接(但和電話不一樣的是,TCP不會用什麼特權思維,將帶寬資源保留給這個連接獨佔使用),這個不難,使用TCP頭部欄位就可以實現,但TCP連接是一個虛連接,何謂虛連接?就是依靠TCP報文雙向的交換,本地維持一個狀態機,一旦狀態機為連接狀態(三次握手成功,established),就可以發送數據了,這個連接在沒有數據發送時,不會佔用任何帶寬,即使有數據需要傳輸,數據經過了物理鏈路,帶寬就會空出來,就好比集卡經過一個路段,就會釋放道路資源

UDP來提供類似電報的服務,不需要和接收方建立連接,電報就會到達對方,但有一個前提:對方的地址信息一定要對哦,否則到達不了目的地,對於UDP來說,就是目的IP要對,這樣電報可以找到電腦,其次目的埠要對(需要listening),這樣可以找到對應的進程(應用程序)

題主提到的其它問題,比如如何在電路交換上傳輸TCP或UDP,這不就是用電話撥號上網嗎? 電路交換把電腦與PSTN網關連接起來(信道資源獨佔),就是一條P2P線路了,PPP協議建立PPP連接,分配IP,就可以上網了,IP網路可以傳輸UDP或TCP。

最後一個問題就更簡單了,乙太網也是分組交換,乙太網可以傳輸IP分組,IP分組可以封裝UDP或TCP。

-------

電話撥號如何連接

需要了解電話的歷史,電話最初是直接拉電話線連接兩台電話,後來有了人工插拔交換機(其實就是將需要連接的兩部電話,電話線連接起來),後來又有了PDH/SDH技術,就是一根線上,可以傳輸32/500/10000線信道(基於時隙time slot,一個slot 就是一個信道,分時復用的由來),這個信道的分配是由電話信令撥號連接時,端對端、沿途一段一段順序分配,電話信令使用獨立的信道,語音使用動態分配的語音信道,直到電話掛了之後,動態分配的語音信道才會釋放,釋放的順序是從先掛電話的一方發起,由電話所連交換機使用信令信道順序釋放(俗稱的拆線)。


題主犯了理論脫離實際的問題,教材的內容是為了便於學習而對現實進行分類,不要用理論去編排現實,不過做為學生也正常。

電路交換是一門消失很久的技術了,以我的理解,電路交換就是以電路為基礎進行交換,應用最廣泛的就是以前的固定電話PSTN網路。

舉個例子:當你撥打一個長途電話,電信局的PSTN交換機會根據被叫號碼開始佔用中繼電路,最終會在無數個PSTN網路中建立並佔用一條完整的純物理的中繼電路,僅供你通話用。當你掛機後,PSTN網路接收到拆機信號,再逐條拆除中繼電路。如果你有權可以查看沿途無數個電話交換機,你可以看見你的號碼所佔用的每一條中繼信息,這些中繼會被置成busy狀態,其它人無法佔用。以前每到除夕,中繼佔滿,很多人就會無法打通長途電話。

如何佔用電路並建立連接呢?是有專用的協議的,最早是R2,後來是7號信令。

當互聯網開始崛起後,電信這些專家也想改造現有的PSTN網路以適應網路的發展,就搞出了個ISDN,實際上這是2種完全不同的通訊理念,註定無法走到一起。當年闞凱力堅決反對電信投入ISDN,認為這是個過渡並最終會淘汰的技術,後來事實證明如此,這哥們一炮而火,成為電信行業執牛耳的專家。

到了ADSL時代,或者稱為寬頻時代,數據網和電路交換網幾乎就徹底分離了,獨自發展。回到撥號貓和ISDN時代,電路交換網也只是提供接入,到了核心的就全部是純IP網路,也就是分組交換。

回到問題:

無論是UDP還是TCP都是分組交換,你用電路交換網來傳UDP或TCP,電信專家也搞不出來,也從來不存在這種東西。電路級別的建立連接和TCP的連接是完全不同的層級,一個是物理級的,一個是邏輯上的。

物理層怎麼分組?這真是個奇怪的問題,分組全部指的是物理層之上的東西。分組這個概念僅用於數據網路,不過要是硬套在電路交換網,到是有一種技術類似:時分技術,即把一條中繼線(一根銅纜)分成每秒32個時隙,每個時隙允許一部電話使用。但是,我們還是會把它歸類為電路交換,而不是分組。


更新下,昨晚回答我覺得有不妥的地方,已修改,懇請各位指正。

-------------

以前有同樣的困惑,看到@車小胖關注了此問題,我想聊聊我現在的理解,請其和各位斧正。可能題主搞不清楚電路交換和分組交換

電路交換主要用於電話通信網,而分組交換主要用於數字通信網,分組交換又分虛電路連接和報文交換。虛電路一般有幀中繼,ATM等,而報文交換指ip數據報交換,以上構成素稱計算機通信網,分組交換更符合計算機網路發展的需求。

其中現在計算機(採用tcp/ip 協議棧)一般走的是分組交換,即在目前常見的計算機終端的層面來說,沒有電路交換這麼一說。(其實應該沒有交換這麼一說,因為交換是交換單元的事情)

比較重要的一點電路交換和分組交換是偏向對於傳輸設備來說的。而tcpudp是偏向終端來說的。也就是說一般情況下,交換設備並不需要去管傳輸層,畢竟交換的目的是路由轉發,而傳輸層對應了端上的應用程序。

電路交換中的面向連接和tcp的面向連接不是一回事情。電路交換中交換設備建立電路連接,它是透明的,實際的,傳輸帶寬固定的,沒有差錯控制能力的,它和atm/幀中繼的虛連接又有很大區別,和tcp/ip 協議棧中的tcp的連接更不是一回事情,tcp的面向連接僅僅是體現出一條由tcp三次握手,協商出來的一條虛擬的通道。它的存在是讓應用通過ip網路傳輸的可靠性,好了,現在再看這句話,IP是無連接的。


OSI上下層之間完全沒關係,上一層協議是對下一層協議的抽象。

在Transport層,數據單元叫Segment;

在Network層, 數據單元是Packet;

在Link層,數據單元是Frame;

在Physic層,數據單元是Bit。

用一個簡單的隱喻來說,你用tcp的時候,你的數據可以通過WiFi傳,也可以用光纖傳; 你用udp的時候自然也可以選擇WiFi或光纖傳。底層的實現當然有自己的細節,但是對於上面一層的協議來說,這些細節不重要,它只要關注自己的任務就可以了。


交換方式書上應該說了三種,

電路交換,報文交換,分組交換

利弊上闡述了電路交換的獨佔性質,需要先在底層建立鏈接,傳送信息期間獨佔電路,

報文交換就是一次性傳送,不建立連接,中間路由器利用報文的首部地址傳送到下一個路由器,直到終點,

分組交換就是把報文分組,多次傳送。

目前計算機網路上的TCP,UDP用的都是分組交換。只不過分組傳送路徑上不同,不同在於TCP先建立鏈接,這個不是底層的電路鏈接,你可以理解為確定一條路徑,所有分組都沿著這條路徑傳送,路徑上的路由器是可以傳送其它消息的,不像電路交換被獨佔。

UDP沒有建立鏈接分組傳送期間達到目的地的路徑會有不同。


協議是分層的,上層無需知道下層具體是怎麼樣的。

所以兩個問題的答案都是肯定的。

任意組合都是可行的。


不知道以上回答是不是計算機科班出身,概念簡直一塌糊塗。我一個機械的都看不下去了。

1.TCP和UDP是傳輸層協議,只是邏輯連接,實際就傳物理層那一次,不過一層層包裝下交和拆解上交而已;因為是同一個東西,除了包裝和拆解,分組交換、電路交換當然貫穿始終,對一次傳輸來說各層分組還是電路一樣。

2.不同層的連接不一樣,所謂的連接,物理層是實際的信道(其實是下面的第0層),而傳輸層是在邏輯信道,通過一些數值來建立連接,比如SYN、ACK,序號,確認號等。

對於題主的問題,二者毫無關係,因為電路分組可以認為用的是實際信道;TCP、UDP是通過一些數值來實現,並且這些數值物理層不可見。


網路和快遞很像

寄快遞的人和收快遞的人 不需要知道快遞是通過飛機 汽車 自行車 輪船還是火箭 來發送的 只要知道填個單等電話就行

tcp udp 和 分組交換和電路交換同理

tcp udp不需要知道我是通過什麼發送的 我只管按照我的規則發送接收就行了

分組交換和電路交換 同樣不需要知道我裝的是什麼 我只要按照自己的規則發送就行了

他們的關係就像交通工具與交通工具承載的貨物的關係是一樣的


tcp和udp都是分組交換,因為他們都是ip數據網路裡面的協議。電路交換一般就是語音業務


層都不一樣怎麼比………

tcp和udp在網路層都是無連接ip包,用的也是分組交換

在傳輸層,tcp通過無連接的網路層構建出只屬於傳輸層邏輯的連接

udp則不構建連接


tcp/udp在osi第四層,為上層應用提供transport(你看,第四層就是叫這個名字);電路交換/分組交換在第二層,根據不同的環境來選擇。

舉個栗子,老闆(app)告訴他的小弟們(tcp/udp),我要喝咖啡;部門經理們再找自己的小弟(circuir/ps),去買咖啡。最後老闆喝到咖啡,但是誰買的對老闆來說並不重要,大概就是這個意思。


推薦閱讀:

分組交換網路、電路交換網路與TCP/IP協議的關係?
我考了ccie,現在是學雲計算好還是考紅帽好呢?
在暴走漫畫工作是怎樣的體驗?
怎麼最快的將一張圖片在電腦和手機間傳輸?
區域網內,如何實現把一台電腦的100MB數據最快速的傳輸到其他50台電腦?

TAG:互聯網 | 計算機網路 | 計算機科學 |