當前位置:首頁 » 網路連接 » 計算機網路中傳輸過程

計算機網路中傳輸過程

發布時間: 2023-03-17 14:31:16

① 計算機通信的主要原理是什麼

計算機網路通消陵信的工作原理1)TCP/IP協議的數據傳輸過程:
TCP/IP協議所採用的通信方式是分組交換方式。所謂分組交換,簡叢兆單說就是數據在傳輸時分成若干段,每個數據段稱為一個數據包,TCP/IP協議的基本傳輸單位是數據包,TCP/IP協議主要包括兩個主要的協議,即TCP協議和IP協議,這兩個協議可以聯合使用,也可以與其他協議聯合使用,它們在數據傳輸過程中主要完成以下功能:
1)首先由TCP協議把數據分成若干數據包,給每個數據包寫上序號,以便接收端把數據還原成原來的格式。
2)IP協議給每個數據包寫上發送主機和接收主機的地址,一旦寫上的源地址和目的地址,數據包就可以在物理網上傳送數據了。IP協議還具有利用路由演算法進行路由選擇的功能。
3)這些數據包可以通過不同的傳輸途徑(路由)進行傳輸,由於路徑不同,加上其它的原因,可能出現順序顛倒、數據丟失、數據失真甚至重復的現象。這些問題都由TCP協議來處理,它具有檢查滲橋租和處理錯誤的功能,必要時還可以請求發送端重發。
簡言之,IP協議負責數據的傳輸,而TCP協議負責數據的可靠性。

② 計算機網路技術中RARP協議功能,數據交換技術的三種類型,線路交換技術完成數據傳輸需要經歷的過程

目前公用電話網廣泛使用的交換方式是電路交換,經由電路交換的通信包括三個階段:
(1) 電路建立: 通過源站點請求完成交換網中對應的所需逐個節點的接續(連接)過程,以建立起一條由源站到目的站的傳輸通道。例如:A,D間要完成通信,共過程為A向節點4申請,通常,從A到4的鏈路是專用線,節點4在4-1,4-5,4-7三條傳輸路徑中選擇一條作為通路,如選擇4-5,並在節點4內部建立A-4路徑與4-5路徑間的連接,依次類推,之後節點5內部建立4-5和5-3路徑之間的連接,最後節點3內部建立5-3路徑和3-D路徑之間的連接,最終完成A-D之間的傳輸通道為A-4-5-3-D。
(2) 數據傳輸: 現在,信號可以從A經建立的鏈路傳送到D,通常為全雙工傳輸。
(3) 電路拆除: 在完成數據或信號的傳輸後,由源站或目的站提出終止通信,各節點相應拆除該電路的對應連接,釋放由原電路佔用的節點和信道資源。

③ 計算機 的信息是如何傳輸的

進入網際網路的電腦都遵循著一個稱為TCP/IP的傳遞信息的規則。在發送信息時,先把信息分成一個個的小包,在小包上標明要接收信息的計算機的「門牌號碼」,即IP地址。然後由網路中的稱做路由器的「指揮官」,根據「門牌號碼」確定這些信息小包傳送的路徑。當信息小包傳送到接收的計算機後,小包合並成原來信息的模樣,這樣就完成了信息的傳輸。

信息傳輸是從一端將命令或狀態信息經信道傳送到另一端,並被對方所接收。包括傳送和接收。傳輸介質分有線和無線兩種,有線為電話線或專用電纜;無線是利用電台、微波及衛星技術等。信息傳輸過程中不能改變信息,信息本身也並不能被傳送或接收。必須有載體,如數據、語言、信號等方式,且傳送方面和接收方面對載體有共同解釋。

④ 計算機在乙太網中發送數據的流程是怎樣的

在 tcp/ip 模型下是這樣的:
首先數據由應用層(application)先把數據流(data stream)發往 傳輸層(transport)傳輸層再把數據流封裝成 段(data segment)再往下發往 網路層(internet) 網路層把段封裝成 包(packet)再往下發往網路訪問層(network access)網路訪問層把 包封裝成幀 以比特流的形式 在物理鏈路上傳輸

然後到達另一台計算機 另一台計算機把 幀解封裝成 包 然後包解封成 段數據 然後解封成數據流 最後發往你應用成的軟體 比如QQ 由應用層的軟體處理這些數據

