公司網(wǎng)站建設(shè)怎么選擇主機(jī)大小百度推廣個(gè)人怎么開戶
🎉🎉🎉點(diǎn)進(jìn)來你就是我的人了
博主主頁:🙈🙈🙈戳一戳,歡迎大佬指點(diǎn)!
人生格言:當(dāng)你的才華撐不起你的野心的時(shí)候,你就應(yīng)該靜下心來學(xué)習(xí)!歡迎志同道合的朋友一起加油喔🦾🦾🦾
目標(biāo)夢(mèng)想:進(jìn)大廠,立志成為一個(gè)牛掰的Java程序猿,雖然現(xiàn)在還是一個(gè)🐒嘿嘿
謝謝你這么帥氣美麗還給我點(diǎn)贊!比個(gè)心
目錄
一. IP地址和端口號(hào)?
1. IP地址
2. 端口號(hào)
二.協(xié)議
1. 為什么要引入?yún)f(xié)議
2. 協(xié)議的基本概念?
3. 一些協(xié)議的默認(rèn)端口
?三.協(xié)議分層
OSI七層模型
TCP/IP五層模型(重點(diǎn))
封裝和分用
一. IP地址和端口號(hào)?
1. IP地址
- IP地址主要用于標(biāo)識(shí)網(wǎng)絡(luò)主機(jī)、其他網(wǎng)絡(luò)設(shè)備(如路由器)的網(wǎng)絡(luò)地址。簡(jiǎn)單說,IP地址用于定位主機(jī)的網(wǎng)絡(luò)地址,就好比我們每個(gè)人的身份證號(hào)一樣,一個(gè)身份證號(hào)有且只能對(duì)應(yīng)一個(gè)人
- IP地址由一個(gè)32位的二進(jìn)制數(shù)表示,它被分割為4個(gè)“8位二進(jìn)制數(shù)”(也就是4個(gè)字節(jié)),如:01100100.00000100.00000101.00000110。
通常用“點(diǎn)分十進(jìn)制”的方式來表示,即 a.b.c.d 的形式(a,b,c,d都是0~255之間的十進(jìn)制整數(shù))。如:
100.4.5.6 - 一般情況下,我們都希望網(wǎng)路上每個(gè)主機(jī)的IP地址都不一樣,但實(shí)際上由于IP地址不太夠用(最多只能取42億9千萬),所以還是有多個(gè)主機(jī)共用一個(gè)IP地址的情況
注意:
127.?的IP地址用于本機(jī)環(huán)回(loop back)測(cè)試,通常是127.0.0.1
本機(jī)環(huán)回主要用于本機(jī)到本機(jī)的網(wǎng)絡(luò)通信(系統(tǒng)內(nèi)部為了性能,不會(huì)走網(wǎng)絡(luò)的方式傳輸),對(duì)于開發(fā)網(wǎng)絡(luò)通信的程序(即網(wǎng)絡(luò)編程)而言,常見的開發(fā)方式都是本機(jī)到本機(jī)的網(wǎng)絡(luò)通信
IP地址解決了網(wǎng)絡(luò)通信時(shí)定位網(wǎng)絡(luò)主機(jī)的問題,但是還存在一個(gè)問題,傳輸?shù)侥康闹鳈C(jī)后,由哪個(gè)進(jìn)程來接收這個(gè)數(shù)據(jù)呢?這就需要端口號(hào)來標(biāo)識(shí)
2. 端口號(hào)
- 用于區(qū)分一臺(tái)主機(jī)上的應(yīng)用程序,相當(dāng)于應(yīng)用程序的一個(gè)標(biāo)識(shí),端口號(hào)是一個(gè)整數(shù)(2個(gè)字節(jié),取值范圍為0-65535)。
- 例如:MySQL的默認(rèn)端口號(hào)為3306
- 當(dāng)一臺(tái)主機(jī)收到一個(gè)具體的數(shù)據(jù)的時(shí)候,要把這個(gè)數(shù)據(jù)交給哪個(gè)程序來處理往往是通過端口號(hào)來進(jìn)行區(qū)分的;每個(gè)訪問網(wǎng)絡(luò)的程序,都需要有一個(gè)不同的端口號(hào),即一臺(tái)主機(jī)上,不能用兩個(gè)進(jìn)程嘗試關(guān)聯(lián)(綁定)同一個(gè)端口號(hào)
二.協(xié)議
1. 為什么要引入?yún)f(xié)議
有了IP地址和端口號(hào),這樣可以定位到網(wǎng)絡(luò)中唯一的一個(gè)進(jìn)程,但還存在一個(gè)問題,網(wǎng)絡(luò)通信是基于二進(jìn)制0/1數(shù)據(jù)來傳輸,那么我們?nèi)绾胃嬖V對(duì)方發(fā)送的數(shù)據(jù)是什么樣的呢?
網(wǎng)絡(luò)通信傳輸?shù)臄?shù)據(jù)類型可能有多種:圖片,視頻,文本等。同一個(gè)類型的數(shù)據(jù),格式可能也不同,如發(fā)送一個(gè)文本字符串“你好!”:如何標(biāo)識(shí)發(fā)送的數(shù)據(jù)是文本類型,及文本的編碼格式呢?
為了使數(shù)據(jù)在網(wǎng)絡(luò)上從源到達(dá)目的,網(wǎng)絡(luò)通信的參與方必須遵循相同的規(guī)則,這套規(guī)則稱為協(xié)議(protocol),它最終體現(xiàn)為在網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)包的格式
2. 協(xié)議的基本概念?
協(xié)議就例如:接頭行動(dòng),兩個(gè)人必須規(guī)定一個(gè)暗號(hào),才能對(duì)上,這就是一種協(xié)議
計(jì)算機(jī)中的協(xié)議就是規(guī)定網(wǎng)絡(luò)通信中的設(shè)備如何連接,如何互相識(shí)別的一套規(guī)則。
協(xié)議有三要素:
- 語法:規(guī)定數(shù)據(jù)與控制信息格式。例如兩個(gè)人打電話規(guī)定用中國(guó)話
- 語義:規(guī)定當(dāng)一端發(fā)出了控制信息,另一端該如何響應(yīng),做出什么動(dòng)作。比如跑步,發(fā)令槍一響運(yùn)動(dòng)員就跑起來了
- 時(shí)序:即事件實(shí)現(xiàn)順序的詳細(xì)說明。規(guī)定了何時(shí)通信,先干什么,后干什么。
協(xié)議(protocol)最終體現(xiàn)為在網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)包的格式
3. 一些協(xié)議的默認(rèn)端口
系統(tǒng)端口號(hào)范圍為?0 ~ 65535,其中:0 ~ 1023 為知名端口號(hào),這些端口預(yù)留給服務(wù)端程序綁定廣泛使用的應(yīng)用層協(xié)議,如:
- 22端口:預(yù)留給SSH服務(wù)器綁定SSH協(xié)議
- 21端口:預(yù)留給FTP服務(wù)器綁定FTP協(xié)議
- 23端口:預(yù)留給Telnet服務(wù)器綁定Telnet協(xié)議
- 80端口:預(yù)留給HTTP服務(wù)器綁定HTTP協(xié)議
- 443端口:預(yù)留給HTTPS服務(wù)器綁定HTTPS協(xié)議
?以上只是說明 0 ~ 1023 范圍的知名端口號(hào)用于綁定知名協(xié)議,但某個(gè)服務(wù)器也可以使用其他 1024 ~65535 范圍內(nèi)的端口來綁定知名協(xié)議
一個(gè)協(xié)議如果要解決網(wǎng)絡(luò)通信的全部問題,那么一個(gè)協(xié)議是十分復(fù)雜的,于是有了協(xié)議分層
?三.協(xié)議分層
協(xié)議分層就如同我們寫代碼時(shí),一個(gè)類太復(fù)雜了,我們就把他拆分成多個(gè)類,一個(gè)類實(shí)現(xiàn)一個(gè)功能。
類似,有些協(xié)議解決的問題都差不多,于是依據(jù)他解決問題的類型,把他們分成了多層協(xié)議。
常見協(xié)議分分層模型:
OSI七層模型
由于OSI七層模型過于復(fù)雜,且不實(shí)用,所以并沒有實(shí)現(xiàn)
TCP/IP五層模型(重點(diǎn))
TCP/IP模型根據(jù)OSI七層模型進(jìn)行了精簡(jiǎn),如圖
理解每層協(xié)議的功能:
- 應(yīng)用層:負(fù)責(zé)數(shù)據(jù)傳輸?shù)街?#xff0c;該怎么使用
- 傳輸層:負(fù)責(zé)兩點(diǎn)之間數(shù)據(jù)傳輸,只管發(fā)出者和接收者,不管傳輸路徑??深惐荣u家發(fā)貨只管發(fā)貨地和收貨地
- 網(wǎng)絡(luò)層:負(fù)責(zé)兩個(gè)點(diǎn)之間的路徑規(guī)劃??深惐荣u家把東西給物流公司后,物流公司負(fù)責(zé)規(guī)劃路徑,例如北京到深圳,可以是這個(gè)路徑:北京——杭州——蘇州——深圳,也可以是這個(gè)路徑:北京——廣東——上?!钲?。
- 數(shù)據(jù)鏈路層:負(fù)責(zé)兩個(gè)節(jié)點(diǎn)之間如何傳輸??深惐任锪鞴疽?guī)劃完路徑之后,兩個(gè)節(jié)點(diǎn)之間如何運(yùn)輸,北京到廣東該用貨車運(yùn)還是飛機(jī)運(yùn)。
- 物理層:網(wǎng)絡(luò)通信基礎(chǔ)設(shè)施。就是我們平??梢姷男盘?hào)塔,也可類比送快遞的公路,沒有公路快遞也沒法送
協(xié)議在此拆分過后,有許多好處:
- 下層協(xié)議使用上層協(xié)議不需要知道他實(shí)現(xiàn)細(xì)節(jié),只管用
- 每一層協(xié)議可以替換成其他協(xié)議,其他層次的協(xié)議是不會(huì)感受到的,這也是協(xié)議更加靈活了
網(wǎng)絡(luò)設(shè)備所在分層:
- 路由器:網(wǎng)絡(luò)層
- 交換機(jī):數(shù)據(jù)鏈路層
- 集線器:物理層
封裝和分用
封裝就是在每層進(jìn)行處理成一個(gè)數(shù)據(jù)報(bào),然后遞給下一層,在處理完后,交給物理層傳輸出去。
過程:在應(yīng)用層會(huì)產(chǎn)生一個(gè)數(shù)據(jù)包,然后將數(shù)據(jù)包遞給傳輸層,傳輸層拿到數(shù)據(jù)包和自己的數(shù)據(jù)整合好產(chǎn)生一個(gè)數(shù)據(jù)報(bào)再給網(wǎng)絡(luò)層,以此類推,直到數(shù)據(jù)鏈路層整合好所有數(shù)據(jù)后,會(huì)構(gòu)成一個(gè)以太網(wǎng)數(shù)據(jù)幀,將這個(gè)數(shù)據(jù)給物理層,物理層會(huì)將二進(jìn)制信息轉(zhuǎn)化為光信號(hào)/電信號(hào)傳遞出去。
同理,分用就是封裝的逆過程,將數(shù)據(jù)層層拆分,最后拿到應(yīng)用程序數(shù)據(jù)