路由器网际网路操纵讯息规约[指南]

讯息网  时间:2021-03-25  阅读:()

網際網路控制訊息規約

一 、說明

任何一個網路系統或多或少都會有些錯誤發生這些錯誤或機器失效會使系統不能正確的運作例如傳輸線損壞TTL的計時器可能用光目的主機可能已經斷線使網際網路規約無法順利傳送資料包中間的路由器可能相當壅塞而無法處理不斷流入的資料包。

當這些情形發生時網際網路軟體系統怎麼辦?一般硬體系統若發生錯誤或失效都會設計有相關的機制告訴主機發生錯誤。相對的通訊軟體也應該要有軟體來報告錯誤或失效的訊息。因此網際網路上加入了一個訊息控制的機制到TCP/IP的規約土此機制稱之為網際網路控制訊息規約(lntenet Control MessageProtocol稱ICMP)

路由器如何使用相關的ICMP機制來報告資料包傳遞的訊息此外主機如何利用它來測試目的地主機是否可順利到達。 ICMP基本上是一套錯誤報告的機制它只負責將錯誤報告回原始的主機再由原來的主機針對錯誤的敘述通知給相關的應用程式知道上以便採取適當的步驟改正錯誤。所以ICMP只負責「通知」 而改正問題或錯誤的處理則不在ICMP的定義範圍內。

在這裡有個重點是 ICMP通知「原始主機」 這是因為在IP的資料包裡只有原始主機與目的地主機兩個IP位址而已從資料包我們無法獲知它所走過的路徑除非利用IP的「記錄路徑」的選項 所以ICMP報告只能報告給原始主機而已。另外I CMP只負責報告而已並不負責更正。

二 、 ICMP訊息的格式

ICMP的訊息是放置在IP資料包的資料區。如下圖

ICMP資料區

IP資料區

訊框資料區

ICMP的訊息是放置在IP的資料區裡形成IP的資料包整個IP的資料包是訊框的資料包" 。如此一層一層的封裝。另外一方面解封裝由訊框的型態

0800來獲知是IP。

IP的表頭之「規約」欄位如果註明01即表示資料包內包著ICMP的資料。雖然每一ICMP的訊息都有著它自己的格式但是起頭的三個欄位為 8位元的

「型態」  8位元「編碼」及16位元的「檢查碼」應該都一樣。

我們要介紹的是「型態」(type)  ICMP常見的型態如下表。

「編號」則是在特定型態底下更細的分類。我們在討論相關的型態時會再仔細的說明編號所代表的意思。

I CMP常見的型態

在ping指令頇指明IP位址另外也可加入送出資料塊的大小選項若不加以說明規定則以32個位元組回覆回來的訊息有bytes=32, time=1 ms TTL=254分別表示回覆資料塊為32位元組回覆時間為l x 10-3秒TTL值254。表示「回音請求」與「回音回覆」的格式。

下圖的例子中第一份資料包是由主機140.113.167.203向主機140.113.167.195發送一份「回音請求」 。第二份資料包是主機140.113.167.195回送一份「回音回覆」 。

140.113.167.203 140.113.167.195

45000020 版本=4 表頭長度=5 服務型態=00 總長度=0X20

00000000 資料包編號=0 旗標=0 資料塊位差=0fa01586b 存活時間=0xfa 規約編號=01 表頭檢查碼=0x586b

8c71 a7cb 來源端IP位址=140.113.167.203

8c71a7c3 目的端IP位址=140.113.167.195

080052f9 ICMP型態=08 編碼=00檢查碼=52f9

95060f00 訊息編號=0x9506 訊息流水碼=0x0f00

45000020 版本=4 表頭長度=5 服務型態=00 總長度=0X20af3e0000 資料包編號=af 旗標=3e 資料塊位差=0ff01 a42c 存活時間=0xff規約編號=01 表頭檢查碼=0xa42c

8c71a7c3 來源端IP位址=140.113.167.195

8c71 a7cb 目的端IP位址=140.113.167.203

00005af9 ICMP型態=00 編碼=00檢查碼=5af9

95060f00 訊息編號=0x9506 訊息流水碼=0x0f00

四 、資料包無法抵達目的地

