• 沒有找到結果。

™ IP Address & MAC Address

N/A
N/A
Protected

Academic year: 2022

Share "™ IP Address & MAC Address"

Copied!
78
0
0

加載中.... (立即查看全文)

全文

(1)

Outline

™ Introduction

™ IP Address & MAC Address

™ TCP/UDP/ICMP

™ IP Gateway, Network Mask, TTL

™ Routing Protocol

™ Network Address Translation (NAT)

™ Domain Name System (DNS)

™ Dynamic Host Configuration Protocol (DHCP) / Asymmetric Digital Subscriber Line (ADSL)

™ HyperText Transfer Protocol (HTTP) Protocol

™ Virtual Private Network (VPN)

(2)

Gateway

™

LAN 對 WAN 之出入口

ƒ 一般而言,Gateway就如同區域網路的出口,若有資 料要傳送到Internet上,均需透過它,再經過中間的 Router轉送到其他Router上,最後再到達目的端。

™

主要的功能是連接不同的網路架構,而且必須視 架構不同而轉換不同的通訊網路協定層級

™

用來連接不同的通訊協定網路,例如:

TCP/IP,X.25,Systems Network

Architecture (SNA)等,Gateway必須將 所接收的 Packet,轉換成目的位址之網路所能 瞭解的資料格式(訊息格式轉換,位址轉換,以

(3)

™

X.25

ƒ 一種專用於資料終端設備與封包交換網路間的CCITT 協定

ƒ CCITT: Consultative Committee for International Telegraph and Telephone 國際電報電話諮詢委員會

™

SNA

ƒ IBM 主機系統所使用的通信協定

(4)

舉例說明

™

如下圖,ADSL ATU-R做為其他電腦上網的Gateway

™

假設PC1要傳送Packet到Gateway之流程:

ƒ 藉由PC1上Gateway的設定:藉ARP 找到Gateway 之 MAC Address

ƒ 由PC1 之Netmask,決定哪些目的IP 需要送到Gateway 轉出去

(5)

CYUT NC

簡單驗證實驗

(6)

ADSL ATU-R 當Gateway

™

PC 1 是使用Windows2000作業系統執行以 下的指令歩驟:

1. arp –a

2. ping 168.95.1.1 3. arp –a

4. route print

(7)

執行結果說明

™

arp -a

(8)

執行結果說明

™

ping 168.95.1.1

(9)

執行結果說明

™

arp -a

(10)

執行結果說明

™

route print

(11)

CYUT NC

Routing Table的意義

(12)

Routing Table

™

當Router 設備接收到 Packet 之後,它會依 照 Packet 的目的地 IP(Destination IP Address)決定要對 Packet 做怎樣的動作

ƒ 諸如從某個網路介面轉送、忽略或是傳回不予轉送的 訊息;而做這些決策的依據,就是 Routing Table。

™

Routing Table可能以不同資料結構存在於所 有具有Layer 3網路以上功能的設備中,包含 PC、Firewall、Router,甚至有網路功能的 PDA。

(13)

Linux Host Routing Table範例 (ip route)

™

例如以下是一 Linux Host 的 Routing

Table,使用 /sbin/ip route (使用mask bit方式列) 命令,或使用 /sbin/route命令 如下頁。

[root@gr /]# /sbin/ip route

61.218.155.224/28 dev eth1 scope link src 61.218.155.226 192.168.2.0/24 dev eth0 scope link src 192.168.2.254 192.168.0.0/24 dev eth0 scope link src 192.168.0.10 192.168.254.0/24 dev eth0 scope link src 192.168.254.254 10.0.0.0/16 dev eth0 scope link src 10.0.0.10

172.16.0.0/16 dev eth0 scope link src 172.16.0.10

127.0.0.0/8 dev lo scope link

default via 61.218.155.225 dev eth1

(14)

Linux Host Routing Table範例(route)

[root@gr /]# /sbin/route Kernel IP routing table

Destination Gateway Genmask Metric Iface NAT

61.218.155.224 * 255.255.255.240 0 eth1

192.168.2.0 * 255.255.255.0 0 eth0

192.168.0.0 * 255.255.255.0 0 eth0

192.168.254.0 * 255.255.255.0 0 eth0

10.0.0.0 * 255.255.0.0 0 eth1

172.16.0.0 * 255.255.0.0 0 eth0 127.0.0.0 * 255.0.0.0 0 lo default 61.218.155.225 0.0.0.0 0 eth1

(15)

Routing Table Entry

™

一般Routing Table Entry 搜尋規則是根據IP Packet之目的地IP (Destination IP) ,於

Routing Table中以

Longest Prefix Length Longest Prefix Length Match

Match

為原則進行查詢

ƒ 即當比對時從最前面比對過來符合長度最長的選擇法

™

Default為

0.0.0.0 / 0,即任意 0.0.0.0 / 0

IP 皆符合條

件。若合乎該Entry 的條件,則依照其指定的規 則轉送 Packet

(16)

Routing Table Entry

™

若一Packet 進入其網路核心之 Destination IP 為 61.218.155.236 ,與第一個 Entry 61.218.155.224/28 從頭開始比對有28 bits相同,因此符合條件。

目的地 IP 二進位

00111101 11011010 10011011 1110 1100

目的地IP 61.218.155.236

與以下 Routing Table entry 比對,決定從何介面送出

Longest Prefix Length Match

(17)

Routing Table Entry

61.218.155.236 00111101 11011010 10011011 1110 1100

16

Longest Prefix Length Match

(18)

Routing Table Entry

™

此Routing Table Entry 告訴當網路核心進 行 Routing Decision 時,目的地IP的前 28 bits 若是與 61.218.155.224 前面的28

bits 相同,則經由介面 eth1 送出

™ scope link

是說明符合條件的 IP,與其直接 相連,其 Destination MAC 可藉由 ARP 得 知,src 61.218.155.226 則是說明

eth1 介面使用IP 為 61.218.155.226

™

結論:合乎條件共有 1,2,5 等三個,但是 Entry 1 是 match 最長的第一筆記錄 28

bits,因此由 Entry 1 的網路介面即 eth1 送

(19)

Static & Dynamic Routing

™

Static Routing

ƒ 由系統管理員因網路所需,設置固定的路徑表,稱為 靜態(static)路徑表

ƒ 一般在系統安裝時就根據網路的配置情況預先設定

™

Dynamic Routing

ƒ Router根據網絡系統的運行情況而自動調整的路徑表

ƒ 路由器根據Routing Protocol提供的功能,自動學習和 記憶網路運行情況,在需要時自動計算數據傳輸的最 佳路徑。

™

TCP/IP中重要的routing protocol

ƒ Routing Information Protocol (RIP), Open Shortest Path First (OSPF), Border Gateway Protocol (BGP) (Chapter 5)

(20)

ifconfig 與Static Route Entry

™

ifconfig指令除了設定ip及netmask之外,還 會自動新增一筆對應的static route entry

(21)

Routing的選擇

(22)

Routing Table 與 Routing Protocol

Router與Router之間交

換Route資訊,進而更

新Routing Table

(23)

™

Router的設計可分為

ƒ Fast Path: 需要快速查詢Routing Table並決策Packet 如何轉送,故需使用硬體晶片或Network Procerssor 設計加速Routing Table查詢。

ƒ Slow Path: 速度不需太快,可用一般CPU處理Routing Protocol。

(24)

Gateway 和Router

™

Gateway

ƒ 較廣義的名詞,用來連接不同的網路,甚至不同的通 訊協定,從第三層到第七層OSI皆有可能

ƒ Gateway可以是Router、防火牆、Proxy,所以說 Gateway 不一定是指Router

™

Router

ƒ 是指尋找、決定最佳的傳輸路徑,並根據這些路徑建 立Routing Table轉送 Packet或者是過濾 Packet的網 路裝置

(25)

CYUT NC

Application Gateway

(26)

VoIP Gateway連接PSTN與Internet

™

可轉換應用層的應用稱為 Application

Gateway,有些則稱為Application Level Gateway (ALG)

(27)

e-mail Application Gateway

(28)

Application Gateway代理telnet與ftp

(29)

Application Gateway代理telnet與ftp

可設計成分散伺服器的負擔平衡的設備

(30)

Default Gateway

(31)

Default Gateway

™

當兩台電腦在不同網域互傳 Packet 時

ƒ 電腦會先查詢自己的Routing Table,找出往另一台電 腦的路由

ƒ 如果另一台電腦的網域不在自己的Routing Table內,

就會送往Default Gateway,由Default Gateway負責 轉送 Packet

™

一般固接式的ADSL都是設定ADSL ATU-R 做 為Default Gateway

(32)

Default Gateway的三種設定

™

由ISP 配發,指定Default Gateway,如固接 專線或固接ADSL,用戶端必須自行設定

Default Gateway

™

使用DHCP (Dynamic Host Configuration Protocol, RFC 1541, RFC 2131) 自動取得

Default Gateway,如Cable Modem

™

使用PPP (The Point-to-Point Protocol, RFC 1661) 取得Default Gateway,例如:

Modem 撥接;或撥接計時制ADSL使用PPPoE (PPP over Ethernet)取得 (事實上也使用

PPP)

(33)

藉由 ip route 設定default gateway

(34)

藉由PPPoE設定Default Gateway

(35)

實驗架構圖

™

PC3原Default Gateway為 192.168.10.254

(36)

PC1還沒有執行PPPoE上網撥接程式

抓取封包觀察

™

192.168.10.101 連線遠端的 61.219.36.250

(37)

PC1還沒有執行PPPoE上網撥接程式

查詢Routing Table

™

原始的 Default Gateway為 192.168.10.254

(38)

PC1執行PPPoE上網撥接程式後

™

經由 PPP 取得網路IP、Gateway與DNS 等 設定後,並更動 Routing Table,將Default Gateway 設為由 PPP取得的 Gateway IP

(39)

PC1執行PPPoE上網撥接程式後

抓取封包觀察

上網撥接程式,同時使用Ethereal 擷取 Packet

(40)

PC1執行PPPoE上網撥接程式後

查詢Routing Table

Default Gateway 已改變為PPP取得之Gateway IP

(41)

CYUT NC

Linux Router

(42)

Linux Router

™

使用一般PC加上 Linux,經過適當的設定並結 合Routing Protocol 即可成為一小型的

Router使用

™

若更進一步於硬體Routing與Packet處理方面 加強,如使用Intel IXP系列 Network

Processor 或 IBM PowerNP系列,這些硬 體結合 Linux 可以設計為一商業用之Router

(43)

Linux router open Source

™

網路上有許多的Open Source程式碼,但是當 使用時,多少需要加以修正與增加功能,甚至改 變原始程式以配合硬體

ƒ [1] Linux Router Project, http://www.linuxrouter.org/

ƒ [2] Free Cisco, http://www.freesco.org/

ƒ [3] IBM PowerNP, http://www.ibm.com

ƒ [4] Intel IXP系列 Network Processor,

http://www.intel.com

ƒ [5] Linux Routing Protocol, http://www.zebra.org

(44)

Linux Router實例

™

原本PC 1 與 PC 4 之間無法使用HTTP溝通

™

經由Linux 遶送使PC 1 與 PC 4 之間可經 HTTP溝通

若兩個Hub連接在一起,

但仍無法使PC1與PC4通

訊,因為他們在不同網域

(45)

利用NetGuru實作

192.168.1.2 255.255.255.0 Default Gateway:

192.168.1.254 192.168.1.1

255.255.255.0 Default Gateway:

192.168.1.254

192.168.2.1 255.255.255.0 Default Gateway:

192.168.2.254

192.168.2.2 255.255.255.0 Default Gateway:

192.168.2.254 eth0:192.168.1.254

255.255.255.0 Default Gateway:

192.168.3.254

eth2:192.168.2.254 255.255.255.0

Default Gateway:

192.168.3.254

(46)

NetGuru架構圖

(47)

設定 Host A eth0

™

ifconfig eth0 192.168.0.1 netmask 255.255.255.0

™

ip route add default via 192.168.0.254

(48)

設定Host B eth0

™

ifconfig eth0 192.168.0.254 netmask 255.255.255.0

完成此命令除了設定介面 IP 與Network Mask 外,

ifconfig 還幫您自動設了一靜態Route 的Entry

192.168.0.0/24 dev eth0 scope link src 192.168.1.254

相當於執行了

ip route add 192.168.1.254/24 dev eth0

(49)

設定Host B eth2

™

ifconfig eth2 192.168.2.254 netmask 255.255.255.0

完成此命令除了設定eth1介面 IP 與Network Mask 外,

ifconfig 也還幫您自動設了一靜態Route 的Entry

192.168.2.0/24 dev eth2 scope link src 192.168.2.254

相當於執行了

ip route add 192.168.2.254/24 dev eth2

(50)

設定Host C eth2

™

ifconfig eth2 192.168.2.3 netmask 255.255.255.0

™

ip route add default via 192.168.2.254

(51)

CYUT NC

Linux Proxy ARP

(52)

概說

™

Proxy 一詞可以用在各種場合,我們可想像其 為代理人,當您想與某方完成一任務時,可以透 過代理人間接幫您完成,但除了完成任務之外,

此代理人還可以幫助加速、掃毒或紀錄等

™

如最常用的即是WEB Proxy,也就是常用的瀏 覽器Proxy 設定中使用的Proxy Server。最 有名的 WEB Proxy 即為 squid

(http://www.squid-cache.org/)

(53)

Proxy ARP

™

Proxy是代理來源端向目的端提出請求,對於來 源端而言,所面對的是Proxy,而目的端所回應 的,也是以為來自Proxy ,但事實的來源主機 卻是在Proxy後面。

™

Proxy ARP主要是針為ARP的協定,來源端送 出ARP的廣播時,Proxy ARP必須知道(記錄) 它另一端的主機情形,而代理回應,並將該MAC Address的資料轉送至另一端。例如:撥接伺

服器便代理兩端電腦的功能Proxy ARP 。

(54)

範例說明

PC 1 與 PC 4 必須透過 Proxy ARP 才能溝通

PC 4 的 MAC Address 為 Linux eth0 的 MAC Address, 而對PC 4的 ARP Request回應 PC 1 的 MAC Address 為 Linux eth2

(55)

利用NetGuru實作

(56)

NetGuru架構圖

(57)

NetGuru內部 Host B

(58)

NetGuru內部 Host B

下達

Proxy ARP 指令

™

arp –i eth1 –Ds 192.168.1.1 eth1 netmask 255.255.255.255 pub

™

arp –i eth0 –Ds 192.168.1.10 eth0 netmask 255.255.255.255 pub

(59)

NetGuru內部 Host A

(60)

NetGuru內部 Host C

(61)

NetGuru內部 Host B 抓取eth0的封包

(62)

NetGuru內部 Host B 抓取eth1的封包

(63)

CYUT NC

實驗導引

實驗 5.1 Routing設定與TTL觀察

(64)

實驗 5.1 Routing設定與TTL觀察

實驗目的

™

了解如何設定Gateway

™

了解routing相關概念

™

了解default route的意義

™

了解TTL相關概念

™

觀察route與TTL的變化

(65)

第一次routing架構圖

(66)

Step 1: 實驗環境設定

™

停用與實驗無關的網卡

™

Host A:

ƒ ifconfig eth1 down

ƒ ifconfig eth2 down

™

Host B:

ƒ ifconfig eth1 down

™

Host C:

ƒ ifconfig eth0 down

ƒ ifconfig eth1 down

(67)

Step 2:設定Host B為Host A的 default gateway

™

Host A:

™

Host B:啟用ip forward功能

ƒ echo “1” > /proc/sys/net/ipv4/ip_forward

™

復習:何謂default gateway

(68)

Step 3: 連線測試

™

Host B:

ƒ 開啟Ethereal,interface選eth0,以觀察連線測試之封

™

Host C:

ƒ 開啟Ethereal,interface選eth2,以觀察連線測試之封

™

Host A:

ƒ ping 192.168.2.3

ƒ 觀察是否有回應,並探討其原因

ƒ

(69)

復習

(70)

Step 4: 問題排除

™

設定Host C回到192.168.0.0/24的路徑

ƒ ip route add default via 192.168.2.2

™

上面做法是使ICMP request和reply的路徑相 同,然而ICMP request和reply的路徑不一定 相同,如接下來的步驟所示

(71)

第二次routing架構圖

(72)

Step 5: 實驗環境設定

™

Host A的eth1回復預設值:

ƒ ifconfig eth1 192.168.1.1 netmask 255.255.255.0

™

Host B:

ƒ 沿用之前步驟的設定值不需更改

™

Host C的eth1回復預設值:

ƒ ifconfig eth1 192.168.1.3 netmask 255.255.255.0

(73)

Step 6:設定路徑

™

設定Host C往192.168.0.0/24的路徑

™

Host C:

ƒ ip route add 192.168.0.0/24 via 192.168.1.1

ƒ 使Host C藉由192.168.1.1直接到達Host A(不經Host B 轉送封包)

(74)

Step 7: 連線測試

™

Host C:

ƒ 開啟Ethereal,interface選eth2,以觀察連線測試之封

™

Host A:

ƒ 開啟Ethereal,interface選eth1,以觀察連線測試之封

™

Host A:

ƒ ping 192.168.2.3,觀察TTL值並探討其原因

ƒ traceroute 192.168.2.3

(75)

問題與討論

™

為何在Host C Ethereal所觀察到的ICMP封 包其TTL值為63?

™

為何在Host A Ethereal所觀察到的ICMP封 包其TTL值為64?

™

為何ping 192.168.2.3的TTL值為64?ping 回復的TTL值是由哪一主機所決定?

™

為何Step 4(p.69)所設定Host C到

192.168.0.0/24的路徑(default route)在 上步驟(Step 7)的連線測試沒有生效?

™

發出ICMP request封包的interface是否必 須與接收ICMP reply的interface相同?

(76)

分析封包行經路徑

™

ICMP request

(77)

™

ICMP reply

(78)

Step 8:更改TTL預設值

™

Host C:

ƒ echo “260”> /proc/sys/net/ipv4/ip_default_ttl

ƒ ping 192.168.0.1

ƒ 討論其TTL=64的意義,並分析封包行經路徑

™

Host A:

ƒ ping 192.168.2.3

ƒ 討論其TTL=4的意義,並分析封包行經路徑 Hint: TTL的極大值為255

參考文獻

相關文件

(A) DHCP 是有關動態配置 IP 位址的協定 (B) UDP 是一種連線導向(Connection-Oriented)的傳輸 協定 (C) SET 為網路信用卡安全交易協定 (D) ARP 是一個藉

EtherCAT ® 為德國 Beckhoff Automation GmbH 取得許可證之專利技術,亦為註冊商標。. EtherNet/IP™為

(A) IP (Internet Protocol) (B) ICMP (Internet Control Message Protocol) (C) ARP (Address Resolution Protocol) (D)SNMP (Simple Network Management Protocol)

(A) The PC has the TCP/IP protocol stack correctly installed (B) The PC has connectivity with a local host (C) The Pc has a default gateway correctly configured (D) The Pc

™ 其功能是列出系統的 ARP Table,以及設定及 刪除 ARP

™ 常見之 IGP:Interior Gateway Routing Protocol (IGRP)、Open Shortest Path First (OSPF)、Routing Information..

„ However, NTP SIPv6 UA cannot communicate with CISCO PSTN gateway, and CCL PCA (IPv6 SIP UA) cannot communicate with CISCO PSTN gateway and Pingtel hardware-based SIP phone. „

„ A host connecting to the outside network is allocated an external IP address from the address pool managed by NAT... Flavors of