停止等待」就是每傳送完乙個分組就停止傳送,等待對方的確認。在收到確認後再傳送下乙個分組。
全雙工通訊的雙方既是傳送方也是接收方。
a 叫做傳送方, b叫做接收方。
1.1.1無差錯情況下
a傳送完分組m1,就暫停傳送,等待b確認(ack)。
b收到m1後向a傳送ack。
a收到b傳送過來的ack後傳送下乙個分組
1.1.2有差錯情況下
兩種情況:
在接收方 b 會出現兩種情況:
(1)b 接收 m1 時檢測出了差錯,就丟棄 m1,其他什麼也不做(不通知 a 收到有差錯的分組)。
(2)m1 在傳輸過程中丟失了,這時 b 當然什麼都不知道,也什麼都不做。
在這兩種情況下,b 都不會傳送任何資訊。
但a都必須重發分組,直到b正確接收為止,這樣才能實現可靠通訊。
問題1:a如何知道 b 是否正確收到了 m1 呢?
解決方法:超時重傳
a 為每乙個已傳送的分組都設定了乙個超時計時器。
a 只要在超時計時器到期之前收到了相應的確認,就撤銷該超時計時器,繼續傳送下乙個分組 m2 。
若a在超時計時器規定時間內沒有收到b的確認,就認為分組錯誤或丟失,就重發該分組。
問題2:若分組正確到達b,但b回送的確認丟失或延遲了,a未收到b的確認,會超時重發。b 可能會收到重複的 m1 。b如何知道收到了重複的分組,需要丟棄呢?
解決方法:編號
a為每乙個傳送的分組都進行編號。若b收到了編號相同的分組,則認為收到了重複分組,丟棄重複的分組,並回送確認。
b為傳送的確認也進行編號,指示該確認是對哪乙個分組的確認。
a根據確認及其編號,可以確定它是對哪乙個分組的確認,避免重發傳送。若為重複的確認,則將其丟棄。
連續arq針對流水線傳輸
傳送方一次可以發出多個分組。
使用滑動視窗協議控制傳送方和接收方所能傳送和接收的分組的數量和編號。
每收到乙個確認,傳送方就把傳送視窗向前滑動。
接收方一般採用累積確認的方式。
採用回退n(go-back-n)方法進行重傳。
1.tcp連線的每一端都必須設有兩個視窗——乙個傳送視窗和乙個接受視窗
2.tcp的可靠傳輸機制用位元組的序號進行控制
tcp所有確認都是基於序號二不是基於報文段
3.tcp兩端的四個視窗經常處於動態變化之中
4.tcp連線的往返時間rtt也不是固定不變的。需要使用特定的演算法估算較為合理的重傳時間。
有很多介面
工作在物理層,僅僅簡單地**
乙個集線器上所有的機器組成乙個衝突域
分割衝突域
不能分割廣播域
過濾通訊量,增大吞吐量
儲存**交換機:將幀放入快取記憶體,並檢查是否正確,正確則**,錯誤則丟棄。延遲打,可靠性高,可以支援具有不同速率的埠的交換
若10個站點都連線到乙個100mbit/s的乙太網集線器,此時每個站點都得到的頻寬是多少?如果它們都連線到乙個100mbit/s的乙太網交換機,站點頻寬又是多少?
比較上述兩種情況,哪種網路吞吐量更高?最高是多少?
集線器:因為集線器不能隔離碰撞域,所以所有站點共享100mbit/s,每個站點的平均頻寬是10m bit/s
交換機:因為交換機能隔離碰撞域,所以每個站點獨享100m bit/s 的頻寬
後者網路總吞吐量高,最高可達1g bit/s
計算機網路複習
tcp 是面向連線的協議。每乙個 tcp 連線有三個階段 連線建立 資料傳送 連線釋放。每一條 tcp 連線有兩個端點。tcp 連線到埠叫做套接字 socket 或插口。埠拼接到 ip 位址即構成了套接字。每一條 tcp 連線唯一地被通訊兩端的兩個端點 即兩個套接字 所確定 主動發起連線建立的應用程...
計算機網路複習
利用http協議在網際網路上通訊時,資料是非加密傳輸的。資料可能被其他人截獲,造成資訊洩露。為了解決此問題,需要加密。加密有兩種方式,一種是對稱加密,一種是非對稱加密。在對稱加密演算法中,加密和解密對應的秘鑰是相同的。要保證安全的話,對稱加密的秘鑰不能洩露,必須保密。非對稱加密演算法的加密秘鑰和解密...
計算機網路複習
1.osi rm引數模型與計算機網路體系結構 osi rm引數模型從上到下依次為應用層 表示層 會話層 傳輸層 網路層 資料鏈路層 物理層。1 物理層 最底層最基礎的一層,只負責傳輸0,1二進位制位元流,不考慮資訊的意義和資訊的結構。物理層網路裝置 網絡卡 2 資料鏈路層 負責將上層資料封裝成幀,傳...