41
著著著著著 © 著著著著著著著著著著 著著著著著著著著著著著著著 , 著著著著著著著著著著著著著著著 , 著著著 著 , 著著著著著著著著著著著著著著著著著著著著著 著著著 著著著 著著著著 、、、 著著著著著著 著著著著著著著著著著著 、。 TCP / IP 著著 第 2 第

TCP / IP 簡介

Embed Size (px)

DESCRIPTION

第 2 章. TCP / IP 簡介. TCP / IP 簡介. Transmission Control Protocol / Internet Protocol ( TCP / IP) 協定組是由美國國防部設計的 其設計目的是為了確保資料的完整性 , 以及在戰爭中還能維持通訊 , 所以是一種非常可靠、復原能力很強的網路. DoD 與 OSI 模型. TCP / IP 協定組. 處理 / 應用層協定. Telnet 終端模擬 ﹐ 讓客戶端機器看起來就像它是直接連結到本地網路的終端機 FTP - PowerPoint PPT Presentation

Citation preview

Page 1: TCP / IP  簡介

著作權所有 © 旗標出版股份有限公司

本著作僅授權老師於課堂使用 , 切勿置放在網路上播放或供人下載 , 除此之外 , 未經授權不得將全部或局部內容以任何形式重製、轉載、變更、散佈或以其他任何形式、基於任何目的加以利用。

TCP / IP 簡介

第 2 章

Page 2: TCP / IP  簡介

2

TCP / IP 簡介 Transmission Control Protocol / Internet

Protocol ( TCP / IP) 協定組是由美國國防部設計的

其設計目的是為了確保資料的完整性 , 以及在戰爭中還能維持通訊 , 所以是一種非常可靠、復原能力很強的網路

Page 3: TCP / IP  簡介

3

DoD 與 OSI 模型

Page 4: TCP / IP  簡介

4

TCP / IP 協定組

Page 5: TCP / IP  簡介

5

處理 / 應用層協定 Telnet

終端模擬﹐讓客戶端機器看起來就像它是直接連結到本地網路的終端機

FTP 用來列出與操縱目錄、列出檔案內容、以及在主機之間複製檔案 ,

但不能把遠端的檔案當作程式來執行 大檔案的傳送較適合使用 FTP﹐ 而非電子郵件

TFTP 精簡版 FTP﹐ 只能進行檔案的傳送與接收 沒有驗證的機制 , 是不安全的

NFS 透過網路分享相同或不相同之檔案系統的檔案

SMTP 傳送電子郵件:利用佇列來儲存並轉送郵件

Page 6: TCP / IP  簡介

6

處理 / 應用層協定(續) LPD

LPD 與 LPR 程式將列印的工作暫存起來 , 並利用 TCP / IP 傳送給網路印表機

X Window 讓客戶端程式在某部電腦上執行 , 並且透過視窗伺服器 , 將它的畫面

顯示在另一部電腦上 SNMP

定時或不定時從管理工作站 polling 網路上的裝置來收集資料 扮演網路看門狗的角色( agent )﹐發出 Trap 來通知管理員突發事件

DNS 以容易解讀、又不常變動的網域名稱來取代 IP﹐ 然後用 DNS 來解析成

IP 位址 DNS 使用 FQDN FQDN﹐ 是階層式的

在 Cisco 路由器上可使用 ip domain-name lammle.com 命令為每個解析的請求附加 lammle.com 網域 , 否則您就得鍵入整個 FQDN

Page 7: TCP / IP  簡介

7

處理 / 應用層協定(續) DHCP / BootP

傳送 IP 位址給主機﹐以簡化管理工作 Cisco 路由器也可以當作 DHCP 伺服器 BootP 也會傳 IP 位址給主機 , 但主機的硬體位址必須手動地輸入

到 BootP 表格中。另一方面﹐ BootP 可以用來傳送主機在開機時所需的作業系統 , 而 DHCP 卻不行

DHCP 可以提供的資訊包括: IP 位址 子網路遮罩 網域名稱 預設閘道 ( 路由器 ) DNS WINS 資訊

