網路概論
講者︰薯羊
大綱
- 網路的架構
- TCP/IP網路模型
- 封包
- Cookies
- URL分析
網路
什麼是網路?
首先,我們常說的網路要分開 2 種︰
- Network
- Internet
這2種的概念相似但其實都不一樣
Network
Network = 電腦網路
電腦網路是指
透過網路設備與傳輸媒介將電腦、伺服器或週邊設備等加以連接。
目的是傳送資料與訊息,利用彼此的資源。

Internet
Internet = 網際網路
Internet 是由各個 Network 組成的全球性網路。
只要符合 Internet 的協定,你就可以連上 Internet 上。
那個所謂的協定就是 IP (Internet Protocol)。

網路架構
網路的架構
網路中的資訊常用以下 3 種架構
進行資訊傳遞︰
- 主從式 (Client / Server)
- 對等式 (Peer to Peer, P2P)
- 混合式 (Hybrid)
主從式架構
(Client / Server)
- 在主從式的架構中,最少會有 1 台或以上的伺服器。
- 其他客戶端只可向伺服器發出請求,伺服器再依據客戶端的需求來分配或處理資源。
- 是一種集中處理形式的架構。

對等式架構
(Peer to Peer, P2P)
- 在對等式的架構中,客戶端同時也會是伺服器。
- 架構下所有人可以彼此互相分享自己的資源。
- 資源是屬於分散式的共享。
- 常見的例子有︰
BT種子(.torrent)下載

混合式
(Hybrid)
- 混合式的架構中,會同時存在著主從式及對等式的架構
- 混合式是目前主要使用的架構

TCP/IP 網路模型
目前最常見的網路模型有2種︰
-
OSI 模型
-
TCP/IP 模型
網路模型

第4層 應用層
功能
定義應用程式怎樣提供服務,即是應用程式間溝通的協定,例如︰
- 簡易電子郵件傳送(Simple Mail Transfer Protocol, SMTP)
- 檔案傳輸協定(File Transfer Protocol, FTP)
- 網路終端機模擬協定(TELNET)
- HTTP的協定也是同時會在這邊定義出來。
HTTP
- HTTP全寫為「HyperText Transfer Protocol」(超文本傳輸協定)。
- 主要用於接收 / 發送 HTML。
- HTTP 還有另一個叫「HTTPS」(S = Secure)的兄弟。
- HTTP 常見於各種網頁,而 HTTPS 側常見於各個需要加密傳輸資料的網頁。
HTML
- HTML = 超文本標記語言
- 全寫為 HyperText Markup Language
- 是一種用於建立網頁的標準標記語言。
- HTML常與CSS、JavaScript一起用於設計網頁、網頁應用程式以及行動應用程式的使用者介面。
:max_bytes(150000):strip_icc()/HTML-58d585325f9b584683366e94.jpg)
HTML的基礎架構
- 先由標籤 <html> 包住裡面的東西
- 然後內容分別在 <head> 及 <body>
- <head>主要是寫給瀏覽器看或者是用來導入其他外掛用的。
- <body>內的是網頁架構的網頁主體內容,也就是要讓其他人看到的內容。
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
</body>
</html>第3層 傳輸層
- 負責傳輸過程的的流量控制、錯誤處理、資料重送等工作。
- 內容包括
傳輸控制協定(Transmission Control Protocol, TCP)、
使用者資料協定(User Datagram Protocol, UDP)等,確定資料已被送達並接收。
TCP 與 UDP 的差異
- TCP 常用於一般的傳輸
- UDP 常用於一些對時效性要求比較大的傳輸,例如語音、影像。

