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台電腦?