第⼀章 ⼀、 資料在網路中傳送的⽅式分為 3 種: 1.Circuit Switching( 線路交換) 在兩個通訊的端點之間建立實體線路連線。⼀旦建立兩端之間的連線後, 佔⽤線路並傳輸資料 (即他⼈ 無法使⽤)。直到通信結束之後,這條專⽤路徑才停⽌使⽤,並讓出供他⼈繼續使⽤。⽬前的電話與電 報交換系統就是使⽤這種技術。 特⾊:在傳輸過程中,傳輸線路不能分享給其它節點 (node) 使⽤,即頻寬不共⽤。 優點: 傳輸速度快延遲⼩。 不會產⽣線路衝突,錯誤率低。 缺點: 需花時建立線路連線。 因需等待傳輸完成才會釋放線路,容易形成佔線⽽浪費資源。 2.訊息交換 (Message Switching) 可視線路的忙碌狀況選擇不同的路徑來傳送資料,不⽤建立專⽤線路。其中傳遞的資料包含來源位址 與⽬的地位址,網路中間裝置會將訊息先儲存再傳送出去。 優點: 每個節點都會檢查資料是否完整,可降低傳 輸的錯誤率。 整體線路的使⽤率提升。 缺點: 當傳輸的資料量龐⼤時,會長時間佔⽤所選擇的傳輸路徑,造成該段線路出現壅塞情形。 3.分封交換 (Packet Switching) 先將欲傳遞的訊息分割成許多⼤⼩固定的⼩封包,其中包含⽬的地的「位址」。 網路節點可依封包所 指定的⽬的位址來決定傳輸路徑,傳送⾄⽬的地後重新組合, 是世界上網際網路通訊、數據和語⾳通 訊中最重要的基礎。 再舉個例⼦,好比今天在⼀條網路的⾼速公路 (共⽤的頻寬) 上,⼀個⼀個的 packet 可以同時在網路上 進⾏傳輸。 優點: 封包資料量⼩,傳輸快速可避免壅塞,具有 Message Switching 與 Circuit Switching 技術的優 點。 缺點: 封包不會計算所有路徑的節點 (node),只管傳遞給下⼀個節點,故不會按順序送達,接收端需 花時間重整資料。 ⼆、 私⼈網路:您的電腦可在網路上被其他裝置找到,您也可以將您的電腦⽤於檔案及印表機共⽤,不安 全比較容易被駭客入侵。 公⽤網路:您在外⾯時,例如咖啡館的 Wi-Fi 網路,您的電腦不會顯⽰給網路上的其他裝置,您也無 法將您的電腦⽤於檔案及印表機共⽤,安全不容易被駭客入侵。 私⼈網路分為四種:consumer,SOHO,SMB,Large Enterprise 三、與網際網路協議⼀起使⽤的分層模型 (TCP/IP) 1.實體層:關於底層硬體通訊的細節 2.連接層:關於軟體和硬體通訊的細節 3. 網路層:解決網路上傳送封包的問題,並選擇路徑將封包有效傳輸 4. 傳輸層:提供端對端應⽤程式的傳輸,且確保資料以正確順序接收 5. 應⽤層:指定應⽤程式間,傳輸資料的格式 Dcs:max{NF/Us,F/Dmin} Dp2p:max{F/Us,F/Dmin,NF/Us+all u} 第三章 ⼀、網際網路⽀援兩種基本的通訊正規化: Stream Paradigm Message Paradigm 連接導向式通訊(虛擬傳送,要先 無連接式通訊(⼀⽅準備好就可以 傳送資料,不需要事先建立路徑) 與對⽅⼀起建立路徑,才可以傳送 資料,ex:連線) 多對多溝通 1對 1溝通(封包出去只給⼀個 ⼈,其他⼈會收到,但不會接收) 單個位元組的順序(有連續性,⼀ 單個訊息的順序(各⾃獨立) 個沒傳送到要從頭傳送) 任意長度傳送 每條訊息最⼤為 64kbytes ⼤多數應⽤程式使⽤ ⽤於多媒體應⽤ 建立在 TCP 層上 建立在 UDP 層上 Unicast (1-1) Unicast,Multicast(1many),broadcast(many-many) 影片播放 Http ⼆、TCP 與 UDP 差異 TCP 傳輸資料前,會先將資料分割成較⼩封包,再將這些封包加上編號,然後送出。在接收端收到資 料後,TCP 會開始檢查資料是否已經全部收到?或是有錯誤或漏掉的?如果都沒有問題,才會將封包依 序組合起來,還原成原本的資料。 ⽽ UDP 對接收到的封包不會做任何回應,因此封包可能會在傳輸過程中遺失、重複、或不依照順序送 收,抵達速度也可能比接收端的處理速度快。對於某些訊息量較⼤的傳輸,像是語⾳或影像,可容忍 ⼀些遺失的封包⽽感覺不出來。 三、The Client-Server Model Of Interaction: Server ApplicationServer Application 先啟動 Client ApplicationClient Application 第⼆個啟動 不需要知道哪個 client會聯絡它 被動等待 client聯絡的時間任意長 需要知道聯絡哪個 server 在需要溝通時,發起聯絡 透過傳送和接收資料與 client通訊 透過傳送和接收資料與 server通訊 在為⼀個 client提供服務後保持運 ⾏,並等待另⼀個 與 server互動後可能會終⽌ IP(32bit):運⾏ server 的電腦的識別碼 Port number(16bit):電腦上特定 server 的識別碼 threads(server 的分⾝):假設 N 個 client ,則 threads 有 N+1 個 迴圈依賴:⼀個或多個物件例項之間存在直接或間接的依賴關係,這種依賴關係構成了⼀個環形呼 叫。 DoS attack(阻斷服務攻擊):⽬的為透過特殊的攻擊⽅式來耗盡提供服務伺服器的資源或是頻寬, 以達到讓其他的使⽤者無法使⽤到服務,當這項攻擊是透過兩台以上的電腦或是殭屍網路來執⾏時則 稱為 DDoS attack(分散式阻斷服務攻擊) 第四章 ⼀、應⽤程式層協議指定了互動的兩個⽅⾯: Aspect Description Data Representation(資料表⽰) 在電腦之間,資料利⽤不同形式呈 現於電腦螢幕上 Data Transfer(資料傳輸) 在 server和 client之間,確定資料 是否從 server成功傳送到 client ⼆、主要的 WWW 標準: Standard HTML URL HTTP Purpose ⽤於指定網⾴內容和佈局的表⽰標 準 指定網⾴識別符號的格式和含義的 表⽰標準 指定瀏覽器如何與 Web 伺服器互 動以傳輸資料的傳輸協議 URL 格式: [協定類型]://[伺服器位址]:[埠號]/[檔名]?[查詢] ex:http://www.netbook.edu/example.html HTTP can be characterized as follows: 1.使⽤⽂字控制訊息 2. 傳輸⼆進制資料檔案 3. 可以下載或上傳資料 4. 包含快取 三、使⽤ HTTP 獲取網⾴ 當⽤⼾單擊超連結時,瀏覽器會執⾏⼀系列步驟來獲取所需的⾴⾯。 1)瀏覽器確定 URL。 2)瀏覽器向 DNS 索要伺服器 www.nutn.edu.tw 的 IP 地址。 3)DNS 回覆 140.133.2.7(使⽤ DNS 查詢⼯具)。 4)瀏覽器在埠 80 上連線到 140.133.2.7。 5)它透過⾴⾯ /index.html 傳送 HTTP 請求。 6)www.nutn.edu.tw 伺服器將⾴⾯(index.html)作為 HTTP 響應傳送。 7)如果⾴⾯包含顯⽰所需的 URL,瀏覽器將使⽤相同的過程獲取其他 URL。 8)瀏覽器顯⽰⾴⾯(/index.html)。 9)如果在短時間內對同⼀伺服器沒有其他請求,TCP 連線將被釋放。 四、四種主要請求型別: Request GET Description 請求檔案,有內容 HEAD 請求狀態資料,只有標頭 POST 將資料傳送到伺服器,新增資料 PUT 將資料傳送到伺服器,更新資料 (可能會被管理員關閉權限) GET 請求格式: GET/item version CRLF ex:GET/index.him HTTP/1.1 \r\n 五、使⽤ HTTP 傳輸 Web ⽂件 Status Code Corresponding Status String 200 OK 400 Bad Request 404 Not Found HTTP 包括長度、上次修改、內容型別 HTTP 請求各式: HTTP/1.0 status_code status_string CRLF ex:HTTP/1.1 200 OK 六、Caching 1. 為網路訪問提供了重要的最佳化 2. 給定網站的⼤部分內容由⼤影象組成(GIF、JPEG) 3. 使⽤快取副本來減少下載時間 七、⽤於減少下載時間的瀏覽器中快取 Given: 網⾴上專案的 URL Obtain: A copy of the page Method: if(專案不在本地快取中){ 發出 GET 請求,從 server 獲得“GET”回覆,顯⽰在瀏覽器上,並在快取中放 置 copy;} else{ 向 server 發出 HEAD 請求; 獲得“head”回覆,將本地與最後修改進⾏比較; If(快取專案是最新的){ 從 server 上丟棄“head”回覆,並使⽤快取專案;} else{ 發出 GET 請求,從 server 獲得“GET”回覆,顯⽰在瀏覽器上,並在快取中放置 copy;}} Web 由基本的 HTML 檔案組成,包括幾個參考物件,每個物件都可以透過 URL 處理。 八、HTTP communication : 1.non-persistent HTTP: 最多只傳 1 個 object response time=(N+1)*2RTT 圖1 2. persistent HTTP: 在⼀次 TCP 連線中,傳遞數個 objects response time= (N+2)RTT 圖2 九、HTTP Cookie:是 Server 傳送給 Client 的⼀⼩片段資料,並請 Client 保存起來,以便往後向相同 的 Server 發送請求時,附上這 Cookie 的資料。 Cookie 常⾒⽤途: 1. 儲存和追蹤使⽤者⾏為 2. 儲存⽤⼾登入、購物⾞等 Server 所需的資訊 3. 儲存使⽤者設定和偏好等 ⼗、FTP 1. 任意檔案內容:可以傳輸任何型別的資料 2. 雙向傳輸:可以下載或上傳檔案 3. ⽀援⾝份驗證和所有權:允許每個檔案擁有所有權和訪問限制 4. 瀏覽資料夾:允許 client 獲取⽬錄的內容 5. ⽂字控制訊息:server 與 client 交換控制訊息要以 ASCII 碼進⾏傳送 6. 適應異質性:可以在任意⼀對電腦間傳輸檔案的副本 7. FTP 是架構在 TCP 上⾯ 8. FTP 反轉資料連線的 client-server 關係 9. FTP 有“out-of-band”傳送控制資訊,是因爲 FTP 使⽤兩種不同的並⾏連線來傳輸檔案 10. 在 FTP 連線期間,控制連線隨時都保持暢通狀態,但資料傳輸只有在傳輸檔案時才臨時建立起來, 傳送完就會中斷資料連線。控制連線埠號與資料連接埠號相差 1。 圖3圖4 Given: FTP 控制連線 Achieve: 透過 TCP 連結⽅法傳輸⽂件 Method: client 通過控制連線發送特定⽂件的請求 client 分配⼀個本地協議端⼝(X),並綁定它 client 通過控制連線向 server 發送 port x client 在 port x 等待接受資料連結 Server 收到 port 命令並提取 x server 暫時當 client,創建到 client 電腦上 port x 的資料連線 client 暫時當 server,client 接受資料連線 Server 通過資料連線發送請求的⽂件 Server 關閉資料連線 ⼗⼀、關於 mail base64 編碼:將原始⽂件轉成 ASCII 碼,再轉成 2 進制,並將 2 進制以 6 個 bit 為單位,去對應 base64 中的號碼轉成字⺟ MIME 標準需要 base64 編碼:因為 SMTP 只能傳送⽂字訊息,⽽ MIME 提供 email 可以傳送圖片及 2 進 位檔,所以如果要傳送 base64 編碼後的資料,就需要 MIME 標準 Transfer(傳輸):將 mail copy 從⼀台電腦移動到另⼀台電腦的協議—SMTP Access(訪問):允許使⽤者訪問郵箱,並檢視或傳送 mail 的協議—POP3、IMAP Representation(表⽰):儲存在磁碟上的 mail 格式的協議—RFC2822、MIME 圖5 ⼗⼆、DNS(網域名稱系統):它將⼈們可讀取的網域名稱 (www.amazon.com) 轉換為機器可讀取的 IP 地址 (192.0.2.44) Domain name Assigned To gov net 政府 營利機構 org 非營利機構 圖6圖7 構成快取基礎的參考原則的區域性性以兩種⽅式適⽤於 DNS: 1. 空間:使⽤者傾向於查詢本地計算機的名稱,⽽不是遠端計算機的名稱 2. 暫時:使⽤者傾向於反覆查詢同⼀組域名 利⽤空間位置:名稱解析器⾸先聯絡本地伺服器 利⽤時間地點:DNS 伺服器快取所有查詢 Given: 來⾃ DNS 名稱解析器的請求訊息 Provide: 包含地址的回覆訊息 Method: 從請求中提取名稱 N; if ( server 是 N 的許可權) {Form 並向請求者傳送回覆; else if ( N 的答案在快取中 ) {Form 並向請求者傳送回覆; else { /* 需要查詢答案 */ if ( N 的權限 server 是已知的 ){ 向權限 server 傳送請求;} else { 向 root server 傳送請求;} 接收回覆並放置在快取中; Form 並向請求者傳送回覆;}}} DNS 資料庫中的每個條⽬由三個專案組成: 域名、記錄型別、價值 Types Of DNS Entries: 1.SOA:⽤於查詢管理名稱的伺服器管理資訊 nutn.edu.tw (DNS)14400 IN SOA dns1.nutn.edu.tw(DNS server) 2.NS:DNS 伺服器的主機名稱 nutn.edu.tw. 14400 IN NS dns1.nutn.edu.tw.where 3. A:網域名稱對應到 IPv4 dns1.nutn.edu.tw 14400 IN A 140.133.1.2 4. CNAME:同⼀台主機的多個別名 www.nutn.edu.tw IN CNAME dns.nutn.edu.tw 5. MX:在該區域中擔任郵件伺服器的主機 nutn.edu.tw 14400 IN MX 0 mail.nutn.edu.tw 所有 mail@ nutn.edu.tw 都應該路由到 mail.nutn.edu.tw 的郵件伺服器 圖1 圖2 圖3 圖5 圖6 圖4 圖7 第六章 1. Data Communication:適⽤於下層⽅⾯,如硬體相關問題 2. Computer Networks:適⽤於⾼層次⽅⾯,如網路協議、應⽤程式、軟體相關問題 3. 與正弦波相關的訊號的重要特徵: 頻率:每單位時間的振盪數(秒) 振幅:最⼤和最⼩訊號⾼度之間的差異 相位:弦波的起始距離參考時間移動多遠 波長:訊號在介質上傳播的週期長度 4. Composite Signals(複雜訊號):指兩個或兩個以上的正弦波組合在⼀起 5. 利⽤傅立葉轉換可以將複雜訊號分解成簡單訊號 6. 類比訊號頻寬:最⾼頻率與最低頻率之間的差異 數位訊號頻寬:無限⼤ 7. ⼀個數位訊號使⽤ 2 個級別,則每個級別可以對應 1 個資料位;⼀個數位訊號使⽤ 4 個級別,則每個 級別可以對應 2 個資料位 8.baud: 如果系統要求訊號保持在給定⽔準在.001 秒內,則 baud 為 1000 9. bits per second = band X log2 (levels) 10. Line Coding:透過上升的⾼度去分辨是 0 或 1 11. Manchester Encoding Used in Computer Networks:看在間隔中變化幾次,變化 1 次為 1,變化 2 次為 0,不論⾼到低或低到⾼,都⼀樣 12. 將類比訊號轉換為數位,有兩種⽅法:脈衝程式調製(PCM)、三⾓洲調製(DM) 13. PCM 編碼器:類比訊號—>取樣—>量⼦化—>編碼—>數位資料 14. PCM 為取每個時間的量⼦,DM 為這個時間與前⼀個時間的量⼦差 15. 如果取樣太少會失真,如果取樣太多會有不必要的 data,所以 sampling rate=2*fmax(fmax:頻 率最⾼量) 16. digitized voice call = 8000 samples/second * 8 bits/sample = 64000 bits/second 第八章 1. 傳輸錯誤有三⼤類: (1)⼲涉:電磁輻射會引起噪⾳,從⽽⼲擾無線電傳輸和跨電線傳播的訊號 (2)失真:所有物理系統都會扭曲訊號 (3)衰減:當訊號穿過介質時,電線或光纖上的訊號會變弱,就像無線電訊號會隨著距離⽽變弱 2. Shannon 定理提出了⼀種減少錯誤的⽅法:增加信噪比(增加訊號或降低噪⾳) 3. 資料通訊系統中的三種資料錯誤: Type Of Error Description Single Bit Error 只有 1個 bit錯誤 Burst Error ⼀長串 bit不斷發⽣錯誤 訊號無法辨認是不是錯誤 Erasure (模糊) 4. channel coding(通道編碼)分為兩⼤類:FEC、ARQ 5. FEC:在資料中新增其他資訊,允許接收者驗證資料正確到達並糾正錯誤 6. ARQ:需要發件⼈的合作,發件⼈和收件⼈交換訊息,以確保所有資料都能正確到達 7. 兩種型別的 FEC 技術滿⾜了不同的需求: (1)Block Error Codes:將 data 切割成⼀組⼀組的 block,每組 block 會多加 bits 去保護它,每個 block 都是獨立的(無記憶) (2)Convolutional Error Codes:把⼀些 data 想像成⼀串的 bit,前⾯編碼的結果會留下來,往下遞 給下⼀次編碼(有記憶) 8. SPC(Even parity , Odd parity): 8bits+1bit=9bits=2^9 種可能 只能偵測有沒有錯,無法得知錯哪⼀個 只能有奇數個錯(歸類為無效),偶數個錯偵測不到(歸類為有效) data word(原始的資料):8 bit code word(編碼過的資料):9 bit 9. 漢明碼距離:將兩個有效的 code word 做 xor 後,計算有幾個 1,就為漢明碼距離。ex:110 xor 011 = 101,漢明碼距離為 2 10. 最⼤可以檢測到多少錯誤:e = dmin - 1 11. RAC: 使⽤ even parity,外加 8 個 bit,可以偵測有沒有錯,且得知錯哪⼀個(僅限 1 個錯誤) 只能有奇數個錯,偶數個錯偵測不到 12. checksum: 互聯網協議中使⽤的 16 位元 checksum 算法: 把 M ⽤零補滿到 16 位元的整數倍 將 32 位元 checksum integer C 設置為 0 for(M 中的每個 16 位元組){ 把這 16 位當成⼀個整數加到 C} 提取 C 的⾼階 16 位加到 C 中; C 的低階 16 位取 1’s 就是 checksum; 13. CRCs:任意長度訊息、出⾊的錯誤檢測能⼒、通過硬體以極快的速度執⾏ 第⼗章 1. carrier:頻率⾼的電磁波(載波) 2. 電磁能量的頻率決定了能量的傳播⽅式 3. modulation 是兩個輸入相加:carrier and signal 4. modulation 有三種主要技術 類比訊號:AM(振幅調變)、FM(頻率調變)、PM(相位調變) 數位訊號:ASK(振幅調變)、FSK(頻率調變)、PSK(相位調變) 5. constellation(星象圖): QASK/QAM:相位 + 振幅 第⼗⼀章 1. multiplexing(多⼯器): 多個資訊流的組合,⽤於共享介質上傳輸(實現概念的機制) 2. demultiplexing(解多⼯器): 將組合分解回單個資訊流(實現分離的機制) 3. 多⼯器的四種基本⽅法: FDM:被廣泛運⽤(頻率切割) WDM:光的波長,只適⽤於光纖網路(時間切割) TDM:被廣泛運⽤(波長切割) CDM:⽤於⼿機的⽅法(數學) 4. carrier frequency(載波頻率):⼀組廣播電台可以同時傳輸電磁波,幾乎沒有⼲擾,它們各⾃使⽤ ⼀個單獨的頻道 5. FDM 優點:可以同時好幾對傳送資訊 缺點:容易受到噪聲和失真的影響 6. 實⽤的 FDM 系統有⼀些限制: (1) 兩個頻率很接近會有⼲擾 (2) 接受組合訊號的解多⼯器必須能將信號分成單獨的載波 (3) 美國的 FCC 對電台進⾏監管,以確保運營商之間有⾜夠的間距 7. guard band(保護頻帶):每個頻寬保持的適當距離,這樣才不會互相⼲擾 8. spread spectrum(展頻):為了增加對外界⼲擾的免疫⼒ 9. FDM:利⽤濾波器將頻帶切割成不同的頻率,接受者再根據頻率接收資料 10. FDM 多⼯器中的層次結構:每個多⼯器將其輸入對映到更⼤的連續頻段(TDM 的階層也是如此) 11. WDM:是 FDM 在光纖中的應⽤,利⽤光的不同波長分割出不同 channel,再以個別的 channel 傳 送資料 ,Ex:菱鏡⽤於組合或分離各個波長的光 12. TDM:利⽤時間作為區隔,依序傳送資料 13. 同步 TDM: (1) 在整個網際網路上被廣泛使⽤,是以輪流的⽅式傳送資料 (2) 不會有差距出現 (3) 會產⽣ unfilled slots(沒有 data 的插槽),降低傳輸的速度 (4)framing bit:為了讓解多⼯器知道從哪裡開始,且保持多⼯器與解多⼯器同步 14. 統計 TDM:跳過沒有 data 的插槽,讓傳輸數據的時間減少 15. CDM:⽤於電話系統跟⼀些衛星通訊 16. CDM 步驟: (1) 將 0 變-1 (2) 相乘(正交) (3) 相加 (4) 點乘積 (5) 將-2 變 0,2 變 1 (6) 取得 data value