网络协议复习
不同協(xié)議所屬的層次如下圖:
IP
?????? IP地址一開始是分類編址,到了20世紀(jì)90年代更換為無分類編址。分類編址時(shí)IP地址共有五類ABCDE。對于ABC類地址,IP地址都可以劃分為網(wǎng)絡(luò)標(biāo)識和主機(jī)標(biāo)識。從一個IP地址中提取網(wǎng)絡(luò)地址要用網(wǎng)絡(luò)掩碼和IP地址進(jìn)行與運(yùn)算。IP地址最初是兩級編址,但是這會存在極大的地址浪費(fèi),并且不利于管理。在子網(wǎng)劃分中,一個網(wǎng)絡(luò)被劃分成若干個較小的子網(wǎng)絡(luò),其中每個子網(wǎng)都有自己的子網(wǎng)掩碼。
?????? 每個網(wǎng)絡(luò)中都有兩個特殊地址:主機(jī)標(biāo)識為0表示網(wǎng)絡(luò)地址,不指向某個主機(jī);主機(jī)標(biāo)識全為1表示直接廣播地址,所有主機(jī)都會接受這種類型的目的地址的分組。
IP是一種不可靠的無連接數(shù)據(jù)報(bào)協(xié)議,分組可能在四種情況下丟失:1)校驗(yàn)失敗;2)TTL超時(shí);3)途中路由器不能分片;4)途中路由器緩沖區(qū)溢出導(dǎo)致丟包。
和分片相關(guān)的字段有:標(biāo)識、標(biāo)志和分片偏移。其中分片偏移表示的是分片在整個數(shù)據(jù)報(bào)中的相對位置。這是數(shù)據(jù)在原始數(shù)據(jù)報(bào)中的偏移,以8字節(jié)為度量單位。
IP分組中的校驗(yàn)和僅覆蓋首部,而不管數(shù)據(jù)。校驗(yàn)和的計(jì)算為:將分組首部劃分為n位的段(n通常為16)。把這些段反碼相加,得到的和的長度也是n位。再把這個和取反碼就得出校驗(yàn)和。接收端解析時(shí),只需要將首部反碼相加然后取反碼,判斷是否為0即可。
ARP
一個IP分組可以通過咨詢路由表找出下一跳的IP地址。但是,既然IP使用的是數(shù)據(jù)鏈路層的服務(wù),它就需要知道下一跳的物理地址。通過ARP可以做到這一點(diǎn)。
IP地址是邏輯地址,MAC地址是物理地址。ARP把邏輯地址映射為物理地址,RARP把物理地址映射為邏輯地址。
任何時(shí)候,當(dāng)主機(jī)或路由器需要找出這個網(wǎng)絡(luò)上的另一個主機(jī)或路由器的物理地址時(shí),它就可以發(fā)送一個ARP查詢分組。這個分組包括發(fā)送方的物理地址和IP地址以及接收方的IP地址。因?yàn)榘l(fā)送方不知道接收方的物理地址,所以這個查詢分組會在網(wǎng)絡(luò)上進(jìn)行廣播。網(wǎng)絡(luò)上的每一臺主機(jī)或路由器都會接受并處理這個ARP查詢分組,但只有期待的接收方才能認(rèn)出是自己的IP地址,并返回一個ARP響應(yīng)分組。這個響應(yīng)分組包含有接收方的IP地址和物理地址。這個分組利用收到的查詢分組中的物理地址以單播方式直接發(fā)送給查詢者。
ICMP
IP協(xié)議沒有差錯報(bào)告或差錯糾正機(jī)制。IP協(xié)議還缺少主機(jī)和管理查詢所需要的機(jī)制。ICMP是為了彌補(bǔ)上述缺陷設(shè)計(jì)的。
ICMP本身是一個網(wǎng)絡(luò)層協(xié)議。但是,它的報(bào)文并不是直接傳遞給數(shù)據(jù)鏈路層。實(shí)際上,ICMP報(bào)文首先要封裝成IP數(shù)據(jù)報(bào),然后才被傳遞到下一層。
ICMP報(bào)文分為兩類:差錯報(bào)告報(bào)文和查詢報(bào)文。ICMP利用源IP地址把差錯報(bào)文發(fā)送給數(shù)據(jù)報(bào)的源點(diǎn)。
單播路由協(xié)議
今天的互聯(lián)網(wǎng)非常龐大,以至于僅使用一種路由選擇協(xié)議無法處理更新所有路由器的路由表。為此,互聯(lián)網(wǎng)需要劃分為多個自治系統(tǒng)。一個自治系統(tǒng)就是在一個管理機(jī)構(gòu)管轄下的一組網(wǎng)絡(luò)和路由器。在AS內(nèi)部的路由選擇稱為域內(nèi)路由選擇。AS之間的路由選擇稱為域間路由選擇。AS內(nèi)可以選擇一個或多個路由選擇協(xié)議,但是AS之間只能使用一種域間路由選擇協(xié)議。
域內(nèi)有兩種路由選擇協(xié)議:距離向量和鏈路狀態(tài)。域間有一種路由選擇協(xié)議:路徑向量。路由信息協(xié)議(RIP)是對距離向量協(xié)議的實(shí)現(xiàn)。開放最短路徑優(yōu)先(OSPF)協(xié)議是對鏈路狀態(tài)的實(shí)現(xiàn)。邊界網(wǎng)關(guān)協(xié)議(BGP)是對路徑向量協(xié)議的實(shí)現(xiàn)。
運(yùn)輸層
運(yùn)輸層協(xié)議的首要任務(wù)是提供進(jìn)程到進(jìn)程的通信。
運(yùn)輸層需要在兩個層次實(shí)現(xiàn)流量控制:從發(fā)送方的運(yùn)輸層到發(fā)送方的應(yīng)用層以及從接收方的運(yùn)輸層到發(fā)送方的運(yùn)輸層??梢钥闯?#xff0c;流量控制的通信可以通過從消耗者向生產(chǎn)者發(fā)送信號來實(shí)現(xiàn)。當(dāng)發(fā)送的運(yùn)輸層緩存滿溢時(shí),它就通知應(yīng)用層停止傳遞報(bào)文塊,而當(dāng)它又有了空位置時(shí),就通知應(yīng)用層繼續(xù)傳遞報(bào)文塊。當(dāng)接收方的運(yùn)輸層滿溢時(shí),它就通知發(fā)送方的運(yùn)輸層停止發(fā)送分組,而當(dāng)它又有空位置時(shí),就通知發(fā)送方的運(yùn)輸層繼續(xù)發(fā)送分組。
差錯控制需要解決下面的問題:1)檢測并丟棄損壞的分組;2)識別重復(fù)的分組并丟棄它們;3)跟蹤丟失和丟棄的分組并重傳它們;4)保存失序到達(dá)的分組,直至缺失的分組全部抵達(dá)。
TCP
序號:定義了指派給本報(bào)文段第一個數(shù)據(jù)字節(jié)的編號。
HLEN(首部長度):這個4位段指出TCP首部一共有多少個4字節(jié)。
窗口尺寸:發(fā)送方允許的接收窗口大小,表示發(fā)送方現(xiàn)在可以接收多少數(shù)據(jù)。
校驗(yàn)和:與UDP一樣,但是UDP的校驗(yàn)和是可選的,TCP是強(qiáng)制性的。校驗(yàn)部分包括:偽首部、TCP首部和應(yīng)用層的數(shù)據(jù)。
TCP建立連接利用三步握手:客戶首先發(fā)送一個SYN報(bào)文段,然后服務(wù)器回復(fù)一個SYN+ACK報(bào)文段,最后客戶端發(fā)送一個ACK報(bào)文段。SYN報(bào)文段不攜帶任何數(shù)據(jù),但是它要消耗一個序號,即當(dāng)發(fā)送數(shù)據(jù)時(shí),序號應(yīng)當(dāng)加1。
TCP終止連接也是通過三步握手:首先客戶TCP收到客戶進(jìn)程發(fā)來的關(guān)閉命令后,就發(fā)送一個FIN報(bào)文,之后服務(wù)器發(fā)送一個FIN+ACK報(bào)文段,最后客戶TCP發(fā)送一個ACK報(bào)文段。FIN報(bào)文段不攜帶數(shù)據(jù),但是要消耗一個序號。
DHCP
一臺主機(jī)啟動后,DHCP是第一個運(yùn)行的客戶/服務(wù)器應(yīng)用程序。也即,當(dāng)一臺主機(jī)啟動后,如果他認(rèn)為自己應(yīng)當(dāng)連接到Internet,但又不知道自己的IP地址,DHCP就以引導(dǎo)程序的身份發(fā)揮作用。
當(dāng)前計(jì)算機(jī)要連接到網(wǎng)絡(luò)需要四種信息:1)計(jì)算機(jī)的IP;2)計(jì)算機(jī)的子網(wǎng)掩碼;3)一個路由器的IP地址;4)DNS服務(wù)器的IP地址。
在DHCP之前,RARP也曾被用來從一個物理地址映射為一個IP地址。但是現(xiàn)在已經(jīng)被淘汰,原因有二:1),RARP利用了數(shù)據(jù)鏈路層的廣播服務(wù),這也就表示每個網(wǎng)絡(luò)上都必須存在一臺RARP服務(wù)器;2)RARP只能提供計(jì)算機(jī)的IP地址,但如今的計(jì)算機(jī)需要上述四種信息。
轉(zhuǎn)載于:https://www.cnblogs.com/wanghuaijun/p/6344498.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
- 上一篇: 梦到涨大水了是什么预兆
- 下一篇: codevs1040统计单词个数(区间+