網絡層:構成超網(CIDR)

CIDR構成超網

CIDR消除了原來的傳統的 A,B, C, D類地址, 使用了各種網絡前綴來代替原來分類地址中的網絡號和子網號, IP 地址由原來的三級分類又變成了兩級分類. 其中網絡號和子網號是一個隨機的長度. 其中 CIDR 也可以使用 / 的形式來表示, 其中在 / 前面寫上網絡前綴的位數.其中注意網絡前綴所占的比特位就是三級編制中子網掩碼中 1 的個數. 當網絡前綴相同的時候就叫做地址塊, 也叫做超網.

1. 常用的 CIDR 地址快

假如 CIDR 網絡地址號為 128.14.32.0 /20, 此時最小的地址塊就是128.14.32.0, 最大的地址號就是 128.14.32.255, 其中要注意, 主機號為全 1 的時候代表的是一個廣播網, 主機號為全 0 的時候表示主機自己的網絡. 因此全 0 和全1 一般不分配.

2. 路由聚合

一個 CIDR 地址塊可以表示或多個地址, 這樣會使得一個路由表中的一個路由就可以表示多個網絡地址. 這是什么意思呢, 加入原來的 C 類網絡用前24為表示網絡號, 后面的8位表示主機號, 而前面的3為用來表示自己是一個 C 類網絡地址, 此時表示的網絡號就有 2^21 次方個網絡, 而在構成超網中, 但是它占了24位, 也就是說 C 類網絡地址用了24位表示了2^21個網絡地址, 而在構成超網中, 當用前20位表示網絡前綴的時候, 此時就可以認為是用20位比特表示了2^20個網絡.即構成超網中提高了比特位的利用率而且擴大了網絡地址的范圍更加靈活.

3. 掩碼

對于一個/20的地址塊, 掩碼就是網絡號的前20位是1, 后12位是0, 這樣得到的就是超網中的一個掩碼.

4. CIDR 記法的其他形式

當用點分十進制表示網絡地址的時候, 此時可以省略低位的連續的0. 比如 10.0.0.0 /10 可以表示為 10/10.同時也可以在網絡前綴的后面加一個 . 其中 前面的是網絡前綴, 后面的是連續的 0. 前綴越長變化空間越少, 地址塊包含的地址數就越少. 在三級子網劃分中, 子網號越長, 網絡前綴就會越長.

前綴最長匹配

在 CIDR 中路由表中每一個項目包括了網絡前綴和下一條的地址.在路由的過程中目的路由下一條選擇網絡前綴最長的路由. 因為路由越長, 主機號對應的位數就會越少, 這樣尋找的范圍就會減小, 有利于傳輸效率.

1. 二叉線索查找路由表

在前綴最長匹配算法中, 由于每次找到一個目的地址時需要找到前綴最短的路由, 因此這樣就比較花費時間. 因此將網絡前綴用二叉樹的數據結構進行組織
先從IP地址中找出各個IP地址中唯一的前綴, 然后通過唯一的前綴構成二叉樹, 其中二叉樹的左孩子是對應的值為0, 右孩子是對應的值為0
這里寫圖片描述

2. 網絡控制報文協議 ICMP

(1)差錯報告報文

在數據報文進行傳輸的過程中, 某條路由可能不同了, 此時就需要發送一個差錯報告, 高速對方這條路不通了

(2)詢問報告報文

在數據進行傳輸的過程中前面的時候數據一方在之前的時候發現路由不通了, 此時在發送數據的時候就需要測試一下現在我要發送數據了, 這條路由通不通

1) 差錯報文的 5 中錯誤

終點不可達
原點抑制
時間超過
參數問題
改變路由

2)ICMP詢問報文

回送請求和回答報文
時間戳請求和回答報文
掩碼地址請求和回答報文
路由器詢問和通告報文

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/383970.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/383970.shtml
英文地址,請注明出處:http://en.pswp.cn/news/383970.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

UVa12169

我們可以暴力枚舉a,然后通過x1和x3確定b的值,然后確定其他的數字,一旦出現錯誤就放棄這組解。 關鍵問題就在于如何通過a,x1,x3確定b的值 x2 ( x1 * a b) % M x3 ( x2 * a b ) % M ( ( x1 * a b ) % M * a b ) % M x3 - k * M x1 * a % M * a %…

尹成 雙循環鏈表

今天&#xff0c;我們一起用C寫一個雙鏈表&#xff0c;具體代碼如下&#xff1a; DoubleList.h具體內容如下&#xff1a; [cpp] view plaincopy #include "NodeList.h" template<typename Type> class DoublyList{ public: DoublyList() :head(ne…

堆的基本操作

