Bridge 是很常見的名詞, 路上的木橋、石橋、糯米橋, 化學的鹽橋、物理的電橋、連三國都有大喬和小喬, 比較容易搞混的橋是下面這兩種.
第一個 bridge 是網路設備的名稱. 相較於 hub, switch, gateway 都是很常用的名詞, 網路上也有很多文章在介紹. Bridge 這個名詞就很少用多了. 一般根據 OSI 的 L1/L2/L3/L4 來區別 repeater, bridge, router, 和 gateway [ref 2], 照理說大家亮相的機會均等, [ref 2] 甚至說 router 在 1970 年以前也叫做 bridge.
Repeater 只是單純照抄封包給其他人, 又叫做 Hub. Bridge 初次見到某個 MAC address 時會先去問 router 該送哪個 port, 以後就能記住 MAC address 與 port 的對應關係. Bridge 又叫做 switch hub 或是 L2 (level 2) switch.
至於 Router 自己有 routing table, 會看某個 IP 決定往那個 port 送最佳, 又叫做 L3 (level 3) switch, IP switch 或 switch router.
由於 3C 產品不斷 cost down, 個人覺得 repeater 和 bridge 應該都沒有什麼存在的價值了. 現在在網路上搜尋 Hub, 出來的應該都是 USB hub. PCHome 的 10/100 Mbps 5 port switch 才賣 290 NTD. 它能過濾 2K 個 Mac address, 至少是 L2 switch 啦!5 port Gigabit 的 switch 也才賣 649 NTD.
第二個容易混淆的 “bridge" 是虛擬機 – virtual machine (VM) 用的. VM 軟體像是 PC 上的 VMWare 或是 Mac 上的 Parallel, 它們在原有的作業系統中, 又執行另外一個虛擬的電腦. 這個電腦通常也需要網路. 如果希望虛擬機和主機 (host) 在網路上有同樣的地位, VMWare 的網路要設定為 bridge. 此時 VM 和 host 共用 Ethernet 接口, 但各自有一個 MAC address 和 IP address. 這兩個 IP address 會在同一個網段, 比方說都是 172.21.1.X.
Mac 上的 Parallel 的選項分成共用網路、橋接網路、Host-Only 三個選項, 在它的設定檔裡面, 選虛擬機器 → 配置 → 硬體 → 網路 → 橋接網路 → 默認適配器. 就可以達到 VMWare 中選 bridge 的效果. 如果選 vnic0 (virtual nic 0), 外面的 DHCP server 根本看不到它. Parallel 隨便給它個 10.211.x.x 當 IP 就可以透過 host 的 NAT (network address translation) 上網了. Parallel 對待虛擬機, 仍然是隨便給一個 Mac address 了事, 和 host 不同, 甚至還有 “生成" 的選項可以隨機產生新的値.
[Ref]
1. Connecting Devices – Hub, Repeater, Switch, Bridge, Router, Gateway
2. hub/switch/ip share/router 細部介绍