第五章 網際網路 5-1 網際網路的歷史沿革 5-2 網際網路基本運作原理 5-3 連線媒介與連線上網 5-4 網際網路上的熱門應用 5-5 網路安全 5-6 網際網路的未來發展及最新應用
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的四個類別
連結層 (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
Cable Modem 利用電視纜線傳輸訊號 傳輸方式採用廣播的方式 趨勢上是亞洲及歐洲喜歡ADSL,美國則偏好Cable Modem
無線網路 廣佈無線網路存取器(Access Point, AP) 透過無線網卡與AP連結傳輸資訊
網際網路上的熱門應用 WWW的四大組成元素 主從式架構 網頁瀏覽器 HTTP HTML
主從式架構 由用戶端發出需求,主機給予回應
網頁瀏覽器 網頁瀏覽器為使用者瀏覽網頁的使用者代理人 可支援Cookie紀錄使用者上網的資訊 第一個商品化的網頁瀏覽器為網景的Navigator 微軟在作業系統中附上Internet Explorer 除了IE之外,許多免費的網頁瀏覽器如Opera、FireFox、Mozilla、Chrome等皆有其使用者群
HTTP www所使用的基本通訊協定 URL的組成 透過Domain Name Server (DNS) 讓使用者可以文字指定某一網路位址
HTTP (cont) 常見的主機命名名稱列表
HTML HTML是標記描述語言 使用各種標籤來進行排版的動作 介於幕前排版與幕後排版
HTML範例1 – 原始碼
HTML範例1 (cont) – 畫面
HTML範例一 – 使用標籤
HTML範例二 – 原始碼
HTML範例二 – 畫面
HTML範例二 – 使用標籤
HTML範例二 – 使用標籤 (cont)
HTML範例三 – 原始碼
HTML範例三 – 原始碼 (cont)
HTML範例三 – 畫面
電子郵件 電子郵件三大元素:使用者代理人、郵件伺服器、SMTP
電子郵件 (cont) 電子郵件送收流程
電子郵件 (cont) Webmail為旅人的郵件使用者代理人新寵
搜尋引擎 利用搜尋引擎找出使用者想得的資訊 每家搜尋引擎技術不同 最好的搜尋策略為使用多家搜尋引擎以避免漏網之魚
即時傳訊 近來網友新寵 提供網友一個即時文字溝通的機制 提供使用者名單讓使用者知道一起在線上的朋友 目前各家廠商中仍無統一標準,因此系統互不相容
VoIP (Voice Over IP) VoIP:透過網際網路或其他使用IP技術的網路來傳輸語音對話的通訊方式 VoIP與P2P技術的最佳結合應用:Skype
Web 2.0 Web 2.0:代表著Web成了使用者在線上協同合作與共享資訊的平台 Web 2.0知名應用與技術: Wikipedia (維基百科):http://www.wikipedia.org/ Blog(網誌):Web Log RSS:Really Simple Syndication Mash-up:結合既有的網路應用系統,創造出新的複合式應用
電子書 2004年Sony推出全球第一台採用電子墨水技術的薄型電子書(Sony Librie),開啟了「無紙革命」 電子墨水技術:不炫光,不反光,低耗電,高亮度 2006年Sony再推出第二台電子書(Sony Reader) 2007年Amazon推出Kindle,由於具有「無線」與「免費」兩大特質,因此受到市場矚目
5-5 網路安全 電腦駭客 利用ping指令可作出最簡單的阻斷式攻擊(Denial of Service) Hacker:設法取得未授權的主機之使用者權限 Cracker:惡意攻擊他人電腦進行破壞 利用ping指令可作出最簡單的阻斷式攻擊(Denial of Service)
電腦病毒 惡意程式碼 電腦病毒,特洛伊木馬程式及蠕蟲之比較: 病毒:會不斷自我複製及感染其他檔案 蠕蟲:蠕蟲可以透過網路散播 特洛伊木馬程式:植入後門進而竊取資訊 電腦病毒,特洛伊木馬程式及蠕蟲之比較:
知名電腦病毒列表
防毒軟體 防毒軟體的兩大元素 使用防毒軟體之後並非一勞永逸,而是需要正確的使用習慣,如定期更新病毒碼及修補作業系統 病毒的定義檔 搜尋病毒的引擎 使用防毒軟體之後並非一勞永逸,而是需要正確的使用習慣,如定期更新病毒碼及修補作業系統
封包竊聽 當資料在網路中傳輸,其實是很容易遭到竊聽 如果資料未加密的話,很容易就被一覽無遺 為避免封包被竊聽,應盡量使用安全連線方式
5-6 網際網路的未來發展及最新應用 目前網路的缺點 Internet2為發展中之計畫,在不影響現有網路運作下提供更新更好的網路服務 頻寬及架構上有其限制 傳輸品質無法給予保證 Internet2為發展中之計畫,在不影響現有網路運作下提供更新更好的網路服務 網路的最新應用 網格運算透過網路結合全球電腦之資源 目前使用網格之計畫如SETI、英特爾/聯合器材公司癌症研究計畫、莫仙尼質數網路計畫
雲端運算 在資訊科學中,常用「雲」來代表網路 雲端運算依架設位置分類 以「雲」來替代複雜的網路架構 表示使用者無須瞭解具體的運算架構即可使用運算服務 雲端運算依架設位置分類 公用雲端(Public Cloud) 私有雲端(Private Cloud)
雲端運算 雲端運算依服務類型分類 儲存雲端服務 (Storage as a Service):提供線上儲存空間 基礎架構雲端服務 (Infrastructure as a Service):以虛擬化平台為主體,提供伺服器設備及網路設備等委外服務 平台即服務 (Platform as a Service):代管用戶應用程式的執行平台 軟體服務 (Software as a Service):透過網路訂閱的方式,提供應用程式服務