堆的數據結構 對于堆, 有最大堆和最小堆, 在定義一個堆的時候用一個數組表示堆, 同時為了方便定義堆的大小, 用一個 size 表示堆的有效元素, 同時為了區別最大堆和最小堆, 我們用一個函數指針表示這個堆是最大堆還是最小堆. typedef int (*Compare)(HeapType parent, HeapTyp…

UVa1605

完完全全的構造題 一種比較好想到&#xff08;雖然我沒有想到。。&#xff09;的方法是做成一個兩層的表格&#xff0c;第一層每一行相同&#xff0c;第二層每一列相同&#xff0c;這樣每個都能和其他的相鄰了。 輸出格式稍微注意一下 #include<cstdio> #include<c…

Linux下的TCP/IP編程----IO復用及IO復用服務端

http://blog.csdn.net/wqc_csdn/article/details/51583901 在之前我們實現的并發服務端時通過床將多個進程來實現的&#xff0c;這種并實現并發的方式簡單方便&#xff0c;但是進程的創建和銷毀是很消耗系統資源的&#xff0c;在訪問量大時服務器很容易出現資源不夠用的情況。除…

UVa120

相當于是一個模擬&#xff0c;為了得到合適的順序&#xff0c;我們的策略是每次找到當前沒有被翻的里面最大的&#xff0c;然后把他翻到最前面&#xff0c;然后再翻到合適的位置。 需要判斷一下當前是否已經有序&#xff0c;有序就不用翻了。 如果在最開頭找到了合適的當前應…

二叉樹的相關操作

二叉樹的數據結構 typedef char SearchTreeType; typedef struct SearchTreeNode { SearchTreeType key; // 關鍵碼 struct SearchTreeNode* lchild; struct SearchTreeNode* rchild; } SearchTreeNode; 二叉樹的初始化 由于我們是用一個指向根節點的指針表示一個二叉樹, …

網絡層:網關協議

一. 網關 所謂的網管即就是之前路由器的名字, 即路由器和網關是一個東西 二. 內部網關協議 1. RIP協議 路由信息協議 RIP 是內部網關協議 IGP中最先得到的廣泛使用的協議. 同時 RIP 是一種分布式基于距離向量的路由選擇協議. RIP 協議要求網絡中的每一個路由都必須維護自己…

UVa1152

題意很好理解&#xff0c;就是從四個集合里面取出四個數字的和為0&#xff0c;問有多少種取法。 直接枚舉肯定是會超時的&#xff0c;所以得想辦法優化一下。我們可以將兩個集合的所有的和都放在一個數組里面&#xff0c;這樣得到兩個數組&#xff0c;然后排序&#xff0c;對第…

Linux函數--inet_pton / inet_ntop

http://blog.csdn.net/lindyl/article/details/10427925 inet_pton 和 inet_ntop Linux下這2個IP地址轉換函數&#xff0c;可以在將IP地址在“點分十進制”和“整數”之間轉換而且&#xff0c;inet_pton和inet_ntop這2個函數能夠處理ipv4和ipv6。算是比較新的函數了。 inet_pto…

網絡基礎: 淺析應用層一

應用層 1. http協議 在 http 中協議分為了協議方案名, 登錄信息名, 服務器地址, 服務器端口號(http協議綁定的端口號), 文件類型, 查詢的字符串, 片段標識位 2. http 請求協議格式 httpp 總共分為三大部分, 其中首行即就是第一部分, 分為三個區域, 第一去個區域是請方法, 第…

socket 編程篇六之IPO多路復用-select poll epoll

http://blog.csdn.net/woxiaohahaa/article/details/51498951 文章參考自&#xff1a;http://blog.csdn.net/tennysonsky/article/details/45745887&#xff08;秋葉原 — Mike VS 麥克《Linux系統編程——I/O多路復用select、poll、epoll的區別使用》&#xff09; 此外&#x…

UVa11054

挺簡單的小模擬。 還是要注意思維的方向&#xff0c;要有切入點&#xff0c;不能像無頭蒼蠅一樣東想一下西想一下&#xff0c;而應該分析問題的性質&#xff0c;然后嘗試思維的方向&#xff0c;從不同的方向思考&#xff08;順序&#xff0c;逆序&#xff0c;排序后&#xff0…

淺談傳輸層

1. 傳輸層的作用 在傳輸層中有兩個特別重要的協議 TCP/UDP . 以快遞員送快遞為例說明這個問題吧. 在進行包裹傳輸的過程中快遞員需要根據快遞上的目的地址(目的計算機)來投遞包裹(IP數據報), 加入在快遞單上只寫了收件人的所在地, 所在單位, 而只寫了收件人的姓沒有寫收件人的…

UVa10375

題目描述很簡單,就是求兩個組合數的商.可是數字范圍很大,肯定不能直接計算. 因此要用到唯一分解定理,即將結果全部表示為素因子的冪的形式. #include<cstdio> #include<cstring> #include<algorithm> #include<climits> #include<cctype> #inc…

I/O復用的 select poll和epoll的簡單實現

http://www.cnblogs.com/wj9012/p/3876734.html 一個tcp的客戶端服務器程序 服務器端不變&#xff0c;客戶端通過I/O復用輪詢鍵盤輸入與socket輸入&#xff08;接收客戶端的信息&#xff09; 服務器端&#xff1a; 1 /*服務器:2 1.客戶端關閉后&#xff0c;服務器再向客戶端發送…

netstat 相關命令解析

1.列出所有的端口 netstat -a 列出TCP協議的端口 netstat -at UDP協議的端口 netstat -au 2.列出處于監聽狀態的socket netstat -l 列出監聽的TCP端口 netstat -lt 列出監聽的UDP端口 netstat -lu 列出監聽的UNIX端口 netstat -lx 3.列出協議的統計信息 nestat …

UVa10791

我們可以先用唯一分解定理將這個數字分解成素因子冪的乘積&#xff0c;為了得到最小的和&#xff0c;我們可以發現&#xff1a;每個 素因子的冪單獨分開的和是最小的。 先說明每個素因子都是以出現的最大的次數出現。因為最小公倍數一定&#xff0c;因此至少有一個數字的這個素…

TCP相關代碼

TCP 基礎代碼 //tcp_server.c #include<stdio.h> #include<error.h> #include<sys/types.h> #include<string.h> #include<unistd.h> #include<sys/socket.h> #include<netinet/in.h> #include <arpa/inet.h> #include<st…

UVa1635

我們很容易發現最后每一項的系數就是二項式展開&#xff0c;余數和m沒有關系就意味著可以被m整除&#xff0c;因此我們就需要求出每一個二項式的系數。但是數據實在太大我們根據唯一分解定理將m和系數都進行分解&#xff0c;然后比較因子的冪。 二項式的計算我們可以根據楊輝三…