計算機與程式設計初體驗
網際網路
講師:陳琨 (K. Chen)
kchen@csie.org
5-1 網際網路的歷史沿革
—
名詞解釋• 網路:把電腦與電腦使用網路線相連成網
• 網際網路(Internet):連結各個網路所成的大型網 路(inter-network),特指今日全球個人電腦等設備所 連結上的大型網路
• 連結上網的機器稱為主機(host)或是終端系統(end system)
• 連結的媒介稱為傳輸連結(communication links)
• 提供連結服務的稱為ISP (Internet Service Provider)
• 頻寬 = bits / second (每秒可傳輸多少位元)
名詞解釋 (cont)
• 網路上傳輸的資料稱為封包(packet)
• 封包隨著路由器(router)所尋找出路徑來傳
遞, 最後抵達目的位址,稱為繞徑(routing)
網路慣用圖示
• 以雲狀表示網路
網路示意圖
• 靠著不同的傳輸媒介,將網路上的元件相連,也將各 個網路連結起來
網際網路的架構
• 網際網路是階層式的架構
• 網際網路所使用的通訊協定是TCP/IP (Transmission Control Protocol/ Internet Protocol)
網際網路提供的傳輸服務
• 連結導向服務 (connection-oriented service)
– 提供可信賴的資料傳輸(reliable data transfer) – 能夠確保資料傳輸完整無誤
– 傳送之初必須先進行三向式握手(three –way handshake) 建立連結
• 非連結導向服務(connectionless service)
– Best-effort
– 可減少為確保資料傳輸的overhead
三向式握手
網際網路發展的沿革 – 線路交換
• 早期只有電信系統的線路交換
• 兩方溝通採用獨占線路的方式
網際網路發展的沿革 – 封包交換
• 1961 年Leonard Kleinrock提出封包交換的 概念
• 封包交換:將原始傳送的訊息切割成一個 個封包,傳送進網路之後,每個封包可能 走不同的路徑,最後到達目的位址再重新 組裝回原始訊息
• 封包交換不需要獨占連線
• 對於電腦資料傳輸而言,封包交換比線路
交換有效率
網際網路發展的沿革 – 封包交換 (cont)
網際網路發展的沿革
• 1961 年Lawrence Roberts使用低速網路線 將劍橋與加州的電腦相連,展示廣域網路 (wide area network) 的概念
• 美國國防部ARPANET計畫開始發展
• 1969 年ARPANET有四個據點:加州大學洛 杉磯分校、史丹福研究機構、加州大學聖 塔芭芭拉分校、猶他大學
• ARPANET 發展出所使用的通訊協定——網
路控制協定 (network control protocol)
網際網路發展的沿革 (cont)
• 名詞解釋:
• 協定:指的是方法、規則。定義出傳遞訊息時 使用的格式及方法,也定義收發兩端接到訊息 時應有的動作。遵循協定的規範,雙方就能清 楚無誤的相互溝通傳送資料
• 殺手級應用程式 (killer app):指一樣新產品、
新觀念或新服務一推出即能在市場上佔有一席
之地,受到熱烈歡迎,甚至能壟斷整個市場
網際網路發展的沿革 (cont)
• 1971 年出現網際網路的第一個殺手級應用 程式:由
Ray Tomlinson寫出的email
• 1983 年出現Telnet及FTP
– telnet :讓使用者可遠端登入另一台電腦,並且 進行各種操作
– FTP :使檔案能夠透過網際網路方便地在電腦 之間傳送
• 1989 年Tim Berners-Lee提出HTML
• 1993 年第一個圖形化網站瀏覽器-Mosaic誕
生
網際網路發展的沿革 (cont)
1971
5-2 網際網路基本運作原理
• 網際網路是分層 運作,以郵務的 分層運作比喻
網際網路的分層運作
• 分層運作的好處
– 層與層之間分工責任清楚
– 若有某一層必須變動,則僅影響上下層,不相鄰之層 面不受影響
網際網路層面所提供的功能
• 流量管制(flow control):避免一端電腦傳送過快導 致另一端電腦的緩衝區爆滿
• 雙方在建立連結時就設定好雙方的緩衝空間,並 在傳送過程中作動態調整,一旦緩衝空間將爆滿 時,傳送方會被要求減緩傳送速度
錯誤管制 (error control)
• 封包傳送途中可能訊號會發生錯誤
• 最簡單的錯誤管制是使用檢查和
• 檢查和:所傳輸的資料相加最後取其補數
• 檢查和的弱點:當兩個資料在同一位數發
生錯誤時,使用檢查和無法偵測出有錯誤
發生
檢查和範例
• 傳輸的資料如下:
1011100001010110 0000101001110101 0010011011001110
• 將所傳輸的資料相加得1110100110011001
• 將和取補數得0001011001100110 (檢查和)
• 若傳輸無誤, 在接收端將資料與檢查和做XOR 將得1111111111111111
• 若出現0表示傳輸過程有錯誤發生
壅塞管制 (congestion control)
• 控制整個網路上的封包流量,避免因為大量封包湧 進網路導致網路壅塞癱瘓
• 由排隊理論可知網路流量與等待時間呈指數型成長
切割與組裝
• 在傳輸端將資料切割成一個個封包,把傳 輸時所需要用到的資訊放在標頭,再往下 層傳送直到丟進網路
• 在接收端反向操作,每一層把自己需要用
到的封包資訊取出,並把該封包砍除,處
理完後將封包往上層傳送使用
封包的切割
繞徑 (routing)
• 封包丟進網路後,由路由器的繞境演算法找出封包要往 目的位址的最佳路徑,經由每一個路由器接力傳輸,封 包最終才能順利抵達
網路的通訊協定堆疊
應用層 (Application Layer)
• 提供許多供應用程式使用的通訊協定
• 應用層提供的通訊協定範例:
– 瀏覽網頁:HTTP
– 傳輸檔案:FTP
– 電子郵件:SMTP
傳輸層 (Transport Layer)
• 對應用層來說,傳輸層像是為資料溝通的兩端的應用程式 提供一邏輯連線
• 提供流量管制以避免傳輸端速度太快使得接收端的緩衝區 爆滿
• 進行多工及解多工:
– 多工:在標頭裡填上正確的連接埠號碼 (port number)
– 解多工:根據標頭裡的連接埠號碼將資訊傳網正確 的應用程式
• 提供連結導向傳輸服務及非連結導向傳輸服務
– 連結導向傳輸服務:TCP
– 非連結導向傳輸服務:UDP
傳輸層提供邏輯連線
網路層 (Network Layer)
• 對傳輸層而言,網路層就像提供電腦與電腦之 間的邏輯連線
• 由Internet Protocol來指定網路的位址體系 (addressing scheme)
• 由命令列模式打入ipconfig即可查詢電腦的ip位 址
• 負責繞徑傳送封包
• IPv4 有四大類別,分派給不同大小的網路位址
• IPv6使用128位元用來定址,解決IP不足的問 需求
題
IPv4 的四個類別
查詢自己電腦的 IP 位址
開始/程式集/附屬應用程式/「命令提示字元」,
輸入「ipconfig」
測試網路連線是否正常
說明:
測試自己的電腦到 120.118.165.132 之間的網路連線是否正常。如果 正常時,則會出現如下畫面:
ping 120.118.165.132
追蹤網路連線路徑
說明:追蹤自己的電腦到 120.118.165.132 之間所經過的連線路徑:
tracert –d 120.118.165.132
課堂練習 – P1
•
請測試你的電腦到 www.csie.ntu.edu.tw
這部電腦的連線是否正常,以及反應時間
約多少。
課堂練習 – P2
•
請測試你的電腦到 www.google.com 這部
電腦中間經過幾段網路。
連結層 (link layer)
• 連結層負責將封包傳遞出去,可能在異質 網路中進行傳輸
• 連結層可能是採用乙太網路(ethernet),採 用無線網路的802.11規格,也可能是撥接 上網的Point-to-Point
• 為了能夠儘早抓出錯誤,連結層提供錯誤
管制,甚至是錯誤更正
實體層 (physical layer)
• 以硬體實際傳輸0、1訊號
• 使用光纖、同軸纜線、雙絞銅線甚至是無 線傳輸
• 不同的傳遞媒介會有不同的方式來傳送位
元
5-3 連結媒介與連線上網
• 雙絞銅線 (Twisted-Pair Copper Wire)
– 最便宜且最廣泛使用的傳輸媒介
– 使用兩條包覆好的銅線相互交叉捲起,成為一條傳輸 媒介
– 透過雙絞可以減少磁場干擾
– 必須有放大器或中繼器(repeater)加強訊號 – 共有五大類別,其中
• 第三類別:電話線
• 第五類別:網路傳輸資料使用
連結媒介 (cont)
• 同軸纜線 (Coaxial Cable)
– 由中空的圓柱形導線內包傳輸導線 – 可傳輸數位訊號及類比訊號
– 用於有線電視訊號傳輸及區域網路的網路連線鋪設 – 可傳輸距離較雙絞銅線長
連結媒介 (cont)
• 光纖 (Fiber Optics)
– 成本較高,體積小,能夠高速傳輸資料
– 資料能夠傳達致超過100公里之後才會有訊號減低 的現象
– 不受電波干擾
連線上網
• 校園網路
– 校園中的電腦通成連結形成區域網路(Local
Area Network) ,再向電信公司租用網路線,提 供10Mbps至100Mbps的頻寬,甚至可達
10Gbps
– 區域網路可能有不同的佈局方式,稱為網路佈
局(network topology)
網路佈局 – 星狀網路
• 核心部分有一台機器負責處理網路的資料並且傳送到 主機
• 核心機器負責控制避免發生碰撞
• 好處:若有一連線損壞並不影響其他主機的網路運作
網路佈局 – 環狀網路
• 在環狀網路中,網路的連線形成一環,資料以同一方 向在電腦中傳輸,所以不會有碰撞的問題
• 如果發現資料並不是給自己的,就傳下去給下一台電 腦查看
網路佈局 – 匯流排網路
• 佈置一條網路線,每一台電腦都掛上去
• 為避免資料與其他電腦相撞,可採用偵測的方式
• CSMA/CD:傳輸前先偵測是否有其他人在傳資料,如 果沒有的話則傳輸,若有則先等待一段時間後再進行 偵測
撥接網路
• 早期使用電話線進行撥接
• 透過數據機將電腦所傳輸的數位訊號轉為類比訊號,
然後經由電話線傳輸出去
• 數據機也把電話線所傳輸的類比訊號轉為數位訊號傳 進電腦
• 頻寬約在56Kbps
• 連結上網時,電話便無法接通
ADSL
• Asymmetric Digital Subscriber Line
• 利用電話線提供寬頻上網
• 使用者離電信公司距離不能超過4km
• 上傳與下載切割不同頻寬(Asymmetric),符合一般使用 者的使用需求
Cable Modem
• 利用電視纜線傳輸訊號
• 傳輸方式採用廣播的方式
• 趨勢上是亞洲及歐洲喜歡ADSL,美國則偏好Cable Modem
無線網路
• 廣佈無線網路存取器(Access Point, AP)
• 透過無線網卡與AP連結傳輸資訊