下面是什麼是 封裝 和解封裝的具體概念
封裝:
以用戶要發送email為例,講解網路如何封裝數據:
步驟1:創建數據----當用戶發送email時,其中的字母和數字字元被轉換成可
以在網路上傳輸的數據。
步驟2:為端到端的傳輸將數據打包----對數據打包來實現互連網的傳輸。通
過使用分段(segment),傳輸功能確保email系統兩端的主機之間能可靠的通信。
步驟3:在報頭上添加網路地址----數據放置在一個分組或數據報中,其中包
含了帶有源和目的邏輯地址的網路報頭。這些地址有助於網路設備沿著已選定的路
徑發送這些分組。
步驟4:在數據鏈路報頭上添加本地地址----每一台網路設備都必須將分組放
入幀中。該幀使得可以傳送到該鏈路上下一台直接相連的網路設備。在選定的路徑
上的每一個網路設備都必須把幀傳遞到下一台設備。
步驟5:為進行傳輸而轉換為比特

解封裝:
步驟1:檢驗該MAC目的地址是否與工作站的地址相匹配或者是否為一個乙太網
廣播地址。如果這兩種情況都沒有,就丟棄該幀。
步驟2:如果數據已經出錯了,那麼將它丟棄,而且數據鏈路層可能會要求重傳數
據。否則,數據鏈路層就讀取並解釋數據鏈路報頭上的控制信息。
步驟3:數據鏈路層剝離數據鏈路報頭和報尾,然後根據數據鏈路報頭上的控制信
息把剩下的數據向上傳送到網路層。

⑤ 兩台電腦在網路中的數據傳輸經過那些步驟

我暫且按我的理解說說吧。
先看一下計算機網路OSI模型的七個層次:
┌—————┐
│ 應用層 │←第七層
├—————┤
│ 表示層 │
├—————┤
│ 會話層 │
├—————┤
│ 傳輸層 │
├—————┤
│ 網路層 │
├—————┤
│數據鏈路層│
├—————┤
│ 物理層 │←第一層
└—————┘

而我們現在用的網路通信協議TCP/IP協議者只劃分了四成:

┌—————┐
│ 應用層 │ ←包括OSI的上三層
├—————┤
│ 傳輸層 │
├—————┤
│ 網路層 │
├—————┤
│網路介面層 │←包括OSI模型的下兩層,也就是各種不同區域網。
└—————┘

兩台計算機通信所必須需要的東西:IP地址(網路層)+埠號(傳送層)。

兩台計算機通信(TCP/IP協議)的最精簡模型大致如下:

主機A---->路由器(零個或多個)---->主機B

舉個例子:主機A上的應用程序a想要和主機B上面的應用程序b通信,大致如下

程序a將要通信的數據發到傳送層,在傳送層上加上與該應用程序對應的通信埠號(主機A上不同的應用程序有不同的埠號),如果是用的TCP的話就加上TCP頭部,UDP就加上UDP頭部。
在傳送成加上頭部之後繼續嚮往下傳到網路層,然後加上IP頭部(標識主機地址以及一些其他的數據,這里就不詳細說了)。
然後傳給下層到數據鏈路層封裝成幀,最後到物理層變成二進制數據經過編碼之後向外傳輸。

在這個過程中可能會經過許多各種各樣的區域網,舉個例子:

主機A--->(區域網1--->路由器--->區域網2)--->主機B

這個模型比上面一個稍微詳細點,其中括弧裡面的可以沒有也可能有一個或多個,這個取決於你和誰通信,也就是主機B的位置。

主機A的數據已經到了具體的物理介質了,然後經過區域網1到了路由器,路由器接受主機A來的數據先經過解碼,還原成數據幀,然後變成網路層數據,這個過程也就是主機A的數據經過網路層、數據鏈路層、物理層在路由器上面的一個反過程。
然後路由器分析主機A來的數據的IP頭部(也就是在主機A的網路層加上的數據),並且修改頭部中的一些內容之後繼續把數據傳送出去。

一直到主機B收到數據為止,主機B就按照主機A處理數據的反過程處理數據,直到把數據交付給主機B的應用程序b。完成主機A到主機B的單方向通信。

這里的主機A、B只是為了書寫方便而已,可能通信的雙方不一定就是個人PC,伺服器與主機,主機與主機,伺服器與伺服器之間的通信大致都是這樣的。

再舉個例子,我們開網頁上網路:
就是我們的主機瀏覽器的這個應用程序和網路的伺服器之間的通信。應用成所用的協議就是HTTP,而伺服器的埠號就是熟知埠號80.

大致過程就是上面所說,其中的細節很復雜,任何一個細節都可以寫成一本書,對於非專業人員也沒有必要深究。

⑥ 詳細論述qq上傳送數據的詳細過程

