發表文章

目前顯示的是有「通訊協定與設計」標籤的文章

利用NS2軟體模擬各種TCP版本_實作篇(二)

圖片
2.環境建置 A.安裝好Linux環境 這一步的話我就不多贅述了,網路上頗多教學的,例如什麼,如何安裝Ubuntu. Fedora. centos......等, B.安裝好NS2 之前就先拍好影片了,就不多說什麼 C.測試環境安裝正確 其實影片後半段就有了啦... 敝人龜毛了點又多講這段 打開terminal 輸入ns 前面出現%之後 輸入nam 都安裝正確的話會出現這個畫面喔>.= D.本次實驗基本指令 到指定資料夾底下編譯要的檔案與TCP版本 EX:ns filename.tcl tcp_version 編譯沒有問題會出現此圖 開啟新的terminal 輸入gnuplot 在方才編譯好的資料夾底下輸入圖中指令 輸入正確指令且繪製成功的圖表 本次實驗原始碼就上 柯志亨老師的網站找就好 <===超多東西可學的 3.結果圖與分析 A. 觀察TCP Tahoe congestion windows的變化 圖 A-1 Tahoe的CWND變化圖 從A-1圖中我們可以看到TCP的Congestion window的值會呈現週期性的重複變化。TCP Tahoe 開始執行時,先由slow-start(SS)開始,CWND超過ssthresh時進入擁塞避免(CA)階段。由於傳送到網路上的丟包不斷增加,當超出允許能傳送到網路上的個數時,路由器開始使用Drop-Tail演算法將資料包丟掉。當封包遺失時,TCP Tahoe會將ssthresh設為發現封包遺失時的一半,接著將CWND的值設為1。Tahoe重新進入slow-start階段。 B. 觀察TCP Reno congestion windows的變化 圖 B-1 Reno的CWND變化圖 如圖B-1所示,當偵測到封包遺失時,Reno會將ssthresh和CWND的值設為先前CWND值的一半。因此在重送遺失的封包後,TCP Reno會由CA階段開始。由於結束Fast recovery後,Reno的CWND由先前CWND值得1/2開始增加,所以得到的平均吞吐量較Tahoe佳,可由下圖得知。 圖 B-2 Tahoe 與Reno平均吞吐量比較圖 ...

利用NS2軟體模擬各種TCP版本_背景知識篇(一)

圖片
封包運作情況 目錄 1.背景知識 2.環境建置 3.結果圖與分析 4.參考文獻 1.背景知識 A.壅塞控制     一般而言, TCP 的壅塞控制機制主要可分為 slow-start 、 Congestion avoidance 、 Fast retransmission 、 Fast recovery 與 Timeout retransmission 五個階段: 1.   slow-start :也叫做指數增長期,傳送初期或者封包遺失 重傳時整個連線類似於從零開始的狀態,會以指數的方式增長,每收到一個 ACK( 經過一個 RTT) , cwnd 就提升一倍。 2.   Congestion avoidance :當 cwnd 超過 sstresh , TCP 就進入壅塞避免期,在此期間每經過一個 RTT 時間, cwnd 的值才會增加一個 segment ,(一個 segment 通常指一個 MTU 大小)以避免 cwnd 增加太快而導致封包遺失。此時的 cwnd 以線性的方式增加。 3.   Fast restrasmission :當 TCP 源端收到到三個相同的 ACK 副本時,即認為有數據包丟失,則源端重傳丟失的數據包,而不必等待 RTO 超時。同時將 ssthresh 設置為當前 cwnd 值的一半,並且將 cwnd 減為原先的一半。 4.   Fast recovery :當 " 舊 " 數據包離開網路後,才能發送 " 新 " 數據包進入網路,即同一時刻在網路中傳輸的數據包數量是恆定的。如果發送方收到一個重覆的 ACK ,則認為已經有一個數據包離開了網路,於是將擁塞視窗加 1 。 5.   Timeout retransmission :當 RTO 計時器時間滿了之後,就會重新傳送新的封包。 B.TCP Tahoe TCP 早期的版本, Tahoe 具備 TCP 基本架構,包括慢啟動、壅塞避免、重傳狀態。 TCP 在 Tahoe 這版本中加入了快速重傳 (Fast retransmit) 的方法。快速重傳機制是依據重複 (Duplicate) ACKs 作為重送封包的機制,當收到 3 個重複 ...

