一、網(wǎng)絡(luò)基本概念
1、網(wǎng)絡(luò)
網(wǎng)絡(luò)是由若干節(jié)點(diǎn)和連接這些結(jié)點(diǎn)的鏈路組成,網(wǎng)絡(luò)中的結(jié)點(diǎn)可以是計(jì)算機(jī)、交換機(jī)、路由器等設(shè)備。通俗地說就是把不同的主機(jī)連接起來就構(gòu)成了一個(gè)網(wǎng)絡(luò),構(gòu)成網(wǎng)路的目的是為了信息交互、資源共享。
網(wǎng)絡(luò)設(shè)備有:交換機(jī)、路由器、集線器
傳輸介質(zhì)有:雙絞線、同軸電纜、光纖
簡(jiǎn)單的網(wǎng)絡(luò)示意圖:
2.互聯(lián)網(wǎng)
把多個(gè)網(wǎng)絡(luò)連接起來就構(gòu)成了互聯(lián)網(wǎng)。目前最大的互聯(lián)網(wǎng)就是我們常說的因特網(wǎng)。
簡(jiǎn)單的互聯(lián)網(wǎng)示意圖:
3.IP地址(用來唯一標(biāo)識(shí)一臺(tái)主機(jī))
IP地址就是給因特網(wǎng)上的每一個(gè)主機(jī)(或路由器)的每一個(gè)接口分配一個(gè)在全世界范圍內(nèi)唯一的標(biāo)識(shí)符。IP地址因其特殊的結(jié)構(gòu)是我們可以在因特網(wǎng)上很方便地進(jìn)行尋址。
(1)IP地址的兩種類別格式
IP地址有分IPV4和IPV6兩種類別格式,IPV4是類似“A.B.C.D”的格式,它是32位的,用“.”分成4段,每個(gè)段是8個(gè)位(值位0~255),用10進(jìn)制表示。IPV6是128位,格式類似“XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX”,用“:”分成8個(gè)段,每個(gè)段16個(gè)位,用4個(gè)16進(jìn)制數(shù)表示。
IPV4地址示例:“192.168.31.1”
IPV6地址示例:“2001:0db8:3c4d:0015:0000:0000:1a2f:1a2b”
接下來描述的IP地址默認(rèn)都指的是IPV4的地址。為了便于尋址,了解目標(biāo)主機(jī)的位置,每個(gè)IP地址由網(wǎng)絡(luò)號(hào)和主機(jī)號(hào)兩部分組成。同一個(gè)物理網(wǎng)絡(luò)上的所有主機(jī)都是用同一個(gè)網(wǎng)絡(luò)號(hào),只是主機(jī)號(hào)不同。
(3)IP地址組成
(4)IP地址分類
由于每類地址的開頭是固定的,因此每類地址都有自己的范圍:
A類IP地址范圍:0.0.0.0~127.255.255.255
B類IP地址范圍:128.0.0.0~191.255.255.255
C類IP地址范圍:192.0.0.0~223.255.255.255
D類和E類一般不使用。
(5)IP地址的特點(diǎn)
尋址特別方便,可以方便地知道是哪個(gè)網(wǎng)絡(luò)中的哪個(gè)主機(jī)。
使用命令“ifconfig”可以在Linux查看自己的IP地址,如下圖:
主機(jī)環(huán)回地址是用來測(cè)試的,每臺(tái)主機(jī)都有這個(gè)地址,在測(cè)試程序的時(shí)候就會(huì)用這個(gè)地址,127代表本主機(jī),所以發(fā)給127的數(shù)據(jù)是不會(huì)離開本主機(jī)的,它會(huì)從網(wǎng)絡(luò)的發(fā)送緩沖區(qū)直接導(dǎo)到接收緩沖區(qū),這個(gè)數(shù)據(jù)不會(huì)離開網(wǎng)絡(luò)。如果要測(cè)試這一段網(wǎng)絡(luò),要通過網(wǎng)絡(luò)上兩臺(tái)不同的主機(jī)之間通訊就必須使用局域網(wǎng)的IP地址。在網(wǎng)絡(luò)中如果兩臺(tái)主機(jī)要通訊,那么這兩臺(tái)主機(jī)要通過網(wǎng)絡(luò)設(shè)備以及傳輸介質(zhì)是首先在物理層面要是連通的??磧膳_(tái)主機(jī)之間的物理地址是否連通,需要用到ping命令。
主機(jī)環(huán)回是指地址為 127.0.0.1 的任何數(shù)據(jù)包都不應(yīng)該離開計(jì)算機(jī)(主機(jī)),發(fā)送它的時(shí)候不是被發(fā)送到本地網(wǎng)絡(luò)或互聯(lián)網(wǎng),它只是被自己“環(huán)回”,并且發(fā)送數(shù)據(jù)包的計(jì)算機(jī)成為接收者。這種形式的地址不得出現(xiàn)在主機(jī)之外。因此,拾取定向到 127.0.0.1 的流量的路由器應(yīng)該立即丟棄數(shù)據(jù)包。這可確保沒有專門用于主機(jī)上的流量進(jìn)入 Internet。
4.MAC地址
在局域網(wǎng)中,硬件地址又稱為物理地址或者M(jìn)AC地址,長(zhǎng)度48位,是固化在計(jì)算機(jī)適配器的ROM中的地址。因此假定連接在局域網(wǎng)上的一臺(tái)計(jì)算機(jī)的適配器壞了而我們更換了一個(gè)新的適配器,那么這臺(tái)計(jì)算機(jī)的局域網(wǎng)的地址也就改變了,雖然這臺(tái)計(jì)算機(jī)的地理位置沒有發(fā)生變化。其次當(dāng)我們把筆記本電腦從一個(gè)城市帶到另一個(gè)城市時(shí),雖然物理位置改變了,但是電腦在局域網(wǎng)中的“地址”不會(huì)改變。由此可見,局域網(wǎng)上某個(gè)主機(jī)的“地址”根本不能告訴我們這臺(tái)主機(jī)位于什么地方。在網(wǎng)絡(luò)上方便地尋找某個(gè)主機(jī),還得靠IP地址來實(shí)現(xiàn)。
5.端口
端口是表示主機(jī)上一個(gè)應(yīng)用程序的代號(hào),就是用來表示一個(gè)主機(jī)上的進(jìn)程。因?yàn)镮P雖然可以唯一標(biāo)識(shí)一個(gè)主機(jī),但是兩個(gè)主機(jī)之間通訊往往是兩個(gè)主機(jī)上的進(jìn)程,所以就需要端口。
常見的端口:
HTTP協(xié)議用的80號(hào)端口
SSH遠(yuǎn)程登錄協(xié)議用的22號(hào)端口
查看端口號(hào)的命令netstat -natp
6.套接字
可以通過套接字進(jìn)行兩臺(tái)主機(jī)的數(shù)據(jù)的發(fā)送和接收。
套接字的地址由IP地址和端口號(hào)組成,由套接字的地址指定是哪臺(tái)主機(jī)上的哪個(gè)進(jìn)程。
最終通過套接字提供的是一個(gè)跨越主機(jī)的進(jìn)程間通訊的能力。
7.網(wǎng)絡(luò)協(xié)議
網(wǎng)絡(luò)協(xié)議就是一組網(wǎng)絡(luò)規(guī)則的集合,是我們共同遵守的約定或標(biāo)準(zhǔn)。
網(wǎng)絡(luò)協(xié)議有多種,常見的協(xié)議:
HTTP:超文本傳輸協(xié)議
FTP: 文件傳輸協(xié)議
TELNET : 是internet 遠(yuǎn)程登陸服務(wù)的標(biāo)準(zhǔn)協(xié)議。
TCP : 傳輸控制協(xié)議(TCP,Transmission Control Protocol)是一種面向連接的、可靠的、基于字節(jié)流的傳輸層通信協(xié)議
UDP :用戶數(shù)據(jù)報(bào)協(xié)議
IP : Internet Protocol 簡(jiǎn)稱 IP,又譯為網(wǎng)際協(xié)議或互聯(lián)網(wǎng)協(xié)議
ICMP :因特網(wǎng)控制報(bào)文協(xié)議
ARP : 地址解析協(xié)議,是根據(jù)IP地址獲取MAC地址的協(xié)議
RARP : 逆地址解析協(xié)議
二、網(wǎng)絡(luò)分層模型
OSI的7層模型 和 tcp/ip協(xié)議族體系4層結(jié)構(gòu):
1.數(shù)據(jù)鏈路層
數(shù)據(jù)鏈路層的主要功能是:通過各種控制協(xié)議,將有差錯(cuò)的物理信道變?yōu)闊o差錯(cuò)的、能可靠傳輸數(shù)據(jù)幀的數(shù)據(jù)鏈路。
2.網(wǎng)絡(luò)層
網(wǎng)絡(luò)層實(shí)現(xiàn)數(shù)據(jù)包的選路和轉(zhuǎn)發(fā)。廣域網(wǎng)或者說互聯(lián)網(wǎng)通常使用眾多分級(jí)的路由器來連接分散的主機(jī)或者局域網(wǎng),因此,通信的兩臺(tái)主機(jī)一般不是直接相連的,而是通過多個(gè)中間結(jié)點(diǎn)(路由器)連接的。網(wǎng)絡(luò)層的任務(wù)就是選擇這些中間結(jié)點(diǎn),以確定兩臺(tái)主機(jī)之間的通信路徑。 同時(shí),網(wǎng)絡(luò)層對(duì)上層協(xié)議隱藏了網(wǎng)絡(luò)拓?fù)溥B接的細(xì)節(jié),使得在傳輸層和網(wǎng)絡(luò)應(yīng)用程序
看來,通信的雙方是直接相連的。
3.傳輸層
傳輸層為兩臺(tái)主機(jī)上的應(yīng)用程序提供端到端的通信。 與網(wǎng)絡(luò)層使用的逐跳通信的方式不同,傳輸層只關(guān)心通信的起始端和目的端,而不在乎數(shù)據(jù)包的中轉(zhuǎn)過程。
4.應(yīng)用層
應(yīng)用層負(fù)責(zé)處理應(yīng)用程序的邏輯。
三、網(wǎng)絡(luò)應(yīng)用程序通信流程
如下圖,應(yīng)用程序A要將數(shù)據(jù)”hello” 傳給網(wǎng)絡(luò)上另外一臺(tái)主機(jī)上的應(yīng)用程序 B, 數(shù)據(jù)“hello”從應(yīng)用層發(fā)送給傳輸層后,傳輸層在數(shù)據(jù)前面加上 tcp 協(xié)議或 udp 協(xié)議的報(bào)頭,將整條報(bào)文發(fā)給網(wǎng)絡(luò)層,網(wǎng)絡(luò)層添加自己的IP報(bào)頭,再將整條數(shù)據(jù)發(fā)送給數(shù)據(jù)鏈路層。數(shù)據(jù)鏈路層將數(shù)據(jù)封裝成能在網(wǎng)絡(luò)中獨(dú)立傳輸?shù)臄?shù)據(jù)單元,即數(shù)據(jù)幀。封裝好的數(shù)據(jù)幀通過網(wǎng)絡(luò)傳輸?shù)搅硪慌_(tái)主機(jī),然后再?gòu)南聦右来尾鸢?,將?shù)據(jù)部分送往應(yīng)用層。應(yīng)用程序B就得到了數(shù)據(jù)”hello”。文章來源:http://www.zghlxwxcb.cn/news/detail-673622.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-673622.html
到了這里,關(guān)于Linux 計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)概論的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!