--- title: Introduction to Internet tags: network, introduction, enlightened, internet --- # **Introduction to Internet** > 【目錄】 > [TOC] > Reference Website: > --- ## **What is Internet?** * *以基本元件來描述* * 組成網際網路的軟硬體基本元件 * 連接Internet的裝置稱為主機(host) / 終端系統(end system) * 終端系統藉由通訊連結(communication) & 封包交換器(packet swtches)構成的網路相連 * 資料傳輸率(transmission rate):位元數 / 秒 * 封包(packets):資料的傳輸包 * 封包交換器兩種: 1. 路由器(router) =>用在網路核心 2. 連結層交換器(link-layer-switch) =>用在連線網路 * 都會將封包轉送到目的地。 --> 所經歷的為路徑(path) / 路由(route) * *以服務來描述* * 提供服務給應用程式的基礎設施 * 分散式應用(distributed application):會牽扯到多個彼此交換資料的終端系統 * 連接網路的終端系統會提供API(應用程式介面,Application Programming Interface) * 會規範在終端系統上執行的的特定目的端軟體組件 * 傳送端軟體必須遵循的規則 ### **What is Protocal?** * 所有包含兩個以上遠端通訊實體活動皆由協定所掌控 * 必須遵循相同規範來傳送 / 接收資料 * 其內包含兩大部分: 1. 資料格式 指定用何種格式來傳送資料 2. 通訊程序 訂定處理的順序 & 處理內容 =>規定了電腦間資料處裡時必須透過甚麼順序、格式、資料類型 * 協定包含各種類型 -> 階層式結構 * 將通訊時所需複雜程序,依相關性彙整: | 上層 | 功能較獨特 / 複雜 | | --------- | -------------------- | | 下層 | 具共同性 / 簡易性 | 每個階層稱為Layer ### **OSI Model** ![](https://i.stack.imgur.com/WG5r8.jpg) * OSI:Open System Interconnection,開放式系統互連參考模型 * 將電腦所需功能歸納整理為7階層 | 層數 | 名稱 | 應用 | | -------- | -------- | -------- | | 第七層 | 應用層 | 實際執行通訊服務作業(Email、website...) | | 第六層 | 表現層 | 資料表現形式間進行轉換 | | 第五層 | 會議層 | 執行自始至終所有通訊步驟 | | 第四層 | 傳送層 | 根據不同可靠性用途,提供合適特性 | | 第三層 | 網路層 | 為任意兩端裝置建立通訊 | | 第二層 | 資料鏈結層 | 為直接連線的裝置建立通訊 | | 第一層 | 實體層 | 規定連接器形狀 & 接腳數等實體連接規格 | ### **LAN & WAN** * LAN(Local Area Network): * 區域網路,適用於辦公室或家庭等單一服務據點內的網路 * 大多數環境採用乙太網路 * WAN(Wide Area Network): * 廣域網路,讓據點和據點間互連的網路 * 多為電信者所有 :::warning 網際網路 != WAN 網際網路透過互聯以連結全球網路 => LAN = host * n => WAN = LAN * n => Internet = WAN * n ::: * 互聯 * 用以建立大規模網路 * 必須有具備互聯功能的通訊協定(e.g. IP) ### **Communication Relationship** * Client / Server * 用戶端 / 伺服器,又稱主從型 * 伺服器負責主要處裡作業,需維護、運作只需統一集中執行;用戶端處裡單純的作業 * P2P * Peer to Peer,點對點型 * 對等關係,不賦予特定功能 * 資料傳送類型: * 電路交換 => 用通訊纜線連結通訊端點以進行交換 * 封包交換 => 以固定單位切割資料,在前面加上標頭(header) --- ## **TCP/IP** * 廣泛運用在網際網路的通訊協定 * TCP/IP = TCP(Transmission Control Protocol,傳輸控制通訊協定) + IP(Internet Protocal,網際網路協定) ![](https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQ7KzM-x7XTs6OskAOxDRdiBBtaIPqx619jTEP_9VXtogS6RqknfA) * 四層模型架構: | 層數 | 名稱 | 用途 | | ------ | ------ | ------ | | 第四層 | 應用層 | 實際執行通訊服務作業(email、website...) | | 第三層 | 傳輸層 | 據不同可靠性用途,提供適合的通訊品質 | | 第二層 | 網際網路層 | 為任意兩端裝置建立通訊連線 | | 第一層 | 網路介面層 | 為直接連線的裝置建立通訊作業 | * 網路介面層 * 包含實體裝置 * 網際網路層 * IP協定歸於此 * 為網路介面層 + 轉送功能 => 和其他網域互通訊 * 傳輸層 * TCP:負責執行資料確認或重送等,可靠性高 * UDP:降低通訊處理的可靠性,即時性高 * 應用層 * 含其他協定,如HTTP、SMTP...分別適用各種應用程式 * 利用傳輸層提供通訊功能以達各種功能 ### **IP Address** * IP位址:為了讓網路能透過IP協定識別每台host * 目前所使用有兩種: * IPv4 => `XXX.XXX.XXX.XXX` * IPv6 => `XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX` * 根據網際網路規範來配置IP位置,全球電腦部的重複指定相同位址 * 連接埠號(port):指定連線時所使用的通訊目的端功能(傳輸層) * 必須同時使用IP Address & port才能指定所要連線的目的端電腦及連線時所要使用的功能 * 範圍 => 0 ~ 65535;0 ~ 1023為公認連接埠號 | 埠號 | 協定 | 用途 | | ------ | ------ | ------ | | 80 | HTTP | 存取網頁 | | 443 | HTTPS | 存取加密網頁 | | 110 | POP3 | 讀email | | 143 | IMAP4 | 存email | | 25 | SMTP | Server間進行mail中繼轉送 | | 587 | SMTP submission | 透過電腦傳送郵件到郵件伺服器 | | 20 | FTP data | 檔案傳輸(轉送中繼資料) | | 21 | FTP control | 檔案傳輸(控制用) | * IP可分為: * 公用IP位址 => 全球獨一無二 * 私用IP位址 => Intranet * IP address分級:A ~ E * A:0.0.0.0 ~ 127.0.0.0 => 大企業、研究機構、國家 * B:128.0.0.0 ~ 191.255.0.0 => 中型企業、教育機構 * C:192.0.0.0 ~ 223.255.255.0 => 小型企業、網路供應商 * D、E特殊用途 * 特例IP Address: * 127.0.0.1 -> Localhost * 192.168.X.X -> Intranet * 子網域遮罩: * 網路位址被設定為1的位元 * 利用子網域遮罩 AND IP位址 = 網路位址 ### **MAC Address** * MAC Address:Media Access Control Address,媒體存取控制位址 * 用以指派給每個乙太網路等網路硬體裝置的位址 * 又稱實體位址,具全球唯一性 > 但有部分網路產品可自行更改MAC,不見得每台裝置的MAC位址都是唯一 * `AA-BB-CC-DD-EE-FF` * A、B、C => 製造商編號 * D => 機型編號 * E、F => 產品序號 ### **What is ARP?** * ARP:Address Resolution Protocol,位址分析通訊協定 * 連乙太網路需透過MAC位址;TCP/IP通訊需透過IP位址 => 同時滿足兩者為ARP * 過程: * 欲查詢某IP位址轉換為MAC位址 1. 廣播詢問 => ARP Request 2. 若有符合則return => ARP Reply ![](https://upload.wikimedia.org/wikipedia/commons/c/c5/Arp_v1.PNG) --- ## **Web Services** ### **HTTP** * Hypertext Transfer Protocol:超文字傳輸協定 => 在網頁伺服器 & 網頁瀏覽器間負責處理網頁資料 * 一項要求必須對應一項回應 * 系統透過TCP/IP送HTTP Request到Server * Server收到並處理請求,最後回傳HTTP Response作為結果回Client * `http://` ### **HTTPS & SSL/TLS** * Hypertext Transfer Protocol Secure => HTTP通訊的安全機制 * 加密HTTP Request & Response * 必須透過SSL / TLS來建立安全連線 * SSL(Secure Sockets Layer,安全封包層協定) * TLS(Transfer Layer Security,傳輸層安全協定) * 協商:兩種協定都備有多種機制,Server會在通訊初與Client討論所要使用的機制 * 能偵測是否發生竄改行為 * 能驗證所要連線的網頁伺服器真實身分 * `https://` ### **SMTP** * Simple Mail Transfer Protocol,簡易郵件傳輸通訊協定 => 用來傳遞電子郵件的通訊協定,通常搭配TCP * 只要處在連線狀態則不斷執行指令和回應,回應以三位數回應碼表示結果,後面加可供人類判讀的英文訊息: * 2XX -> 成功 * 3XX -> 重新導向(等待連續動作) * 4XX -> 暫時性錯誤 * 5XX -> 永久性錯誤 ### **FTP** * File Transfer Protocol => 用來傳送檔案的通訊協定,通常搭配TCP * Port 21 => 傳送控制;Port 20 => 傳送資料 * 加密機制:FTPS、SFTP ### **SSH** * 電腦操作分為: * GUI(Graphical User Interface,圖形使用者介面) * CUI(Character-based User Interface,字元使用者介面) / CLI(Command Line Interface,命令列介面) * Secure Shell,安全殼 =>用以連接伺服器或網路設備,且透過CUI操控連線對象 =>必須搭配TCP使用 * 處理作業採機密性,安全性高