計算機網路

計算機概論[4]

講師:溫室蔡

網路是個奇怪的領域

它們超喜歡用縮寫

把一些電腦連起來

在一間學校、公司或公寓裡

把電腦全部連到同一條線路上

就構成了「區域網路」

(Local Area Network,LAN)

乙太網

要實作區域網路有很多方式

但最成功的標準是乙太網(Ethernet)

乙太網的規格由 IEEE 802.3 規範

註:IEEE =

Institute of Electrical and Electronics Engineers

電機電子工程師學會

乙太網

A

E

D

B

C

所有電腦共用一條線路

乙太網

A

E

D

B

C

假設電腦 A 要傳送資料到電腦 C

乙太網

A

E

D

B

C

這份資料會占用整條線路

乙太網

A

E

D

B

C

發送到線路上的每一台電腦

乙太網

A

E

D

B

C

為了要識別目標電腦

乙太網

A

E

D

B

C

每台電腦都會有一個獨特的 MAC 位址

MAC 位址

(Media Access Control Address)

媒體存取控制位址

也稱為實體位址(Physical Address)

是一個 48 位元長

用來標示唯一網卡的位址

如:7C-10-C9-8F-0C-56

碰撞

由於共用線路的特性

兩台電腦有可能同時試圖往線路傳輸資料

不過線路上的電腦

會持續監聽線路上的信號

因此可以知道線路是否繁忙或發生碰撞

CSMA/CD

帶碰撞檢測的載波檢測多重存取

(Carrier Sense Multiple Access with Collision Detection)

要求電腦在線路繁忙時

等一段隨機的時間後再試一次

再失敗就等兩倍時間

交換器

線路上的電腦一多還是難以避免碰撞

A

E

D

B

C

交換器

因此可以把線路分拆

A

E

D

B

C

交換器

A

E

D

B

C

交換器

交換器

A

E

D

B

C

交換器

交換器

A

E

D

B

C

交換器

交換器

A

E

D

B

C

交換器

交換器

A

E

D

B

C

交換器

交換器

A

E

D

B

C

交換器

交換器

A

E

D

B

C

交換器

網際網路

有了交換器後

就可以構築更龐大的電腦網路

其中最大的那個叫網際網路(The Internet)

它將全世界數百萬的區域網路連起來

也就是「網路間的網路」

路由

當你透過網際網路發送資料時

會先連到你的區域網路(LAN)的路由器

然後再連到 ISP 提供的廣域網路(WAN)

然後是更大的 WAN,以此類推

註:ISP = Internet Service Provider

網際網路服務提供者(電信公司)

WAN = Wide Area Network

封包

資料傳輸還是有阻塞線路的本質

因此會將大型資料分成小型封包(packet)

好處是每個封包可以以不同路線傳輸

A

B

封包

資料傳輸還是有阻塞線路的本質

因此會將大型資料分成小型封包(packet)

好處是每個封包可以以不同路線傳輸

A

B

封包

資料傳輸還是有阻塞線路的本質

因此會將大型資料分成小型封包(packet)

好處是每個封包可以以不同路線傳輸

A

B

封包

資料傳輸還是有阻塞線路的本質

因此會將大型資料分成小型封包(packet)

好處是每個封包可以以不同路線傳輸

A

B

封包

資料傳輸還是有阻塞線路的本質

因此會將大型資料分成小型封包(packet)

好處是每個封包可以以不同路線傳輸

A

B

封包

資料傳輸還是有阻塞線路的本質

因此會將大型資料分成小型封包(packet)

好處是每個封包可以以不同路線傳輸

A

B

封包

資料傳輸還是有阻塞線路的本質

因此會將大型資料分成小型封包(packet)

好處是每個封包可以以不同路線傳輸

A

B

封包

資料傳輸還是有阻塞線路的本質

因此會將大型資料分成小型封包(packet)

好處是每個封包可以以不同路線傳輸

A

B

封包

資料傳輸還是有阻塞線路的本質

因此會將大型資料分成小型封包(packet)

好處是每個封包可以以不同路線傳輸

A

B

封包

資料傳輸還是有阻塞線路的本質

因此會將大型資料分成小型封包(packet)

好處是每個封包可以以不同路線傳輸

A

B

網際網路協定

Internet Protocol(IP)

A

B

172.217.163.46

142.251.42.238

規範了在網際網路上傳送資料的方式

封包格式

IP 的封包格式非常簡單:

IP 標頭