基於 Verilog 實現 CRC-32 晶片模擬 採用modelsim 模擬軟體

圖片
目錄 1.背景知識 2. 安裝 Modelsim 3.CRC-16 模擬 4.CRC-32 模擬 5.Modelsim 基礎使用教學 1.背景知識 CRC:      循環冗餘查核 ( 英語 : Cyclic redundancy check ,通稱「 CRC 」)是一種根據網路資料封包或 電腦檔案 等資料產生簡短固定位數驗證碼的一種 雜湊函數 ,主要用來檢測或校驗資料傳輸或者保存後可能出現的錯誤。生成的數字在傳輸或者儲存之前計算出來並且附加到資料後面,然後接收方進行檢驗確定資料是否發生變化。一般來說,循環冗餘校驗的值都是32位元的整數。<取自Wiki 百科> 詳細的計算可以看 這篇文章 了解CRC運作原理. 習題:假設資料位元(D)為 1011001101 1011001101 並使用CRC-16(P) ,試問 CRC碼以多項式和二進位表示為何?加上CRC碼後的完整訊息(T)為何? 想知道答案可至 這裡檢查 Modelsim:     Mentor公司的ModelSim是業界最優秀的HDL語言仿真軟件,它能提供友好的仿真環境,是業界唯一的單內核支持VHDL和Verilog混合仿真的仿真器。它採用直接優化的編譯技術、Tcl/Tk技術、和單一內核仿真技術,編譯仿真速度快,編譯的代碼與平台無關,便於保護IP核,個性化的圖形界面和用戶接口,為用戶加快調錯提供強有力的手段,是FPGA/ASIC設計的首選仿真軟件。<取自Baidu 百科> 2..安裝 modelsim 在這邊示範的是  ModelSim PE Student Edition (學生嘛~~) 首先讓我們到 官網下載安裝程式 下載成功之後就安裝去吧 熟悉冗長的安裝過程~~ 超冗長的安裝對吧~~~ 安裝結尾 這裡記得點選  YES 安裝結束後會跳出個 網頁 要求填寫基本資料 這裡亂填就好XDD 但是信箱要確定能收的到 [HINT: 不想註冊真實信箱 ] 反正卻確定信箱有收到信件且有附件檔案 依照信件指示 將剛收到的附件放入指定資料夾當中 如此一...

通訊協定與設計_隨堂問題(三)

圖片
1.為何曼赫斯特編碼無法在高速網路中使用 回答問題前想先補充曼赫斯特編碼的一些問題 ,我們在網上查到的編碼型態有兩種 剛好是0~1的定義相反原因是這樣的,可配合上圖, 第一種GE Thomas, Andrew S. Tanenbaum1949年提出的,它規定0是由低-高的電平跳變表示,1是高-低的電平跳變。 第二種IEEE 802.3 中規定,  低-高電平跳變表示1, 高-低的電平跳變表示0。 高速網絡並不採用曼徹斯特編碼技術。其原因是它的訊號速率為數據速率的兩倍,即對於10 Mb/s的數據速率,則編碼後的信號速率為20 Mb/s,編碼的有效率為50%。對於100 Mb/s的高速網絡來說,200Mb/s的信號速率無論對傳輸介質的Bandwidth的要求,還是對傳輸可靠性的控制,都太高了,將會增加訊號傳輸技術的複雜性和成本,因而難以推廣應用。 參考資料 1. http://jpkc.nwpu.edu.cn/dzjc/jsjwangluo/multibook/1/1-4.htm 2.http://deltas.blog.com/2012/12/12/manchester-encoding-vs-biphase-mark-code-bmc/ 3.http://baike.baidu.com/view/489804.htm 2.我們知道傳碼的時候有preamble,postamble 請問中間的data若有訊號與postamble相同要如何閃過? 這個問題可用bit stuffing 閃過,當然還有其他同步機制,日後再聽老師解說好了~~ 我們知道Postamble 以及 Preamble 是由 01111110 組成的 為防止data中有與此相同的訊號 我們使用 bit stuffing  來阻擋,其原理是在每五個1之後放上一個原本不存在訊號中的0 ,以此區別,一旦五個1出現之後,鳩收方會去檢查第六個bit ,若為0 就刪除,若為1 ,且第七個bit 為0, 那麼這段訊號就會被視為 Postamble 以及 Preamble  ,若第六與第七bit都為1,則此時處於異常終止狀態 參考資料 1.Data and computer communicatios 9th,Willi...

