網絡層:網關協議

一. 網關

所謂的網管即就是之前路由器的名字, 即路由器和網關是一個東西

二. 內部網關協議

1. RIP協議

路由信息協議 RIP 是內部網關協議 IGP中最先得到的廣泛使用的協議. 同時 RIP 是一種分布式基于距離向量的路由選擇協議. RIP 協議要求網絡中的每一個路由都必須維護自己到其他目的網絡的距離記錄. 其中的距離指的是從一個路由器到直接連接的網絡的距離定義為1. 即直接交付條件下距離是1. 間接交付條件下就是這條路由中間經過的路由器的數量. RIP 協議中的距離就是跳數, 因此每經過一個路由器, 跳數就會加1.
它的最佳路由選擇目標是距離最短, 報文首部中生存時間是 15, 如果經過 15 跳路由還沒有到達, 此時就說明兩個路由之間不可達, 報文控制協議會給發送方發送一個出錯信息. 說明 RIP 協議只使用與小型互聯網. 同時路由器中只存在一條路由, 當主機 A 和主機 B 之間有多條路由的時候, RIP 協議會從這三條記錄中選擇一條最短的路徑, 它不會記錄三條路由, 之后記錄最短的一條路由.

2. RIP 協議的三個要點

從自己開始和隔壁進行路由交換, 我把我的路由信息給我的隔壁, 我的隔壁又把它的路由信息給我, 同時我的隔壁又把它的路由給它自己的隔壁, 這樣就可已通過一步一步的交換, 就可以獲得這個網絡中的路由信息. 其中交換的是路由表的所有信息. 同時按照固定的時間進行一次路由交換, 一般是 30 秒左右.

3. 路由表的定義和收斂過程

路由表中除了目的路由和下一條網絡之外會多一個最短距離. 每次查詢 RIP 協議的時候由于它在路由表中定義了最短距離, 因此在查詢路由信息的時候, 會以最短的時間查詢出最短距離, 這就叫做收斂過程

4. 距離向量法路由算法

這里寫圖片描述

5. RIP 協議缺陷

只適用于小的網絡, 同時由于追求最短距離, 可能會在發送過程中由于網絡擁塞等原因造成傳輸效率降低. 同時適用運輸層的數據包 UDP 作為報文信息. 同時 RIP 報文中包括了地址協議, (用的是構成超網, 劃分超網地址等標志), 路由標記即就是路由屬于哪個自治系統, 目的網絡地址, 子網掩碼, 下一跳的路由地址.路由出現故障時需要經過很長的時間才會認定該路由信息是斷開的. 但實現簡單, 收斂速度較快. 由于交換的是整個路由表, 因此隨著網絡的增加, 開銷也會增加.

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

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

相關文章

UVa1152

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

Linux函數--inet_pton / inet_ntop

http://blog.csdn.net/lindyl/article/details/10427925 inet_pton 和 inet_ntop Linux下這2個IP地址轉換函數,可以在將IP地址在“點分十進制”和“整數”之間轉換而且,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 文章參考自:http://blog.csdn.net/tennysonsky/article/details/45745887(秋葉原 — Mike VS 麥克《Linux系統編程——I/O多路復用select、poll、epoll的區別使用》) 此外&#x…

UVa11054

挺簡單的小模擬。 還是要注意思維的方向,要有切入點,不能像無頭蒼蠅一樣東想一下西想一下,而應該分析問題的性質,然后嘗試思維的方向,從不同的方向思考(順序,逆序,排序后&#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;然后比較因子的冪。 二項式的計算我們可以根據楊輝三…

幾種并發服務器模型的實現:多線程,多進程,select,poll,epoll

http://www.cnblogs.com/wj9012/p/3879605.html 客戶端使用select模型&#xff1a; 1 #include <stdio.h>2 #include <stdlib.h>3 #include <string.h>4 #include <errno.h>5 #include <sys/types.h>6 #include <sys/socket.h>7 #include …

哈希表1

1. 初始化 void HashInit(HashTable* ht, HashFunc func) {if(ht NULL || func NULL){return;}ht -> size 0;ht -> func func;int i 0;for(; i < HashMaxSize; i){ht -> data[i].state Empty;} } 2. 哈希表的銷毀 void HashDestroy(HashTable* ht) {if(ht…

UVa10820

實質上就是求歐拉函數值 書上有個板子挺好&#xff0c;也不難理解。 #include<cstdio> #include<cstring> #include<algorithm> #include<climits> #include<cctype> #include<queue> #include<set>using namespace std;typedef l…

linux socket 編程(C語言)

https://www.cnblogs.com/x_wukong/p/4541010.html 最近看了一些網絡編程的書籍&#xff0c;一直以來總感覺網絡編程神秘莫測&#xff0c;其實網絡編程入門還是很容易學的&#xff0c;下面這些代碼是我在linux下編寫的&#xff0c;已經運行過了&#xff0c;編譯之后就可以運行了…

哈希表2

哈希表的初始化 void HashInit(HashTable* ht, HashFunc func) {if(ht NULL){return;}ht -> size 0;ht -> func func;size_t i 0;for(; i < MaxSize; i){ht -> data[i] NULL;} } 哈希表的結點創建 HashElem* CreateHashElemNode(KeyType key, ValueType va…

位圖

相關數據結構 typedef uint64_t BitmapType;#define BITMAPMAXSIZE 1000 //位圖所能容納的位數typedef struct Bitmap {uint64_t* data;uint64_t capacity; }Bitmap; 初始化 void BitmapInit(Bitmap* bm, uint64_t capacity) {if(bm NULL){return;}//當capacity 100, 2個元…

C++中的inline用法

https://www.cnblogs.com/fnlingnzb-learner/p/6423917.html 1. 引入inline關鍵字的原因 在c/c中&#xff0c;為了解決一些頻繁調用的小函數大量消耗棧空間&#xff08;棧內存&#xff09;的問題&#xff0c;特別的引入了inline修飾符&#xff0c;表示為內聯函數。 棧空間就是指…

UVa1262

算是一個模擬吧 #include<cstdio> #include<cstring> #include<algorithm> #include<climits> #include<cctype> #include<queue> #include<set> #include<vector>using namespace std;typedef long long ll; const int INF…