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

讯息网  时间: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目的地到達訊息。

香港CN2云服务器 1核 2G 35元/月 妮妮云

妮妮云的来历妮妮云是 789 陈总 张总 三方共同投资建立的网站 本着“良心 便宜 稳定”的初衷 为小白用户避免被坑妮妮云的市场定位妮妮云主要代理市场稳定速度的云服务器产品,避免新手购买云服务器的时候众多商家不知道如何选择,妮妮云就帮你选择好了产品,无需承担购买风险,不用担心出现被跑路 被诈骗的情况。妮妮云的售后保证妮妮云退款 通过于合作商的友好协商,云服务器提供2天内全额退款到网站余额,超过2天...

JustHost:俄罗斯/新西伯利亚vps,512MB内存/5GB空间/不限流量/200Mbps/KVM/自由更换IP,$1.57/月

justhost怎么样?justhost是一家俄罗斯主机商,2006年成立,提供各种主机服务,vps基于kvm,有HDD和SSD硬盘两种,特色是200Mbps不限流量(之前是100Mbps,现在升级为200Mbps)。下面是HDD硬盘的KVM VPS,性价比最高,此外还有SSD硬盘的KVM VPS,价格略高。支持Paypal付款。国内建议选择新西伯利亚或者莫斯科DataLine。支持Paypal付...

BGP.TO日本和新加坡服务器进行促销,日本服务器6.5折

BGP.TO目前针对日本和新加坡服务器进行促销,其中日本东京服务器6.5折,而新加坡服务器7.5折起。这是一家专门的独立服务器租售网站,提供包括中国香港、日本、新加坡和洛杉矶的服务器租用业务,基本上都是自有硬件、IP资源等,国内优化直连线路,机器自动化部署上架,并提供产品的基本管理功能(自助开关机重启重装等)。新加坡服务器 $93.75/月CPU:E3-1230v3内存:16GB硬盘:480GB ...

讯息网为你推荐
小企业如何做品牌小公司如何创立自己的品牌destoondestoon这个变量是啥意思?http404未找到HTTP 404 - 未找到文件,怎么解决啊access数据库修复请问Access数据库修复恢复该怎么办啊,有些页和模块打不开了,也不知道是怎么回事,丢了文件还美要求解锁iPhoneiphone美版解锁硬解大概需要多少钱啊360公司迁至天津奇虎360公司在哪?12306.com注册12306邮箱地址怎么写厦门三五互联科技股份有限公司厦门三五互联做销售怎么样?三五互联科技股份有限公司厦门三五互联科技股份有限公司 怎么样?佛山海虹海虹蒸多长时间
美国虚拟主机空间 网站域名空间 域名备案网站 电信测速器 59.99美元 l5520 天猫双十一抢红包 免费博客空间 云图标 ca4249 免费cdn 服务器硬件防火墙 卡巴斯基官网下载 apnic 国外免费网盘 酷锐 windowsserver2008 web服务器有哪些 asp简介 游戏服务器 更多