網路概論

講者︰薯羊

 大綱

  • 網路的架構
  • 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一起用於設計網頁、網頁應用程式以及行動應用程式的使用者介面。 

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 ,除了用滑鼠指著網路,再按右鍵,「內容」來看,還可以用以下這種方法。

  1. 在開始欄位搜尋「cmd」
  2. 在 cmd 輸入「ipconfig」就可以看到囉。
  3.  

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 是一種暫存資料,過一段時間後會由電腦自動清理掉。
常用於網站頁面記錄、目前選購記錄,等地方。
舉個例來說就像是

 

  1. 你現在去一家店吃飯,  (載入網頁)
  2. 店家會先給你一張點餐紙, (伺服器給予 Cookies)
  3. 你可以在上面隨意勾選你想要的餐點,你決定好後交回點餐紙給店家 (回傳 Cookies)

持久 Cookie

持久 Cookies 不會被電腦自動清理,必須手動清理
常用於帳號記憶、常用資料記憶、瀏覽習慣記憶。
舉例來說就是

 

  1. 你搬新家了, (載入網頁)
  2. 房東給你鑰匙, (伺服器給予 Cookies)
  3. 只要你要回家,有鎖匙就可以直接進去 (伺服器索取 Cookies,但不會回收)
  4. 直到你再次搬走為止,手上的Cookies都會在你手上 (需手動清理)

以一個網頁來解釋網路的運作

示範網頁

輔仁大學網頁

URL

URL 分析

我們常看到的 URL ,其實是可以進行一些分析的, URL 內容主要包括了︰

  1. 傳送協定。
  2. 伺服器。(通常為域名(Domain Name,有時為 IP 位址)
  3. 埠號。(以數字方式表示,若為預設值可省略)
  4. 路徑。(以「/」字元區別路徑中的每一個目錄名稱)
  5. 片段。以「#」字元為起點

URL 分析

例如我們這次用來做示範的網址︰

http:\\www.fju.edu.tw

 

  1. 傳送協定——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