大家知道,網路的一個基本特點是允許資源的共享。在許多時間里。這種共享通過兩個獨立的程序來完成,他們分別運行在不同的計算機上。一個程序稱為伺服器程序(伺服器),提供特定的資源;另一個程序稱為客戶程序(客戶端)。用來使用資源。二者統稱為客戶端/伺服器系統(client/server system)。
基本的工作過程如下:
1、用戶連接到ISP,並發出一個請求,大多數用戶都是使用MODEN通過電話線連接;
2、ISP通過告訴連接將請求傳送到最近的服務訪問點;
3、請求路過路干網路到達最近的服務訪問點;
4、服務點將請求再送到信宿的ISP;
5、信宿的服務提供商將請求發送到包含信宿計算機的路由器;
6、信宿計算機接到請求,並沿相同路徑發送回請求的文件;
這里就不得不提提TCP/IP協議了。
計算機網路是由許多計算機組成的,要實現網路之間的數據傳輸,必須要做好兩件事,即數據傳輸目的地址和保證數據迅速可靠傳輸的措施。INTERNET使用一種專門的計算機協議,以保證數據安全、可靠地到達指定的目的地,這種協議分為兩部分:TCP(Transmission Control Protocol傳輸控制協議)和IP(Internet Protocot網間協議),TCP協議主要負責傳輸的可靠性,而IP協議負責數據的傳輸。TCP/IP所採用的通信方式是分組交換方式。分組交換是指數據在傳輸時分成若干段,每個數據段稱為一個數據包,數據包除含有一定長度的正問外,還含有數據包將被送往的地址(這個地址稱為IP),數據包經過多台計算機的中轉最終達到它的目的地。TCP/IP協議的基本傳輸單位就是數據包。
數據傳輸過程如下:
1、首先由TCP協議把數據分成若干數據包,給每個數據包寫上序號,以便接受端把數據還原成原來的格式;
2、IP協議給每個數據包寫上發送主機和接受主機的地址,一旦寫上它的源地址和目的地址,數據包就可以在物理網上傳送數據了。IP協議還具有利用路由演算法進行路由選擇的功能;
3、這些數據包可以通過不同的傳輸路徑(路由)進行傳輸。由於路徑不同,加上其他的原因,可能出現順序顛倒、數據失真甚至重復的顯示。這些問題都由TCP協議來處理,它具有檢查和處理錯誤的功能,必要時還可以請求發送端重發。
總而言之,盡管IP協議使計算機能夠發送和接收數據,提供了一種將數據包從源地址傳送到目的地的方法,但IP並未解決數據包在傳送過程中所有可能出現的問題,如數據包丟失後的重發和重排數據包及數據包亂序到達等,因此使用INTERNET的計算機還需要TCP協議來提供可靠的無差錯的通信服務,達到互相配合互相補充的目的。兩者結合在一起,提供了一種在INTERNET上可靠的傳輸數據的方法。TCP和IP是互補的,TCP處理IP沒有處理的通信為體,向應用程序提供可靠的通信連接。
看到這里,相信大家對網路通信都有了一個了解。而對於QQ在聊天時出現信息丟失、延遲接收、重復接收或接收時間錯亂等情況,絕大多數情況下是由於網路繁忙造成INTERNET負荷運行引起的,目前並沒有解決方法,只期待能有一種全新的成熟的通信協議技術問世。所以,當大家遇到這些問題時也不要再到處鬧了,冷靜下來做些其他的事,或者避開上網高峰期!

⑦ 計算機網路通信中傳輸的是什麼信號

數字或模擬信號。

網路通信中最重要的就是網路通信協議。當今網路協議有很多,區域網中最常用的有三個網路協議:MICROSOFT的NETBEUI、NOVELL的IPX/SPX和TCP/IP協議。應根據需要來選擇合適的網路協議。

從專業角度定義,網路協議是計算機在網路中實現通信時必須遵守的約定,也就是通信協議。主要是對信息傳輸的速率、傳輸代碼、代碼結構、傳輸控制步驟、出錯控制等作出規定並制定出標准。

(7)計算機網路中傳輸過程擴展閱讀

NETBEUI協議——

NETBEUI是為IBM開發的非路由協議,用於攜帶NETBIOS通信。NETBEUI缺乏路由和網路層定址功能,既是其最大的優點,也是其最大的缺點。因為它不需要附加的網路地址和網路層頭尾,所以很快並很有效且適用於只有單個網路或整個環境都橋接起來的小工作組環境。

因為不支持路由,所以NETBEUI永遠不會成為企業網路的主要協議。NETBEUI幀中的地址是數據鏈路層媒體訪問控制(MAC)地址,該地址標識了網卡但沒有標識網路。路由器靠網路地址將幀轉發到最終目的地,而NETBEUI幀完全缺乏該信息。

