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)
8.1 DHCP 運作原理(1)
Dynamic Host Configuration Protocol :
RFC 2131
主要功能是讓主機在可以傳送廣播Packet 的網路架構 上,運用自己的MAC Address 藉由網路的廣播位址,
向DHCP Server取得有關IP Address、Network Mask、Default Gateway、DNS等設定訊息。
DHCP Server與Client要在相同的Broadcast domain
3
DHCP的前身是 BOOTP。
BOOTP (Bootstrap Protocol)原本是用於無磁碟主 機連接的網路上面的:網路主機使用 BOOT ROM 而不 是磁碟起動並連接上網路,BOOTP 則可以自動地為那 些主機設定 TCP/IP 環境。
BOOTP 缺點:
您在設定前須事先獲得客戶端的硬體位址,而且與 IP 的對應是 靜態的。即BOOTP 非常缺乏 "動態性" ,若在有限的 IP 資源環 境中,BOOTP 的一對一對應會造成非常可觀的浪費。
DHCP可以說是BOOTP的增強版本,它分為兩部份:
伺服器端:所有的 IP 網路設定資料都由 DHCP 伺服器集中管 理﹐並負責處理客戶端的 DHCP 要求﹔
客戶端:使用從伺服器分配下來的IP環境資料。
DHCP 透過 "租約" 的概念,有效且動態的分配客戶端 的 TCP/IP 設定。
動態分配IP
當您實際IP 位址不足時
例如﹕您是一家ISP,只能提供200個IP位址用 來給撥接客戶,但並不意味著您的客戶最多只能 有200個。因為您的客戶們不可能全部同一時間 上網。這樣就可以將這200個位址,輪流的租用 給撥接上來的客戶使用。這也是為什麼當您查看IP 位址的時候,會因每次撥接而不同的原因(除
非您申請的是一個固定IP。
5
採用DHCP 服務的優點
不易出錯
易於維護
用戶端不需要繁瑣的設定
IP 位址可重複使用
不易出錯因為
DHCP 伺服器每出租一個 IP 位址時, 都
會在資料庫中建立一筆相對應的租用資料, 因此 幾乎不可能發生IP 重複租用的狀況。而且這個
出租、登記作業, 不需要人力介入, 更可以避免人 為的錯誤(例如:輸入錯誤)。
易於維護DHCP 不但可以自動分配 IP 位址, 而且還可以
指定各項TCP/IP 參數 (例如:DNS 伺服器、
WINS 伺服器的 IP 位址), 因此, 當我們要變
更相關的參數時, 只要從DHCP 伺服器上修改, 就可以讓所有DHCP 用戶端都自動更新, 大幅節 省維護成本。7
用戶端不需要繁瑣的設定只要
DHCP 伺服器設定妥當, 用戶端只需設定
為使用DHCP 分配 IP 位址, 即可完成
TCP/IP 的設定, 快速又方便。
IP 位址可重複使用
每當
DHCP 用戶端開機時, DHCP 伺服器便會
分配1 個 IP 位址給予使用, 當用戶端租約到期
或取消租約後, 伺服器又可以將此 IP 位址分配 給其他的DHCP 用戶端使用, 能有效的節省 IP
位址的數量。Internet
DHCP Server可 能與Router為且 同一台設備
Router(具NAT功能) IP: 192.168.0.254
Netmask: 255.255.255.0 DNS: 168.95.1.1
PC1 PC2
PC3 Switch
DHCP Request DHCP Reply 192.168.0.215
DHCP Server 廣播方
式送出
回應之Packet告訴PC1其可使用的 IP address:193.168.0.3
Netmask: 255.255.255.0
9
PC1和DHCP Server之間的動作流程:
PC1一開始並沒有設定網路IP、Default Gateway、Network Mask、DNS 等。
PC1發出廣播找尋是否有DHCP Server存在。在 No.1 Packet中很清處的看到,Source IP為0.0.0.0,
Destination IP為255.255.
255.255、Destination MAC
Address為FF:FF:FF:FF:FF:FF。
No.1 Packet : PC1用廣播的方式,發出 Discover找尋DHCP Server11
No.2 Packet :當DHCP Server聽到有DHCP訊 息時,察看到192.168.0.3正好沒有其他Client 租賃,於是廣播發出租賃IP,Your (client) IP address:192.168.0.3,並回應剛剛PC1在發 出Discover時所要求的訊息,一併夾帶在Option訊息裡。
13
No.3 Packet : PC1電腦發出Request廣播訊 息,告知DHCP Server給予接受此IP。15
No.4 Packet : PC1收到DHCP Server確認的 訊息,才算是PC1完成了租賃的動作。17
DHCP Server
DHCP Server :
監聽網路上是否有Client發出的DHCP Request 訊息,並根據Client 的MAC Address,找到有 關該Client 的相關設定值,並且將其回傳給
Client。
Static:
詳細列出client的MAC Address與相關的IP,
Network Mask,Gateway,DNS等設定值。因此 DHCP 每次Client都使用相同IP。
Dynamic:
DHCP server保留一段或多段IP範圍,當Client的 Ethernet Address在Static Table中找不到時,
DHCP server就從這段IP範圍中挑一個還沒有使用的 IP給此Client。並記錄使用時間。
19
租賃時間(lease time) : DHCP server用來決 定一個IP address在使用多久之後,就將這個IP 回收,轉發給其它的Client。DHCP 運作流程
21
DHCP 運作流程
DHCP 運作流程的 4 個步驟 (review)
1. 要求租用 IP 位址 當我們將電腦設定成 DHCP 用戶端後, 第一次啟動電 腦時即會進入此階段。
首先由 DHCP 用戶端廣播一個 DHCP Discover (尋找) 封包, 要求任一部 DHCP 伺服器提供 IP 租約。
2.提供可租用的 IP 位址 因為 DHCP Discover 是以廣播方式送出, 所以網路上 所有的 DHCP 伺服器都會收到此封包, 而每一台
DHCP 伺服器收到此封包時, 都會從本身的領域中, 找 出一個可用的 IP 位址, 設定租約期限後記錄在 DHCP Offer (提議) 封包, 再以廣播方式送給用戶端。
23
3.確認 IP 租約
因為每一台 DHCP 伺服器都會送出 DHCP Offer 封包, 因此 DHCP 用戶端會收到多個DHCP Offer 封包, 用戶 端預設會接受最先收到的 DHCP Offer 封包, 其他陸續 收到的DHCP Offer 封包則不予理會。
用戶端接著以廣播方式送出 DHCP Request (要求) 封 包, 除了向選定的伺服器申請租用IP 位址之外, 也讓其 他曾送出 DHCP Offer 封包、但未中選的伺服器知道 落選了, 可以租用給其它的用戶端啦!
不過, 如果 DHCP 用戶端不接受 DHCP 伺服器 所提供的參數, 就會廣播一個 DHCP Decline(拒絕) 封包, 告知伺服器不接受所建議的 IP位
址(或租用期限…等)。然後回到第一階段, 再度
廣播DHCP Discover 封包, 重新執行整個取
得租約的流程。
用戶端不同意最常見的原因是IP 位址重複。因
為用戶端收到伺服器建議的IP 位址時, 通常會
以ARP 協定檢查該位址是否已被使用, 倘若已
被佔用了相同的位址, 用戶端當然就要拒絕租用 此IP 位址。
25
4.同意 IP 租約
當被選中的 DHCP 伺服器收到 DHCP Request 封包 時, 假如同意用戶端的租用要求, 便會廣播 DHCP Ack (承認) 封包給 DHCP 用戶端, 告知可以將設定值寫入 TCP/IP 中, 並開始計算租用的時間。
倘若DHCP 伺服器不能給予 DHCP 用戶端所要求的資 訊 (例如:要求租用的 IP 已被佔用, 或者不能給予用戶 端所要求的租約期限等), 則會發出 DHCP Nack (拒絕 承認) 封包。當用戶端收到 DHCP Nack 封包時, 便直 接回到第一階段, 重新執行整個流程。
更新租約 取得 IP 租約後, DHCP 用戶端必須定期更新 (Renew) 租約, 否則當租約到期, 就不能再使用此 IP 位址。
依照 RFC 2131 的敘述, 每當租用時間超過租約期限的 1/2 (50%) 及 7/8 (87.5%) 時, 用戶端就必須發出
DHCP Request 封包, 向 DHCP 伺服器要求更新租 約。
但是各家廠商在設計產品時, 未必採用 RFC 2131 的數 據, 因此每種產品的更新租約期限可能不同。
27
更新租約時是以單點傳送(Unicast) 方式發出 DHCP Request 封包, 也就是會指名那一台 DHCP 伺服器應該要處理此封包, 和前面確認 IP 租約階段中, 使用廣播方式發送 DHCP Request 封包是不同的!
以Windows 2000 DHCP 伺服器為例, 預設
的租約期限為8 天, 當租用時間超過 4 天時,
DHCP 用戶端會向 DHCP 伺服器要求續約, 將
租約期限再恢復為原本的期限(也就是 8 天)。
若不幸在重試3 次之後, 依然無法取得 DHCP
伺服器的回應(也就是無法和 DHCP 伺服器取
得連繫), 則 DHCP 用戶端將會繼續使用此租約, 直到租用時間超過7 天時, 會再度向 DHCP 伺
服器要求續約, 若仍然無法取得續約的訊息 (一 樣會重試3 次), 則 DHCP用戶端改以廣播方式
送出DHCP Request 封包, 要求 DHCP 的服
務。29
手動更新租約 當然, 我們也可以在租約期限內, 手動更新租約。
在 Windows NT/2000/XP 中, 手動更新租約的方式是 在命令提示字元模式下, 執行Ipconfig /renew 命令即可 進行更新。
撤消租約 以 Windows 2000/XP 為例, 除了在重新啟動、關機均 會送出 DHCPRelease 封包, 撤消租約外。
在命令提示字元輸入 “IPCONFIG/ RELEASE”, 也會 送出 DHCP Release 封包撤消租約。
但如果 Windows XP 安裝了多張網路卡, 當直接執行 Ipconfig / release 命令時, 預設是會撤消所有網路卡 的 IP 租約。
若只想要撤消特定網路卡的 IP 租約, 則請執行 Ipconfig / release 連線名稱命令。
連線名稱指的是我們在網路連線視窗中看到的連線名 稱, 例如:區域連線、區域連線 2 等名稱。
31
DHCP 封包格式
DHCP 封包在傳訊層 (Transport Layer) 是
採用UDP 協定, 而當用戶端傳送給封包給伺服
器時, 採用的是 UDP 67 Port, 從伺服器傳送 給用戶端則是使用UDP 68 Port。
DHCP message
Hops (1 byte) Htype
(1 byte) Hlen (1 byte)
Flags (2 bytes)
File (128 bytes) Sname (64 bytes) Chaddr (16 bytes)
Giaddr (4 bytes) Siaddr (4 bytes) Yiaddr (4 bytes) Ciaddr (4 bytes) Secs (2 bytes)
Xid (4 bytes) (1 byte)Op
33
Client傳送封包時會隨機分配一組數字 (藉此分辨server所回應的是哪個封包,
即判斷是否為同一個transaction)
Transaction ID (Xid)
MAC addr的長度,以byte為單位,以 10M ethernet而言,此欄位值為6
Hardwar
addr. length (Hlen)
Client 送出時設為1,而relay agent 轉送packet至server時會將此值加1 Hops
Hardware address type 1: 10M (ethernet),
Hardware
Type (Htype)
1: Packet從client送出request 2: Packet由DHCP server reply Op Code
(Op)
若需透過relay agent交換封包時,
replay agent會填入自己的IP addr.
Router IP addr.
(Giaddr)
Server的IP addr.
Server IP addr.
(Siaddr)
Client 端啟動時間(秒) Secs
將server欲分配給client的IP addr.
Your IP addr.
(Yiaddr)
目前client所使用的IP addr.
Client IP addr.
(Ciaddr)
從 0 到 15 共 16 bits ,最左一
bit 為 1 時表示 server 將以廣播方 式傳送封包給 client ,其餘尚未使用 Flags
35
(optional) DHCP packect的重 點,包括IP addr., Lease Time, Server id等
Option Field
當client為diskless機器時使用,由 server提供client開機所需的檔案名 稱,讓client利用FTP工具下載以完 成開機程序。
Boot File Name (File)
Client MAC addr.
Client ethernet address
(chaddr)
DHCP server的名稱 (optional*) Server Host
Name (Sname)
Option Field 欄位說明
IP Address Lease Time (含 T1、T2)
這是由 3 個欄位所組成:IP Address Lease Time、
Renewal Time Value (T1)、Rebinding Time Value (T2)。
IP Address Lease Time:租約期限、
Renewal Time Value:更新租約時間 (T1, 預設是租約 期限的 1/2) 、
Rebinding Time Value:最後更新時間 (T2, 預設是租 約期限的 7/8)。
37
Relay Agent 的運作情形
Option Field (非必要性欄位)
39
Option Field (非必要性欄位)
8.2 Cable Modem 運作原理
有線電視網路架構光纖
同軸電纜線 網路線
光纖 同軸電纜線
有線網路頭端
光纖節點
Spilter
Cable modem
41
Cable Modem 的的工作原理就是利用目前龐
大的有線電視網路中尚餘的頻寬來傳數據。與傳 統的MODEM 差不多,只是所使用的調變方式
稱為Quadrature Amplitude
Modulation (QAM),混合使用振幅及相位、
在最小的空間放入更多位元。常見的
QAM 有分 16、64、及 256-QAM,分別代表不同的調變
群組等級。扣除掉FEC 返迴錯誤修正所用的頩
寬,256-QAM 所能攜載的速度大約為36Mbps ,比起一般的專線還要高出許多倍!
Note
MODEM 這名稱其實是由兩個詞組成
的﹕MOdulator/DEModulator(調制/解調 器)。它好比一個翻譯﹐將電腦的信號轉換成電 話線可以攜載的模擬信號(我們日常使用的電話 線都是模擬制式的)﹐然後在另一端再將模擬信 號轉換回電腦信號。
43
由於Cable Modem 所使用的同軸電纜是共享
形式的,前面所提的最大頻寬,事實上很難完全 達到的:除非您能禁止同一社區的其他用戶不跟 您搶頻寬,否則用戶越多,每戶平均頻寬就越 小。不過,一般而言,Cable Modem 業者都 會在機房端設備上啟用頻寬保證技術(QoS),從 而確保用戶的頻寬能保持在一定的合理範圍。
有線電視網路運作原理:將資料藉由上行頻道送到頭端,經頭端處理,再 由頭端轉由下行頻道,採廣播的方式,廣播給每 一個用戶端,進而讓接收端的用戶收到資料。
競爭上行頻道,
傳送資料給頭端
頭端用下行頻道,廣播 給每一個cable modem Cable modem
45
Cable modem也是擁有MAC address,一
開機時先去競爭上行頻道,利用TFTP (TrivialFile Transfer Protocol)對頭端發出要求,
請其傳送基本的設定值,頭端依據cable
modem的MAC address,利用下行頻道廣播
傳送基本的設定值。此時,cable modem開 始作初始化動作。 Cable Modem之IP的取得:
在Cable Modem的初始化動作以及Cable
Modem取得IP後,PC送出的DHCP訊息,藉由 Cable Modem轉換後取得IP。用戶端至少擁有 兩個IP:一個是Cable Modem的,一個是PC 的。
同軸電纜線 網路線
Cable modem
PC
TV
47
Cable Modem的優點: 較快的傳輸
Cable Modem的缺點: 安全性比較差;再者,
上行頻道用分享的方式,萬一用戶量大,也會影 響傳輸品質。
8.3 ADSL 簡介
ADSL是利用調變與數位信號處理技術,使傳統 銅製雙絞線能同時提供基本的電話語音服務與寬 頻數位服務。ADSL提供的寬頻數位服務是使用 高頻段﹝25k至1MHz﹞來傳輸
調變技術CAP (Carrierless Amplitude & Phase) DMT (Discrete MultiTone)
49
系統架構 : ADSL共有四個重要關鍵模組: ATU-C:為ADSL在網路端之傳輸單元,此單元提供 Modem調變與解調之功能。
ATU-R: 為ADSL在客戶端之傳輸單元,與ATU-C相 對應,提供與ATU-C同類調變與解調功能。
Splitter:用來分隔高頻﹝> 64KHz﹞ADSL與低頻﹝<
4KHz﹞POTS信號,使其能同時提供傳統電話與寬頻 數位服務,而互不受影響。
Access Node :主要用途是用作ATU-C與網際網路的 介面,並結合多組ATU-C之資訊傳送至高速
Backbone網路,也可將高速Backbone網路上的資訊 分開並傳至各個ATU-C上。
CAP: CAP (Carrierless Amplitude phase)調 變技術為AT&T Paradyne首先發明,利用QAM 調變技術,將數位訊號調變於單一載波信號上,再經電話線傳輸,當沒有數位的資料可供調變傳 輸時,則自動關閉載波信號不送出,故稱
Carrier-less。
51
DMT :DMT (Discrete MultiTone)調變技術為 Amati Communications公司所發展,已被ANSI選為ADSL標準﹝ANSI T1.413﹞。也定 義在ITU-T G.922 ,G.922.1定義了G.DMT , G.922.2定義G.lite標準 。
銅質雙絞線可使用之頻帶最高可到達1.1MHz,DMT調將低於4KHz之頻段用於傳統電信服務,
64KHz至1.1MHz用於數位信號服務。將此頻段 分割為256個子頻段﹝sub-frequencies﹞,其 中每個子頻段皆為相互獨立的。使ADSL線路不 致於有大多的雜訊及衰減,以確保ADSL有可靠 的通信品質。
可算出DMT調變,ADSL的最高傳輸速率:( 256個通道)×(每個子通道4KHz的頻率)×
(線路品質最佳的條件下以6個位元編碼) 256
× 4K × 6bits= 6Mbps
53
ADSL運作原理
Asymmetric Digital Subscriber Line (ADSL) :
一種新的Modem 設計技術,使用一般的雙絞銅 線做為傳輸媒體,如電話線路,提供遠端存取網 路或通訊的服務。
網路線
網路線
電話線 電話線
PC
ADSL ATU-R
Telephone
Spilter
ADSL運作原理
PPPoE和固接式ADSL :
PPPoE和固接式的ADSL 是目前常見的ADSL 模 式,最大的不同除了在IP 位址是否固定以外,還 有ADSL Modem 的使用模式是在Bridge 模式 或者是Router 模式的不同。
PPPoE(Bridge 模式) Point-to-Point Protocol over Ethernet,使用者將其帳號、密碼藉由PPPoE撥號程 式傳送給ISP認證
固定制IP (Route 模式)
55
ADSL運作原理(2)
Spilter
RAS user認證配置 IP, GW, DNS
ISP
RADIUS server 計時計次 ATM
Switch
DSLAM ADSL
ATU-C
Telephone PC
PC
Ethernet
Layer 2 Tunnel
ADSL ATU-R
Bridge mode (PPPoE) Routing mode (固定IP)
ADSL ATU-R: ADSL Transceiver Unit Remote ADSL ATU-C: ADSL Transceiver Unit Central DSLAM: DSL Access Multiplexers (DSL 存取
多工器 )
ADSL運作原理(3)
使用Public IP ADSL 上網網路線
電話線
Hub or Ethernet Switch or IP sharing
PC PC
ADSL ATU-R
Telephone
Spilter
57
ADSL運作原理(4)
使用Private IP ADSL 上網NAT or IP sharing
PC PC
ADSL ATU-R IP 61.221.6.254
Netmask 255.255.255.248
Telephone
Spilter LAN port
192.168.0.254 Hub port
IP 61.211.6.253
Netmask 255.255.255.248 GW 61.221.6.254
WAN port
Linux DHCP Server (1)
設定DHCP選項 簡單之設定檔如下: /etc/dhcpd.conf
59
Linux DHCP Server (2)
a. 決定合適的lease time。而且需給用戶端知
道DNS Server 的IP,因此需要此設定。 b.讓dhcpd啟動時,知道配發之IP range 由
172.16.0.185-172.16.0.200 而使用的
Router 為172.16.0.10,netmask為
255.255.255.0。
Linux DHCP Server (3)
c.啟動DHCP 服務:設定好以上的 dhcpd.conf
可執行/etc/rc.d/init.d/dhcpdstart
停止可執行/etc/rc.d/init.d/dhcpdstop
重新起動/etc/rc.d/init.d/dhcpdrestart
多人設定DHCP server 問題的解決方法 確定所有DHCP server 的設定是一致的
確定網路上同一時間內只有唯一的DHCP server 在進 行工作
61
Linux DHCP Server (3)
IP-MAC Address 鎖住:
讓某台主機永遠都使用一個固定的IP 地址。
在/etc/dhcpd.conf檔案加上下面的句子,便可將IP- MAC鎖住。