通訊協定與設計_隋棠問題(二)

圖片
1.為何專線要用數位的方式傳輸? [HINT:加密] 速度上來看選擇 類比式所提供的傳輸速度有2.4 Kbps至19.2 Kbps  數位式目前較常見的有64 Kbps、T1(1.544 Mbps)、E1(2.048 Mbps). 速度 數位>類比 芯 線上來看選擇 類比式:話機與總機之間語音是以類比訊號傳送,由於總機與話機之間除了語音訊號之外還有控制訊號、電源等,所以 需要的訊號線數目比較多 ,從早期的6芯之後進化成 四芯 。 數位式:總機與話機之間語音訊號是以數位式傳送,通常連控制訊號、電源等 都整合在一起 ,所以大都是 2芯配線 而且不分極性。 安裝難度 類比>數位 總結:由於數位具有高速方便管理的特性,人們偏好使用數位式專線,要說數位專線的缺點的話,大概就是傳輸距離比類比要短上許多 參考資料 1.網路概論課本 2.http://www.mobile01.com/topicdetail.php?f=168&t=1525203 3.https://tw.knowledge.yahoo.com/question/question?qid=1008082301344 2.OC-192是幾條T1? 多少G? OC 系列是 由 SONET 傳送的一種Optical Carrier signals 例如:OC-1, OC3, OC-12, OC-24, OC-48, OC-96, OC-192 and OC-768...等等 其中OC-192 的速度為 9953.28 Mbit/s (近 10Gbps,所以也稱為 SONET 10G) OC-1為 51.84Mbit/s 從傳送速度來算的話 1 OC192 = 6446.42487046633 T1 (signal) (算法:9953.28 Mbit/s /  1.544 Mbit/s) 參考資料 1.http://www.answers.com/Q/What_is_OC-192 2.http://www.translatorscafe.com/cafe/EN/units-converter/data-transfer/27-69/OC192-T1_(signal)/ 3.1IP 在 subnet mask ...

通訊協定與設計_隨堂問題(一)

圖片
1.ADSL的上行下行分別是在高頻低頻的哪裡? 為什麼? 下行在高頻(1Mbps~8Mbps) 上行在低頻(512kbps~1Mbps) 基地台的覆蓋範圍和基地台的功率是有很大的關係,一般來說,功率大,覆蓋範圍廣。基地台的功率遠大於手機功率,如果遠離基地台,手機的上行訊號不增強的話就無法解讀。造成系統上下行覆蓋不平衡,結果就是通話品質差,容易斷線。手機(上行訊號)採用較低的頻率,是因為頻率低,傳播損耗少,有利于補償功率低的問題。 參考資料 1.http://content.edu.tw/senior/computer/ks_ks/pro/new9.htm 2.http://blog.csdn.net/boatalways/article/details/17168869 3.http://bbs.njupt.edu.cn/cgi-bin/bbsanc?ath=/groups/science.faq/Telecom/D7B41D834/XAF13A94B 2.傳統數據機(modem)是幾K? 大於多少是寬頻? 在家裡以傳統數據機撥接上網,其頻寬大都為56K  bps(56  Kilo  bits per  second,亦即約每秒5萬6千個位元)。但是用寬頻網路上網,其頻寬一般都至少是64K  bps 順便附上熟悉的撥接嘟嘟聲 參考資料 1. http://hep.ccic.ntnu.edu.tw/browse2.php?s=902 2.http://content.edu.tw/senior/computer/ks_ks/pro/new9.htm 3.電話線有2心還有4心 用途是甚麼? 差異? 一般2芯只有TX,RX 的功用 4芯可以當作接電接地用,備用日後客戶要多加電話號碼用,或是直接拿來當總機用 電話連接modem的那條線叫做RJ11 ,  連接電話話機和手柄功能的RJ連接器還叫RJ22,它和RJ9\RJ10被列為同一個系列。也有人稱RJ22為4P4C(4 pin 4 color)。雖然科技發展在功能上RJ22和RJ11相同 參考資料 1.http://www.dz3w.com/info/interface/1377.html 2...