⑧ [計算機網路之六] 傳輸層

  傳輸層向它上面的應用層提供通信服務,它屬於面向通信部分的最高層,同時也是用戶功能中的最底層。

  從傳輸層的角度,通信的真正端點並不是主機而是主機中的進程。

  傳輸層有 分用 復用 的功能。 「復用」 是指在發送方不同的應用進程都可以使用同一個運輸層協議傳送數據, 「分用」 是指接收方的運輸層在剝去報文的首部後能夠把這些數據正確交付目的應用進程。

  網路層和運輸層有明顯的區別,網路層為主機之間提供邏輯通信,而運輸層為應用進程之間提供端到端的邏輯通信。

知名埠號 :0~1023
登記埠號 :1024~49151
客戶端短暫埠號 :49152~65535


① 無連接。 發送數據之前不需要建立連接,因此減少了開銷和發送數據之前的時延。
② 盡最大努力交付。 即不保證可靠交付,因此主機不需要維持復雜的連接狀態表。
③ 面向報文的。 對應用層交下來的報文,既不合並,也不拆分,而是保留這些報文的邊界,UDP 一次交付一個完整的報文。

  用戶數據報 UDP 有兩個欄位:數據欄位和首部欄位。首部欄位很簡單,只有 8 個位元組,由四個欄位組成,每個欄位的長度都是兩個位元組。各欄位意義如下:

① 源埠 在需要對方回信時選用。不需要時可用全0。
② 目的埠 目的埠號。這在終點交付報文時必須使用。
③ 長度 用戶數據報的長度,最小值為 8 (僅有首部)。
④ 檢驗和 檢測用戶數據報在傳輸中是否有錯。有錯就丟棄。

  用戶數據報首部檢驗和的計算和校驗都要計算出一個偽首部。


① 面向連接。

  應用程序在使用 TCP 協議之前,必須先建立 TCP 連接;傳送數據完畢後,必須釋放已經建立的 TCP 連接。類似於打電話:通話前要先撥號建立連接,通話結束後要掛機釋放連接。

② 一對一。

  TCP 連接只能是點對點的(一對一)。

③ 可靠交付。

  通過 TCP 連接傳送的數據,無差錯、不丟失、不重復,並且按序到達。

④ 全雙工通信。

  通信雙方的應用進程在任何時候都能發送和接收數據,TCP 連接的兩端都設有發送緩存和接收緩存,用來臨時存放雙向通信的數據。

⑤ 面向位元組流。

  TCP 中的 「流」 指的是流入到進程或從進程流出的位元組序列。

  「面向位元組流」 的含義:雖然應用程序和 TCP 的互動式一次一個數據塊(大小不等),但 TCP 把應用程序交下來的數據僅僅看成是一連串無結構的位元組流。TCP 並不知道所傳送的位元組流的含義。TCP 不保證接收方應用程序鎖收到的數據塊和發送方應用程序所發出的數據塊具有對應的大小關系。但接收方應用程序收到的位元組流必須和發送方應用程序發出的位元組流完全一樣,當然接收方的應用程序必須有能力識別收到的位元組流,把它還原成有意義的應用層數據。

  TCP 連接是協議軟體提供的一種抽象,每一條 TCP 連接唯一地被通信兩端的兩個端點(即兩個套接字)所確定,即:

  TCP 連接 ::= {socket1, socket2} = {(IP1: port1), (IP2: port2)}

  IP1 和 IP2 分別是兩個端點主機的 IP 地址,port1 和 port2 分別是兩端端點主機中的埠號。


  網路只能提供最大努力的服務,是不可靠的,因此 TCP 必須採用適當的措施才能使得兩個運輸層之間的通信變得可靠。當出現差錯時讓發送方重傳出現差錯的數據,同時在接收方來不及處理收到的數據時,及時告知發送方適當降低發送數據的速度,這樣就可以在不可靠的傳輸信道實現可靠傳輸。

  ARQ(Auto Repeat-reQuest):自動重傳請求。

  發送方每發送完一個分組就停止發送,等待接收方確認,在收到確認後再發送下一個分組。
  A 是發送方,B 是接收方。

  A 每發送一個分組後,等待 B 對該分組的確認後,再接著發送下一個分組。

【發送方】A 發送的分組在傳輸過程中出錯,可能是丟失了,也可能是分組受到干擾出錯了
【接收方】這時 B 直接丟棄分組,什麼也不做(也不通知 A 受到的分組有差錯)。

【解決方案】發送方在每發送完一個分組時設置一個 超時計數器 ,只要超過一段時間仍然沒有接收到確認,就認為剛才發送的分組丟失了,因而重傳前面發送過的分組,這叫 超時重傳 。反之在超時計時器到期之前收到了相應的確認,就撤銷該超時計時器。

第一,A 在發送完一個分組後, 必須暫時保留已發送的分組的副本 (在發生超時重傳時使用)。只有在收到相應的確認後才能清楚暫時保留的分組副本。

第二,分組和確認分組都必須進行 編號 。這樣才能明確是哪一個發送出去的分組受到了確認,而哪一個分組還沒有收到確認。

