前言
本文的東西是基礎(chǔ)理論知識(shí),前面的操作系統(tǒng)的文章我不想更新了,現(xiàn)在想寫一寫網(wǎng)絡(luò)相關(guān)的文章,本篇文章是第一篇,僅傳遞網(wǎng)絡(luò)相關(guān)知識(shí)的概念,不必牢記~
什么是TCP/IP協(xié)議
簡(jiǎn)單來(lái)說(shuō)TCP/IP協(xié)議是網(wǎng)絡(luò)中所有相關(guān)協(xié)議簇的簡(jiǎn)稱,它是眾多網(wǎng)絡(luò)協(xié)議的集合,這一類協(xié)議簇是有非常多的協(xié)議,如常見(jiàn)的:ARP/TCP/UDP/IP/ICMP/IGMP/HTTP/DNS/DHCP/TFP/MQTT
等等
分層思想
TCP/IP
模型是一個(gè)抽象的分層模型,這個(gè)模型中,所有的TCP/IP
系列網(wǎng)絡(luò)協(xié)議都被歸類到4個(gè)抽象的"層"中。每一抽象層創(chuàng)建在低一層提供的服務(wù)上,并且為高一層提供服務(wù)。 完成一些特定的任務(wù)需要眾多的協(xié)議協(xié)同工作,這些協(xié)議分布在參考模型的不同層中的,因此有時(shí)稱它們?yōu)橐粋€(gè)協(xié)議棧。
網(wǎng)絡(luò)協(xié)議通常分不同層次進(jìn)行開(kāi)發(fā),每一層分別負(fù)責(zé)不同的通信功能。一個(gè)協(xié)議族,比如TCP/IP
,是一組不同層次上的多個(gè)協(xié)議的組合。TCP/IP
通常被認(rèn)為是一個(gè)四層協(xié)議系統(tǒng),其分層模型如下:
分層模型
每一層都負(fù)責(zé)不同的功能。
鏈路層
也稱作數(shù)據(jù)鏈路層或網(wǎng)絡(luò)接口層,通常包括操作系統(tǒng)中的設(shè)備驅(qū)動(dòng)程序和計(jì)算機(jī)中對(duì)應(yīng)的網(wǎng)絡(luò)接口卡。它們一起處理與電纜(或其他任何傳輸媒介)的物理接口細(xì)節(jié)。
網(wǎng)絡(luò)層
有時(shí)也稱作互聯(lián)網(wǎng)層,處理數(shù)據(jù)報(bào)在網(wǎng)絡(luò)中的活動(dòng),例如數(shù)據(jù)報(bào)路由。其中網(wǎng)絡(luò)層協(xié)議包括IP
協(xié)議(網(wǎng)際協(xié)議), ICMP
協(xié)議(互聯(lián)網(wǎng)控制報(bào)文協(xié)議),以及IGMP
協(xié)議(英特網(wǎng)組管理協(xié)議)。
運(yùn)輸層
運(yùn)輸層主要為兩臺(tái)主機(jī)上的應(yīng)用程序提供端到端的通信。在TCP/IP
協(xié)議族中,有兩個(gè)傳輸層協(xié)議: TCP(傳輸控制協(xié)議)和UDP(用戶數(shù)據(jù)報(bào)協(xié)議)。TCP為兩臺(tái)主機(jī)提供高可靠性
的數(shù)據(jù)通信。它所做的工作包括把應(yīng)用程序交給它的數(shù)據(jù)分成合適的小塊交給下面的網(wǎng)絡(luò)層
,同時(shí)還要確認(rèn)接收到的數(shù)據(jù)是正確的,并且將其組裝成有序的數(shù)據(jù)遞交到應(yīng)用層,同時(shí)還要處理超時(shí)重傳、流量控制等。由于運(yùn)輸層提供了高可靠性的端到端的通信,因此應(yīng)用層可以更加方便來(lái)處理數(shù)據(jù)。
而另一方面,UDP
則為應(yīng)用層提供一種非常簡(jiǎn)單的服務(wù)。它只是把稱作數(shù)據(jù)報(bào)的分組從一臺(tái)主機(jī)發(fā)送到另一臺(tái)主機(jī),但并不保證該數(shù)據(jù)報(bào)能到達(dá)另一端,因此數(shù)據(jù)的可靠性必須由應(yīng)用層來(lái)提供,這就導(dǎo)致應(yīng)用層處理程序的困難,但是對(duì)于數(shù)據(jù)要求不可靠的傳輸通常使用UDP協(xié)議,如視頻的播放等。
應(yīng)用層
應(yīng)用層就是用戶程序,不同的應(yīng)用會(huì)有不一樣的操作
各種協(xié)議:
HTTP (Hypertext Transfer Protocol,超文本傳輸協(xié)議),主要用于普通瀏覽。
HTTPS (Hypertext Transfer Protocol over Secure Socket Layer, or HTTP over SSL,安全超文本傳輸協(xié)議),HTTP協(xié)議的安全版本。
FTP (File Transfer Protocol,文件傳輸協(xié)議),由名知義,用于文件傳輸。
POP3 (Post Office Protocol, version 3,郵局協(xié)議),收郵件用。
SMTP (Simple Mail Transfer Protocol,簡(jiǎn)單郵件傳輸協(xié)議),用來(lái)發(fā)送電子郵件。
SSH (Secure Shell,用于替代安全性差的TELNET),用于加密安全登陸用。
OOTP (Boot Protocol,啟動(dòng)協(xié)議),應(yīng)用于無(wú)盤設(shè)備。
NTP (Network Time Protocol,網(wǎng)絡(luò)時(shí)間協(xié)議),用于網(wǎng)絡(luò)同步。
DHCP (Dynamic Host Configuration Protocol,動(dòng)態(tài)主機(jī)配置協(xié)議),動(dòng)態(tài)配置IP地址。
DNS (Domain Name Service,域名服務(wù)),用于完成地址查找,郵件轉(zhuǎn)發(fā)等工作(運(yùn)行在TCP和UDP協(xié)議上)。
ECHO (Echo Protocol,回繞協(xié)議),用于查錯(cuò)及測(cè)量應(yīng)答時(shí)間(運(yùn)行在TCP和UDP協(xié)議上)。
SNMP (Simple Network Management Protocol,簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議),用于網(wǎng)絡(luò)信息的收集和網(wǎng)絡(luò)管理。
ARP (Address Resolution Protocol,地址解析協(xié)議),用于動(dòng)態(tài)解析以太網(wǎng)硬件的地址。
協(xié)議
提示:圖中的RARP(逆地址解析協(xié)議)是基本不怎么使用的協(xié)議。
IP地址
為了標(biāo)識(shí)互聯(lián)網(wǎng)中的每臺(tái)主機(jī)的身份,設(shè)計(jì)人員為每個(gè)接入網(wǎng)絡(luò)中的主機(jī)都分配一個(gè)IP
地址(Internet Protocol Address
),是一個(gè)32
位的整數(shù)地址,只有合法的IP
地址才能接入互聯(lián)網(wǎng)中并且與其他主機(jī)進(jìn)行通信。注意了:IP
地址是軟件地址,是協(xié)議棧中識(shí)別主機(jī)身份的唯一標(biāo)識(shí)。如果IP地址是不合法的,那么無(wú)法連接上公網(wǎng)(或者稱為廣域網(wǎng))。
IP分類編址
互聯(lián)網(wǎng)上的每個(gè)接口必須有一個(gè)唯一的IP地址, IP地址長(zhǎng) 32bit,IP地址并不采用平面形式的地址空間,如 1、2、3等。 IP地址具有一定的結(jié)構(gòu),有五類不同的互聯(lián)網(wǎng)地址格式:
IP地址
A 類網(wǎng)絡(luò)地址的第一個(gè)字節(jié)的第一位必須為0 ,因此, A 類網(wǎng)絡(luò)地址第一個(gè)字節(jié)的取值范圍為0~127
(注意:但0 和127 不是有效的A 類網(wǎng)絡(luò)地址號(hào))
B 類網(wǎng)絡(luò)地址的第一個(gè)字節(jié)的第一位必須為1 ,且第二位必須為0,因此, B 類網(wǎng)絡(luò)地址第一個(gè)字節(jié)的取值范圍為128~191
C 類網(wǎng)絡(luò)地址的第一個(gè)字節(jié)的第一位必須為1,第二位必須為1,第三位必須為0,因此C類網(wǎng)絡(luò)第一個(gè)字節(jié)的取值范圍為192~223
D 類IP地址的第一個(gè)字節(jié)前四位為1110
,那么它第一個(gè)字節(jié)的取值范圍為224~239
,約占據(jù)了所有IP地址的十六分之一,它是一個(gè)專門保留的地址,它并不指向特定的網(wǎng)絡(luò),目前這一類地址被用于多播。
E 類IP地址的第一個(gè)字節(jié)前四位必須為1111
,那么它第一個(gè)字節(jié)的取值范圍為240~255
,約占據(jù)了所有IP地址的十六分之一,是為將來(lái)使用而保留的,其中32bit全為1的IP地址(255.255.255.255)用作廣播地址。
IP地址特點(diǎn)
類別 | 第一字節(jié)(二進(jìn)制) | 第一字節(jié)取值范圍 | 網(wǎng)絡(luò)號(hào)個(gè)數(shù) | 主機(jī)號(hào)個(gè)數(shù) | 適用范圍 |
---|---|---|---|---|---|
A類 | 0XXX XXXX | 0~127 | 125 | 16777214 | 大型網(wǎng)絡(luò) |
B類 | 10XX XXXX | 128~191 | 16368 | 65534 | 中型網(wǎng)絡(luò) |
C類 | 110X XXXX | 192~223 | 2097152 | 254 | 小型網(wǎng)絡(luò) |
D類 | 1110 XXXX | 224~239 | — | — | 多播 |
E類 | 1111 XXXX | 240~255 | — | — | 保留 |
局域網(wǎng)的概念
局域網(wǎng)(Local Area Network
,縮寫為LAN
),又稱內(nèi)網(wǎng),指覆蓋局部區(qū)域(如辦公室或樓層)的計(jì)算機(jī)網(wǎng)絡(luò),局域網(wǎng)可以實(shí)現(xiàn)文件管理、應(yīng)用軟件共享、打印機(jī)共享、工作組內(nèi)的日程安排、電子郵件和傳真通信服務(wù)等功能,是在一定區(qū)域內(nèi)由多個(gè)計(jì)算機(jī)連接組成的網(wǎng)絡(luò),比如騰訊、阿里的內(nèi)網(wǎng),在內(nèi)部的計(jì)算機(jī)上的數(shù)據(jù)可以互聯(lián)互通、數(shù)據(jù)共享等。簡(jiǎn)單來(lái)說(shuō),當(dāng)我們使用的開(kāi)發(fā)板接入路由器的時(shí)候,電腦的網(wǎng)絡(luò)也接入路由器,那么開(kāi)發(fā)板與電腦就組成局域網(wǎng),數(shù)據(jù)在鏈路層上是互聯(lián)互通的。當(dāng)然,板子也能通過(guò)網(wǎng)線直連電腦,這樣子也是組成一個(gè)局域網(wǎng)絡(luò),數(shù)據(jù)可以在兩個(gè)主機(jī)之間進(jìn)行通信。
廣域網(wǎng)
廣域網(wǎng)(Wide Area Network
,縮寫為WAN
),又稱廣域網(wǎng)、外網(wǎng)(與翻墻的外網(wǎng)是不一樣的概念)、公網(wǎng)。是連接不同地區(qū)計(jì)算機(jī)以進(jìn)行通信的網(wǎng)絡(luò),這種網(wǎng)絡(luò)通常會(huì)跨越很大的范圍,覆蓋的范圍從幾十公里到幾千公里,它能連接多個(gè)地區(qū)、城市并能提供遠(yuǎn)距離通信服務(wù), 但是注意的是我們說(shuō)的廣域網(wǎng)并不等同于互聯(lián)網(wǎng) 。
簡(jiǎn)單來(lái)說(shuō)(我使用比喻的方式表達(dá)),如果局域網(wǎng)是小溪,不同區(qū)域有很多的小溪,這些小溪匯聚成江河,那么這些江河就是廣域網(wǎng),然后這些江河再流入大海,這個(gè)大海就是互聯(lián)網(wǎng)?;ヂ?lián)網(wǎng)就是由無(wú)數(shù)個(gè)局域網(wǎng),通過(guò)廣域網(wǎng)線路匯聚互聯(lián)起來(lái),就形成了互聯(lián)網(wǎng)?;ヂ?lián)網(wǎng)的特點(diǎn)是開(kāi)放、互聯(lián),如果一個(gè)公司的局域網(wǎng)沒(méi)有連接到互聯(lián)網(wǎng),那這個(gè)局域網(wǎng)就不屬于互聯(lián)網(wǎng),僅僅屬于內(nèi)部通信的網(wǎng)絡(luò)。
舉個(gè)例子,如果你家在某網(wǎng)絡(luò)運(yùn)營(yíng)商辦理了網(wǎng)絡(luò)服務(wù),可能他們將送你一個(gè)光貓,然后你拿著這個(gè)光貓就能上網(wǎng)了,你可能覺(jué)得需要多人使用網(wǎng)絡(luò),所以你又去買了一個(gè)無(wú)線路由器,讓家人也能連接到網(wǎng)絡(luò)上,那么這個(gè)家就是一個(gè)局域網(wǎng),然后局域網(wǎng)的通信是通過(guò)運(yùn)營(yíng)商連接到廣域網(wǎng)上的。
局域網(wǎng)與廣域網(wǎng)
這個(gè)示意圖雖然簡(jiǎn)單,卻把LAN、WAN、Internet
三者全包含了。無(wú)線路由器把電腦、手機(jī)等設(shè)備連接到局域網(wǎng)LAN
上,并分配IP地址,即局域網(wǎng)IP
,我們可以稱之為LAN-IP
,LAN-IP
所到之處,就是局域網(wǎng)的范圍,像我們電腦的IP地址(192.168.1.xxx)
就是一個(gè)局域網(wǎng)IP
,而路由器的地址就是運(yùn)營(yíng)商給我們的一個(gè)IP
地址,這個(gè)IP地址是絕對(duì)合法的,可以看做是WAN-IP
(實(shí)際上這個(gè)IP
地址也是運(yùn)營(yíng)商的局域網(wǎng)IP地址(相對(duì)運(yùn)營(yíng)商來(lái)說(shuō)),這個(gè)地址在運(yùn)營(yíng)商中轉(zhuǎn)換成一個(gè)真正的廣域網(wǎng)IP
地址,因?yàn)檎嬲腎P地址是不夠的,只能再細(xì)分下去,但是這些事情我們暫時(shí)無(wú)需理會(huì)
,只要把路由器的IP地址看做是WAN-IP
即可)。
而運(yùn)營(yíng)商是一個(gè)邊界,國(guó)家與國(guó)家之間有邊界,網(wǎng)絡(luò)之間也有邊界,運(yùn)營(yíng)商就是局域網(wǎng)LAN
與廣域網(wǎng)WAN
的邊界。局域網(wǎng)LAN-IP
可以在局域網(wǎng)內(nèi)部有效,但是無(wú)法跨越邊界進(jìn)入廣域網(wǎng)中,LAN-IP是路由器分配給我們的IP,那么我們想要跨越邊界進(jìn)入廣域網(wǎng)中,就需要將LAN-IP變成有效的的IP地址,也就是WAN-IP
,那么在路由器中就需要將IP地址進(jìn)行轉(zhuǎn)換,完成LAN-IP<—>WAN-IP
地址轉(zhuǎn)換(NAT
)。
當(dāng)持有WAN-IP
的IP包順利到達(dá)下一個(gè)邊界Internet Gateway
,這是通往互聯(lián)網(wǎng)Internet
的最后一道關(guān)卡,即邊界。左邊是廣域網(wǎng),右邊是互聯(lián)網(wǎng),也需要做WAN-IP 與 Global-IP
(互聯(lián)網(wǎng)公共IP)的轉(zhuǎn)換才能進(jìn)入互聯(lián)網(wǎng)中,我們知道這種概念即可,無(wú)需過(guò)多深入。
-
IP
+關(guān)注
關(guān)注
5文章
1713瀏覽量
149703 -
網(wǎng)絡(luò)協(xié)議
+關(guān)注
關(guān)注
3文章
270瀏覽量
21584 -
TCP
+關(guān)注
關(guān)注
8文章
1374瀏覽量
79157 -
協(xié)議棧
+關(guān)注
關(guān)注
2文章
143瀏覽量
33668
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論