尋找 DHCP 訊息以要求 IP 位址的客戶端 , 會同時送出第 2 層與第 3 層的廣播

DHCP 使用 UDP

Page 8: TCP / IP  簡介

8

主機對主機層協定 主機對主機層的主要目的是要隔開其上層的應用服務 , 以免受制於網路的複雜性 傳輸控制協定 (Transmission Control Protocol,

TCP) 使用者資料包協定 (User Datagram Protocol,

UDP)

Page 9: TCP / IP  簡介

9

TCP 開始傳送資料段之前 , 先聯繫目的端建立一條虛擬電路﹐並協議出傳送端在收到接收端回應的確認之前 , 可以傳送多少量的資訊

從應用程式接收大塊的資訊 , 然後切割成segment﹐ 並依序編號 , 使得目的端的 TCP 協定可以重新將它組成應用程式所要的順序

當資料段傳送出去之後 , 傳送端主機的 TCP 會等待接收端 TCP 的虛擬電路會談所回應的確認 , 並重新傳送那些沒有收到確認的資料段

TCP 是全雙工、連線導向式、可靠的、以及準確的協定﹐也因此會增加不小的 overhead

Page 10: TCP / IP  簡介

10

TCP 資料段格式

Page 11: TCP / IP  簡介

11

TCP 資料段範例

Page 12: TCP / IP  簡介

12

UDP UDP 是無連線式的協定﹐而且將資料段傳送出去之後就不管了 , 所以是不可靠的協定﹐但因此耗費的網路資源較少

應用程式的開發者可選擇 TCP 的可靠性 , 或 UDP 的快速傳輸

選擇以 UDP 來取代 TCP 的情況 每次都只傳送小訊息﹐建立、維護、及關閉

TCP 連線所耗費的 overhead 代價太大﹐例如SNMP

可靠性已經在處理 / 應用層處理了﹐例如 NFS 、VoIP

Page 13: TCP / IP  簡介

13

UDP 資料段格式

Page 14: TCP / IP  簡介

14

UDP 資料段範例

額外負擔多麼少啊! UDP 資料段中找不到序號、確認號碼、以及視窗大小等可靠性機制

Page 15: TCP / IP  簡介

15

主機對主機協定之重要觀念

Page 16: TCP / IP  簡介

16

埠號 TCP 與 UDP 都必須使用埠號 (port

number) 來與其上層溝通 , 因為他們同時在網路上追蹤各個不同的對話

發起者的來源埠號是由來源主機動態指定的 , 他們是從 1024 開始往上遞增的某個號碼

而 RFC 3232 ( 或參考 www.iana.org) 中定義了 1023 及其以下的號碼 , 他們就是所謂的眾所周知的埠號 (well-known port)

Page 17: TCP / IP  簡介

17

埠號 虛擬電路若不是搭配含有眾所周知埠號之應用程式 , 我們就會從特定範圍中隨機指定一個埠號給它 , TCP 資料段中的這些埠號可用來識別來源或目的之應用程式或程序。

圖 2.5 展示 TCP 與 UDP 如何利用埠號。同時用到 TCP 或 UDP

Page 18: TCP / IP  簡介

18

TCP封包範例一 由來源主機決定﹐區分各個不同的會談﹐ 必定超過 1024

Well-known port﹐ 代表此次連線想要取得的服務

告訴遠端的目的裝置它想要建立會談

Page 19: TCP / IP  簡介

19

TCP封包範例二: Syn 封包的確認

表示來源埠已被接受 , 同意與啟始主機建立虛擬電路

Page 20: TCP / IP  簡介

20

網際網路層協定 2 個主要目的

遶送提供單一的網路界面給上層協定

網際網路層的協定包括: IP ICMP ARP RARP Proxy ARP

Page 21: TCP / IP  簡介

21

IP封包格式

Page 22: TCP / IP  簡介

22

IP

協定欄位

Page 23: TCP / IP  簡介

23

IP 協定欄中的清單

Page 24: TCP / IP  簡介

24