網路系統並非完美無缺的有時會出現硬體故障或連線損壞的情形。在這種狀況下資料包就會有可能無法順利的抵達目的地。當資料包無法繼續向前傳遞時 ICMP會傳出一份ICMP的資料包型態註明了表示目的無法抵達此一資料包會傳回給最初的的發送站。

同時在資料的部分會填上原先被丟棄資料的IP表頭再加前64位元的資料。

請下圖的格式。

五 、資料包壅塞與流量的控制

由於資料包的傳送是非連線式的傳送所以路由器並不會為特定的資料包事前保留暫存記憶體位置或通訊相關的資源因此當大量的資料包湧入路由器時很可能很快的會用盡路由器的各項網路資源按著下來就是路由器無法負荷資料包流通量而發生系統停滯或當機的現象。舉例而言網際網路透過路由器達到網網相連這網路的連結情形就像公路系統的道路網一般想像一下如果有大量的車潮湧入高速公路就會造成高速公路塞車如果車潮不退反增高速公路會癱瘓就像一座條形的大停車場一般。那如何控制車流流入高速公路閘道儀控管制是一種不錯的方法。

哪些情形可能會產生網路的壅塞

1 因為網際網路並非事前經整體規劃整體鋪設所以某些高速電腦主機可能會瞬間產生大量的資料湧入網路中來一般高速主機會連接到高速的區域網路上但當資料是指定給遠方的主機此時資料可能會經過低速的廣域網路才能到達對方。因此資料會擠在廣域網路的節點上而造成這些節點的壅塞。

2尖峰時段所引起的某些時段正好有大量的主機同時將資料送入網路來而造成瞬間的壅塞現象。

路由器若發現有壅塞的情形時可透過I C MP送出「原始主機熄火」的訊息來疏解壅塞。原始主機熄火訊息是用來通知發送資料的主機降低傳送得速

六 、路徑更改要求

在一般的情形下路由器由於會參與路由規約的運作所以它應知道正確的路徑安排而主機並不參與路由規約的運作它只能由路由器端學習到新的路徑。所以當路由器發現主機所利用的路徑並非最佳的路徑時路由器會發送ICMP「更改方向」的訊息要求主機更改方向下圖即表示路徑更改的例子。

在下圖A主機S要送資料給主機D假設走的路徑是:主機S 路由器G 路由器G2 主機D。但當路由器G2在轉送由主機S來的資料包時發現主機S是與G2有直接相連G2在轉送資料包給主機D後會送出路徑更改的ICMP訊息要求主機S更改路由表。下次主機S有資料包要送給主機D時會由主機S 路由器G2 主機D的路徑中間不會再經過路由器G 如下圖B。

另一值得注意的問題是 ICMP的路徑更改是路由器發出給主機並不能給其

造成路徑更改的原因如下表

R1與R2 在R1的路由表中要到目的地主機B下一站頇送到R2 反過來R2的路由表中要到主機B下一站頇送到R1 因此有個資料要送到主機B若經過路由器R1或R2就會陷入環狀路徑中而繞不出來。下圖即顯示此一現

象。

為了解決此環狀路徑的錯誤會因資料繞不出來而癱瘓環狀路徑上的路由器。在IP的表頭中我們設計有一個存活時間T T L(t ime-to-liv e)的欄位或稱中繼

路由器會送出ICMP「逾時」通知它此一資

料包路徑過長而被丟掉。

另一種情形是分割後的資料包是分別到達目的地主機所以針對每一分割的資料包當分割後資料包第一份到達時我們起動一個計時器然後開始等其

存資源被佔用而不釋放這時IP的運作是在計時器用完走後就清除沒到齊的資料塊將之丟棄然後送出ICMP 「逾時」的訊息給原始主機通知它此資料包逾時而被丟棄。

八 、資料包的追蹤

在UN IX作業系統中有一個「trac ero ute」的指令可以用來追蹤瞭解資料包由原始主機到目的主機所定的路徑。下圖即是在140.130.45.136的主機之UN IX系統上執行trac ero ute的指令。

#tracero ute 140.113.167.195traceroute to 140.113.167.195(140.113.167.195),30 hops max,40 byte p ackets

1 pc450254(140.130.45.254) 1.329ms 1.289ms 1.011ms

2 140.130.251.123(140.130.251.123) 2.364ms 1.632ms 1.555ms

