(一)網絡linux
以下圖:編程
(二)Tcp/Ip 簡介服務器
首先咱們要引入一個概念叫作--協議:網絡
什麼是協議,就像世界上有不少種語言,而爲了解決不一樣種族⼈之間的語⾔溝通障礙,現規定國際通⽤語⾔是英語,這就是⼀個規定,這就是協議。工具
而不一樣種類之間的計算機進⾏數據傳遞就像說不一樣語⾔的⼈溝通⼀樣,只要有⼀種⼤家都承認都遵照的協議便可, 那麼這個計算機都遵照的⽹絡通訊協議叫作 TCP/IP協議。學習
常⽤的⽹絡協議以下圖所示:spa
(三)端口操作系統
那麼TCP/IP協議中的端⼝指的是什麼呢?設計
端⼝就好⼀個房⼦的⻔,是出⼊這間房⼦的必經之路。code
以下圖:
一臺機器上的飛秋信息經過交換機發送到另外一臺機器上,可是另外一臺機器如何知道該他的飛秋進行接受呢?這裏就要到端口。
若是⼀個進程須要收發⽹絡數據,那麼就須要有這樣的端⼝;
在linux系統中,端⼝能夠有65536(2的16次⽅)個之多! 既然有這麼多,操做系統爲了統⼀管理,因此進⾏了編號,這就是 端⼝號!
端⼝是經過端⼝號來標記的,端⼝號只有整數,範圍是從0到65535
端口是如何分類的呢,這裏簡單介紹兩種:
知名端⼝是衆所周知的端⼝號,範圍從0到1023
80端⼝分配給HTTP服務 21端⼝分配給FTP服務
能夠理解爲,⼀些常⽤的功能使⽤的號碼是估計的,好⽐ 電話號碼1十、 1008六、10010⼀樣
動態端⼝的範圍是從1024到65535;
之因此稱爲動態端⼝,是由於它⼀般不固定分配某種服務,⽽是動態分配。
動態分配是指當⼀個系統進程或應⽤程序進程須要⽹絡通訊時,它向主機申 請⼀個端⼝,主機從可⽤的端⼝號中分配⼀個供它使⽤。 當這個進程關閉時,同時也就釋放了所佔⽤的端⼝號。
小結:
端口有什麼⽤呢 ? 咱們知道,⼀臺擁有IP地址的主機能夠提供許多服務,⽐如HTTP(萬維⽹服務)、FTP(⽂件傳輸)、SMTP(電⼦郵件)等,這些服務徹底能夠經過1個IP地址來實現。那麼,主機是怎樣區分不一樣的⽹絡服務呢?顯然不能只靠IP地址,由於IP地址與⽹絡服務的關係是⼀對多的關係。 其實是經過「IP地址+端⼝號」來區分不一樣的服務的。 須要注意的是,端⼝並非⼀⼀對應的。⽐如你的電腦做爲客戶機訪問⼀臺WWW服務器時, WWW服務器使⽤「80」端⼝與你的電腦通訊,但你的電腦則可能使⽤「3457」這樣的端⼝。
(四)ip地址
試看以下的信息發送如何完成呢?
這時,咱們就須要知道張三的ip地址,而後經過網絡發給他。
每⼀個IP地址包括兩部分:⽹絡地址和主機地址
A,B,C類ip地址前面的網絡號能夠想象成當前有多少個網絡,然後面的主機號表示在當前某一個網絡下有都少個主機。
A類IP地址 :
⼀個A類IP地址由 1字節的⽹絡地址和3字節主機地址組成,
⽹絡地址的最⾼ 位必須是「0」, 地址範圍1.0.0.1-126.255.255.254
⼆進製表示爲:00000001 00000000 00000000 00000001 - 01111110 11111111 11111111 11111110 可⽤的A類⽹絡有126個,每一個⽹絡能容納1677214個主機。
B類IP地址:
⼀個B類IP地址由 2個字節的⽹絡地址和2個字節的主機地址組成,
⽹絡地址 的最⾼位必須是「10」, 地址範圍128.1.0.1-191.255.255.254
⼆進製表示爲:10000000 00000001 00000000 00000001 - 10111111 11111111 11111111 11111110 可⽤的B類⽹絡有16384個,每一個⽹絡能容納65534主機。
C類IP地址:
⼀個C類IP地址由 3字節的⽹絡地址和1字節的主機地址組成,
⽹絡地址的最⾼位必須是「110」 範圍192.0.1.1-223.255.255.254
⼆進製表示爲: 11000000 00000000 00000001 00000001 - 11011111 11111111 11111110 11111110 C類⽹絡可達2097152個,每一個⽹絡能容納254個主機
D類地址:⽤於多點⼴播
D類IP地址第⼀個字節以「1110」開始,它是⼀個專⻔保留的地址。
它並不指向特定的⽹絡,⽬前這⼀類地址被⽤在多點⼴播(Multicast)中多點⼴播地址⽤來⼀次尋址⼀組計算機
地址範圍224.0.0.1-239.255.255.254
E類IP地址 :
以「1111」開始,爲未來使⽤保留 E類地址保留,僅做實驗和開發⽤。
(五)子網掩碼
要想理解什麼是⼦⽹掩碼,就不能不瞭解IP地址的構成。互聯⽹是由許多⼩型⽹絡構成的,每一個⽹絡上都有許多主機,這樣便構成了⼀個有層次的結構。IP地址在設計時就考慮到地址分配的層次特色,將每一個IP地址都分割成⽹絡號和主機號兩部分,以便於IP地址的尋址操做。
IP地址的⽹絡號和主機號各是多少位呢?若是不指定,就不知道哪些位是⽹絡號、哪些是主機號,這就須要經過⼦⽹掩碼來實現。
⼦⽹掩碼不能單獨存在,它必須結合IP地址⼀起使⽤。
⼦⽹掩碼只有⼀個做⽤,就是將某個IP地址劃分紅⽹絡地址和主機地址兩部分
⼦⽹掩碼的設定必須遵循⼀定的規則:
與IP地址相同,⼦⽹掩碼的⻓度也是32位, 左邊是⽹絡位,⽤⼆進制數字「1」表示; 右邊是主機位,⽤⼆進制數字「0」表示。
接下來咱們舉個例子:
假設IP地址爲「192.168.1.1」 其⼦⽹掩碼爲「255.255.255.0」。
其中,根據前面所說的ip地址組成規則,咱們能夠知道,該子網掩碼前24爲均爲1;後八位均爲0。
因此,前24位均爲網絡位,後8位均爲主機位。
而該ip地址也就是前面的C類ip,二者匹配。
注意 :
若是將⼦⽹掩碼設置過⼤,也就是說⼦⽹範圍擴⼤,那麼,根據⼦⽹尋徑規則,極可能發往和本地主機不在同⼀⼦⽹內的⽬標主機的數據,會由於錯誤的判斷⽽認爲⽬標主機是在同⼀⼦⽹內,那麼,數據包將在本⼦⽹內循環, 直到超時並拋棄,使數據不能正確到達⽬標主機,致使⽹絡傳輸錯誤;
若是 將⼦⽹掩碼設置得過⼩,那麼就會將原本屬於同⼀⼦⽹內的機器之間的通訊當作是跨⼦⽹傳輸,數據包都交給缺省⽹關處理,這樣勢必增長缺省⽹關的負擔,形成⽹絡效率降低。
所以,⼦⽹掩碼應該根據⽹絡的規模進⾏設置。若是⼀個⽹絡的規模不超過254臺電腦,採 ⽤「255.255.255.0」做爲⼦⽹掩碼就能夠了,如今⼤多數局域⽹都不會超過這 個數字,所以「255.255.255.0」是最常⽤的IP地址⼦⽹掩碼;假如在⼀所⼤學 具備1500多臺電腦,這種規模的局域⽹可使⽤「255.255.0.0」。