第2層 網際網路層
功能
- 決定每一個封包的目的地,讓每一個封包,都能夠到達目的端主機(但不檢查是否被正確接收),如網際協定(IP, Internet Protocol)。
IP address
一般我們連上一個網站,都會輸入它的 Domain Name 來進入指定的網頁。
但除了用 Domain Name 進入一個網站,你有想過其實有別的方式進入一個網站嗎?
連上一個網站的方式,除了輸入它的 URL 以外,還有另一種方式可以進入,那就是輸入它的 IP address 。
IP address
IPv4 是目前最常見的 IP 表示方式,範圍是由 0.0.0.0 ~ 255.255.255.255。
以輔大的網頁為例,它的IP就是︰140.136.200.88
那 IP 跟用 Domain Name 進入網站有什麼不同呢?
IP address
舉個例來說,你今天約了 A 君出來玩,但他遲遲還沒出現,所你打電話給他︰
你︰欸, A 君,郎咧?
A 君︰我剛離開新北市新莊區中正路 999 號 3 樓 4 室。
你︰直接說你剛離開家就好啦。
Domain Name = A君的家
IP = 新北市新莊區中正路 999 號 8 樓 7 室
IP address
Domain Name = A君的家
IP = 新北市新莊區中正路 999 號 8 樓 7 室
- 2 個的意思是一樣的,但方便記憶的程度就不一樣了。
- Domain Name 目標是為了讓人們易於去記憶,但他本身是指向 IP 的。
- IP 是伺服器真正的位址,但是由於他本身不便於讓人們記憶,所以才需要 Domain Name 來協助記憶。
像是台大的IP是︰140.112.8.116
但你總是會記住︰ntu.edu.tw
Lab 01
查看自己IP
大家可以先試試找一下自己現在的 IP
Lab 01
查看自己IP
要查看自已的 IP ,除了用滑鼠指著網路,再按右鍵,「內容」來看,還可以用以下這種方法。
- 在開始欄位搜尋「cmd」
- 在 cmd 輸入「ipconfig」就可以看到囉。
cmd是一種常用於操作 windows 的文字介面,其實是一種很常用到的程式。
例如一般日常你可能會用「ping」指令去查連線狀態,又或是透過 cmd 執行一些程式的編譯檔。
127.0.0.1
這個 IP 非常特別,如果你叫一個菜鳥駭客去攻打 127.0.0.1 ,而他也乖乖照做了,那你叫他早點放棄駭客這條路吧。
那 127.0.0.1 到底是什麼呢?
- IPv4: 127.0.0.1
- Domain Name︰ localhost
在 Domain Name 你可以看到 localhost ,翻譯過來中文的話就是「本地主機」。
簡單來說,這個 IP 是常用於連接自已的主機,以測試封包傳輸的運作。
第1層 網路介面層
功能
- 主要負責實體硬件之間的溝通,以及定義如何用網路來提供服務。
- 例如乙太網路進行包裝, WIFI進行包裝。
MAC address
每一張網路卡都有的獨特編號。
第1層 網路介面層
這個 IP 非常特別,如果你叫一個菜鳥駭客去攻打 127.0.0.1 ,而他也乖乖照做了,那你叫他早點放棄駭客這條路吧。
那 127.0.0.1 到底是什麼呢?
- IPv4: 127.0.0.1
- Domain Name︰ localhost
在 Domain Name 你可以看到 localhost ,翻譯過來中文的話就是「本地主機」。
簡單來說,這個 IP 是常用於連接自已的主機,以測試封包傳輸的運作。
封包
封包
經過 TCP/IP 模型的洗禮後,你的電腦就會生出一個封包。然後電腦就會把這些封包送到目的地。
你可以想像你要寄包裹︰
- 首先你要想想用那一個箱子來裝 (應用層)
- 然後你要確認放進去的東西有沒有對 (傳輸層)
- 之後把箱子封好,貼上地址 (網際層)
- 最後把箱子拿到郵局,寄出去 (介面層)
但有時你要寄去的東西可能一箱子裝不下,因此就會分配一箱又一箱包裹的再寄出去。
封包也是同樣,因為寄出去資料可能也會很大,所以也會切割好一份一份,方便寄出去。
Cookies
Cookies 其實就是一些為了辨別用戶而儲存在客戶端的資料。
一般來說,網頁不會儲存你在網頁上使用的資料,這樣的特性會導致使用者的使用體驗很糟糕。
試想想你要網購,你選了好幾件貨品,但當你按下下一頁的時候,所有你選購過的暫存記錄都會消失,回歸到什麼都沒買的狀態。不然就是讓你看到都覺得煩厭的長長的一頁清單。不論是上面哪一種情況,都會讓你感到滿滿不的便。
工程師為了解決這種情況,所以就加進了 Cookies 這一種技術。
Cookies
Cookies 會儲存一些資料,以便進行一些簡單的記錄。
Cookies 是由伺服器產生的,並且會在載入網頁時傳給客戶端。最後會在客戶端對伺服器發出請求時,把 Cookies 內的資料回傳給伺服器。
Cookies 可以分為2種︰
- 非持久 Cookies
- 持久 Cookies
Cookies 常見於各個需要進行記憶一些資料的網站,因為可提供使用者較順暢的使用體驗。
但對資訊安全的方面來說,這就不是一個很好的想法。因為cookies可能會存有一些比較個人的資料。
非持久 Cookie
非持久 Cookies 是一種暫存資料,過一段時間後會由電腦自動清理掉。
常用於網站頁面記錄、目前選購記錄,等地方。
舉個例來說就像是
- 你現在去一家店吃飯, (載入網頁)
- 店家會先給你一張點餐紙, (伺服器給予 Cookies)
- 你可以在上面隨意勾選你想要的餐點,你決定好後交回點餐紙給店家 (回傳 Cookies)
持久 Cookie
持久 Cookies 不會被電腦自動清理,必須手動清理
常用於帳號記憶、常用資料記憶、瀏覽習慣記憶。
舉例來說就是
- 你搬新家了, (載入網頁)
- 房東給你鑰匙, (伺服器給予 Cookies)
- 只要你要回家,有鎖匙就可以直接進去 (伺服器索取 Cookies,但不會回收)
- 直到你再次搬走為止,手上的Cookies都會在你手上 (需手動清理)
以一個網頁來解釋網路的運作
示範網頁
輔仁大學網頁
URL
URL 分析
我們常看到的 URL ,其實是可以進行一些分析的, URL 內容主要包括了︰
- 傳送協定。
- 伺服器。(通常為域名(Domain Name,有時為 IP 位址)
- 埠號。(以數字方式表示,若為預設值可省略)
- 路徑。(以「/」字元區別路徑中的每一個目錄名稱)
- 片段。以「#」字元為起點
URL 分析
例如我們這次用來做示範的網址︰
http:\\www.fju.edu.tw
- 傳送協定——http
URL 分析
例如我們這次用來做示範的網址︰
http:\\www.fju.edu.tw
2. 伺服器——www.fju.edu.tw
- www: 是指主機名稱 / 子網域。
- fju︰是屬於「自定義網站名稱」的部份,主要用於方便使用者去記憶網址、提供辨別網站的用途。
- edu︰是用於標示你的網站是屬於怎樣性質,比較常見的有 com (公司)、 gov (政府機關)、 edu (教育單位)、 net (網路組織)等。
- tw︰台灣的網站其網址結尾處大都會以 .tw 作為結尾,其意義代表的是國別。標示網址申請的機構所在的國家 / 地區,例如香港會用 .hk 、 日本會用 .jp 、韓國會用 .kr 。
Port
Port,中文稱為「埠 / 埠號」。
Port其實一直很常見於我們日常的網路連接中。
一般來說他會跟在 Domain Name 或是 IP 的後面,長的像這個樣子:
192.168.1.1:80
那個在「:」後面的80就是Port。
謝謝你耐心聆聽 :)
網路概論
By sheep_of_block
網路概論
- 66