資料

IP 標頭包含源頭及目標電腦的 IP 位址

就像是信封的寄件人、收件人欄位

電腦收到資料後,由作業系統處理

但作業系統不知道這份資料是哪個程式要的

因此資料本身應該要包含一個埠號(port)

應用程式則要有一個自己專屬的埠

如:Skype 的埠是 3478~3481

Minecraft 伺服器的埠是 25565

UDP

使用者資料包協定

(User Datagram Protocol)

在封包內加入埠號跟校驗和

IP 標頭

資料

UDP

使用者資料包協定

(User Datagram Protocol)

在封包內加入埠號跟校驗和

IP 標頭

資料

UDP 標頭

UDP

UDP 封包送出後無法確定對方是否收到

因此沒有重傳的機會

可能會直接遺失

對於如發送文字訊息來說不理想

但對於如視訊則非常適合

TCP

傳輸控制協定

(Transmission Control Protocol)

要求接收端發送確認訊息

如果遲遲沒收到確認

就會重傳封包

TCP

發送端

接收端

封包 1

確認 1

TCP

發送端

接收端

封包 1

封包 2

封包 3

確認 1

確認 2

確認 3

TCP

發送端

接收端

封包 1

.

.

.

封包 1

確認 1

DNS

要與網際網路上的電腦通訊

就必須直接輸入 IP 位址,不便記憶

於是就有了域名系統(Domain Name System)

就是一張很大的表,對應域名到 IP 位址

這個表會分散地存在各 ISP 的伺服器上

全球資訊網

World Wide Web,縮寫為 WWW

指的是在網際網路上運行

以超文本(hypertext)為基礎的全球資訊系統

由提姆·柏內茲-李開發

他也建立了第一個網頁瀏覽器、網頁伺服器

以及第一個網站

超文本

帶有超連結(hyperlink)的文本

讓使用者有從一個頁面跳轉到另一頁面的能力

所以頁面之間自然會形成網路(web)

網路上的每一個超文本都由一個 URL 定位

註:URL = Uniform Resource Locator

統一資源定位符(網址)

HTTP

超文本傳輸協定

(HyperText Transfer Protocol)

包含了各種網路請求指令

常見的有 GET(請求資料)

POST(送出表單)

HEAD(要求標頭)等

HTTP 狀態碼

一個 HTTP 請求可能會接收到各種回應:

1xx 訊息

2xx 成功

3xx 重新導向

4xx 客戶端錯誤

5xx 伺服器錯誤

如:200 OK

如:404 Not Found

如:500 Internal Server Error

HTML

超文本標記語言

(HyperText Markup Language)

用來撰寫超文本

<!DOCTYPE html>
<html>
  <head>
    <title>My Webpage</title>
  </head>
  <body>
    <h1>Hello</h1>
    <p>world</p>
    <a href="www.google.com">Link to Google</a>
  </body>
</html>

瀏覽器

瀏覽器的工作是請求網頁內容

並根據收到的 HTML 把網頁畫出來

早期第一個成功的商業瀏覽器是網景領航員

後來被 IE 壓垮,網景變成 Mozilla

現在主流的瀏覽器有 Chrome、Edge、Firefox 等

入口網站

在還沒有搜尋引擎之前

造訪網站需要直接輸入網址

有人就整理一份常用網站的清單

如「傑瑞與大衛的網路指南」

後來變成 Yahoo!

搜尋引擎

開始有人用爬蟲去蒐集各網頁的內容

變成一份網頁文字內容的索引

並以此為基礎建立搜尋引擎

但此時的搜尋演算法僅靠關鍵字

非常容易被濫用

PageRank

Google 的共同創辦人研發了 PageRank

以「其他網頁連結到某網頁的數量」

來對網頁進行評級

進而使 Google 成為最有效的搜尋引擎

OSI 模型

開放式系統互聯模型

(Open System Interconnection Model)

是一個把電腦網路技術分成七層的架構

一路從最高的軟體層級

到最底層的硬體層級

OSI 模型

第七層:應用層

第六層:表示層

第五層:會議層

第四層:傳輸層

第三層:網路層

第二層:連結層

第一層:硬體層

網卡

MAC 位址

IP

TCP、UDP

HTTP

感謝聆聽

本學期的計算機概論就在這裡結束了

接下來會是資安的課程

希望這節的網路概論是一個不錯的銜接

下課囉~

Computer Network

By ck1100762蔡政廷

Computer Network

  • 140