3 TANet-NCTU.edu.tw(203.72.38.113) 27.560 ms 23.651 ms 17.133 ms4 TANet-HcRC.nctu.edu.tw(140.113.247.254) 18.536 ms* 51.900 ms

5 ATM-Gw-GE.nctu.edu.tw(140.113.57.253) 54.112 ms 48.941 ms 45.533 ms

6 CIS-E3sw.nctu.edu.tw(140.113.53.63) 41.518 ms 49.590 ms 44.106 ms

7 Monet.cis.nctu.edu.tw(140.113.167.195) 31.846 ms 41.426 ms 33.733 ms#

由主機140.130.45.136出發經140.130.45.254、 140.130.251.123 、…、

140.113.53.63到140.113.167.195主機。

那trac ero ute指令是如何製作的?事實上由原始主機送出一份資料給

140.113.167.195 在IP的表頭中TT L的欄位填l 那麼這份資料到達第l個路由器時T TL的值會減去l 變為0。此時TC P/IP的軟體會認為此份資料逾時則會送出一份ICMP 「逾時」的訊息回給原始主機140.130.45.137 。在trace ro ute這應用程式收到「逾時」訊息它可由「逾時」訊息中取出發送此訊息主機之IP位址此即為第一站。接下來trac ero ute應用程式會送出TT L值為2的資料所以第1站的路由器減去1以後TTL還剩1 接下來第1站路由器將這份資料往下送到第2站時TTL值會被減為0 此時若未到達目的地主機時則會送回ICMP 「逾時」之訊息若已到達目的地主機時則會回送ICMP目的地到達訊息。

npidc:9元/月,cn2线路(不限流量)云服务器,金盾+天机+傲盾防御CC攻击,美国/香港/韩国

npidc全称No Problem Network Co.,Limited(冇問題(香港)科技有限公司,今年4月注册的)正在搞云服务器和独立服务器促销,数据中心有香港、美国、韩国,走CN2+BGP线路无视高峰堵塞,而且不限制流量,支持自定义内存、CPU、硬盘、带宽等,采用金盾+天机+傲盾防御系统拦截CC攻击,非常适合建站等用途。活动链接:https://www.npidc.com/act.html...

Webhosting24:€15/年-AMD Ryzen/512MB/10GB/2TB/纽约&日本&新加坡等机房

Webhosting24是一家始于2001年的意大利商家,提供的产品包括虚拟主机、VPS、独立服务器等,可选数机房包括美国洛杉矶、迈阿密、纽约、德国慕尼黑、日本、新加坡、澳大利亚悉尼等。商家VPS主机采用AMD Ryzen 9 5950X CPU,NVMe磁盘,基于KVM架构,德国机房不限制流量,网站采用欧元计费,最低年付15欧元起。这里以美国机房为例,分享几款套餐配置信息。CPU:1core内存...

VinaHost,越南vps,国内延时100MS;不限流量100Mbps

vinahost怎么样?vinahost是一家越南的主机商家,至今已经成13年了,企业运营,老牌商家,销售VPS、虚拟主机、域名、邮箱、独立服务器等,机房全部在越南,有Viettle和VNPT两个机房,其中VNPT机房中三网直连国内的机房,他家的产品优势就是100Mbps不限流量。目前,VinaHost商家发布了新的优惠,购买虚拟主机、邮箱、云服务器、VPS超过三个月都有赠送相应的时长,最高送半年...

讯息网为你推荐
diskmedia支付宝蜻蜓发布蜻蜓支付怎样实现盈利360退出北京时间电脑桌面右下放了时间不对了怎么可以准确调回北京时间波音737起飞爆胎一般的客机的起飞速度是多少?支付宝是什么什么是支付宝? 请详细介绍.加多宝和王老吉王老吉和加多宝的区别宜人贷官网我在宜人财富贷款2万元,下款的时候时候系统说银行卡号错误,然 我在宜人财富贷款2万我在宜人财富贷款正大天地网正大光明是什么数字zhuo爱timi什么意思温州都市报招聘温州哪里有招暑期工?怎么去?要什么条件?急......
主机域名 已备案未注册域名 网易域名邮箱 紫田 42u标准机柜尺寸 godaddy优惠券 iis安装教程 促正网秒杀 全站静态化 天互数据 七夕促销 免费活动 免费智能解析 网通服务器托管 超级服务器 海外空间 丽萨 云营销系统 linode支付宝 中国域名 更多