Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

網路非常概論

16.400 visualizaciones

Publicado el

網路的基本原理,適合初入門者。

Publicado en: Tecnología
  • 第42頁中"每種不同傳輸媒介的實體網路,其網路地址格式會不一樣",這裡的網路地址應該寫成實體地址比較好,我的意思是不同的實體網路所制定的實體地址格式很可能會不一樣,例如:IEEE 802系列的網路(如Wi-Fi, Ethernet, 等等)的實體地址都是48-bit的格式,但如果是Frame Relay則最大是32 bits。
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí
  • 當年雖然主修網際網路,但實作太少,出來之後發現台灣基本上只有這行比較快找到工作= =
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí
  • 您好,看完投影片之後覺得獲益良多;想請教第42頁中"每種不同傳輸媒介的實體網路,其網路地址格式會不一樣"是指什麼?
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí

網路非常概論

  1. 1. 網路非常概論~~ 廖冠雄 ghliaw@isu.edu.tw
  2. 2. 2 生活中做哪些事情時有用到網路?
  3. 3. 3 會使用網路  懂網路
  4. 4. 網路是做甚麼用的?  聊天、打屁  打Game  查作業資料  看短片、電影  實況轉播 (http://g0d.today)  … … 會產生資料的裝置 之間互相傳遞資料 用的 4
  5. 5. 甚麼是會產生資料的裝置?  電腦  手機  平板  還有嗎? 5
  6. 6. 甚麼是資料?  我們在電腦之間互相交換的資料有哪些?  文字  聲音  影像  視訊  數字  … 這些都只不過是以”人”的觀點來看的, 那麼以電腦的觀點來看呢? 6
  7. 7. 電腦眼中的資料到底是甚麼?  那得要先了解電腦(Computer)是甚麼東西 7
  8. 8. 電腦是甚麼?  Computer = 計算機 (用來做計算的機器)  不過,他不會自己算,必須”人”來指揮他做 計算  而且不能丟一個式子給他,他就會自己算  而是計算的步驟要人來一一做安排  例如:要算2+(3 x 5) – 4 ,步驟如下:  先算 3 x 5 得到15  再算 2 + 15 得到 17  再算 17 – 4 得到 13  這計算的步驟就是所謂的”程式” (Program) 8
  9. 9.  電腦會做的計算有哪些?  四則運算:加/減/乘/除  比較大小  布林運算:AND/OR/NOT  以上運算每一個都是一個指令,寫程式的人 依據想要做的運算。用指令兜出計算的步驟  運算完的結果可以儲存在:  電腦內部的記憶體(Memory)  或外部的硬碟、光碟、隨身碟… 9
  10. 10. 所以,電腦眼中的資料是甚麼? 就是”數字” 那說好的文字、影像、聲音、視訊呢? 那只是你們人類的想像而已 在電腦裡面全部都是數字組成的 10
  11. 11. 電腦裡的數字長甚麼樣子?  儲存數字的記憶體其實是一種記錄ON/OFF 狀態的東西  記憶體就像大賣場裡的置物櫃一樣  一格一個擺得整整齊齊的  而且編有流水號  一格裡面要嘛就是有人放東西(ON),要嘛就是 空的(OFF) 11
  12. 12.  如果把ON當作1,OFF當作0,搭配記憶體 的儲存空間,那麼就可以來做計算了  想像你是只有一根手指頭的人,那你要如 何做計算? 1 + 0 1 1 + 1 1 0 12
  13. 13. 所以,電腦裡的資料其實是… 一連串0與1的組合 13
  14. 14. 資料的單位  位元 (bit)  位元組 (byte) = 8 bits 14
  15. 15. 所以,網路的作用只不過是… 把一連串0與1的組合 從一邊送到另一邊 15
  16. 16. 要怎麼實現網路這種東西呢?  先想想人類之間的對話吧  人類之間面對面的對話需要:  至少有兩個人 (廢話!)  還要在地球上 (這不是廢話,沒有空氣你的聲音 會傳出去嗎?)  要有共同的語言 16
  17. 17.  所以,電腦之間要能對傳資料,需要:  至少要有兩台電腦 (又是廢話!)  要有可以傳導資料的”傳輸媒介” (在不在地球上 都無所謂啦)  要有共同的”語言” (正式名稱:協定 (Protocol))  不要忘了,電腦是被動的東西,所以這語言得要我們 設計出來  原則上就是做到”資料可以從一端傳送到另一端”這個 目的  傳送端與接收端都要遵守 17
  18. 18. 怎樣才能讓資料在兩部電腦之間傳遞?  這條線(傳輸媒介)可以是:  金屬導線  光纖  無線電磁波 18
  19. 19. 資料如何透過傳輸媒介傳遞?  此問題其實是在問 ”0與1如何透過傳輸媒介傳遞?”  傳輸媒介上可以傳甚麼?  “信號”  金屬導線  電的方波或弦波  光纖  光的方波  無線  電磁波(弦波) 19
  20. 20.  所以,這個問題就變成 ”0與1可以用甚麼信號來代表?”  分別用不同的信號來代表0與1  例如電的方波:+5V代表1,-5V代表0  例如電磁波:使用某固定頻率與振幅,相位0度代表 0,相位180度代表1  還要規定每個信號的持續時間,例如0.1秒,這 樣子接收端才知道已經收到了一個位元  傳輸速率的計算單位:bits per second (bps) 20
  21. 21. 01001… 01001… 21
  22. 22. 以上的傳遞方式會有甚麼問題?  這世界沒有十全十美的事  資料可能會有錯誤或遺失  錯誤:傳送端傳送0但接收端收到1,反之亦然  遺失:傳送端傳送的資料,接收端都沒收到  Why?  打雷、閃電  干擾  有人手癢,把線剪斷  斷線  如何解決?  接收端要能判斷是否有錯誤或遺失  重新傳送 22
  23. 23. 這樣就OK了嗎?  想像以下的情境:  A有10 M bits (10 x 106 bits)的資料要送到B  假設線路的傳輸速率為10 Kbps (10 x 103 bps)  那麼總共要花 1000 秒才能傳完  如果第9,999,999 bit發生錯誤,怎麼辦? A B 10 M bits 10 Kbps 23
  24. 24.  重新傳送  又要花1000秒  不實用!  再假設每10 Mbits一定會發生一次錯誤,而 且會發生在哪一個bit是隨機的  那不就永遠也傳送不完了?!  如何解決? 24
  25. 25. 怎樣解決傳輸媒介所發生的錯誤與遺 失?  解決的原則:在整筆資料傳送前先動一些手 腳  甚麼手腳?  把資料先分割成一個個長度比較小的單位(即所 謂的封包),然後再一一傳送  設計判斷錯誤與遺失的機制 25
  26. 26. 10 M bits ………………… 1 K bits 共10,000個 26
  27. 27. 1 K bits 錯誤檢查/糾正碼 A B 回覆訊息(Acknowledgement, ACK) 27
  28. 28. 如果有三人以上共用同一個傳輸 媒介,該怎麼辦?  例如:大家都使用同一個無線電頻道的網路  Wi-Fi、Bluetooth、3G、4G/LTE等等都是  有線網路也有這種類型  早期的乙太網路(Ethernet)  有線電視網路(Cable modem) 制定使用媒介的遊戲規則! (就是協定啦) 28
  29. 29. 有線電視網路 共用傳輸頻道 29
  30. 30. 共用傳輸媒介時,封包結構必須改變 嗎?  當然要囉,要不然怎麼會知道這筆資料要送給 誰  在一個共用媒介中的每部電腦(更正確的說,應 該是網路介面)必須要有一個唯一的識別碼  叫做”(實體)地址” (Physical Address)  封包結構中要加入傳送端(source)與目的端 (destination)的地址 1 K bits 錯誤檢查/糾正碼 傳送端地址目的端地址 30
  31. 31. 共用媒介的遊戲規則怎麼設計?  兩種方式  隨機式(想送就送)  由某特定裝置來分配  隨機式(想送就送)  優點:簡單(大家都遵守同一規則即可,地位相等)  缺點:會有”碰撞”(collision)的機會(及兩人同時傳 送資料,彼此互相干擾)  而且裝置越多機會越大  必須設計因發生碰撞而必須重新傳送的機制  特性:頻寬使用效率不可能達到100% !  適合傳輸範圍小、裝置數不多的網路  Wi-Fi、傳統乙太網路 31
  32. 32. 32
  33. 33.  由某特定裝置來分配  被分配到的裝置才能傳送資料  優點:不會有碰撞  頻寬可做最有效的利用  缺點:比較複雜  要設計分配頻寬的步驟與對話內容  用在傳輸範圍大、使用者眾多的網路  例如:3G、4G/LTE 33
  34. 34. 小結 …  到目前為止,我們已經可以讓接在同一個傳 輸媒介的裝置,彼此之間可以互相傳送資料 了。 “小網路” 34
  35. 35. 如果有好幾個小網路要互相連起來, 要怎麼辦? ? 35
  36. 36. 有彈性且經濟的做法… 那就在網路之間加一個專 門的「轉送裝置」吧 36
  37. 37. 不同網路中的裝置如何傳送資料?  找一條傳遞路徑(Route)就對了 Source Destination 37
  38. 38.  專門的轉送裝置叫做”路由器” (Router)  找出傳遞路徑的協定叫做”路由協定” (Routing Protocol) 38
  39. 39. 怎麼找到傳遞路徑?  首先,在整個大網路上的每樣東西要有識別 碼  每一個小網路都要有一個唯一的識別碼—”網 路ID“ (Network ID)  每一部電腦/路由器(更正確的說,應該是網 路介面)在整個網路中也要有一個唯一的識別 碼—”網路地址” (Network Address)  網路地址可以由”網路ID + 裝置ID”合成 39
  40. 40. 網路A 網路B 網路C 網路D 網路E #1 #2 #3 #4#5 #6 #1 #2 #3 #4#5 #6 #1 #2 #3 #4#5#6 #1 #2 #3 #4#5 #6 #1 #2 #3 #4#5 #6 網路地址 = A.#1 網路地址 = D.#3 路由器X 路由器Y 路由器Z 40
  41. 41.  類比於我們熟知的網際網路來說,每一網路 介面必須配給一個IP Address  IP Address = 子網路ID + 主機ID 140.127.196.39 子網路ID 主機ID 41
  42. 42. 打岔一下 …  每個網路介面不是有一個”實體地址”的識別 碼嗎? 那為何還要另外定義”網路地址“呢?  因為:  實體地址只是用來和連在同一媒介中的其他網路 介面傳輸資料使用的  每種不同傳輸媒介的實體網路,其網路地址格式 會不一樣  如果採用,路由協定會很難制定  當網路介面卡更換時,不應更換網路地址才對 (就像房子原地打掉重建,地址不應該變)  所以 … 42
  43. 43. 網際網路是虛擬世界!! 43
  44. 44. 怎麼找到傳遞路徑? (續)  當傳送端想傳一個封包到接收端時,由接收 端的網路地址來判斷:  如果和傳送端在同一個小網路中  直接傳給接 收端  如果和傳送端不在同一個小網路中  傳給路由 器,請路由器轉送 44
  45. 45.  路由器裡面要有路徑指引—”路由表” (Routing Table)  用來查詢到某個小網路的下一步要怎麼走  由網路建立與管理者設定 路由器X 路由器Y 路由器Z 網路A 網路C 網路B 網路D 網路E 路由器X 介面#1˙ 介面#2 介面#3 網路A 介面#1 直接到達 網路B 介面#3 路由器Y 網路C 介面#3 直接到達 網路D 介面#2 直接到達 網路E 介面#2 路由器Z 45
  46. 46.  封包裡面要至少再加入:  傳送端網路地址  目的端網路地址 1 K bits 錯誤檢查/糾正碼傳送端 實體地址 接收端 實體地址 目的端 網路地址 傳送端 網路地址 46
  47. 47. 小結 …  加上了網路串接機制(路由器+決定傳送路徑), 就可以讓世界上所有的裝置互相傳送資料了  這樣就符合大眾的需求了嗎? 47
  48. 48. 思考一下,你是怎麼用你的電腦的?  我拿電腦來”同時“做下列事情:  用瀏覽器看網路新聞、電影、收郵件  打Game  用LINE和朋友哈啦  用Word寫報告 … “同時執行多個應用程式” 48
  49. 49. 到底是甚麼在使用網路做通訊?  是電腦主機嗎?  是應用程式!!  問題:當電腦主機收到一個封包時,他怎麼 知道這個封包是要給哪一個應用程式? NO! 49
  50. 50. 如何辨識應用程式?  老方法,給它的一個在此主機中唯一的辨識 碼即可  通常就是用一個特定範圍內的整數來代表  (例如:0 ~ 65535之間的整數(16位元整數))  封包中再加兩個欄位,分別標示傳送端程式 與接收端程式的代表號 50
  51. 51. 以網頁瀏覽為例 瀏覽器程式 網頁伺服器程式代表號:13579 代表號:80 網路地址 A 網路地址 B Get index.html 13579 80 接收端程式 代表號 傳送端程式 代表號 接收端主機 網路地址 傳送端主機 網路地址 A B 13579 80 index.html內容 A B 傳送端程式 代表號 接收端程式 代表號 傳送端主機 網路地址 接收端主機 網路地址 51
  52. 52. 如果同時又跑e-mail服務 瀏覽器程式 網頁伺服器程式代表號:13579 代表號:80 網路地址 A 網路地址B Get index.html 13579 80 A B 13579 80 index.html內容 A B 看信程式 郵件伺服器程式 代表號:24680 代表號:25 Get index.html 24680 25 A B 24680 25 index.html內容 A B 52
  53. 53. 那,寫網路應用程式會不會很難?  如果每個訊息都要自己包裝成封包再傳送, 當然很難  因為你得要了解網路封包的封裝格式  而且這問題也不只包裝成封包那麼單純,要 是在透過網路傳遞的過程中發生問題怎麼辦?  (可能發生的問題仍是”錯誤”與”遺失”)  總不能叫應用程式設計者自己去設法解決 吧?! 53
  54. 54. 如何讓網路應用程式容易開發?  首先,先想想看,透過網路傳遞可能發生的 “錯 誤”與“遺失”要怎麼解決?  可以仿效先前在同一傳輸媒介中解決問題的方 法(見此),設計一套機制在收送兩端運行  在封包中加入錯誤檢查碼(or糾錯碼)  回覆(ACK)與重傳的機制  在系統中獨立運行這套訊息傳輸機制(請把它想 像成系統中的某一套軟體程式),每個應用程式 都委託這套機制做訊息的傳輸。 54
  55. 55. 所以,網路應用服務的開發就只要…  既然有專門傳輸訊息的機制,那麼網路應用 服務的開發就只要專注於:  服務進行的流程設計  在服務進行的過程中,所需要傳遞的訊息內容與 格式 55
  56. 56. 到此大功告成 !!  只要做到本頁之前的所有機制,就可以達到 最終的目的: “讓所有應用程式都可以透過網路 正確地交換訊息” 56
  57. 57. 構成網路的機制,是否有些規律?  請由下而上,回想網路運作的機制: 在選定的傳輸媒介上,將0與1組成的資料串流轉成特定信號 送出 為做到在傳輸媒介上有效且可靠的資料傳輸,必須將資料切成 小段為單元來傳,並且加上錯誤檢查/糾正以及重新重送的機制 為做到各個小網路之間可以互相串連成一大網路,因此加上 轉送裝置(路由器)的設計,將各網路串連起來,並設計決定資 料轉送路徑的機制 57
  58. 58. 為了讓網路兩端的應用程式可以順利地交換訊息,特別設計 專門用來在網路上傳輸訊息的機制,獨立運行於系統中 網路應用程式依其服務進行的流程,產生特定格式的訊息互相 傳遞 58
  59. 59.  再請反過來由上而下來看: 網路應用程式依其服務進行的流程,產生特定格式的訊息… 交給以下傳輸機制傳遞 為了讓網路兩端的應用程式可以順利地交換訊息,特別設計 專門用來在網路上傳輸訊息的機制,獨立運行於系統中 交給以下傳輸機制在網路上傳遞 為做到各個小網路之間可以互相串連成一大網路,因此加上 轉送裝置(路由器)的設計,將各網路串連起來,並設計決定資 料轉送路徑的機制 在連結兩裝置的傳輸媒介上傳遞時, 使用以下機制傳遞 為做到在傳輸媒介上有效且可靠的資料傳輸,必須將資料切成 小段為單元來傳,並且加上錯誤檢查/糾正以及重新重送的機制 59
  60. 60. 使用以下機制傳遞轉成實際的信號 在媒介上傳遞 在選定的傳輸媒介上,將0與1組成的資料串流轉成特定信號 送出 1. 有層次的分工,分層負責不同任務 2. 要為每一層次的任務制定協定 60
  61. 61. 分層式(Layered)的網路協定模型 在傳輸媒介上以實際信號傳遞資料串 在同一傳輸媒介上傳遞特定長度資料 透過轉送裝置在分屬不同網路的電腦間傳送資料 將應用程式的訊息透過網路傳遞 應用程式產生特定格式的訊息 要求傳送 要求傳送 要求傳送 要求傳送 回報接收 回報接收 回報接收 回報接收 實體層 (Physical) 資料鏈結層 (Data-Link) 網路層 (Network) 傳輸層 (Transport) 應用層 (Application) 61
  62. 62. 封包的封裝 (Encapsulation)source application transport network data link physical HtHn M segment Ht datagram destination application transport network data link physical HtHnHl M HtHn M Ht M M network dara link physical data link physical HtHnHl M HtHn M HtHn M HtHnHl M router switch message M Ht M Hn frame 通常實體層與資料鏈結 層的實際上就是”網路 介面” 62
  63. 63. 網際網路(Internet)協定的與分層式模 型的對應 Application Internet Transport Network Access Data Link Physical Internet Protocol (IP) Physical Network Hardware ARP ICMP RARP TCP/IP Model TCP/IP Protocols FTP SMTP DNS TCP Telnet HTTP DHCP UDP NFS (“Ping”指令) (找對方的實體位址) 63

×