Ch1. 網路基礎概念
此章節會盡量以最簡單易懂的方式,來說明基本最常用到的網路基礎概念。
電腦網路組成元件
我們可以從下面這張網路連線示意圖來看看電腦網路的組成:
以上這些設備主要分為以下這些:
節點(node): 有網路位置(IP)的設備我們就把它稱為一個節點,所以圖上的一般PC、Linux伺服器、ADSL數據機以及網路印表機都算是節點。
伺服器主機(server): 提供資料以回應給用戶主機,都可以稱之為Server,比如google是個WWW伺服器,回應的資料內容是網頁。
工作站(workstation)或客戶端(client): 主動發起連線去“要求”資料的都可以稱為Client端。
網路卡(NIC): 內建或者外插在主機上的設備,用於提供網路連線。
網路介面: 利用軟體設計出來的網路介面,主要在提供網路位址 (IP) 的任務。
網路形態或拓樸 (topology): 各個節點在網路上面的連結方式,一般講的是物理連接方式。 例如:星狀拓墣(上圖就是此拓墣方式)、環狀拓墣等等。
網關 (route) 或通訊閘 (gateway): 具有兩個以上的網路介面, 可以連接兩個以上不同的網段的設備,例如 IP 分享器就是一個常見的網關設備。
電腦網路區域範圍
主要電腦網路的區域範圍有分為區域網路、廣域網路以及都會網路。
- 區域網路 (Local Area Network, LAN): 節點之間的傳輸距離較近,例如一棟大樓內,或一個學校的校區內。可以使用較為昂貴的連線材料, 例如光纖或是高品質網路線 (CAT 6) 等。網路速度較快,連線品質較佳且可靠,因此可應用於科學運算的叢集式系統、 分散式系統、雲端負荷分擔系統等。
- 廣域網路 (Wide Area Network, WAN): 傳輸距離較遠,例如城市與城市之間的距離,因此使用的連線媒體需要較為便宜的設備,例如經常使用的電話線就是一例。 由於線材品質較差,因此網路速度較慢且可靠性較低一些,網路應用方面大多為類似 email, FTP, WWW 瀏覽等功能。
大致了解區域網路以及廣域網路之後,我們還要再了解一下在建立伺服器網路環境時常應用到的網路區域範圍。
我們在建立一個Server用的網路環境時,基於安全性的考量,我們通常不會將Server的連線位置直接公開在廣域網路上,而是會將Server接到我們自己區域網路範圍內。(如下圖所示,我們的區域網路會建構在Router以下的範圍內,連線IP通常會是10.x.x.x或者192.x.x.x)
當要對Server本身做操作時,就用區域網路連線來做設定與操作,而當有一些內容需要對外公開(比如說寫了一個php程式語言的網頁,我們要上架時就會將這支php網頁程式放在我們建立的apache伺服器,並在廣域網路上公開,讓別人可以透過網址來瀏覽我們的php網頁),這時候才會將此ip位置開放在廣域網路上。開放的方式通常會用內外網轉Port的方式來公開,未來有機會會詳細為大家說明。
IP的種類與取得方式
主要分為公共IP以及私有IP,以下會做詳細說明。
公共IP(Public IP): 經由 INTERNIC 所統一規劃的 IP,有這種 IP 才可以連上 Internet
私有(Private IP): 私有 IP 或保留 IP,不能直接連上 Internet 的 IP , 主要用於區域網路內的主機連線規劃。
私有IP主要有分為3個Class 分別是A、B、C。
Class A: 10.0.0.0 - 10.255.255.255
Class B: 172.16.0.0 - 172.31.255.255
Class C: 192.168.0.0 - 192.168.255.255
這三段 Class 的 IP 是預留使用的,所以並不能直接作為 Internet 上面的連接之用,在伺服器網路環境建置過程中可能會很常看到以上此三種Class的IP。
基本網域概念與IP取得方式
基本網域概念
主要分為網域號碼(Net_ID)與主機號碼(Host_ID)的定義。
Net_ID: 網域號碼,例如:192.168.1.1前面的192.168.1就是Net_ID,同樣Net_ID的IP位址即為同網域。
Host_ID: 主機號碼,概念類似為每台電腦的ID,同網域內不會有多個節點使用同一個Host_ID,例如:電腦一的IP是192.168.1.100,電腦二的IP是192.168.1.101,則這兩台電腦是同在192.168.1.x網段內,並且一台的Host_ID是100,另一台是101。
IP的取得方式
直接手動設定(static): 你可以直接向你的網管詢問可用的 IP 相關參數,然後直接編輯設定檔 (或使用某些軟體功能) 來設定你的網路。 常見於校園網路的環境中,以及向 ISP 申請固定 IP 的連線環境;
透過撥接取得: 向你的 ISP 申請註冊,取得帳號密碼後,直接撥接到 ISP ,你的 ISP 會透過他們自己的設定,讓你的作業系統取得正確的網路參數。 此時你並不需要手動去編輯與設定相關的網路參數啦。目前台灣的 ADSL 撥接、光纖到大樓、光纖到府等,大部分都是使用撥接的方式。
自動取得網路參數 (DHCP): 在區域網路內會有一部主機負責管理所有電腦的網路參數,你的網路啟動時就會主動向該伺服器要求 IP 參數, 若取得網路相關參數後,你的主機就能夠自行設定好所有伺服器給你的網路參數了。最常使用於企業內部、IP 分享器後端、 校園網路與宿舍環境,及纜線寬頻等連線方式。
不管是使用上面哪種方式取得的 IP ,你的 IP 都只有所謂的『 Public 與 Private IP 』而已!而其他什麼浮動式、固定制、 動態式等等有的沒有的,就只是告訴你這個 IP 取得的方式而已。
基本路由概念
圖示當中共有兩個不同的網段,分別是 Network A 與 Network B,這兩個網段是經由一部路由器 (Server A) 來進行資料轉遞的,好了,那麼當 PC01 這部主機想要傳送資料到 PC11 時, 他的 IP 封包該如何傳輸呢?
我們知道 Network A(192.168.0.0/24) 與 Network B(192.168.1.0/24) 是不同網段,所以 PC01 與 PC11 是不能直接互通資料的。不過, PC01 與 PC11 是如何知道他們兩個不在同一個網段內?這當然是透過 Net_ID 來發現的!那麼當主機想要傳送資料時,他主要的參考是啥? 很簡單!是『路由表 (route table)』,每部主機都有自己的路由表』, 讓我們來看一看預設的情況下, PC01 要如何將資料傳送到 PC02 呢?
1.查詢 IP 封包的目標 IP 位址: 當 PC01 有 IP 封包需要傳送時,主機會查閱 IP 封包表頭的目標 IP 位址;
2.查詢是否位於本機所在的網域之路由設定: PC01 主機會分析自己的路由表,當發現目標 IP 與本機 IP 的 Net_ID 相同時(同一網域),則 PC01 會直接透過區網功能,將資料直接傳送給目的地主機。
3.查詢預設路由 (default gateway): 但在本案例中, PC01 與 PC11 並非同一網域,因此 PC01 會分析路由表當中是否有其他相符合的路由設定, 如果沒有的話,就直接將該 IP 封包送到預設路由器 (default gateway) 上頭去,在本案例當中 default gateway 則是 Server A 這一部。
4.送出封包至 gateway 後,不理會封包流向: 當 IP 由 PC01 送給 Server A 之後, PC01 就不理會接下來的工作。而 Server A 接收到這個封包後, 會依據上述的流程,也分析自己的路由資訊,然後向後繼續傳輸到正確的目的地主機上頭。
此說明文件部分內容擷取自鳥哥的 Linux 私房菜-第二章、基礎網路概念,想了解最詳細的網路基本概念可以將鳥哥的此篇文章完整的閱讀完唷。