ICMP ICMP 是個為 IP 設計的管理協定與訊息服務提供

者 , 提供網路問題的相關資訊給主機。其訊息乃以 IP 資料包來運送

ICMP 相關的常見事件與訊息 destination unreachable buffer full如果路由器用來接收封包的 buffer滿溢時﹐則送出此訊息﹐直到擁擠情況緩和為止

Hop如果資料包在抵達目的地之前就已經到了 Hop數量的限制 , 則收到資料包的路由器就會將它丟掉 , 然後利用 ICMP 傳送一則死亡訊息 , 通知封包的傳送端機器

Ping 利用 ICMP 的 echo request 與 echo response來檢查互連網路上某部機器之實體與邏輯的連通性

Traceroute 利用 ICMP 的 timeout 訊息來找出封包穿越互連網路時所經過的路線

Page 25: TCP / IP  簡介

25

ICMP錯誤訊息案例

Page 26: TCP / IP  簡介

26

ICMP Echo Request 範例

唯一使用 到 Ether-Type 欄位的訊框就是 Ethernet_II 訊框

Page 27: TCP / IP  簡介

27

ICMP Echo Request 範例(續)

Echo Request

ICMP 封包

Page 28: TCP / IP  簡介

28

ARP

Page 29: TCP / IP  簡介

29

ARP廣播封包範例

Page 30: TCP / IP  簡介

30

RARP 為無磁碟的機器找尋它的 IP 位址﹐傳送包含其 MAC 位址的封包 , 詢問一個指定給該 MAC 位址的 IP 位址

Page 31: TCP / IP  簡介

31

Proxy ARP 萬一預設閘道當掉了怎麼辦? Proxy ARP 可以幫助子網路上的機器 , 在沒有重設路徑或預設閘道的情形下抵達遠端子網路

Proxy ARP 其實並不是一種協定 , 而是路由器執行的一種服務 , 用來代表某些裝置﹐而這些裝置與其他對它們發出 ARP 請求的裝置是被路由器隔開的。目的是要讓這些發出 ARP 請求的裝置以為它們和那些被路由器隔開的裝置共享同一個子網路

預設上 , 所有的 Cisco 路由器上都會設定 Proxy ARP - 如果您不需要使用它 , 就應該要將它關掉

Page 32: TCP / IP  簡介

32

IP 位址 IP 位址是指定給 IP 網路上之每部機器的一個數值識別碼 , 標出裝置在網路上的特定位置。

IP 位址是個軟體位址 , 而非硬體位址 - 後者是燒在網路界面卡上 , 用來尋找區域網路上的主機

IP 位址的設計是要讓網路上的一部主機 , 可以和其它位於不同網路上的主機互相通訊 , 而不管參與通訊之主機位於哪一種區域網路中

32 位元的 IP 位址是結構化的或階層式的位址﹐以增加遶送的效率 其中一部份的位址代表網路位址 , 其它部份則代表子網路與主機 , 或者只是代表節點位址

最常用的表示法:以點號隔開的十進位 , 如 172.16.30.56

Page 33: TCP / IP  簡介

33

網路位址與主機位址 網路位址又稱為網路號碼﹐可唯一地識別每個網路。同一個網路上的每部機器會共享一個網路位址 , 當作他們 IP 位址的一部份。例如在 172.16.30.56 位址中的 172.16

主機位址是要指派給網路上的每部機器 , 做唯一地識別。例如在 172.16.30.56 位址中的 30.56

Page 34: TCP / IP  簡介

34

網路級別

Page 35: TCP / IP  簡介

35

保留的 IP 位址

Page 36: TCP / IP  簡介

36

A級網路 格式:網路 .節點 .節點 .節點 第一個位元組的第一個位元一定要是 0:0xxxxxxx

A 級的網路位址是 0.x.x.x ~ 127.x.x.x﹐共有 28-

1=128 種 , 但全部為 0 的網路位址是要保留給預設路徑用的 , 而 127 的位址則是要保留給診斷用的 , 不能使用﹐所以實際上只有 126 個

