這個是本系列文章的第八篇,從本篇開始,基本上系統的基本知識都大概介紹完了,下面主要涉及網絡以及相關應用的配置等等,當然,前面的文章寫得有些簡單了,主要是打字要時間啊!!!像我這種懶人,能寫個提綱給自己提示一下,已經算是超常發揮了。
首先講一下TCP/IP協議,這個是事實標準,在國際標準化組織定義了所謂OSI七層協議以后(實際上沒有應用)。
我們可以先看一下分層圖:、

8.1 基本知識
TCP是傳輸控制協議,IP則指的是網際協議。
TCP和UDP是建立在IP的基礎上,向特定的應用傳遞分組的傳輸協議。?
TCP是一種面向連接的協議,在很大程度上有點像電話。TCP協議時可控可靠傳輸。UDP是面向分組的服務,類似郵局發信的原理。UDP是無連接協議,它不保證分組的接受順序和發送順序,也不保證分組能正確抵達目的地。
8.2?連網技術概述
TCP/IP協議時一個協議族,不止包含那兩個傳輸層的協議,還包括ICMP,APR等
IMCP協議是IP協議的底層支持協議,而ARP則是地址解析協議,也是各種考試常考的內容。
8.2.1?分組和封裝
在網絡中,高層的協議對底層并不關心,看上去就是黑盒子,這是計算機中一個很重要的思想,叫做封裝。
數據在網絡中以分組的形式傳輸。每個包都有包頭和有效載荷組成。原始的數據單位名稱依協議層而定。在鏈路層上,叫做幀(frame),在IP層上叫做分組(packet),在TCP層上叫做片段(segment);在一個包沿著協議棧向下傳輸的時候,每個協議都會加上自己的頭部,這個嵌套的過程叫做封裝,在接收端相對的逆過程叫做解封。
8.2.2?鏈路層
這里面,講一下鏈路層的內容,鏈路層的主要任務是在數據幀上加上幀頭,和幀之間的分隔符以便區別不同的幀,組幀也是有標準文件的,約定了幀的格式等信息。
8.2.3?包的尋址
尋址基本上有三個方案:
硬件用MAC;
軟件用IP;
人用主機名尋址;
MAC地址我們都應該很熟悉,這個是由網卡出廠時候就初始化的一個地址。當然你可以再系統里面偽裝這個地址。不做解釋了。
MAC尋址是基于鏈路層的尋址方式。而IP地址和硬件地址的映射關系也是在鏈路層中實現的:ARP協議。此協議位于鏈路層。
8.2.4?IP端口
IP地址標示了計算機的網絡接口,但是對于服務和進程來講,一個地址無法區分不同的進程,所以衍生了端口的概念。在linux系統中,服務程序的端口號都低于1024,當然以root身份運行的進程除外。
8.3?IP地址詳解
IP地址分為網絡部分和主機部分。
8.3.1?分類
傳統上,IP地址分為三類:A、B、C類地址,不過目前其實這套分類已經沒有什么實際的意義了。稍微提一下:
A類地址:第一個字節值:1-126;
B類地址:128-191;
C類地址:192-223
8.3.2?子網和子網掩碼
對于A類和B類網絡來說,主機號實在是太多了,至于浪費了大量的地址,所以出現了子網的概念,為了更有效的利用IP地址資源。
也就是我們可以用子網掩碼的形式把一個B類地址化為多個C類地址,掩碼意思是:將一個IP地址網絡部分的哥哥網絡掩碼位置設置為1,而主機位為0。常見的掩碼形式是:255.255.255.0這個是C類地址的掩碼。
但是隨著網絡上計算機的增多,這種劃分子網的形式也漸漸的不夠用了,目前實際上采用的是CIDR無類域路由的方法,在IP/26這種記法中表示了前26位為網絡部分,最后一個字節中前兩位為網絡號的部分,最后字節將變成11000000的掩碼形式。所以我們可以將IP/24分為4個IP/26的網絡,而本例中,IP/26還剩6位表示主機地址,正常算的話應該是64個主機,但是全0和全1的地址是保留地址,所以真正可以使用的是62個地址。
有興趣的同學可以繼續研究一下,不再細致描述了,在實際應用中這個基本上用不到,不過算是一個基本的知識。
8.3.3?CIDR
這個是無類域路由分類方法的簡稱,廢除了以前固定的ABC分類方法,是子網方法的直接擴展。在上面一小節中也提到了這個名詞。大家知道一下就可以了。
8.3.4?私用地址和NAT
NAT的相關配置以后還會講到,這里只是大概提到一下他們的用途。
我們知道,IP地址需要申請,但是我們內部的網絡擴張是很迅速的,而且也沒有必要每個內部主機都需要一個外部IP,所以私用地址的概念出現了,由RFC文檔規定有一個A類網絡、16個B類網絡、256個C類網絡作為私用地址。
這些地址都可以在內部自用使用,劃分子網和分配地址。
為了使內部主機能訪問外部網絡,一般需要一個NAT服務來進行地址和端口的映射,也就是所有內部IP共享一個真的外網地址,當然這個缺點么,就是內部主機外部是無法訪問的,不過在某一特定情境下,這似乎是個優點。
8.4?ARP地址解析協議
ARP協議應該是比較重要的一個協議。IP包是根據IP地址發送的。在鏈路層上必須采用實際硬件地址來傳送數據,所以產生了ARP協議。每個計算機在內存中都維護了一張叫做ARP緩存的表,保存了近期ARP查詢的結果。
對于這個協議,記住是通過廣播形式來發揮作用就可以了,還有條命令:arp,可以顯示ARP緩存的內容。
8.5?將一臺主機加入網絡
作為系統管理員,有時候需要將一臺主機加入網絡。
我們需要完成的操作主要有:
? ? ? ? 1,分配IP地址和主機名;
? ? ? ? 2,設置網絡接口;
? ? ? ? 3,設置默認路由;
? ? ? ? 4,指定一個DNS服務器。
8.5.1?分配IP地址和主機名
可能涉及的文件是/etc/hosts以及hostname這個命令,這不是本節的重點,此節涉及另一個比較重要的命令:ifconfig
這個命令可以說是非常熟悉大家,win系統下也有類似的命令,ipconfig.
這條命令的基本格式:
Ifconfig?? interface? address options?....
舉個例子:
Ifconfig??eth0?192.168.100.1?netmask?255.255.255.0??up
---interface?是命令所應用的硬件接口名稱。在大多數系統上市eth0.
Address是IP地址,如果是靜態分配的話。
Netmask?是子網掩碼,這個概念大家不陌生
Up?是啟動接口的意思。
這里提及一下,mii-tool命令可以查詢并設置特定接口的參數,必然全/半雙工模式等,不過這里面的東西除非必要,一般默認不需要改變。
8.5.2?配置默認路由
其實就是指定一下網關的地址。
命令:
Route? add? default? gw gateway-IP-address
8.5.3?配置DNS
配置DNS,其實關鍵是配置/etc/resolv.conf文件。只要編輯這個文件,添加相應的DNS服務器地址就可以了。
未完待續.....