LAN(Local Area Network):
- 可能是一個住家(或學校)等物理區域內的各種電子元件(手機,影印機,電腦等)連結在一起所形成的網路
- 其中每一個電子元件都有唯一的IP(IP : Internet Protocol)
- 電子元件間溝通即透過IP地址
Switch:
- 在LAN網路內,電子元件間如何認得對方IP,或如何傳遞訊息,仰賴Switch
- 所以Switch定義是在LAN裡面的一個裝置
- 協助連接LAN中的電子元件,因為Switch會認得所有LAN中的電子元件IP用以協助不同電子元件間溝通
那接下來疑問題是如何連接到網路,例如連到LAN外部的FB Server?
Router:
- 介於LAN與外部網路(Outside networks(WAN))中間的裝置
- 例如LAN內的手機要連至FB Server
- 首先手機會發送"請求"會先送往Router
- 接著Router再將”請求”送往FB Server
- 並且Router的IP位置又可以被稱之為Gateway(概念如下圖)
再來要問到,當LAN之中如手機發動"請求"給另一個電子元件
到底怎麼知道這個被請求的電子元件是在LAN的內部還是外部?
Subnet:
- 上面問題的答案其實是目標電子元件的IP是多少來決定的(詳下方解釋)
- 首先上面提過LAN之內的各個IP位置都是唯一的
- 並且這個LAN之內的IP其實是在相同範圍的IP位置
- (如下圖最後一個123.123.123.X這個一個X位置的數字差異,但是也可能是123.123.X.X總共兩個X位置的差異,看下面解釋:Subnet Mask)
- 並且這個有範圍的IP位置又被稱為Subnet
- (Subnet : logical subdivision of an IP network) 或稱
- (Subnetting : process of dividing a network into two or more networks)
範例解說IP位置範圍(IP address range):
以下是一個LAN之中的IP位置範圍的樣子,會有如下兩組IP組成
(windows用ipconfig指令可以查看)
前面192.168.0.0 後面255.255.255.0
其中前面那一組192.168.0.0就是實際的IP位置
並且前面這個IP位置可以是在範圍:192.168.0.0 ~ 192.168.0.255之間任意
並且該範圍(192.168.0.0 ~ 192.168.0.255)都屬於同一個LAN
此時後面那個255.255.255.0的部分則是Subnet Mask
255.255.255.0為Subnet Mask情況下代表前三個數字固定,僅第四個可浮動
亦即前面實際IP: 192.168.0這前三組數字固定
可以想像成192.168.0這三組數字被255.255.255遮擋,僅剩最後一個數字浮動
但是Subnet Mask也可能是:255.255.0.0
上述狀況表示實際IP則是192.168固定,所以IP範圍可以是:
192.168.0.0 ~ 192.168.255.255之間(或是這樣寫:192.168.x.x)
所以我們可以將Subnet Mask分類為如下:
第一種255.255.0.0的Subnet Mask:8+8=16 bits fixed
第二種255.255.255.0的Subnet Mask:8+8+8 = 24 bits fixed
亦即Subnet Mask中
255的數字為固定八位元
0的數字為自由的範圍區
換句話說Subnet Mask決定了多少bits的IP位置被固定
針對這個機制還有另一稱呼:
CIDR(Classless Inter-Domain Routing) Block
並寫為以下形式:
192.168.0.0/16 或192.16.0.0/24(也就是16bits被固定或24bits固定)
Recap一下上述概念與原本的問題:
在LAN之內的IP顯示為192.16.0.0 255.255.0.0
當LAN之中某IP(192.168.1.11)電子元件發請求到IP(192.168.1.20)則如下
如果IP(192.168.1.11)元件發請求到77.50.166.2則如下
所以任何電子元件做網路溝通都需要三樣資料:
- IP Address
- Subnet
- Gateway
Network Address Translation(NAT):
由上面描述概念,一個住家/學校/甚至公司的網路都屬於一個LAN
並且在LAN之內的電子元件IP都是在一個範圍內
但是一間學校的LAN中的IP範圍,不就可能跟另一間公司LAN的範圍
有機會重疊?
答案是某個LAN之中的電子元件的IP其實是外部看不到的
所以不同LAN之中IP重疊也沒關係
實際屬於LAN之內的範圍IP內的電子元件發動請求到FB Server會是如下
NAT好處:
- 安全地保護LAN中的IP
- 重複利用IP
(不同LAN中使用到相同範圍的IP是OK的!)
公司內同一個LAN中的IP範圍又可稱為"IPv4"
如上介紹最大範圍就是0.0到255.255
Firewall:
- 考量在LAN內部有架設APP Server提供服務
- 外部電腦向LAN內的APP發動請求時
- 這個請求溝通可否允許打進LAN裡面跟APP溝通
- 則是由Firewall(防火牆)決定
- Firewall是一組規則針對未授權的access來保護網路
- 設置Firewall Rules可決定哪些請求可以允許通過
- 透過Firewall Rules可以設置來源IP可以允許通過
- 甚至可以決定到防火牆後的哪一台Server
- 當然如果是公開Web APP,也可以允許任何外部電子元件打進來APP Server
- 其中Firewall Rules內還要決定是哪個PORT是允許打進Server的,又或說外部電子元件可以透過哪個PORT進去內部APP Server
什麼是PORT?
PORT:
- 每個電子元件(電腦或Server等)都有一組PORT
- 可以允許使用特定的PORTS(就像門doors) 或是
- 可以允許使用特定的PORTS(就像門doors),並且只允許特定IP位置(客人)
- 例如許多APP使用PORT:80,所以通常會開80 PORT允許通過
- 例如可能是一般住家電腦請求到FB Server走80 PORT
- 防火牆有開80 PORT通過到達FB Server
- 就允許由80 PORT進到FB內部Server
- 常見的Server也都有預設常見使用的PORT
- Web Server(80),Mysql DB(3306),PostgresQL DB(5432)…etc
- 每個電子元件上的PORT都是唯一的,所以不能重用使用PORT
- 如果有第二個應用程式啟動使用到同一個PORT
- 則可能會拋出PORT XXXX was already in use等錯誤!
- 亦即Firewall可以管控電子元件IP位置的哪個PORT可以被進入所
- 以又可稱作(Port Forwarding)