第三,超時計時器設置的 重傳時間應當比數據在分組傳輸的平均往返時間更長一些

【發送方】超時重傳時間內沒有收到確認報文,無法確認是發送出錯、丟失,還是接收方的確認丟失,超時計時器到期後就要重傳。
【接收方】丟棄收到的重復分組,不向上層交付;向發送方發送確認。

【發送方】收下遲到的確認,並且丟棄

  發送方大部分時間都在等待確認,信道的利用率低

  使用流水線的 ARQ 可以提高信道利用率

【發送方】維持一個發送窗口,位於發送窗口內的分組都可連續發送出去,而不需要等待對方的確認。

回退N幀協議 :如果發送方發送了多個分組,但中間的某個分組丟失了,這時接收方只能對丟失分組之前的分組發出確認,而發送方無法知道丟失分組及後面分組的接收情況,只好把丟失分組及後面的分組重傳一次,這叫 Go-back-N ,表示需要再退回來重傳已發送過的 N 個分組。


  前面 20 個位元組固定,因此 TCP 首部最小長度是 20 位元組。

  TCP 的滑動窗口以位元組為單位,窗口後沿的部分表示已發送且已收到通知,窗口裡的序號表示允許發送的序號,窗口前沿之前的數據暫時不允許發送,需要等待收到接收方的確認後前沿往前移才可發送。

