一艺玲、網(wǎng)絡(luò)基礎(chǔ)知識
1. OSI 參考模型
- OSI 模型中括蝠,每個分層都接受由它下一層所提供的特定服務(wù),并且負(fù)責(zé)為自己的上一層提供特定的服務(wù)饭聚。上下層之間進行交互時所遵循的約定叫做
接口
忌警。同一層之間的交互所遵循的約定叫做協(xié)議
。
OSI 七層模型
應(yīng)用層 : 應(yīng)用層協(xié)議會在所要傳送數(shù)據(jù)的前端附加一個首部信息秒梳,這一附有首部信息的數(shù)據(jù)傳送給主機 B 后有該主機的軟件獲取內(nèi)容法绵。
表示層 : 將數(shù)據(jù)從主機特有的格式轉(zhuǎn)換為網(wǎng)絡(luò)標(biāo)準(zhǔn)傳輸格式。
會話層 : 對何時建立連接酪碘、何時發(fā)送數(shù)據(jù)等問題進行管理朋譬,負(fù)責(zé)決定建立連接和斷開連接的時機。
傳輸層 : 進行建立或斷開連接的處理兴垦,在兩個主機之間創(chuàng)建邏輯上的通信連接徙赢。為確保所傳輸?shù)臄?shù)據(jù)到達目標(biāo)地址字柠,會在通信兩端的計算機之間進行確認(rèn),如果數(shù)據(jù)沒有到達狡赐,它會負(fù)責(zé)進行重發(fā)窑业,保證數(shù)據(jù)傳輸?shù)目煽啃浴?/p>
-
網(wǎng)絡(luò)層 : 在網(wǎng)絡(luò)與網(wǎng)絡(luò)互相連接的環(huán)境中,將數(shù)據(jù)從發(fā)送端主機發(fā)送到接收端主機枕屉。負(fù)責(zé)將數(shù)據(jù)發(fā)送至最終目標(biāo)地址(端對端)常柄。
網(wǎng)絡(luò)層與傳輸層 : 在不同的網(wǎng)絡(luò)體系結(jié)構(gòu)下,網(wǎng)絡(luò)層有時也不能保證數(shù)據(jù)的可達性搀擂。TCP/IP 中西潘,網(wǎng)絡(luò)層與傳輸層相互協(xié)作以確保數(shù)據(jù)包能夠傳送到世界各地,實現(xiàn)可靠傳輸哨颂。
數(shù)據(jù)鏈路層 : 通信傳輸實際上是通過物理的傳輸介質(zhì)實現(xiàn)的喷市。數(shù)據(jù)鏈路層的作用就是在這些通過傳輸介質(zhì)互連的設(shè)備之間進行數(shù)據(jù)處理。只負(fù)責(zé)發(fā)送一個分段內(nèi)的數(shù)據(jù)(區(qū)別于網(wǎng)絡(luò)層)咆蒿。
物理層 : 將數(shù)據(jù)的 0东抹、1 轉(zhuǎn)換為電壓和脈沖光傳輸給物理的傳輸介質(zhì),而相互直連的設(shè)備之間使用地址實現(xiàn)傳輸沃测。這種地址被稱為 MAC 地址,也可以成為物理地址或硬件地址食茎。將0蒂破、1 比特流轉(zhuǎn)換為電壓的高低、燈光的閃滅之間的轉(zhuǎn)換别渔。傳輸方式上大體可以分為模擬和數(shù)字兩種附迷。
2. 傳輸方式的分類
面向有連接性和面向無連接性
面向有連接型 : 在發(fā)送數(shù)據(jù)之前,需要在收發(fā)主機之間建立一條通信線路哎媚。
面向無連接型 : 不要求建立和斷開連接喇伯。
電路交換和分組交換
-
根據(jù)接收端數(shù)量分類
- 單播
- 廣播
- 多播
- 任播
3. 網(wǎng)絡(luò)的構(gòu)成要素
- 網(wǎng)卡 : 任何一臺計算機連接網(wǎng)絡(luò)時,必須要使用網(wǎng)卡(網(wǎng)絡(luò)接口卡)拨与。有時被叫做網(wǎng)絡(luò)適配器稻据、網(wǎng)卡、 LAN 卡买喧。
- 中繼器 : 是在 OSI 模型的第 1 層 -- 物理層面上延長網(wǎng)絡(luò)的設(shè)備捻悯。對減弱的信號進行放大和發(fā)送。集線器也可以看做多口中繼器淤毛,每個端口都可以成為一個中繼器今缚。
- 網(wǎng)橋/2層交換機 : 是在 OSI 模型的第 2 層 -- 數(shù)據(jù)鏈路層面上連接兩個網(wǎng)絡(luò)的設(shè)備。能夠識別數(shù)據(jù)鏈路層中的數(shù)據(jù)幀低淡,并將這些數(shù)據(jù)幀臨時存儲于內(nèi)存姓言,再重新生成信號作為一個全新的幀發(fā)給相連的一個網(wǎng)段瞬项。能夠連接傳輸速率完全不用的數(shù)據(jù)鏈路,并且不限制網(wǎng)段的個數(shù)何荚。還能通過地址自學(xué)機制和過濾功能控制網(wǎng)絡(luò)流量囱淋。自學(xué)式網(wǎng)橋能判斷是否將數(shù)據(jù)報文轉(zhuǎn)發(fā)給相鄰的網(wǎng)段。具有網(wǎng)橋功能的 Hub 叫做交換集線器兽泣,現(xiàn)在也基本屬于網(wǎng)橋的一種绎橘。
- 路由器/3層交換機 : 是在 OSI 模型的第 3 層 -- 網(wǎng)絡(luò)層面上連接兩個網(wǎng)絡(luò)、并對分組報文進行轉(zhuǎn)發(fā)的設(shè)備唠倦。網(wǎng)橋是根據(jù)物理地址進行處理称鳞,而路由器/3 層交換機則是根據(jù) IP 地址進行處理的。路由器還有分擔(dān)網(wǎng)絡(luò)負(fù)荷的作用稠鼻,有些甚至具備一定的網(wǎng)絡(luò)安全功能冈止。
- 4~7 層交換機 : 負(fù)責(zé)處理 OSI 模型中從傳輸層至應(yīng)用層的數(shù)據(jù)。負(fù)載均衡器就是其中一種候齿。
- 網(wǎng)關(guān) : 是 OSI 參考模型中負(fù)責(zé)將從傳輸層到應(yīng)用層的數(shù)據(jù)進行轉(zhuǎn)換和轉(zhuǎn)發(fā)的設(shè)備熙暴。而且通常會使用一個表示層或應(yīng)用層網(wǎng)關(guān)負(fù)責(zé)協(xié)議的轉(zhuǎn)換。防火墻就是一款通過網(wǎng)關(guān)通信慌盯,針對不同應(yīng)用提高安全性的產(chǎn)品周霉。
二、TCP/IP 基礎(chǔ)知識
1. TCP/IP 協(xié)議分層模型
- 硬件(物理層) : 最底層亚皂,負(fù)責(zé)數(shù)據(jù)傳輸?shù)挠布?/li>
- 網(wǎng)絡(luò)接口層(數(shù)據(jù)鏈路層) : 利用以太網(wǎng)中的數(shù)據(jù)鏈路層進行通信俱箱,因此也屬于接口層。
- 互聯(lián)網(wǎng)層(網(wǎng)絡(luò)層) : 使用 IP 協(xié)議灭必,相當(dāng)于 OSI 模型中的第 3 層網(wǎng)絡(luò)層狞谱。IP 協(xié)議基于 IP 地址轉(zhuǎn)發(fā)分包數(shù)據(jù)。
- IP
- ICMP
- ARP
- 傳輸層 : 能夠讓應(yīng)用程序之間實現(xiàn)通信禁漓。必須分清是哪些程序與哪些程序在進行通信跟衅。識別這些應(yīng)用程序的是端口號。
- TCP
- UDP
- 應(yīng)用層(會話層以上的分層) : 將 OSI 參考模型中的會話層播歼、表示層伶跷、應(yīng)用層的功能都集中到了應(yīng)用程序中實現(xiàn)。
- WWW (HTTP)
- 電子郵件(SMTP)
- 文件傳輸(FTP)
- 遠程登錄(TELNET / SSH)
- 網(wǎng)絡(luò)管理(SNMP)
三荚恶、IP協(xié)議
- IP 即網(wǎng)際協(xié)議
- 網(wǎng)絡(luò)層的主要作用是“實現(xiàn)終端節(jié)點之間的通信”撩穿。數(shù)據(jù)鏈路層的主要的作用是在互連同一種數(shù)據(jù)鏈路的節(jié)點之間進行包傳遞。網(wǎng)絡(luò)層可以跨越不同的數(shù)據(jù)鏈路谒撼,即使是在不同的數(shù)據(jù)鏈路上也能實現(xiàn)兩端節(jié)點之間的數(shù)據(jù)包傳輸食寡。
-
網(wǎng)絡(luò)層與數(shù)據(jù)鏈路層的關(guān)系 :
- 數(shù)據(jù)鏈路層提供直連兩個設(shè)備之間的通信功能
- 網(wǎng)絡(luò)層的 IP 則負(fù)責(zé)在沒有直連的兩個網(wǎng)絡(luò)之間進行通信傳輸
- IP 基礎(chǔ)知識
- 一跳 是指利用數(shù)據(jù)鏈路層以下分層的功能傳輸數(shù)據(jù)幀的一個區(qū)間。是指從源 MAC 地址到目標(biāo) MAC 地址的一個區(qū)間廓潜。在一跳的區(qū)間內(nèi)抵皱,電纜可以通過網(wǎng)橋或集線器相連善榛,不會通過路由器或網(wǎng)關(guān)相連。
-
IP 地址基礎(chǔ)知識 :
IP 地址 : 由 網(wǎng)絡(luò)地址 和 主機地址 兩部分組成呻畸。不同網(wǎng)段網(wǎng)絡(luò)地址不同移盆,同一網(wǎng)段內(nèi)主機地址各不相同。
-
IP 地址的分類
- A 類地址 : 首位以“0”開頭伤为,從第 1 位到第 8 位是它的網(wǎng)絡(luò)標(biāo)識咒循。0.0.0.0 ~ 127.0.0.0
- B 類地址 : 前兩位以“10”開頭,從第 1 位到第 16 位是它的網(wǎng)絡(luò)標(biāo)識绞愚。128.0.0.0 ~ 191.255.0.0
- C 類地址 : 首位以“110”開頭叙甸,從第 1 位到第 24 位是它的網(wǎng)絡(luò)標(biāo)識。192.0.0.0 ~ 223.255.255.0
- D 類地址 : 首位以“1110”開頭位衩,從第 1 位到第 32 位是它的網(wǎng)絡(luò)標(biāo)識裆蒸。224.0.0.0 ~ 239.255.255.255
廣播地址 : 將 IP 地址中的主機地址部分全部設(shè)置為 1
IP 組播
子網(wǎng)掩碼 : 將原來的 A、B糖驴、C 類等分類中的主機地址部分用作子網(wǎng)地址僚祷,可以講原網(wǎng)絡(luò)分為多個物理地址的一種機制
CIDR 與 CLSM : 無類型域間選路、可變長子網(wǎng)掩碼
全局地址與私有地址 : 私有 IP 地址結(jié)合 NAT 技術(shù)已成為現(xiàn)在解決 IP 地址分配問題的主流方案
- 路由控制
- 靜態(tài)路由控制 動態(tài)路由控制
- 路由控制表中記錄著網(wǎng)絡(luò)地址與下一步應(yīng)該發(fā)送至路由器的地址
- 路由控制表的聚合
- IPv6
- 地址長度 : 128 bits贮缕,一般寫成 8 個 16 位字節(jié)
- 全局單播地址 : 是指世界上唯一的一個地址辙谜。前 64 比特為網(wǎng)絡(luò)標(biāo)識,后 64 比特為主機標(biāo)識
- 鏈路本地單播地址 : 指在同一個數(shù)據(jù)鏈路內(nèi)唯一的地址
- 唯一本地地址 : 是不進行互聯(lián)網(wǎng)通信時所用的地址
- IPv4 首部
- 版本
- 首部長度(IHL:Internet Header Length):在沒有可選項時感昼,IP 首部的長度為 20 字節(jié)
- 區(qū)分服務(wù)(TOS:Type Of Service):有人提出將 TOS 字段本身再劃分為 DSCP 和 ECN 兩個字段
- 總長度 : IP 包的最大長度為 65535 字節(jié)
- 標(biāo)識 : 用于分片重組
- 標(biāo)志 :標(biāo)識被分片的相關(guān)信息
- 片偏移
- 生存時間(TTL):每經(jīng)過一個路由器筷弦,TTL 會減少 1,直到變成 0 則丟棄該包
- 協(xié)議 : 表示 IP 首部的下一個首部隸屬于哪個協(xié)議
- 首部校驗和 : 只校驗數(shù)據(jù)包的首部抑诸,不校驗數(shù)據(jù)部分
- 源地址
- 目標(biāo)地址
- 可選項
- 填充
- 數(shù)據(jù)
- IPv6 首部格式
- 版本
- 通信量類
- 流標(biāo)號 : 準(zhǔn)備用于質(zhì)量服務(wù)
- 有效載荷長度 : 包的數(shù)據(jù)部分
- 下一個首部 : 相當(dāng)于 IPv4 的協(xié)議字段。通常標(biāo)識 IP 的上一層協(xié)議是 TCP 或 UDP爹殊。不過在有 IPv6 擴展首部的情況下蜕乡,該字段表示后面第一個擴展首部的的協(xié)議類型
- 跳數(shù)限制
- 源地址
- 目的地址
- IPv6 擴展首部 : 首部長度固定,無法將可選項加入其中梗夸。通過擴展首部對功能進行了有效擴展层玲,可以是任意長度,當(dāng)中還可以包括擴展首部協(xié)議以及下一個擴展首部字段反症。在需要對 IP 數(shù)據(jù)進行分片時辛块,可以使用擴展首部。
四铅碍、IP協(xié)議相關(guān)技術(shù)
- DNS : 解析器為了調(diào)查 IP 地址润绵,向域名服務(wù)器進行查詢處理。接受這個查詢請求的域名服務(wù)器首先會在自己的數(shù)據(jù)庫進行查找胞谈,如果有該域名所對應(yīng)的 IP 地址就返回尘盼,如果沒有則域名服務(wù)器再向上一層域名服務(wù)器進行查詢處理憨愉。直到找到指定的域名服務(wù)器,并由這個域名服務(wù)器返回想要的數(shù)據(jù)卿捎。
- ARP
- 概要 : 以目標(biāo) IP 地址為線索配紫,用來定位下一個應(yīng)該接受該數(shù)據(jù)分包的網(wǎng)絡(luò)設(shè)備對應(yīng)的 MAC 地址。如果目標(biāo)主機不在同一個鏈路上午阵,則可用過 ARP 查找下一跳路由器的 MAC 地址躺孝。只適用于 IPv4 。
- 工作機制 : ARP 借助 ARP 請求包 與 ARP 響應(yīng)包 確定 MAC 地址
- RARP
- ICMP
- 主要功能 : 確認(rèn) IP 包是否成功送達目標(biāo)地址底桂,通知在發(fā)送過程當(dāng)中 IP 包被廢棄的具體原因植袍,改善網(wǎng)絡(luò)設(shè)置等∑萆叮可以獲得網(wǎng)絡(luò)是否正常奋单,設(shè)置是否有誤以及設(shè)備有何異常等信息,從而便于進行網(wǎng)絡(luò)上的問題診斷猫十。
-
主要的 ICMP 消息 :
- ICMP 目標(biāo)不可達消息
- ICMP 重定向消息
- ICMP 超時消息
- ICMP 回送消息
-
其他 ICMP 消息 :
- ICMP 原點抑制消息
- ICMP 路由器探索消息
- ICMP 地址掩碼消息
-
ICMPv6 : IPv6 所必須的
- 大致分為: 錯誤消息览濒、信息消息
- 鄰居探索消息 : 融合了 IPv4 的 ARP、ICMP重定向以及 ICMP 路由選擇消息等功能于一體
- DHCP
- 功能 : 實現(xiàn)自動設(shè)置 IP 地址拖云、統(tǒng)一管理 IP 地址分配
-
工作機制 :
- 首先要架設(shè)一臺 DHCP 服務(wù)器
- 然后將 DHCP 所要分配的 IP 地址設(shè)置到服務(wù)器上
- 需要將相應(yīng)的子網(wǎng)掩碼贷笛、路由控制信息以及 DNS 服務(wù)器的地址等設(shè)置到服務(wù)器上
- 家庭網(wǎng)大多數(shù)情況下都由寬帶路由器充當(dāng) DHCP 的角色,而在較大規(guī)模組織機構(gòu)的網(wǎng)絡(luò)環(huán)境中宙项,往往需要將 DHCP 統(tǒng)一管理乏苦,可以設(shè)置一個 DHCP 中繼代理
- NAT
- 定義 : 用于在本地網(wǎng)絡(luò)中使用私有地址,在連接互聯(lián)網(wǎng)時轉(zhuǎn)而使用全局 IP 地址的技術(shù)
- 可以轉(zhuǎn)換 TCP尤筐、UDP 端口號的 Network Address Port Translation (NAPT) 汇荐,實現(xiàn)用一個全局 IP 地址與多個主機的通信
- IP 隧道
- 在網(wǎng)絡(luò)層的首部后面繼續(xù)追加網(wǎng)絡(luò)層首部的通信方法
- 其他 IP 相關(guān)技術(shù)
IP 多播相關(guān)技術(shù) : 確認(rèn)接收端是否存在非常重要,需要通過 MLD(IGMP)實現(xiàn)盆繁,有兩大作用:
向路由器表明想要接收多播消息(并通知想接受多播的地址)
向交換集線器通知想要接收多播的地址
IP 任播 : 為那些提供同一種服務(wù)的服務(wù)器配置同一個 IP 地址掀淘,并與最近的服務(wù)器進行通信
通信質(zhì)量控制 : 包括帶寬、延遲油昂、時延波動等內(nèi)容 RSVP
IntServ 點對點的詳細優(yōu)先控制 : 針對特定應(yīng)用(源 IP 地址革娄、目標(biāo) IP 地址、源端口冕碟、目標(biāo)端口以及協(xié)議號五項完全內(nèi)容一致)之間的通信進行質(zhì)量控制的一種機制
DiffServ 相對較粗粒度的優(yōu)先控制 : 針對特定的網(wǎng)絡(luò)進行較粗粒度的通信質(zhì)量控制拦惋,內(nèi)部的路由根據(jù) IP 首部的 DSCP 字段的值有選擇性地進行優(yōu)先處理,在發(fā)生網(wǎng)絡(luò)擁塞時還可以丟棄優(yōu)先級低的包
顯式擁塞通知 : 在 IP 層新增了一種使用顯式擁塞通知的機制 ECN安寺,將 IP 首部的 TOS 字段置換為 ENC 字段厕妖,并在 TCP 首部的保留位中追加 CWR 標(biāo)志和 ECE 標(biāo)志,兩層的互相協(xié)助實現(xiàn)了擁塞通知的功能
Mobile IP : 在主機所連接的子網(wǎng) IP 發(fā)生變化時我衬,主機 IP 地址仍保持不變
五叹放、TCP 與 UDP
- 傳輸層的作用
- 使用端口號這樣一種識別碼識別在傳輸層上一層的應(yīng)用層所要進行處理的具體程序
- 通信處理 : 超級守護進程收到客戶端請求以后會創(chuàng)建新的進程并轉(zhuǎn)換為各個守護進程
- 兩種傳輸層協(xié)議 TCP 與 UDP
- TCP : 是面向連接的饰恕、可靠的協(xié)議,具備順序控制井仰、重發(fā)控制等機制
- UDP : 是不具有可靠性的數(shù)據(jù)報協(xié)議
- 區(qū)別 :TCP 用于在傳輸層有必要實現(xiàn)可靠傳輸?shù)那闆r埋嵌,UDP 主要用于那些對高速傳輸和實時性有較高要求的通信或廣播通信
- 端口號 : 傳輸層中類似地址的概念,用來識別同一臺計算機中進行通信的不同應(yīng)用程序俱恶,也被稱為程序地址
- 根據(jù)端口號識別應(yīng)用
- FTP 服務(wù)器 : TCP 21
- SSH 服務(wù)器 : TCP 22
- TELNET 服務(wù)器 : TCP 23
- SMTP 服務(wù)器 : TCP 25
- HTTP 服務(wù)器 : TCP 80
- FTP 客戶端 : TCP 2000
- HTTP 客戶端 : TCP 2001
- TCP/IP 或 UDP/IP 通信中通常采用 5 個信息來標(biāo)識一個通信 :
- 源 IP 地址
- 目標(biāo) IP 地址
- 協(xié)議號
- 源端口號
- 目標(biāo)端口號
- 端口號的確定
- 標(biāo)準(zhǔn)既定的端口號
- 時序分配法
- 端口號與協(xié)議 : 端口號由其使用的傳輸層協(xié)議決定雹嗦,不同的傳輸協(xié)議可以使用相同的端口號,那些知名端口號與傳輸層協(xié)議并無關(guān)系
- UDP (User Datagram Protocol) : 不提供復(fù)雜的控制機制合是,利用 IP 提供面向無連接的通信服務(wù)了罪,將部分控制轉(zhuǎn)移給應(yīng)用程序去處理,自己只提供作為傳輸層協(xié)議的最基本功能
- TCP : 充分地實現(xiàn)了數(shù)據(jù)傳輸時各種控制功能
- 連接 : 指各種設(shè)備聪全、線路泊藕,或網(wǎng)絡(luò)中進行通信的兩個應(yīng)用程序為了相互傳遞消息而專有的、虛擬的通信線路难礼,也叫作虛擬電路娃圆。TCP 負(fù)責(zé)連接的建立、斷開蛾茉、保持等管理工作讼呢。
- TCP 的特點 : 通過檢驗和、序列號谦炬、確認(rèn)應(yīng)答悦屏、重發(fā)控制、連接管理以及窗口控制等機制實現(xiàn)可靠性傳輸
- 通過序列號與確認(rèn)應(yīng)答提高可靠性
- 當(dāng)發(fā)送端的數(shù)據(jù)到達接收主機時键思,接收端主機會返回一個已收到消息的通知,這個消息叫做 確認(rèn)應(yīng)答(ACK)
- TCP 通過肯定的確認(rèn)應(yīng)答(ACK)實現(xiàn)可靠的傳輸吼鳞,在一段時間內(nèi)沒有等到確認(rèn)應(yīng)答幕帆,發(fā)送端就可以認(rèn)為數(shù)據(jù)已經(jīng)丟失赖条,并進行重發(fā)
- 未收到確認(rèn)應(yīng)答并不意味著數(shù)據(jù)一定丟失,也有可能是數(shù)據(jù)對方已經(jīng)收到墓贿,只是返回的確認(rèn)應(yīng)答在途中丟失,這種情況也會導(dǎo)致發(fā)送端因沒有收到確認(rèn)應(yīng)答队伟,而認(rèn)為數(shù)據(jù)沒有達到目的地穴吹,從而進行重新發(fā)送,當(dāng)再有相同數(shù)據(jù)送達時它會放棄嗜侮,所以必須引入一種機制港令,它能夠識別是否已經(jīng)接收數(shù)據(jù),又能夠判斷是否需要接收锈颗。
- 上述這些確認(rèn)應(yīng)答處理顷霹、重發(fā)控制以及重復(fù)控制等功能都可以通過序列號實現(xiàn),序列號是按順序發(fā)送給數(shù)據(jù)的每一個字節(jié)都標(biāo)上號碼的編號击吱。
- 接收端查詢接收數(shù)據(jù) TCP 首部中的序列號和數(shù)據(jù)的長度淋淀,將自己下一步應(yīng)該接受的序號作為確認(rèn)應(yīng)答返送回去。通過序列號和確認(rèn)應(yīng)答號覆醇,TCP 可以實現(xiàn)可靠傳輸朵纷。
- 重發(fā)超時如何確定
- 重發(fā)超時 : 再重發(fā)數(shù)據(jù)之前,等待確認(rèn)應(yīng)答到來的那個特定時間間隔
- 重發(fā)超時都是 0.5 秒的整數(shù)倍叫乌,一般設(shè)置為 6 秒左右柴罐,之后若還是收不到確認(rèn)應(yīng)答,會再次發(fā)送憨奸,等待確認(rèn)應(yīng)答的時間將會以 2 倍革屠、4 倍的指數(shù)函數(shù)延長,達到一定重發(fā)次數(shù)之后排宰,如果仍沒有任何確認(rèn)應(yīng)答返回似芝,就會判斷為網(wǎng)絡(luò)或?qū)Χ酥鳈C發(fā)生了異常,強制關(guān)閉連接板甘。
- 連接管理 :TCP 在數(shù)據(jù)通信之前党瓮,通過 TCP 首部發(fā)送一個 SYN 包作為建立連接的請求等待確認(rèn)應(yīng)答。如果對端發(fā)來確認(rèn)應(yīng)答盐类,則認(rèn)為可以進行數(shù)據(jù)通信寞奸。如果對端的確認(rèn)應(yīng)答未能到達,就不會進行數(shù)據(jù)通信在跳。此外枪萄,在通信結(jié)束時會進行斷開連接的處理(FIN 包)∶睿可以使用 TCP 首部用語控制的字段來管理 TCP 連接(三次握手)瓷翻。一個連接的建立與斷開,正常過程至少需要來回發(fā)送 7 個包才能完成。
- TCP 以段為單位發(fā)送數(shù)據(jù)
- 最大消息長度 MSS : 在建立 TCP 連接的同時可以確定發(fā)送數(shù)據(jù)包的單位齐帚,是在三次握手的時候妒牙,在兩端主機之間被計算得出。兩端主機在發(fā)出建立連接的請求時对妄,會在 TCP 首部中寫入 RSS 選項湘今,告訴對方自己的接口能夠適應(yīng)的 MSS 的大小,會在兩者之間選擇一個較小的值投入使用饥伊。
- TCP 在傳送大量數(shù)據(jù)時象浑,是以 MSS 的大小將數(shù)據(jù)進行分割發(fā)送
- 利用窗口控制提高速度
- 發(fā)送端主機在發(fā)送了一個段以后不必要一直等待確認(rèn)應(yīng)答,而是繼續(xù)發(fā)送
- 窗口大小 : 無需等待確認(rèn)應(yīng)答而可以繼續(xù)發(fā)送數(shù)據(jù)的最大值
- 使用了大量的緩沖區(qū)琅豆,通過對多個段同時進行確認(rèn)應(yīng)答的功能
- 滑動窗口機制
- 窗口控制與重發(fā)機制 : 接收端在沒有收到自己所期望的數(shù)據(jù)時愉豺,會對之前收到的數(shù)據(jù)進行確認(rèn)應(yīng)答。發(fā)送端則一旦收到某個確認(rèn)應(yīng)答后茫因,又連續(xù) 3 次收到同樣的確認(rèn)應(yīng)答蚪拦,則認(rèn)為數(shù)據(jù)段已經(jīng)丟失,需要進行重發(fā)冻押。
- 流控制 : 讓發(fā)送端根據(jù)接收端的實際接收能力控制發(fā)送的數(shù)據(jù)量驰贷。接收端主機向發(fā)送端主機通知自己可以接受數(shù)據(jù)的大小,于是發(fā)送端會發(fā)送不超過這個限度的數(shù)據(jù)洛巢。該大小限度就被稱作窗口大小括袒。
- 擁塞控制 : 為了在發(fā)送端調(diào)節(jié)所要發(fā)送數(shù)據(jù)的量项乒,定義了一個叫做“擁塞窗口”的概念退疫,慢啟動望伦,每收到一個確認(rèn)應(yīng)答住诸,窗口的值會增加 1 個字段。TCP 通信開始以后吧黄,網(wǎng)絡(luò)吞吐量會逐漸上升肺魁,但是隨著網(wǎng)絡(luò)擁堵的發(fā)生吞吐量也會急速下降添瓷,于是會再次進入吞吐量慢慢上升的過程渺蒿。
- 提高網(wǎng)絡(luò)利用率的規(guī)范
- Nagle 算法
- 延遲確認(rèn)應(yīng)答 : 每收到兩個數(shù)據(jù)段發(fā)送一次的確認(rèn)應(yīng)答
- 捎帶應(yīng)答 : TCP 的確認(rèn)應(yīng)答和固執(zhí)數(shù)據(jù)可以通過一個包發(fā)送痢士,必須得等到應(yīng)用處理完數(shù)據(jù)并將作為回執(zhí)的數(shù)據(jù)返回為止,才能進行捎帶應(yīng)答
- 其他傳輸層協(xié)議
- UDP-Lite(輕量級用戶數(shù)據(jù)報協(xié)議)
- SCTP(流控制傳輸協(xié)議)
- DCCP(數(shù)據(jù)報擁塞控制協(xié)議 )
- UDP 首部的格式 (8 字節(jié))
- 源端口號 : 發(fā)送端端口號茂装,字段長 16 位
- 目標(biāo)端口號
- 包長度 : 保存了 UDP 長度跟數(shù)據(jù)的長度之和怠蹂,單位為字節(jié)
- 校驗和 : 為了提供可靠的 UDP 首部和數(shù)據(jù)而設(shè)計,需要驗證一個通信中必要的 5 項識別碼是否正確少态,為此褥蚯,在校驗和的計算中就引入了偽首部的概念。校驗和字段里保存著除本字段以外其他部分的和的補碼值况增,因此如果計算校驗和字段在內(nèi)的所有數(shù)據(jù)的 16 位和以后,得出的結(jié)果是“16 位全部為 1”說明所收到的數(shù)據(jù)是正確的训挡。
- TCP 首部格式 (20 字節(jié)澳骤,包括選項字段 24 字節(jié))
六歧强、路由協(xié)議
- 路由控制的定義
- 路由器根據(jù)路由控制表轉(zhuǎn)發(fā)數(shù)據(jù)包
- 路由控制分為靜態(tài)與動態(tài),使用動態(tài)路由的情況下为肮,管理員必須設(shè)置好路由協(xié)議
- 路由控制范圍
- IGP(內(nèi)部網(wǎng)關(guān)協(xié)議)
- EGP(外部網(wǎng)關(guān)協(xié)議)
- 自治系統(tǒng)(AS):制定自己的路由策略摊册,并以此為準(zhǔn)在一個或多個網(wǎng)絡(luò)群體中采用的小型單位叫做自治系統(tǒng)或路由選擇域。 自治系統(tǒng)內(nèi)部動態(tài)路由采用的協(xié)議是域內(nèi)路由協(xié)議颊艳,而自治系統(tǒng)之間的路由控制采用的是域間路由協(xié)議茅特。
- 路由算法
- 距離向量算法
- 鏈路狀態(tài)算法
- RIP(路由信息協(xié)議)
- 廣播路由控制信息 : RIP 定期將路由控制信息定期向全網(wǎng)廣播
- 根據(jù)距離向量算法決定路徑
- 使用子網(wǎng)掩碼時的 RIP 處理
- 如果主網(wǎng)一樣,那么就以接口的網(wǎng)絡(luò)地址長度為準(zhǔn)
- 如果主網(wǎng)不同棋枕,那么以 IP 地址的分類所確定的網(wǎng)絡(luò)地址長度為準(zhǔn)
- RIP 中路由變更時的處理
- 將自己所知道的路由信息進行廣播
- 一旦認(rèn)為網(wǎng)絡(luò)被斷開白修,數(shù)據(jù)將無法路過此路由器,其他路由器也就可以得知網(wǎng)絡(luò)已經(jīng)斷開
- 問題 :
- 無限計數(shù) : 解決 (1)最長距離不超過 16 (2)水平分割 : 規(guī)定路由器不再把所受收到的路由消息原路返還給發(fā)送端
- 帶有環(huán)路的網(wǎng)絡(luò) : 解決 :毒性逆轉(zhuǎn)重斑、觸發(fā)更新 * RIP2
- 使用多播(RIP 使用廣播)
- 支持子網(wǎng)掩碼
- 路由選擇域
- 外部路由標(biāo)志
- 身份驗證秘鑰
- OSPF(開放最短路徑優(yōu)先)
- OSPF 是鏈路狀態(tài)型路由協(xié)議
- 路由器之間交換鏈路狀態(tài)生成網(wǎng)絡(luò)拓?fù)湫畔⒈Γ缓蟾鶕?jù)這個拓?fù)湫畔⑸陕酚煽刂票?/li>
- OSPF 可以給每條鏈路賦予一個權(quán)重,而 RIP 要求途中所經(jīng)過的路由器個數(shù)越少越好窥浪。RIP 是選擇路由器個數(shù)最少的路徑祖很,而 OSPF 是選擇總的代價較小的路徑。
- OSPF 基礎(chǔ)知識
- 在一個比較復(fù)雜的網(wǎng)絡(luò)中漾脂,確定一個指定路由器假颇,并以它為中心交換路由信息
- 根據(jù)作用的不同分為 5 種類型的包,使得可以大大地減少網(wǎng)絡(luò)流量骨稿,還可以達到迅速更新路由信息的目的
- 問候
- 數(shù)據(jù)庫描述
- 鏈路狀態(tài)請求
- 鏈路狀態(tài)更新
- 鏈路狀態(tài)確認(rèn)應(yīng)答
- 將區(qū)域分層化進行細分管理
- 區(qū)域是指將連接在一起的網(wǎng)絡(luò)和主機劃分為小組笨鸡,使一個自治系統(tǒng)內(nèi)可以擁有多個區(qū)域。不過具有多個區(qū)域的自治系統(tǒng)必須要有一個主干區(qū)域啊终,并且所有其他區(qū)域都與這個主干區(qū)域相連接
- 每個區(qū)域內(nèi)的路由器都持有本區(qū)域網(wǎng)絡(luò)拓?fù)涞臄?shù)據(jù)庫镜豹,關(guān)于區(qū)域之外的路徑信息,都只能從區(qū)域邊界路由器那里獲知它們的距離蓝牲,所以內(nèi)部路由器所持有的網(wǎng)絡(luò)拓?fù)鋽?shù)據(jù)庫就會明顯變小趟脂。
- 該機制不僅可以有效地減少路由控制信息,還能減輕處理的負(fù)擔(dān)例衍。
- BGP(邊界網(wǎng)關(guān)協(xié)議)
- 是連接不同組織機構(gòu)(自治系統(tǒng))的一種協(xié)議昔期,因此屬于外部網(wǎng)關(guān)協(xié)議
- BGP 與 AS 號 : ISP、區(qū)域網(wǎng)絡(luò)等會將每個網(wǎng)絡(luò)域編配成一個個自治系統(tǒng)進行管理佛玄,它們?yōu)槊總€自治系統(tǒng)分配一個 16 比特的 AS 編號硼一,BGP 就是根據(jù)這個編號進行相應(yīng)的路由控制。
- BGP 是路徑向量協(xié)議
- BGP 中數(shù)據(jù)包送達目標(biāo)網(wǎng)絡(luò)時梦抢,會生成一個中途經(jīng)過所有 AS 的編號列表 ——— AS 路徑信息訪問列表般贼。BGP 用 AS 進行度量標(biāo)準(zhǔn),一般選擇 AS 數(shù)最少的路徑。
- AS 路徑信息訪問列表不僅包含轉(zhuǎn)發(fā)方向和距離哼蛆,還涵蓋了途徑所有 AS 的編號蕊梧,因此它不是一個距離向量協(xié)議。這種根據(jù)所要經(jīng)過的路徑信息訪問列表進行路由控制的協(xié)議屬于路徑型相連腮介。
- 路由控制是跨越整個互聯(lián)網(wǎng)的分布式系統(tǒng)
- MPLS(多協(xié)議標(biāo)記交換)
- 只需要關(guān)注它與下面一層 IP 層之間的功能和協(xié)議即可肥矢,轉(zhuǎn)發(fā)時根據(jù)標(biāo)記轉(zhuǎn)發(fā)
- MPLS 網(wǎng)絡(luò)中實現(xiàn) MPLS 功能的路由器叫做標(biāo)記交換路由器(LSR),與外部網(wǎng)絡(luò)連接的那部分LSR叫做標(biāo)記邊緣路由器(LER)叠洗,MPLS 正是在 LER 上對數(shù)據(jù)包進行追加標(biāo)記和刪除標(biāo)記的操作
- MPLS 中目標(biāo)地址和數(shù)據(jù)包都要通過由標(biāo)記決定的同一個路徑甘改,這個路徑叫做標(biāo)記交換路徑(LSP)
- MPLS 的優(yōu)點
- 轉(zhuǎn)發(fā)速度快 : 使用固定長度的標(biāo)記信息,使得處理更簡單灭抑,可以通過高速的硬件實現(xiàn)轉(zhuǎn)發(fā)
- 利用標(biāo)記生成虛擬的路徑十艾,并在它的上面實現(xiàn) IP 等數(shù)據(jù)包的通信,IP 網(wǎng)可以提供基于 MPLS 的通信質(zhì)量控制名挥、帶寬保證和 VPN 等功能
七疟羹、應(yīng)用協(xié)議
- 遠程登錄
- TELNET
- 利用 TCP 的一條連接,通過這一條連接向主機發(fā)送文字命令并在主機上執(zhí)行禀倔。本地用戶好像直接與遠端主機內(nèi)部的 Shell 相連著似的榄融。
- 兩類基本服務(wù)
- 仿真終端功能
- 協(xié)商選項機制
- 行模式
- 透明模式
- SSH
- 加密的遠程登錄系統(tǒng)
- 可以使用更強的認(rèn)證機制
- 可以轉(zhuǎn)發(fā)文件
- 可以使用端口轉(zhuǎn)發(fā)功能
- 文件傳輸
FTP 的工作機制
使用兩條 TCP 連接:
一條用來控制
另一條用于數(shù)據(jù)的傳輸
通過 ASCII 碼字符串進行的交互處理
- 電子郵件
- 工作機制 : 引進了一種一直會連接電源的郵件服務(wù)器,發(fā)送和接收端通過郵件服務(wù)器進行收發(fā)郵件救湖,接收端從郵件服務(wù)器接收郵件時使用 POP3 協(xié)議愧杯。由 3 部分組成 :
- 郵件地址
- 數(shù)據(jù)格式
- 發(fā)送協(xié)議
- MIME : 廣泛用于互聯(lián)網(wǎng)并極大地擴展了數(shù)據(jù)格式
- SMTP(簡單郵件傳輸協(xié)議) : 支持的是發(fā)送端主機的行為
- POP(郵局協(xié)議) : 用于接收電子郵件的協(xié)議,郵件由客戶端進行管理
- IMAP(網(wǎng)絡(luò)信息接入?yún)f(xié)議) : 與 POP 類似鞋既,郵件由服務(wù)器進行管理力九,可以不必從服務(wù)器上下載所有的郵件也可以閱讀
- WWW
- URI(統(tǒng)一資源標(biāo)識符)
- URL(統(tǒng)一資源定位符):常被用來表示互聯(lián)網(wǎng)中資源(文件)的具體位置
- URI :不局限于表示互聯(lián)網(wǎng)資源,可以作為所有資源的識別碼邑闺。URI 的 http 方案的具體格式:
http://主機名 : 端口號/路徑跌前?訪問內(nèi)容#部分信息
- HTML(超文本標(biāo)記語言)
- HTTP(超文本傳輸協(xié)議)
- JavaScript、CGI陡舅、Cookie
- JavaScript :嵌入在 HTML 中的編程語言
- CGI : 是 Web 服務(wù)器調(diào)用外部程序時所使用的一種服務(wù)端應(yīng)用的規(guī)范,利用 CGI 可以針對用戶的操作返回給客戶端有各樣變化的信息
- Cookie : 在客戶端保存信息抵乓,從 Web 服務(wù)器檢查 Cookie 可以確認(rèn)是否為同一對端的通信
- 網(wǎng)絡(luò)管理
- SNMP
- 網(wǎng)絡(luò)管理可以使用 SNMP 收集必要的信息,它是一款基于 UDP/IP 的協(xié)議
- 管理端叫做管理器(網(wǎng)絡(luò)監(jiān)控終端)靶衍,被管理端叫做代理(路由器灾炭、交換機等)
- 消息處理,8 中操作:
- 查詢請求
- 上次要求的下一個信息的查詢請求
- 應(yīng)答
- 設(shè)置請求
- 批量查詢請求
- 向其他管理器發(fā)送消息通知
- 時間通知
- 用管理系統(tǒng)定義的命令
- MIB :是在樹形結(jié)構(gòu)的數(shù)據(jù)庫中為每個項目附加編號的一種信息結(jié)構(gòu)
- RMON(Remote Monitoring MIB) :MIB 由監(jiān)控網(wǎng)絡(luò)中某個設(shè)備接口的眾多參數(shù)構(gòu)成
- 其他應(yīng)用層協(xié)議
- 多媒體通信實現(xiàn)技術(shù)
- H.323
- SIP
- RTP
- 數(shù)字壓縮技術(shù)
- P2P
- LDAP(輕量級目錄訪問協(xié)議)
八颅眶、網(wǎng)絡(luò)安全
- 網(wǎng)絡(luò)安全構(gòu)成要素
- 防火墻 :暴露給危險的主機和路由器的個數(shù)要有限蜈出,限制從互聯(lián)網(wǎng)那個訪問的主機個數(shù)
- IDS(入侵檢測系統(tǒng)):檢查已經(jīng)侵入內(nèi)部網(wǎng)絡(luò)進行非法訪問的情況,并及時通知給網(wǎng)絡(luò)管理員的系統(tǒng)
- 反病毒/個人防火墻
- 加密技術(shù)基礎(chǔ)
- 對稱密碼體制與公鑰密碼體制
- 對稱加密方式包括:AES涛酗、DES等加密標(biāo)準(zhǔn)
- 公鑰加密方法包括:RSA铡原、DH偷厦、橢圓曲線等加密算法
- 身份認(rèn)證技術(shù)
- 根據(jù)所知道的信息進行認(rèn)證
- 根據(jù)所擁有的信息進行認(rèn)證
- 根據(jù)獨一無二的體態(tài)特征進行認(rèn)證
- 安全協(xié)議
- IPSec 與 VPN
- 在構(gòu)建 VPN 時,最常被使用的是 IPSec燕刻。它是指在 IP 首部的后面追加“封裝安全有效載荷”和“認(rèn)證首部”沪哺,從而對此后的數(shù)據(jù)進行加密。
- 傳輸模式 : 加密 TCP 首部和數(shù)據(jù)部分
- 隧道模式 : 包括 IP 首部在內(nèi)對整個 IP 包進行加密酌儒,并追加 IP 首部
- TLS/SSL 與 HTTPS
- TLS(Transport Layer Security)
- SSL(Secure Sockets Layer)
- 使用 TLS/SSL 的 HTTP 通信叫做 HTTPS 通信,HTTPS 中采用加密方式枯途,而在發(fā)送其公共秘鑰時采用的則是公鑰加密方式
- IEEE802.1X :為了能夠介入 LAN 交換機和無線 LAN 接入點而對用戶進行認(rèn)證的技術(shù)