前言
計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)是研發(fā)/運(yùn)維工程師都需掌握的知識(shí),但往往會(huì)被忽略。
今天,我將獻(xiàn)上一份詳細(xì) & 清晰的計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)學(xué)習(xí)指南,涵蓋 TCP / UDP協(xié)議、Http協(xié)議、Socket等,希望你們會(huì)喜歡。
1. 計(jì)算機(jī)網(wǎng)絡(luò)體系結(jié)構(gòu)1.1 簡(jiǎn)介定義計(jì)算機(jī)網(wǎng)絡(luò)的各層 + 其協(xié)議的集合。
作用定義該計(jì)算機(jī)網(wǎng)絡(luò)的所能完成的功能。
計(jì)算機(jī)網(wǎng)絡(luò)體系結(jié)構(gòu)分為3種:OSI體系結(jié)構(gòu)、TCP / IP體系結(jié)構(gòu)、五層體系結(jié)構(gòu)。
OSI 體系結(jié)構(gòu):概念清楚 & 理念完整,但復(fù)雜 & 不實(shí)用;
TCP / IP 體系結(jié)構(gòu):含了一系列構(gòu)成互聯(lián)網(wǎng)基礎(chǔ)的網(wǎng)絡(luò)協(xié)議,是Internet的核心協(xié)議 & 被廣泛應(yīng)用于局域網(wǎng)和廣域網(wǎng);
五層體系結(jié)構(gòu):融合了OSI 與 TCP / IP的體系結(jié)構(gòu),目的是為了學(xué)習(xí) & 講解計(jì)算機(jī)原理。
低三層為通信子網(wǎng),負(fù)責(zé)數(shù)據(jù)傳輸;
高三層為資源子網(wǎng),相當(dāng)于計(jì)算機(jī)系統(tǒng),完成數(shù)據(jù)處理;
傳輸層承上啟下。
TCP / IP的體系結(jié)構(gòu)詳細(xì)介紹由于 TCP / IP體系結(jié)構(gòu)較為廣泛,故主要講解。
OSI的體系結(jié)構(gòu)詳細(xì)介紹
Transmission Control Protocol,即傳輸控制協(xié)議
屬于傳輸層通信協(xié)議
基于TCP的應(yīng)用層協(xié)議有HTTP、SMTP、FTP、Telnet 和 POP3。
關(guān)于TCP的其他知識(shí):如三次握手、四次揮手、無差錯(cuò)控制原理等,具體請(qǐng)看文章:計(jì)算機(jī)網(wǎng)絡(luò):這是一份全面 & 詳細(xì) 的TCP協(xié)議攻略
3. UDP協(xié)議3.1 定義User Datagram Protocol,即用戶數(shù)據(jù)報(bào)協(xié)議
屬于傳輸層通信協(xié)議
基于UDP的應(yīng)用層協(xié)議有 TFTP、SNMP 與 DNS
無連接的、不可靠的、面向報(bào)文、無擁塞控制,具體介紹如下:
3.3 優(yōu)缺點(diǎn)優(yōu)點(diǎn):速度快
缺點(diǎn):消息易丟失(特別是 網(wǎng)絡(luò)較差時(shí))
要求通信速度高
3.5 報(bào)文段格式如:
域名轉(zhuǎn)換:DNS協(xié)議
文件傳輸:FTP協(xié)議
網(wǎng)絡(luò)管理:SNMP協(xié)議
遠(yuǎn)程文件服務(wù)器:NFS協(xié)議
UDP的報(bào)文段共有2個(gè)字段:數(shù)據(jù)字段 & 首部字段下面主要介紹首部(8字節(jié)、4個(gè)字段)
3.6 TCP、UDP協(xié)議的區(qū)別4. HTTP協(xié)議簡(jiǎn)介
即套接字,是應(yīng)用層 與 TCP/IP 協(xié)議族通信的中間軟件抽象層,表現(xiàn)為一個(gè)封裝了 TCP / IP協(xié)議族 的編程接口(API)
Socket不是一種協(xié)議,而是一個(gè)編程調(diào)用接口(API),屬于傳輸層(主要解決數(shù)據(jù)如何在網(wǎng)絡(luò)中傳輸)
即:通過Socket,我們才能在Andorid平臺(tái)上通過 TCP/IP協(xié)議進(jìn)行開發(fā)
對(duì)用戶來說,只需調(diào)用Socket去組織數(shù)據(jù),以符合指定的協(xié)議,即可通信。
成對(duì)出現(xiàn),一對(duì)套接字:
Socket ={(IP地址1:PORT端口號(hào)),(IP地址2:PORT端口號(hào))}
一個(gè) Socket 實(shí)例 唯一代表一個(gè)主機(jī)上的一個(gè)應(yīng)用程序的通信鏈路
6.2 IP地址(IPv4地址)打開一個(gè)網(wǎng)頁,整個(gè)過程會(huì)使用哪些協(xié)議
定義連接在Internet中的每一臺(tái)主機(jī)(或 路由器)的全球唯一的標(biāo)識(shí)符
組成IP地址 = 32位 = 網(wǎng)絡(luò)號(hào) + 主機(jī)號(hào);即IP地址::={<網(wǎng)絡(luò)號(hào)>,<主機(jī)號(hào)>}
主機(jī)號(hào)>網(wǎng)絡(luò)號(hào)>
其中:
網(wǎng)絡(luò)號(hào):標(biāo)志主機(jī)(或路由器)所連接到的網(wǎng)絡(luò)。一個(gè)網(wǎng)絡(luò)號(hào)在整個(gè)因特網(wǎng)范圍內(nèi)必須是唯一的。主機(jī)號(hào):標(biāo)志該主機(jī)(或路由器)。一個(gè)主機(jī)號(hào)在它面前的網(wǎng)絡(luò)號(hào)所指明的網(wǎng)絡(luò)范圍必須是唯一的。
不同類型的IP地址,其主機(jī)號(hào) & 網(wǎng)絡(luò)號(hào)所占字節(jié)數(shù)不同;故:一個(gè)IP地址在整個(gè)網(wǎng)絡(luò)范圍內(nèi)是唯一的。
分類傳統(tǒng)的IP地址是分類的地址,分為A,B,C,D,E五類
區(qū)別在于網(wǎng)絡(luò)號(hào) & 主機(jī)號(hào)占的字節(jié)數(shù)不同
特別注意:在各類IP地址中,有一些IP地址用于特殊用途,不能用于做主機(jī)IP地址
定義Internet Control Message Protocol,即 網(wǎng)際控制報(bào)文協(xié)議
屬于IP層協(xié)議
注:ICMP報(bào)文不是高層協(xié)議,而是作為IP層數(shù)據(jù)報(bào)的數(shù)據(jù),加上數(shù)據(jù)報(bào)首部,組成IP數(shù)據(jù)報(bào)發(fā)出去
作用更有效地轉(zhuǎn)發(fā)IP數(shù)據(jù)包 & 提高交付成功的機(jī)會(huì)
同時(shí)允許主機(jī) / 路由器報(bào)告差錯(cuò) & 異常情況
分類ICMP差錯(cuò)報(bào)告報(bào)文 & ICMP詢問報(bào)文
主要應(yīng)用PING(分組網(wǎng)間探測(cè))、Traceroute(跟蹤1個(gè)分組從源點(diǎn)到終點(diǎn)的路徑,原理 = 從源主機(jī)向目的主機(jī)發(fā)送一連串的IP數(shù)據(jù)報(bào))
下面,將主要介紹Ping的過程。
6.4 Ping的過程定義Packet InterNet Groper,即分組網(wǎng)間探測(cè)
是 ICMP報(bào)文的1個(gè)重要應(yīng)用:使用了IPCM回送請(qǐng)求 & 回送回答報(bào)文
是應(yīng)用層直接使用網(wǎng)絡(luò)層ICMP的1個(gè)例子,無經(jīng)過傳輸層的TCP、UDP
作用測(cè)試2個(gè)主機(jī)的連通性
原理
向目的主機(jī)發(fā)送多個(gè)ICMP回送請(qǐng)求報(bào)文
根據(jù) 目的主機(jī)返回的ICMP回送回答報(bào)文中的時(shí)間戳,從而計(jì)算出往返時(shí)間
最終顯示的結(jié)果:發(fā)送到目的主機(jī)的IP地址、發(fā)送 & 收到 & 丟失的分組數(shù)、往返時(shí)間的最小、最大 & 平均值
過程
假設(shè)有兩臺(tái)主機(jī):
(目的主機(jī))PC1:IP = 192.168.1.1
(源主機(jī))PC2:IP = 192.168.1.2
簡(jiǎn)介
區(qū)別 & 對(duì)比
簡(jiǎn)介
基于Cookie的身份驗(yàn)證 & 驗(yàn)證流程
基于Token的身份驗(yàn)證 & 驗(yàn)證流程
聯(lián)系客服