描述一個發送窗口需要三個指針:P1、P2 和 P3,如圖所示:

  小於 P1 的是已發送並已收到確認的部分,而大於 P3 的是不允許發送的部分。

  P3 - P1 = A 的發送窗口

  P2 - P1 = 已發送但尚未收到確認的位元組數

  P3 - P2 = 允許發送但當前尚未發送的位元組數(又稱為 可用窗口 有效窗口

  接收方 B 接收窗口大小為20,因為未收到 31 的數據,即使已收到後面的序號 32、33 的數據,返回的確認號仍然是 31。

  現在接收方收到了 31、32、33,並返回確認號 33,接收窗口往前滑動 3 個序號,發送方接收到確認,發送窗口也向前滑動 3 個序號大小,現在 A 可以發送序號 51~53 的數據了。

  當發送方將發送窗口內的數據都發送出去,但是接收方的確認可能由於網路擁塞滯留,這時發送方發送窗口已滿,可用窗口為 0,只能等待接收方的確認報文到達。

  TCP 為了保證可靠傳輸,要求必須受到對已發送報文的確認,如果超過一定時間未受到確認報文,則重傳已發送的報文。這個時間就叫 超時重傳時間 ,很明顯超時重傳時間的大小設置應該更貼近網路的實際情況,如果網路狀況好,就設短一點,否則使網路的空閑時間增大,降低了傳輸效率;網路差就設長一點,否則會引起很多不必要的重傳,使網路負荷增大。

  TCP 採用了一種自適應的演算法:

  RTT(報文段的往返時間)、RTTs(加權平均往返時間),RTTs 的計算公式:

RTTd(RTT 的偏差的加權平均值)、RTO(RetransmissionTime-Out 超時重傳時間):

【場景】TCP 的接收方在接收對方發送過來的數據位元組流的序號不連續,形成一些不連續的位元組塊,如果簡單按照回退N幀協議處理,意味著要重傳第一個未收到的序號數據塊及之後的數據,如果能通知發送方已收到了哪些數據(選擇確認),就可以讓發送方只發送接收方未收到的數據。



  流量控制就是讓發送方的發送速率不要太快,要讓接收方來得及接收。

  當發送方收到接收方通知,將窗口縮小為 0 時,發送方將暫時不能發送數據了,必須等接收方通知更新接收窗口大小,但是這個通知又有可能丟失,導致發送方沒收到通知。

  為了避免雙方互相等待死鎖,TCP 為每個鏈接設有一個 持續計時器 ,只要 TCP 連接的一方收到對方的零窗口通知,就啟動持續計時器。若持續計時器設置的時間到期,就發送一個零窗口 探測報文段 (僅攜帶 1 位元組的數據),而對方就在確認這個探測報文段時給出了現在的窗口值。如果窗口仍然是零,那麼受到這個報文段的一方就重新設置持續計時器;如果窗口不是零,那麼死鎖的僵局就可以打破了。



【優點】提高網路利用率
【缺點】可能會發生某種程度的延遲

【場景】接收數據的主機如果每次都立刻回復確認應答的話,可能會返回一個較小的窗口,因為接收方剛接收完數,緩沖區已滿。

【糊塗窗口綜合征問題】
TCP 接收方緩存已滿,而互動式的應用進程一次只從接收緩存中讀取 1 個位元組(這樣就使接收緩存空間僅騰出 1 個位元組),然後向發送方發送確認,並把窗口設置為 1 個位元組(但發送的數據報是 40 位元組長,TCP 首部 + IP 數據報首部)。接著,發送方又發來 1 個位元組的數據(注意發送方發送的 IP 數據報是 41 位元組長)。接收方發回確認,仍然將窗口設置為 1 個位元組。這樣進行下去,使網路的效率很低。

  TCP 文件傳輸中,就採用了兩個數據段返回一次確認應答,並且等待一定時間後沒有其他數據包到達時也依然發送確認應答。

  當對網路中某一資源的需求超過了該資源所能提供的可用部分,網路的性能就要變壞,這種情況就叫做 擁塞



  慢開始(slow-start)、擁塞避免(congestion avoidance)、快重傳(fast retransmit)和快恢復(fast recovery)。

【演算法思路】

  當主機開始發送數據時,由於並不清楚網路的負荷情況,所以如果立即把大量數據位元組注入網路,那麼就有可能引起網路發生擁塞。較好的方法是先探測一下,即 由小到大逐漸增大發送窗口 ,也就是說, 由小到大逐漸增大擁塞窗口數值

【處理過程】

   慢開始門限值 ssthresh 決定了擁塞窗口達到多大時要執行什麼演算法。

① 當 cwnd < ssthresh 時,使用慢開始演算法;
② 當 cwnd > ssthresh 時,停止使用慢開始演算法而改用擁塞避免演算法;
③ 當 cwnd = ssthresh 時,既可使用慢開始演算法,也可使用擁塞避免演算法。

  在擁塞窗口 cwnd 達到門限值之前,發送方每一輪次收到確認應答後,cwnd 就增大為原來的兩倍;達到門限值後,執行擁塞避免演算法。

PS. 慢開始只是表示初始發送數據少,不代表發送速率增長速度慢,實際上是指數級增長非常快。

【演算法思路】

  讓擁塞窗口 cwnd 緩慢地增大,即每經過一個往返時間 RTT 就把發送方的擁塞窗口 cwnd 加 1,而不是像慢開始階段那樣加倍增長。擁塞避免階段有 「加法增大」 的特點,按線性規律緩慢增長,使網路比較不容易出現擁塞

【處理過程】

  在執行擁塞避免演算法階段,當網路出現超時時,發送方判斷為網路擁塞,調整門限值為當前擁塞窗口的一半,即 ssthresh = cwnd / 2,同時擁塞窗口重置為 1,即 cwnd = 1,進入慢開始階段。

【演算法原理】

① 快重傳

【場景】有時,個別報文段會在網路中丟失,但實際上網路並未發生擁塞。如果發送方遲遲收不到確認,就會產生超時,就會誤認為網路發生了擁塞,導致發送方錯誤地啟動慢開始,把擁塞窗口 cwnd 又設置為 1,因而降低了傳輸效率。

【方案】接收方不要等待自己發送數據時才進行捎帶確認,而是要立即發送確認,即使收到了失序的報文段也要立即發出對已收到的報文段的重復確認,當發送方 一連收到 3 個重復確認 ,就知道接收方確實沒有收到某個報文段,因而應當 立即進行重傳

② 快恢復:

  發送方知道只是丟失了個別的報文段,於是不啟動慢開始,而是執行快恢復演算法,調整發送方門限值 ssthresh = cwnd / 2,同時設置擁塞窗口 cwnd = ssthresh = 8,並開始執行擁塞避免演算法。


擁塞控制的流程如下:

  擁塞窗口 cwnd,接收方窗口 rwnd, 發送方發送窗口的上限值 = Min[rwnd, cwnd]

① 當 rwnd < cwnd,接收方的接收能力限制發送方窗口大小;
② 當 cwnd < rwnd,網路的擁塞程度限制發送方窗口大小。


【問題背景】

  路由器採取分組丟棄策略,即按照 先進先出(FIFO) 規則處理分組,當隊列已滿時,則丟棄後面到達的分組,這叫 尾部丟棄策略

  丟失的分組會導致發送方出現超時重傳,發送方轉而執行慢開始演算法,不同分組屬於不同 TCP 連接,導致很多 TCP 同時進入慢開始狀態,這種現象稱為 全局同步

【解決方案】

  主動隊列管理 AQM:不等到路由器的隊列長度已經達到最大值時才不得不丟棄後面到達的分組,而是在隊列長度達到某個警惕值時就主動丟棄到達的分組,這樣就提醒了發送方放慢發送的速率,因而有可能使網路擁塞的程度減輕,甚至不出現網路擁塞。


  TCP 是面向連接的協議,運輸連接有三個階段: 連接建立、數據傳送、連接釋放

  TCP 連接建立過程要解決的幾個問題:

① 使每一方能夠確知對方的存在;
② 允許雙方協商一些參數(如最大窗口值、是否使用窗口擴大選項和時間戳選項以及服務質量等);
③ 能夠對運輸實體資源(如緩存大小、連接表中的項目等)進行分配。

  TCP 建立連接的過程叫做握手,握手需要在客戶和伺服器之間交換三個 TCP 報文段,即 三次握手

  最初客戶端和服務端都處於 CLOSED(關閉) 狀態,A(Client)主動打開連接,B(Server)被動打開連接。

  一開始,B 的 TCP 伺服器進程先創建 傳輸控制塊 TCB ,准備接受客戶進程的連接請求。然後伺服器進程就處於 LISTEN(收聽)狀態,等待客戶端的連接請求。如有,即作出響應。

   第一次握手 :A 的 TCP 客戶進程也是首先創建傳輸控制塊 TCB,准備接受客戶進程的連接請求。然後在打算建立 TCP 連接時,向 B 發出連接請求報文段,這時首部中的同步位 SYN = 1,同時選擇一個初始序號 seq = x。TCP 規定,SYN 報文段(即 SYN = 1 的報文段)不能攜帶數據,但要 消耗掉一個序號 。這時,TCP 客戶進程進入 SYN-SENT(同步已發送) 狀態。

   第二次握手 :B 收到連接請求報文段後,如同意建立連接,則向 A 發送確認。在確認報文段中應把 SYN 位和 ACK 位都置 1,確認號是 ack = x + 1,同時也為自己選擇一個初始序號 seq = y。請注意,這個報文段也不能攜帶數據,但同樣 要消耗掉一個序號 。這時 TCP 伺服器進程進入 SYN-RCVD(同步收到) 狀態。

   第三次握手 :TCP 客戶進程收到 B 的確認後,還要向 B 給出確認。確認報文段的 ACK 置 1,確認號 ack = y + 1,而自己的序號 seq = x + 1。TCP 的標准規定,ACK 報文段可以攜帶數據。但 如果不攜帶數據則不消耗序號 ,在這種情況下,下一個數據報文段的序號仍是 seq = x + 1。這時,TCP 連接已經建立,A 進入 ESTABLISHED(已建立連接) 狀態。當 B 收到 A 的確認後,也進入 ESTABLISHED(已建立連接)狀態。








  數據傳輸結束後,通信的方法都可釋放連接。現在 A 和 B 都處於 ESTABLISHED 狀態。

   第一次揮手 :A 的應用進程先向其 TCP 發出連接釋放報文段,並停止再發送數據,主動關閉 TCP 連接。A 把連接釋放報文段首部的終止控制位 FIN 置 1,其序號 seq = u,它等於前面已傳送過的數據的最後一個位元組的序號加 1。這時 A 進入 FIN-WAIT-1(終止等待 1)狀態,等待 B 的確認。請注意,TCP 規定,FIN 報文段即使不攜帶數據,它也消耗掉一個序號。

   第二次揮手 :B 收到連接釋放報文後即發出確認,確認號是 ack = u + 1,而這個報文段自己的序號是 v,等於 B 前面已傳送過的最後一個位元組的序號加 1。然後 B 就進入 CLOSE-WAIT(關閉等待)狀態。TCP 伺服器進程這時應通知高層應用程序,因而從 A 到 B 這個方向的連接就釋放了,這時的 TCP 連接處於半關閉(half-close)狀態,即 A 已經沒有數據要發送了,但 B 若發送數,A 仍要接收。也就是說,從 B 到 A 這個方向的連接並未關閉,這個狀態可能會持續一段時間。A 收到來自 B 的確認後,就進入 FIN-WAIT-2(終止等待 2)狀態,等待 B 發出的連接釋放報文段。

   第三次揮手 :若 B 已經沒有要向 A 發送的數據,其應用進程就通知 TCP 釋放連接。這時 B 發出的連接釋放報文段必須使 FIN = 1。現假定 B 的序號為 w(在半關閉狀態 B 可能又發送了一些數據)。B 還必須重復上次已發送過的確認號 ack = u + 1。這時 B 就進入 LAST-ACK(最後確認)狀態,等待 A 的確認。

   第四次揮手 :A 在收到 B 的連接釋放報文段後,必須對此發出確認。在確認報文段中把 ACK 置 1,確認號 ack = w + 1,而自己的序號是 seq = u + 1(根據 TCP 標准,前面發送過的 FIN 報文段要消耗一個序號)。然後進入 TIME-WAIT(時間等待)狀態。請注意,現在 TCP 連接還沒有釋放掉。必須經過時間等待計時器(TIME-WAIT timer)設置的時間 2MSL 後,A 才進入到 CLOSED 狀態,然後撤銷傳輸控制塊,結束這次 TCP 連接。當然如果 B 一收到 A 的確認就進入 CLOSED 狀態,然後撤銷傳輸控制塊。所以在釋放連接時,B 結束 TCP 連接的時間要早於 A。




⑨ 計算機網路中的數據通過什麼傳輸

就是在傳輸過程中,對外界透明,就是說你看不見他是傳送網路不管傳輸的業務如何,我只負責將需要傳送的業務傳送到目的節點,同時保證傳輸的質量即可,而不對傳輸的業務進行處理。
2、透明傳輸是指數據直接通過系統中的互連功能模式而不進行rlp糾錯,如果進行了rlp糾錯即為非透明傳輸。
3、就是所謂的透明傳輸,不管傳的是什麼,所採用的設備只是起一個通道作用,把要傳輸的內容完好的傳到對方!
4、透傳的設備是個黑箱子,進來是什麼出去也是什麼

⑩ 簡述數據通過計算機網路的通信過程。

過程:電腦將數據封裝上一定的頭部,轉換成0,1等二進制信號在線路上傳播給路由器,路由器根據路由表轉發數據,直達目的主機,再拆去頭部信息,將純的數據交給應用程序。

c/s(客戶機/伺服器)有三個主要部件:資料庫伺服器、客戶應用程序和網路。伺服器負責有效地管理系統的資源,其任務集中於:
1.資料庫安全性的要求
2.資料庫訪問並發性的控制
3.資料庫前端的客戶應用程序的全局數據完整性規則
4.資料庫的備份與恢復

客戶端應用程序的的主要任務是:
1.提供用戶與資料庫交互的界面
2.向資料庫伺服器提交用戶請求並接收來自資料庫伺服器的信息
3.利用客戶應用程序對存在於客戶端的數據執行應用邏輯要求
4.網路通信軟體的主要作用是,完成資料庫伺服器和客戶應用程序之間的數據傳輸。
三層C/S結構是將應用功能分成表示層、功能層和數據層三部分。
解決方案是:對這三層進行明確分割,並在邏輯上使其獨立。
在三層C/S中, 表示層 是應用的用戶介面部分,它擔負著用戶與應用間的對話功能。它用於檢查用戶從鍵盤等輸入的數據,顯示應用輸出的數據。為使用戶能直觀地進行操作,一般要使用圖形用戶介面 (GUI),操作簡單、易學易用。在變更用戶介面時,只需改寫顯示控制和數據檢查程序,而不影響其他兩層。檢查的內容也只限於數據的形式和值的范圍,不包括有關業務本身的處理邏輯。
功能層 相當於應用的本體,它是將具體的業務處理邏輯地編入程序中。表示層和功能層之間的數據交往要盡可能簡潔。
數據層 就是DBMS,負責管理對資料庫數據的讀寫。DBMS必須能迅速執行大量數據的更新和檢索。現在的主流是關系資料庫管理系統 (RDBMS)。因此一般從功能層傳送到數據層的要求大都使用SQL語言。
在三層或N層C/S結構中,中間件 (Middleware) 是最重要的部件。所謂中間件是一個用API定義的軟體層,是具有強大通信能力和良好可擴展性的分布式軟體管理框架。它的功能是在客戶機和伺服器或者伺服器和伺服器之間傳送數據,實現客戶機群和伺服器群之間的通信。其工作流程是:在客戶機里的應用程序需要駐留網路上某個伺服器的數據或服務時,搜索此數據的C/S應用程序需訪問中間件系統。該系統將查找數據源或服務,並在發送應用程序請求後重新打包響應,將其傳送回應用程序。隨著網路計算模式的發展,中間件日益成為軟體領域的新的熱點。中間件在整個分布式系統中起數據匯流排的作用,各種異構系統通過中間件有機地結合成一個整體。每個C/S環境,從最小的LAN環境到超級網路環境,都使用某種形式的中間件。無論客戶機何時給伺服器發送請求,也無論它何時應用存取資料庫文件,都有某種形式的中間件傳遞C/S鏈路,用以消除通信協議、資料庫查詢語言、應用邏輯與操作系統之間潛在的不兼容問題。

三層C/S結構的優勢主要表現在以下幾個方面:
1.利用單一的訪問點,可以在任何地方訪問站點的資料庫;
2.對於各種信息源,不論是文本還是圖形都採用相同的界面;
3.所有的信息,不論其基於的平台,都可以用相同的界面訪問;
4.可跨平台操作;
5.減少整個系統的成本;
6.維護升級十分方便;
7.具有良好的開放性;
8.系統的可擴充性良好;
9.進行嚴密的安全管理;
10.系統管理簡單,可支持異種資料庫,有很高的可用性。