一個 A 級網路位址可以有多少有效主機?例如 所有主機位元都為 0 的網路位址: 10.0.0.0 所有主機位元都為 1 的廣播位址: 10.255.255.255 有效的主機則是 10.0.0.1 到 10.255.255.254﹐ 共

224-2= 16, 777, 214 個

Page 37: TCP / IP  簡介

37

B級網路 格式:網路 . 網路 .節點 .節點 第一個位元組的前二個位元一定要是 10:10xxxxxx

B 級的網路位址是 128.0 ~ 191.255﹐共有 216-2 = 16777214 種

一個 B 級網路位址可以有多少有效主機?例如 所有主機位元都為 0 的網路位址: 172.16.0.0 所有主機位元都為 1 的廣播位址: 172.16.255.255 有效的主機則是 172.16.0.1 到 172.16.255.254﹐ 共

216-2= 65534 個

Page 38: TCP / IP  簡介

38

C級網路 格式:網路 . 網路 . 網路 .節點 第一個位元組的前三個位元一定要是 110:110xxxxx

C級的網路位址是 192.0.0 ~ 223.255.255﹐共有 224-

3 = 2097152 種 一個 C 級網路位址可以有多少有效主機?例如

所有主機位元都為 0 的網路位址: 192.168.100.0 所有主機位元都為 1 的廣播位址: 192.168.100.255 有效的主機則是 192.168.100.1 到

192.168.100.254 ﹐ 共 28-2= 254 個

Page 39: TCP / IP  簡介

39

D 與 E 級網路 224 與 255 之間的網路是保留給 D 與 E 級網路使用的 , D 級 (224-239) 是要用來進行多點傳播 , 而 E 級 (240-255) 是要作為科學用途

Page 40: TCP / IP  簡介

40

私有 IP 位址 私有 IP 位址只能用在私有的網路上 , 無法在網際網路上遶

送﹐目的是為了安全性 , 但同時也節省了 IP 位址空間 若要連接網際網路﹐需要利用 NAT技術將它轉換成網際網路

上可用的位址

需要使用何種私有 IP 位址? 建置企業網路時無論它有多小都應該使用 A 級網路 , 因為它提供最

大的彈性與擴充性 建置家庭網路時最好使用 C 級位址 , 因為這一種最容易瞭解與設

Page 41: TCP / IP  簡介

41

廣播位址 第 2 層廣播

又稱為硬體廣播: FF.FF.FF.FF.FF.FF 傳送給區域網路上的所有節點﹐無法穿越區域網路的邊界 ( 路由器 )

廣播 ( 第 3 層 ) 意圖要抵達廣播網域上的所有主機﹐例如 172.16.255.255 也可能是所有網路與所有主機- 255.255.255.255

單點傳播 (unicast) 從 255.255.255.255 到實際目的 IP 位址的廣播封包 例如:有部主機送出 FF.FF.FF.FF.FF.FF 之第 2 層廣播與 255.255.255.255 之第 3 層目的地廣播 , 以找尋 DHCP 伺服器。路由器會瞭解這是一個想要找 DHCP 伺服器的廣播 , 因為它的目的埠號是 67 。於是就將這個請求轉送給真正的 DHCP 伺服器的 IP 位址(亦即將目的位址改成特定位址)。 ( 為了讓路由器提供這個服務 , 您得用 ip helper-address 命令來設定界面 , 因為這並非預設服務 )

多點傳播 (multicast) 從單一個來源端送出封包 , 並傳送給不同網路上的多個裝置 藉由傳送訊息或資料到 IP multicast group 位址 , 然後路由器再將封包轉送給每部已

經加入該群組位址的主機 例如:主機將會接收到例如目的地為 224.0.0.9 的多點傳播封包﹐只有執行

EIGRP 協定的路由器會解讀這些封包﹐其他主機則會丟棄它。這會節省 PC 的處理資源 , 而非 LAN 的頻寬。有時候多點傳播可能會引起嚴重的 LAN 壅塞

多點傳播位址的範圍從 224.0.0.0 到 239.255.255.255﹐亦即 D 級 IP 位址