# Ch3 ## UDP&TCP     ## UDP introduction    checksum 把上面兩數相加得到的sum然後取補數(1011 ,cs(0100)) ## reliable transfer - 要能錯誤偵測 要回應ACK 送端能重送 timeout避免封包時限內到不了  - Go-Back-N 運作方式:收端給送端說某個封包之前都收到了(累計式的ACK, cumulative ACKs)(序號需要比window size大1) 優點:收端處裡簡單 只取要取的那個其他通通丟掉 在package loss比較少的有限環境內是好東西 缺點:假如在package loss比較多的環境裡會把一堆可能是正確的封包刪掉重送 浪費網路資源  - Selective repeat 運作方式:收端哪個沒收到 送端就把沒收到那個再送一次 (他會對每個封包設timer)(序號需要比送端和收端的window size加起來大window size\*2) 優缺點和Go-Back-N相反 ## TCP introduction   - TCP ACK:表示的是期待收到的下個序號 flow control:當收端時能收的數量  - 只針對最早送出還沒被ACK的封包設timer  - 收到照順序最左邊那個先等一下不傳送ACK等待下一個 假如下一個也是最左邊收端正在等的那個就一起送ACK(TCP的ACK是累計式) - 假如收到的不是照順序的就重送之前已經正確收到的那個ACK    - 避免封包真的loss了等太久   - 解除自己送端的連線 by送FIN bit過去 ## TCP congestion control - congestion control 跟 flow control 差在fc是單一送端 cc是很多人同時要送  - 在沒有發生package loss時一點一點試探 假如超過上限了趕快往下降嘗試消化(塗上縱軸為window大小(cwnd))  - TCP slow start 剛開始時每次double cwnd直到ssthresh  - TCP CUBIC到最大降回去之後用指數方法讓前面增加快點後面增加慢點(優化)  - 拿最小值當沒延遲的基準(RTTmin) 假如接近基準就再加cwnd 假如比基準低很多就減少cwnd - ECN可以直接跟你講哪裡有congestion - TCP 在兩個人都是單一connection 時是公平的 但一人可以開很多connection 此時就不公平了 # Ch4   - Data plane:根據目的地地址查forwarding table找到該去的port(基本上就是forwarding) - Control plane:找從source到destination的路徑(基本上就是routing) - Head-of-The-Line(HOL)blocking: 在交換機裡要到同一個目的地而卡住 很容易發生 ## IP   - length裡包含20bytes的header, fragflag代表同個ID還有沒有下一個, offset要看塞在多少後面 拿送出的bytes/8往後加(記得扣header的20)   - /x代表前x個bit是subnet的address    - 自己看 推一下 - route aggregation: 讓routing策略實現的時候可以不用那麼複雜的機制(紀錄的轉送資訊的量減少, 只需要記前面幾個)  - tunneling: 把IPv6封裝成IPv4的封包(加一個v4的header)  - match plus action: 先找到對應的再做事 # Ch6   - 無線通常是half duplex(不能同時收跟送 會干擾)  - 先補比G少一個bit的0 補完0之後的D除G 把餘數R加回D 接收端拿加完R的D用G再除一次能整除就代表收到的是對的  - 假如只有一個人要用應該要能用到所有資源 M個人要用那應該大家均分 不需用中控端處理碰撞問題(完全分散式) 節點彼此不用同步 夠簡單  - channel或時間切小塊大家各用一點 大家用搶的並用神奇的方法避免碰撞 大家輪流 - TDMA: 照時間切 有時間會沒有人在用 浪費掉 FDMA: 會有頻段沒人用 浪費 - Random access protocols: 主流 開搶  - Pure ALOHA: 想送就送 沒人管, 效果不太好  - Slotted ALOHA: 把時間分段 並設定每個frame都是同樣長度 撞到的case就會只剩下同時送出的情況 缺點: 碰撞浪費時間 中間可能是空的浪費時間 可能沒同步好爛掉 時間都浪費在處理碰撞 - CSMA: 送之前先看看 假如有空間就送 沒有就等等, 還是有可能因為propagation delay而誤判造成碰撞 - CSMA/CD: 偵測到發生碰撞後會停止傳送封包 等隨機時間後再送 隨機時間從小範圍開始找 假如還是一直碰撞會把隨機值範圍逐漸變大(load較高時效率不好) - Taking turns: polling master一個一個點 送個token 有token的可以講話(token可能不見 或受干擾之類的) 缺點:假如沒有人要送還是會繼續點名(token還是會繼續跑)
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up