第一篇:BGP協(xié)議實(shí)現(xiàn)的單IP雙線路
用BGP協(xié)議實(shí)現(xiàn)的單IP雙線路
BGP(邊界網(wǎng)關(guān)協(xié)議)協(xié)議主要用于互聯(lián)網(wǎng)AS(自治系統(tǒng))之間的互聯(lián),BGP的最主要功能在于控制路由的傳播和選擇最好的路由。中國(guó)網(wǎng)通與中國(guó)電信都具有AS號(hào)(自治系統(tǒng)號(hào)),全國(guó)各大網(wǎng)絡(luò)運(yùn)營(yíng)商多數(shù)都是通過(guò)BGP協(xié)議與自身的AS號(hào)來(lái)互聯(lián)的。使用此方案來(lái)實(shí)現(xiàn)雙線路需要在CNNIC(中國(guó)互聯(lián)網(wǎng)信息中心)申請(qǐng)IDC自己的IP地址段和AS號(hào),然后通過(guò)BGP協(xié)議將此段IP地址廣播到網(wǎng)通、電信等其它的網(wǎng)絡(luò)運(yùn)營(yíng)商,使用BGP協(xié)議互聯(lián)后網(wǎng)通與電信的所有骨干路由設(shè)備將會(huì)判斷到IDC機(jī)房IP段的最佳路由,以保*網(wǎng)通、電信用戶的高速訪問(wèn)。
使用此方案具體以下優(yōu)點(diǎn):
1. 服務(wù)器只需要設(shè)置一個(gè)IP地址,最佳訪問(wèn)路由是由網(wǎng)絡(luò)上的骨干路由器根據(jù)路由跳數(shù)與其它技術(shù)指標(biāo)來(lái)確定的,不會(huì)對(duì)占用服務(wù)器的任何系統(tǒng)資源。服務(wù)器的上行路由與下行路由都能選擇最優(yōu)的路徑,所以能真正實(shí)現(xiàn)高速的單IP雙線訪問(wèn)。
2. 由于BGP協(xié)議本身具有冗余備份、消除環(huán)路的特點(diǎn),所以當(dāng)IDC服務(wù)商有多條BGP互聯(lián)線路時(shí)可以實(shí)現(xiàn)路由的相互備份,在一條線路出現(xiàn)故障時(shí)路由會(huì)自動(dòng)切換到其它線路。
3. 使用BGP協(xié)議還可以使網(wǎng)絡(luò)具有很強(qiáng)的擴(kuò)展性可以將IDC網(wǎng)絡(luò)與其他運(yùn)營(yíng)商互聯(lián),輕松實(shí)現(xiàn)單IP多線路,做到所有互聯(lián)運(yùn)營(yíng)商的用戶訪問(wèn)都很快。這個(gè)是雙IP雙線無(wú)法比擬的。雖然BGP方案是最好的解決方案但由于此方案需要IDC提供商的設(shè)備投入與帶寬投入方面較大并且技術(shù)上較為復(fù)雜,所以目前國(guó)內(nèi)采用此方案僅限于實(shí)力較強(qiáng)的專(zhuān)業(yè)IDC服務(wù)商。綜上所述,以上各種雙線實(shí)現(xiàn)的方式各有優(yōu)缺點(diǎn),雙IP雙線成本較低,但網(wǎng)絡(luò)不夠穩(wěn)定并且占用大量的服務(wù)器資源,普通單IP雙線路只是實(shí)現(xiàn)了部分雙線路的效果所以訪問(wèn)速度不佳,CDN方式對(duì)靜態(tài)網(wǎng)頁(yè)效果很好但對(duì)交互性很強(qiáng)的網(wǎng)頁(yè)效果不太理想,BGP單IP雙線路解決了以上所有的問(wèn)題是最好的實(shí)現(xiàn)方式但國(guó)內(nèi)采用此種方案的IDC服務(wù)商較少,如果能將BGP單IP雙線與CDN加速結(jié)合起來(lái)將會(huì)是最優(yōu)的解決方案。目前全國(guó)已有不少合用BGP技術(shù)方案的數(shù)據(jù)中心,但大多為特殊客戶提供服務(wù),很少有針對(duì)普通用戶和IDC商的機(jī)房。鄭州市景安互聯(lián)網(wǎng)數(shù)據(jù)中心,經(jīng)過(guò)長(zhǎng)達(dá)兩年的技術(shù)積累和準(zhǔn)備工作,在取得多方面支持下,申請(qǐng)成功了自己的IP段,和自制域,并與電信、網(wǎng)通達(dá)成BGP互聯(lián)協(xié)議,在今年五月份正式向全國(guó)普通用戶和IDC供應(yīng)商推出了BGP服務(wù)器的機(jī)房,使國(guó)內(nèi)最尖端的互聯(lián)解決方案走向每個(gè)使用互聯(lián)網(wǎng)的人。并在7月初實(shí)現(xiàn)了長(zhǎng)寬的BGP,達(dá)到三線互通。在8月中旬與鐵通的互通。景安單IP四網(wǎng)互通,您投資互聯(lián)網(wǎng)的最佳方案。
第二篇:BGP 協(xié)議原理總結(jié)
BGP協(xié)議原理總結(jié)
BGP協(xié)議3:
邊界網(wǎng)關(guān)路由協(xié)議(版本3)
RFC1267
王尚
201192339
名詞解釋?zhuān)?/p>
1 AS(自治系統(tǒng)):在單一技術(shù)管理下的一系列路由器,他們使用一個(gè)內(nèi)部網(wǎng)關(guān),在AS內(nèi)部路由數(shù)據(jù)包的共同標(biāo)準(zhǔn),使用同一個(gè)外部網(wǎng)關(guān)協(xié)議來(lái)想其他AS傳輸數(shù)據(jù)包。因?yàn)檫@個(gè)經(jīng)典的解釋已經(jīng)被擴(kuò)展,所以對(duì)于一個(gè)單一的AS來(lái)說(shuō)在內(nèi)部使用多個(gè)內(nèi)部網(wǎng)關(guān)協(xié)議和有時(shí)多個(gè)系列的標(biāo)準(zhǔn)已經(jīng)很普遍了。(在這里使用的AS強(qiáng)調(diào)了這樣的事實(shí),即便多個(gè)內(nèi)部網(wǎng)關(guān)協(xié)議和度量標(biāo)準(zhǔn)被使用,一個(gè)AS面向其他的AS的管理?yè)碛幸粋€(gè)單一的連貫一致的內(nèi)部路由方案,并且展示一個(gè)始終如一的圖片,什么的網(wǎng)絡(luò)通過(guò)它可以到達(dá)。從外部的路由的觀點(diǎn)來(lái)看一個(gè)AS可以被看做一個(gè)單片集成電路:)
圖1 AS系統(tǒng)
IGP(內(nèi)部的邊界網(wǎng)關(guān)協(xié)議)專(zhuān)門(mén)用于自治系統(tǒng)中的網(wǎng)關(guān)間交換數(shù)據(jù)流轉(zhuǎn)通道信息的協(xié)議
EGP(外部的邊界網(wǎng)關(guān)協(xié)議)在自治系統(tǒng)間的相鄰的網(wǎng)關(guān)主機(jī)間交換路由信息的協(xié)議。常用于在INTERNET主機(jī)間交換路由表信息。一個(gè)輪詢協(xié)議,利用HELLO和I-HEARD-YOU消息的轉(zhuǎn)換,能讓每個(gè)網(wǎng)關(guān)控制盒接受網(wǎng)絡(luò)可達(dá)性信息的速率,容許每個(gè)系統(tǒng)控制自己的開(kāi)銷(xiāo),同時(shí)發(fā)出命令請(qǐng)求更新響應(yīng)。路由表包括一組一知路由器及這些路由器的可到達(dá)地址及路徑開(kāi)銷(xiāo),從而選擇最佳路由。每個(gè)路由器沒(méi)個(gè)120或者480秒訪問(wèn)鄰居一次,鄰居發(fā)揮完整的路由表來(lái)響應(yīng)。
IBGP(內(nèi)部邊界網(wǎng)關(guān)協(xié)議)EBGP(外部邊界網(wǎng)關(guān)協(xié)議)EBGP對(duì)等體
BGP和IGP同步:一個(gè)BGP路由器不將從內(nèi)部Peer得知的目的地通告給外部Peer,除非該目的地也能通過(guò)IGP得知。若一個(gè)路由器通過(guò)IGP得知該目的地,則可以認(rèn)為路由能在AS中傳播,內(nèi)部通達(dá)已經(jīng)可以得到保證。2 3
4 5 6 7
BGP協(xié)議概述
1 BGP協(xié)議是外部路由協(xié)議,用來(lái)在AS之間傳遞路由信息。2 是一種增強(qiáng)的距離矢量路由協(xié)議。具有以下特點(diǎn):
① 可靠的路由更新機(jī)制 3 4 5 6 7 8 9 ②
豐富的Metric度量方法 ③
從設(shè)計(jì)上避免了環(huán)路的發(fā)生 可以為路由附帶屬性信息
支持CIDR(無(wú)類(lèi)別域間路由)豐富的路由過(guò)濾和路由策略
使用的傳輸層協(xié)議是TCP協(xié)議,使用的端口號(hào)是179 無(wú)需周期性的更新
周期性的發(fā)送KEEPALIVE報(bào)文驗(yàn)證TCP連接的連通性 在進(jìn)行路由更新時(shí)只發(fā)送路由增量
BGP路由通告原則
1 當(dāng)存在多條路徑時(shí),BGPSpeaker只選擇最優(yōu)的給自己使用 2 BGPSpeaker只把自己只用的路由通告給鄰居
3 BGPSpeaker從EBPG獲得的路由會(huì)向他的所有BGP鄰居通告(包括EBGP和IBGP)
4 BGPSpeaker從IBGP獲得的路由不向它的IBGP鄰居發(fā)送
5 BGP Speaker從IBGP獲得的路由是否會(huì)通告給他的EBGP對(duì)等體要依從于IGP和BGP同步的情況來(lái)決定
6 連接一但建立,BGP Speaker?qū)炎约核校拢牵新酚赏ǜ娼o新的鄰居
IBGP全連接
① IBGP對(duì)等體物理意義上的全連接 ② IBGP對(duì)等體邏輯意義上的全連接
BGP報(bào)文種類(lèi)
1 Open:在TCP會(huì)話建立之后,兩個(gè)鄰居都將發(fā)送Open消息,每個(gè)鄰居都
利用該消息標(biāo)識(shí)自己并指定BGP操作參數(shù)
2 KeepAlive:當(dāng)路由器接受了由鄰居發(fā)送來(lái)的Open消息中的指定參數(shù)。
它將響應(yīng)一條KeepAlive消息,此后路由器每60秒發(fā)送一條KeepAlive消息,或是以協(xié)商的保持時(shí)間的1/3為周期發(fā)送KeepAlive消息。由于KEEPALIVE純粹是一個(gè)通信知會(huì),不需要攜帶什么信息,因此KEEPALIVE報(bào)文實(shí)際上是不帶數(shù)據(jù)的BGP報(bào)文頭。
3 Update:被用來(lái)宣告可行路由、撤銷(xiāo)的路由 4 Notification:只要路由器檢測(cè)到差錯(cuò)就會(huì)發(fā)送Notificat
ion消息并關(guān)閉BGP進(jìn)程,隨后我們將看到BGP鄰居斷開(kāi),然后試圖重新建立BGP鄰居。BGP報(bào)文頭
BGP報(bào)文的格式都是一樣的:BGP報(bào)文頭+BGP報(bào)文體
其中BGP報(bào)文頭格式如下:
圖 2 BGP報(bào)文頭 ⑴ Maker(16byte):全為1,否則標(biāo)記值要使用認(rèn)證機(jī)制來(lái)計(jì)算(認(rèn)證機(jī)制是通過(guò)認(rèn)證信息的一部分來(lái)指定的)。標(biāo)記可以用來(lái)探測(cè)BGP對(duì)端的同步丟失,認(rèn)證進(jìn)入的BGP消息。⑵ Length(2byte)BGP報(bào)文的全長(zhǎng),長(zhǎng)度值必須最少19個(gè)字節(jié),最大4096個(gè)字節(jié)??赡芨?,根據(jù)報(bào)文類(lèi)型決定 ⑶ Type(1byte)1-Open
2-UPDATE
3—Notification
4KeepAlive
Open報(bào)文:
⑷ ⑸ ⑹ ⑺
圖3 Open報(bào)文頭
Version(1字節(jié))當(dāng)前BGP版本號(hào)為3 My Autonomus System(2字節(jié)):發(fā)射者自導(dǎo)系統(tǒng)號(hào) HoldTIME(2字節(jié)):BGP的Hold time為180秒 BGPIDE NTIFIER(4字節(jié)):發(fā)送者的BGP route ID
⑻ AUTH.CODE
⑼ AUTHE NTICATIO NDATA
Update
圖 4 Update報(bào)文頭
⑽ TOTALPath AttributeSLE NGTH(2字節(jié)):總的路徑屬性長(zhǎng)度 0代表在UPDATE消息中沒(méi)有網(wǎng)絡(luò)層可達(dá)信息域 ⑾ Path Attribute:路徑屬性,在一個(gè)UPDATE中可能存在多個(gè)路徑屬性對(duì)。每個(gè)路徑屬性對(duì)包括Attribute Flags,Attribute type code,Attribute Date Length 三個(gè)字段。Attribute Flags,Attribute type code 各占一個(gè)字節(jié)。
⒈ Attribute Flags的8位分別表示:
⒉ Attribute type code指明是什么屬性。
圖 5 Attribute type code屬性
⑿ Network(4字節(jié)): INTER NET NETWOR K編碼表明這個(gè)AS的路由由這個(gè)路徑屬性表明
③ KeepAlive報(bào)文
④ Notification報(bào)文
圖6 Notification報(bào)文頭 ⑴ ERRORCODE:(1字節(jié))
⑵ Error Subcode(1字節(jié))
⑶ Date用來(lái)診斷Notification的原因。依賴于錯(cuò)誤碼和錯(cuò)誤子碼。Message Length=21+data length
BGP協(xié)議中消息的使用
1 通過(guò)TCP建立BGP連接時(shí),發(fā)送Open報(bào)文
2 連接建立后,如果路由需要發(fā)送或者路由改變時(shí),發(fā)送Update報(bào)文告知對(duì)端路由信息
3穩(wěn)定后此時(shí)要定時(shí)發(fā)送KeepAlive報(bào)文以保持BGP連接的有效性
4檔本地BGP在運(yùn)行中發(fā)生錯(cuò)誤時(shí),發(fā)送Notification報(bào)文告知BGP對(duì)端 BGP有限狀態(tài)機(jī)
BGP會(huì)話共有6種狀態(tài),分別是: 1CONNECT 3OpenSENT
5ESTABLISHED
BGP會(huì)話共有13種事件,影響BGP的會(huì)話,分別是: 1BGPStop
3BGPTransport ConnectionCLOSED
5BGPTRANSPORTFATALERROR 7HoldTimerExPIRED
9ReceiveOPENMESSAGE
11ReceiveUpdateMESSAGES
13-ReceiveNOTIFICATIONMESSAGE 1 空閑狀態(tài) BGP通常以空閑狀態(tài)開(kāi)始。在該狀態(tài)下,它拒絕接收所有入連接。當(dāng)一個(gè)開(kāi)始事件出現(xiàn)的時(shí)候,BGP初始化所有BGP資源,打開(kāi)重試連接計(jì)時(shí)器(ConnectRetrytimer)、初始化到鄰居的TCP連接、接聽(tīng)來(lái)自鄰居的TCP初始化消息,并將它的狀態(tài)轉(zhuǎn)到連接狀態(tài)。開(kāi)始事件是由一個(gè)操作者配置一個(gè)BGP過(guò)程,或重置一個(gè)已經(jīng)存在的過(guò)程,或者由路由器軟件重置BGP過(guò)程引起的。一個(gè)差錯(cuò)的出現(xiàn)會(huì)將BGP過(guò)程的狀態(tài)轉(zhuǎn)為空閑狀態(tài)。路由器可能會(huì)試圖發(fā)起另外一個(gè)是事件。但是對(duì)于路由器如何完成這個(gè)過(guò)程應(yīng)當(dāng)加以限制——在具有持續(xù)差錯(cuò)的條件下,堅(jiān)持不懈的試圖重新開(kāi)始會(huì)導(dǎo)致擺動(dòng)。因此,在第一次轉(zhuǎn)向空閑狀態(tài)以后,路由器會(huì)啟動(dòng)重試連接計(jì)時(shí)器,當(dāng)計(jì)時(shí)器終止后,路由器就會(huì)放棄重新開(kāi)始BGP。下一次ConnectRetry時(shí)間是前一次的兩倍,以此類(lèi)推。2 連接狀態(tài)
在這種狀態(tài)下,BGP過(guò)程會(huì)等到TCP連接完成以后再?zèng)Q定后續(xù)動(dòng)作。如果TCP連接成功,BGP連接將ConnectRetry清零,完成初始化過(guò)程,給鄰居發(fā)送一個(gè)Open消息并轉(zhuǎn)移到發(fā)送Open消息狀態(tài)。如果TCP連接建立失敗。BGP過(guò)程會(huì)繼續(xù)監(jiān)聽(tīng)由鄰居發(fā)起的連接、重置ConnectRetry計(jì)時(shí)器并轉(zhuǎn)移到激活狀態(tài)。
如果再連接狀態(tài)下,ConnectRetry計(jì)時(shí)器超時(shí)了,計(jì)時(shí)器將重新開(kāi)始計(jì)時(shí),并再一次試圖與鄰居建立一個(gè)TCP連接,BGP狀態(tài)繼續(xù)保持在連接狀態(tài)。任何一個(gè)其他輸入事件的出現(xiàn)都會(huì)導(dǎo)致BGP狀態(tài)轉(zhuǎn)向空閑。3 激活狀態(tài)
在這個(gè)狀態(tài)下,BGP過(guò)程試圖與鄰居建立一個(gè)TCP連接。如果TCP連接建立成功,BGP過(guò)程將ConnectRetry清零,完成初始化工作,給鄰居發(fā)送一個(gè)Open消息并轉(zhuǎn)移到發(fā)送Open消息狀態(tài)。
如果BGP在激活狀態(tài)時(shí),ConnectRetry計(jì)時(shí)器超時(shí),該過(guò)程回到連接狀態(tài)并且重置ConnectRetry計(jì)時(shí)器。它同樣也發(fā)起一個(gè)到對(duì)等的TCP連接并且繼續(xù)監(jiān)聽(tīng)來(lái)自對(duì)等得連接。如果鄰居試圖與一個(gè)未知的IP 地址建立TCP會(huì)話,那么ConnectRetry計(jì)時(shí)器會(huì)被重置,連接被拒絕并且本地過(guò)程保持在激活狀態(tài)。任何一個(gè)輸入事件(除了開(kāi)始事件,在激活狀態(tài)下該事件會(huì)被忽略)都會(huì)導(dǎo)致?tīng)顟B(tài)轉(zhuǎn)移為空閑。
4 發(fā)送Open消息狀態(tài)
在這種狀態(tài)下,已經(jīng)發(fā)送了Open消息,BGP正在等待從鄰居發(fā)來(lái)的Open消息。當(dāng)收到一個(gè)Open消息后,檢查該消息的所有字段。如果發(fā)現(xiàn)了差錯(cuò),會(huì)給它的鄰居發(fā)送一個(gè)Notification消息并且將狀態(tài)轉(zhuǎn)移到空閑。
如果再接收到的Open消息種沒(méi)有發(fā)現(xiàn)差錯(cuò)。BGP給鄰居發(fā)送一個(gè)KeepAlive消息,并且將KeepAlive計(jì)時(shí)器置位。鄰居之間協(xié)商一個(gè)Hold時(shí)間,他們會(huì)選用較小的值。如果協(xié)商的Hold時(shí)間是0,則沒(méi)有啟動(dòng)Hold和KeepAlive計(jì)時(shí)器。根據(jù)對(duì)等的AS號(hào),決定該連接是內(nèi)部的還是外部的,并且將狀態(tài)轉(zhuǎn)移到Open消息確認(rèn)。
如果收到了一個(gè)TCP斷開(kāi)消息,本地過(guò)程斷開(kāi)BGP連接,重置ConnectRetry計(jì)時(shí)器,開(kāi)始監(jiān)聽(tīng)將要由鄰居發(fā)起的新的連接并將狀態(tài)轉(zhuǎn)移到激活。任何一個(gè)輸入事件(除了開(kāi)始事件,在激活狀態(tài)下該事件會(huì)被忽略)都會(huì)導(dǎo)致?tīng)顟B(tài)轉(zhuǎn)移為空閑。5 Open消息確認(rèn)狀態(tài)
在這種狀態(tài)下,BGP過(guò)程會(huì)等待一個(gè)KeepAlive或者Notification消息。如果收到KeepAlive消息,轉(zhuǎn)移到已建立狀態(tài)。如果收到Notification消息或者TCP斷開(kāi)消息,狀態(tài)轉(zhuǎn)移到空閑。
如果Hold計(jì)時(shí)器超時(shí),檢測(cè)到一個(gè)差錯(cuò)或出現(xiàn)一個(gè)stop事件,BGP過(guò)程會(huì)給鄰居發(fā)送一個(gè)Notification消息并且斷開(kāi)BGP連接,將狀態(tài)轉(zhuǎn)向空閑。6 已建立狀態(tài)
在這種狀態(tài)下,BGP對(duì)等之間的連接完全建立起來(lái)了,對(duì)等之間可以交換Update、KeepAlive、Notification消息。如果收到Update或者KeepAlive消息,重新啟動(dòng)Hold計(jì)時(shí)器(如果協(xié)商的Hold時(shí)間是非零)。如果收到Notification消息,狀態(tài)會(huì)轉(zhuǎn)移到空閑。任何其他的事件都會(huì)導(dǎo)致Notification消息的發(fā)送并將狀態(tài)轉(zhuǎn)移到空閑。
BGP建立鄰居后,會(huì)通過(guò)相互發(fā)送類(lèi)似hello包的數(shù)據(jù)來(lái)維持鄰居關(guān)系,這個(gè)數(shù)據(jù)包稱(chēng)為KeepAlive,默認(rèn)60秒發(fā)送一次,holdtimer?yàn)椋保福懊耄吹竭_(dá)180秒沒(méi)有收到鄰居的KeepAlive,便認(rèn)為鄰居丟失,則斷開(kāi)與鄰居的連接。KeepAlive發(fā)送時(shí)間間隔的推薦值為Hold計(jì)時(shí)器值餓1/3,最小為3秒。
BGP Update 消息處理
Update消息僅僅在建立狀態(tài)被接收。當(dāng)一個(gè)UPDATE消息被接收,每一個(gè)域要有效性檢查。
如果可選的非轉(zhuǎn)發(fā)的屬性不認(rèn)識(shí),默認(rèn)丟棄。如果可選轉(zhuǎn)發(fā)屬性不認(rèn)識(shí),屬性標(biāo)志字節(jié) 設(shè)置部分位(第三個(gè)高位順序位),保留屬性公告到別的BGP Speaker。如果可選的屬性被認(rèn)識(shí),而且值有效,要根據(jù)可選參數(shù)的類(lèi)型在本地處理,保留,如果必要的話,更新廣播到別的BGP發(fā)言者。
如果UPDATE消息包括非空的WITHDRAWNROUTES域,先前廣播的路由如果目的地包括在這里面需要從Adj-RIB_IN中移出來(lái)。BGPSpeaker應(yīng)該運(yùn)行決策過(guò)程,原因是先前的公告路由不再可用。
如果UPDATE消息包括了一個(gè)可用的路由,應(yīng)該放在相應(yīng)的Adj-RIB_IN內(nèi)部,同時(shí)做下面的步驟:
① 如果網(wǎng)絡(luò)層可達(dá)信息(NLRI)和Adj-RIB_IN的路由一樣,新路由應(yīng)該替換老路由,這樣明確撤銷(xiāo)了老路由的服務(wù)。BGP發(fā)言者運(yùn)行決策過(guò)程,原因是老路由不再存在。
②如果新的路由重疊包含在Adj-RIB-IN老路由內(nèi)部,BGPSpeaker應(yīng)該運(yùn)行決策過(guò)程,因?yàn)楦厥饴酚墒沟迷瓉?lái)的更不特殊路由的一部分不可用了。
③如果新路由有和Adj_RIB_IN內(nèi)包含的路由同樣的路徑屬性,并且更特殊。不需要做任何事情。
④如果新路由的NLRI不同于Adj-RIB-IN存儲(chǔ)的任何路由,新路由應(yīng)該放入。BGP發(fā)言者應(yīng)該運(yùn)行決策進(jìn)程。如果新路由是更不特別的重疊路由,BGP發(fā)言者應(yīng)該運(yùn)行對(duì)更不特殊的路由運(yùn)行決策進(jìn)程。
Ⅰ 決策過(guò)程
決策過(guò)程選擇路由用于下一步的通告,方法是應(yīng)用本地策略信息庫(kù)(PIB)的策略處理Adj-RIB-IN中的路由。決策過(guò)程的輸出是廣播到對(duì)端的路由集合;被選的路由存儲(chǔ)在Adj-RIB-Out中。選擇過(guò)程可以定義為一個(gè)函數(shù),給定路由的屬性作為參數(shù),返回非負(fù)的整數(shù)指示路由的優(yōu) 先級(jí)別。計(jì)算路由優(yōu)先級(jí)別的函數(shù)不能把以下的情況作為輸入:別的路由的存在,別的路由的不存在,或者別的路由的路徑屬性。路由選擇對(duì)每一個(gè)可用路由運(yùn)用優(yōu)先程度算法,選擇最高優(yōu)先程度的路由。
決策過(guò)程操作Adj-RIB-IN包括的路由中,同時(shí)負(fù)責(zé):-選擇路由通告到本地的AS中別的BGP發(fā)言者-選擇路由通告到鄰居AS中的BGP發(fā)言者-路由聚合和路由信息簡(jiǎn)化
決策過(guò)程分三期,通過(guò)不同的事件觸發(fā)。
⑴一期負(fù)責(zé)計(jì)算來(lái)自鄰居AS的BGP發(fā)言者的每條路有的優(yōu)先級(jí),通告到在本地AS的 別的BGP發(fā)言者到每個(gè)確定的目的地的具有最高優(yōu)先級(jí)的路由。⑵二期在一期完成的時(shí)候激活。負(fù)責(zé)從到達(dá)目的地的所有路由中選擇最好的路由,同時(shí)安裝每個(gè)選擇的路由到相應(yīng)的LOC-RIB。⑶在LOC-RIB修改后激活三期。負(fù)責(zé)發(fā)布LOC_RIB中的路由到鄰居AS的每個(gè)對(duì)端。路由聚合和信息簡(jiǎn)約在這期可選的執(zhí)行。PHASE1: 優(yōu)先級(jí)的計(jì)算
無(wú)論何時(shí)本地的BGP發(fā)言者接受到鄰居AS的對(duì)端的通告新的路由,替代路由,測(cè)銷(xiāo)路由的UPDATE消息,都要激活一期決策過(guò)程,一期決策過(guò)程是獨(dú)立的過(guò)程,當(dāng)沒(méi)有別的工作要做的時(shí)候就停止。一期決策功能在操作任何包含路由之前鎖定Adj-RIB-IN,在操作完成所有新的或者不可用的路由之后,解開(kāi)Adj-RIB-IN。每一個(gè)新收到或者替代的可用路由,本的BGP發(fā)言者應(yīng)該確定一個(gè)優(yōu)先級(jí)。如果路由是通過(guò)本地AS的BGP發(fā)言者學(xué)習(xí)到的,或者LOCAL-PREF值被當(dāng)作優(yōu)先級(jí),或者本地系統(tǒng)應(yīng)該根據(jù)預(yù)先配置的策略信息計(jì)算路由優(yōu)先級(jí)。如果路由通過(guò)鄰居AS中的BGP發(fā)言者學(xué)習(xí),優(yōu)先級(jí)的計(jì)算是根據(jù)預(yù)先配置的策略。策略信息的確切特性和相關(guān)計(jì)算是本地的問(wèn)題。本的發(fā)言者應(yīng)該云內(nèi)部更新過(guò)程選擇并且通告最佳路由。PHASE2: 路由選擇
第二期決策函數(shù)在第一期完成后激活。第二期函數(shù)是獨(dú)立的過(guò)程當(dāng)沒(méi)有更進(jìn)一步的工作要做的時(shí)候就停止。第二期進(jìn)程要考慮ADj_RIB_IN中的所有路由,包括從自己的AS中和鄰居的AS中的BGP發(fā)言者接收的路由。當(dāng)運(yùn)行第三期決策函數(shù),第二期決策函數(shù)可以阻塞。第二期距測(cè)函數(shù)應(yīng)該在開(kāi)始函數(shù)前鎖定所有的Adj-RIB-IN,在完成后解開(kāi)所有。
如果BGP路由的NEXT-HOP屬性描述了一個(gè)地址,在本地LOC-RIB中BGP發(fā)言者沒(méi)有路由,BGP發(fā)言者應(yīng)該排除在第二期決策函數(shù)外面。
為了ADj_RIB_IN中的路由的每一個(gè)目的地集合,本地BGP發(fā)言者以確定路由: A)對(duì)同一個(gè)目的地集和,最高優(yōu)先級(jí)的路由,或者 B)是唯一的到目的的地路由,或者 ⑶是第二期解扣規(guī)則的選擇結(jié)果。
本地發(fā)言者應(yīng)該安裝路由到LOC-RIB中,替代LOC-RIB中保存的任何道相同目的地的路由。本地發(fā)言者必須根據(jù)選擇路由的NEXT-HOP屬性確定立即下一跳,通過(guò)查找IGP懸著IGP中的可能的路徑。當(dāng)安裝選擇路由在LOC_RIB中,立即下一跳必須被使用。如果NEXT-HOP屬性描述的地址改變,路由選擇應(yīng)該按照上面的說(shuō)明重新計(jì)算。不可用的路由應(yīng)該從LOC-RIB中拿出,相應(yīng)的不可用路由應(yīng)該從Adj-RIBs-IN拿出。解扣
在Adj-RIBs-IN中一個(gè)BGP發(fā)言者可以有多個(gè)有相同的優(yōu)先級(jí)的路由到同一個(gè)目的地。本的發(fā)言者可以選擇包含在相應(yīng)LOC-RIB中的一條路由。本地發(fā)言者認(rèn)為所有的路由,不論是鄰居AS的BGP發(fā)言者的路由,還是本地AS的BGP發(fā)言者的路由是一樣的。
下面的解扣過(guò)程假設(shè)一個(gè)自治系統(tǒng)的所有AS的每一個(gè)候選路由能夠確定到NEXT-HOP屬性描述的地址的路徑代價(jià)(內(nèi)部距離)。根據(jù)下面的算法解扣。A)如果本地系統(tǒng)配置考慮MULTI_EXIT_DISC,候選路由的MULTI_EXIT_DISC屬性不同,選擇MULTI_EXIT_DISC屬性值最小的。
B)否則,選擇到路與歐的NEXT-HOP屬性描述的入口的代價(jià)(內(nèi)部距離)最小的。如果有幾個(gè)路由有相同的代價(jià),按照下面的過(guò)程解扣
-如果最少有一個(gè)路由是通過(guò)鄰居AS的BGP發(fā)言者通告的,選擇鄰居AS的BGP發(fā)言者通告的鱸魚(yú)哦,如果BGP的標(biāo)示符的值是所有鄰居AS的BGP發(fā)言者中最小的。-否則,選者BGP標(biāo)示符最小的BGP發(fā)言者通告的路由。PHASE3: 路由分發(fā)
第三期路由決策過(guò)程可以被第二期的完成激活,或者下面的事件發(fā)生: A)LOC-RIB中的到本地目的地的路由改變。
B)當(dāng)本地產(chǎn)生的通過(guò)BGP以外的方式學(xué)習(xí)的路由改變。C)當(dāng)新的BGP發(fā)言者-BGP發(fā)言者連接建立。
第三期函數(shù)是獨(dú)立的過(guò)程當(dāng)沒(méi)有進(jìn)一步的工作去做的時(shí)候停止。第三期路由決策過(guò)程應(yīng)該被阻塞,如果第二期決策過(guò)程在運(yùn)行。
所有的LOC-RIB中的路由應(yīng)該被處理到相應(yīng)的到Adj-RIBs-Out的入口。路由聚合和信息簡(jiǎn)約技術(shù)可選執(zhí)行。為了更好支持未來(lái)的AS間多播能力,參加AS間多播路由的BGP發(fā)言者應(yīng)該通告他從外部對(duì)端收到的路由同時(shí)如果安裝在Loc-RIB內(nèi),因該通告到接收路由的對(duì)端。對(duì)沒(méi)有參加AS間多播路由的BGP發(fā)言者這個(gè)通告是可選的。如果做這樣一個(gè)通告,NEXT-HOP屬性應(yīng)該被設(shè)置為對(duì)端地址。應(yīng)用可以優(yōu)化這個(gè)通告,組合AS-PATH屬性的信息不但包括自己的AS號(hào)碼而且通告路由的對(duì)端的AS號(hào)碼(這個(gè)組合要求ORIGIN屬性被設(shè)置為INCOMPLETE)。另外,應(yīng)用不需要傳遞可選的或者自決的路徑屬性在這種通告中。
當(dāng)Adj-RIBs-Out更新而且轉(zhuǎn)發(fā)信息庫(kù)(FIB)完成,本地BGP發(fā)言者應(yīng)該運(yùn)行外部更新進(jìn)程 路由覆蓋
BGP發(fā)言者可以傳送具有重疊的網(wǎng)絡(luò)層可達(dá)信息(NLRI)的路由到別的BGP發(fā)言者。NLRI重疊產(chǎn)生于一些列目的地對(duì)非匹配的多個(gè)路由是唯一的。由于BGP使用IP前綴對(duì)NLRI編碼,重疊一般要展示子網(wǎng)關(guān)系。路由描述了更小范圍的目的地(更長(zhǎng)的前綴)稱(chēng)為更特別路由,路由描述了更大范圍的目的地(更短的前綴)成為更一般路由。反之同樣。這種優(yōu)先關(guān)系有效分解了更一般路由為兩部分: -一系列目的地,僅僅使用更一般路由描述。
-一系列路由,使用更一般和更特殊路由的重疊描述。當(dāng)重疊路由發(fā)生在同樣的Adj-RIB-IN,更特殊的路由應(yīng)該有優(yōu)先權(quán),順序是更特殊到更一般。重疊描述的目的地的集合表明一部分更一般路由是可用的,但是當(dāng)前不可用。如果一個(gè)更特殊的路由后來(lái)撤銷(xiāo)了,重疊描述的目的地的集合將可以使用更一般的路由到達(dá)。
如果BGP發(fā)言者接收了重疊路由,決策過(guò)程應(yīng)該考慮重疊路由的語(yǔ)義。特別是,如果BGP發(fā)言者接收了同一個(gè)對(duì)端的更一般的路由同時(shí)拒絕了更特殊的路由,那末重疊表示的目的地可能不轉(zhuǎn)發(fā)到路由的AS-PATH屬性列出的AS那里。因此,BGP發(fā)言者可以由下面選擇:
a)同時(shí)安裝更一般和更特殊的路由 b)只安裝更特殊的路由
c)只安裝更一般路由的非重疊部分(這意味著解聚和)d)聚合著兩條路由同時(shí)安裝聚合路由 e)安裝更一般的路由 f)都不安裝
如果一個(gè)BGP發(fā)言者選擇e),應(yīng)該加入ATOMIC-AGGREGATE屬性到路由中。承載ATOMIC-AGGREGATE屬性的路由不能被解聚和。也就是說(shuō),路由的NLRI不能被是更特殊。向這個(gè)路由轉(zhuǎn)發(fā)不保證IP 包實(shí)際沿著路由的AS-PATH屬性列出的AS中轉(zhuǎn)。如果BGP發(fā)言者選擇A),必須不在通告更特殊的路由的時(shí)候通告更一般的路由。
ⅡUpdate發(fā)送過(guò)程
Update-SEND進(jìn)程負(fù)責(zé)通告UPDATE消息到所有的對(duì)端。例如,他發(fā)布決策進(jìn)程選擇的路由到位于同樣的自治系統(tǒng)或者鄰居自治系統(tǒng)的BGP發(fā)言者。不同自治系統(tǒng)的BGP發(fā)言者之間信息交換的法則.相同自治系統(tǒng)的BGP發(fā)言者之間信息交換的法則. 在BGP發(fā)言者集合之間的路由信息的發(fā)布,所有BGP發(fā)言者如果在同一個(gè)自治系統(tǒng),稱(chēng)為內(nèi)部發(fā)布。內(nèi)部更新
內(nèi)部更新進(jìn)程是發(fā)布路由信息到本地自治系統(tǒng)的BGP發(fā)言者。
當(dāng)BGP發(fā)言者從在本地自治系統(tǒng)的別的BGP收到了UPDATE消息,接收BGP發(fā)言者不應(yīng)該再分配UPDATE消息中的路由信息道別的本地自治系統(tǒng)的BGP發(fā)言者。當(dāng)BGP發(fā)言者接收了鄰居自治系統(tǒng)的BGP發(fā)言者的一條新的路由,如果下面的情況之一發(fā)生,應(yīng)該使用UPDATE消息通告路由到本的自治系統(tǒng)的所有的BGP發(fā)言者:
1本地BGP發(fā)言者安排給新接收的路由的優(yōu)先程度高于本地發(fā)言者已經(jīng)安排的接受自鄰居自治系統(tǒng)的別的路由的優(yōu)先級(jí)
2沒(méi)有接收到別的鄰居自治系統(tǒng)的BGP發(fā)言者發(fā)送的路由 3新接收路由是幾個(gè)最高優(yōu)先級(jí),同樣目的的的路由解扣的結(jié)果,當(dāng)BGP發(fā)言者受到了UPDATE消息,有非空的WITHDRAWNRJOUTES域,應(yīng)該從Adj-RIB-IN里去掉所有的在這個(gè)域中(IP前綴表示)的目的地。發(fā)言者應(yīng)該做下面的附加步驟:
1如果相應(yīng)的可用路由先前沒(méi)有被通告,不需要做更多的行動(dòng)。2如果相應(yīng)的可用路由先前被通告,那末:
I 如果被選擇通告的新的路由和不可用路由有相同的網(wǎng)絡(luò)層可達(dá)信息,本的系統(tǒng)因該通告替代路由。
II 如果替代路由不能用于通告,BGP發(fā)言者應(yīng)該包括不可用路由的目的的(IP 前綴形式)在UPDATE消息的WITHDRAWNROUTES域,因該發(fā)送這個(gè)消息到先前通告了相應(yīng)的可用路由的對(duì)端。所有的通告過(guò)的可用路由因該放入相應(yīng)的Adj-RIBs-Out,所有不可用的但是通告過(guò)的路由應(yīng)該被從Adj-RIBs-Out清除。解扣(內(nèi)部更新)
如果一個(gè)本地的BGP發(fā)言者連接到鄰居AS的幾個(gè)BGP發(fā)言者,有多個(gè)Adj-RIBs-IN和這些對(duì)段相關(guān)聯(lián)。這些Adj-RIB-IN可以包括到同一個(gè)目的的的多個(gè)等價(jià)優(yōu)先級(jí)的路由,所有的路由要通告到鄰居自治系統(tǒng)。本的BGP發(fā)言者應(yīng)該根據(jù)下面法則選擇其中一條路由:
A)如果候選路由的NEXT-HOP和MULTI-EXIT-DISC屬性不同,本地系統(tǒng)配置中考慮了MULTI-EXIT-DISC屬性,選擇有最低的MULTI-EXIT-DISC屬性的路由。
B)如果本的系統(tǒng)能夠確定候選路由中T-HOP屬性描述的實(shí)體的路徑的成本,選擇成本較低的路由。
C)在所有別的情況中,選擇通告路由的BGP發(fā)言者具有較低的BGP標(biāo)示符的路由。外部更新
外部更新過(guò)程和鄰居AS的BGP發(fā)言者路由信息的發(fā)布有關(guān)。作為階段3選擇過(guò)程的一部分,BGP發(fā)言者更新他的Adj-RIBs-Out和轉(zhuǎn)發(fā)表.所有新的安裝的路由和所有新的沒(méi)有替代路由的不可用的路由要通過(guò)UPDATE消息通告到鄰居AS內(nèi)部的BGP發(fā)言者。
任何位于LOC-RIB的路由,如果是不可用的應(yīng)該被撤銷(xiāo)。在自己的AS內(nèi)部如果可達(dá)地址改變應(yīng)該發(fā)送UPDATE消息??刂坡酚闪髁块_(kāi)銷(xiāo)
BGP協(xié)議限制路由流量(也就是UPDATE消息),目的是減少通告UPDATE消息的帶寬和消化UPDATE消息信息的決策過(guò)程的處理能力。⑴ 路由通告的頻率
參數(shù)MinRouteAdvertisementInterval確定了BGP發(fā)言者到特定目的地的兩個(gè)路由通告之間的最小時(shí)間。這個(gè)速率限制過(guò)程是基于單個(gè)目的地的,但是這個(gè)MinRouteAdvertisementInterval值是對(duì)每一個(gè)對(duì)端設(shè)置的。
從單個(gè)BGP發(fā)言者通告可用路由到目的地集合的來(lái)自BGP發(fā)言者的兩個(gè)UPDATE消息必須至少分離MinRouteAdvertisementInterval.無(wú)疑, 只有精確保持目的地集合的計(jì)時(shí)器才能做到這一點(diǎn)。這是不現(xiàn)實(shí)的開(kāi)銷(xiāo)。任何保證BGP發(fā)言者接受自鄰居AS通告的兩個(gè)UPDATE消息之間時(shí)間間隔的技術(shù)通告可用路由到目的的地最小間隔是MinRouteAdvertisementInterval,也要保證大于間隔的一個(gè)常量是可以接受的。
由于需要在AS內(nèi)部快速收斂,本過(guò)程不能用于從本AS中別的BGP發(fā)言者發(fā)來(lái)的路由。為了避免永久黑洞,本過(guò)程不能用于明確的撤銷(xiāo)或者不可用路由(也就是,目的地(通過(guò)IP 前綴表示)在UPDATE消息中WITHDRAWNROUTEST域的路由)。這個(gè)過(guò)程不限制路由選擇的速率,但是僅僅限制路由通告的速率。當(dāng)?shù)却停椋睿遥铮酰簦澹粒洌觯澹颍簦椋螅澹恚澹睿簦桑睿簦澹颍觯幔煲绯鰰r(shí),如果新的路由被選擇多次, 在MinRouteAdvertisementInterval的最后最后選擇的路由被通告.⑵ 路由產(chǎn)生的速率
參數(shù)MINASORIGINATIONINTERVAL確定了在BGP發(fā)言者本身的AS,中報(bào)告變化的UPDATE消息的連續(xù)通告的最小間隔 JITTER
為了減少給定的BGP發(fā)言者的BGP消息產(chǎn)生尖峰,jITTER應(yīng)該被使用于MINASORIGINATIONINTERVAL, KeepAlive,MinRouteAdvertisementInterval計(jì)時(shí)器.給定的BGP發(fā)言者應(yīng)該應(yīng)用同樣的jITTER數(shù)量,無(wú)論UPDATE被送到那個(gè)目的地;也就是說(shuō),jITTER不能被基于“每個(gè)對(duì)端” 使用。
引入的JITTER的數(shù)量使用相應(yīng)的計(jì)數(shù)器的基本值乘以一個(gè)范圍是0。75到1的隨機(jī)因子。
路由信息的有效組織
選擇將要廣播的路由信息,一個(gè)BGP發(fā)言者可以采用幾個(gè)方法,組織信息為一個(gè)有效形式。①信息簡(jiǎn)約
信息簡(jiǎn)約可以在策略控制的程度上使用簡(jiǎn)約-在信息崩潰之后,相同的策略在等價(jià)類(lèi)上使用在所有的目的地和路徑。
決策進(jìn)程使用下面方法可選的減少放在ADj-RIB_Out中的信息數(shù)量: A)網(wǎng)絡(luò)層可達(dá)信息(NLRI)
目的IP 地址可以被看作IP 地址前綴。若地址結(jié)構(gòu)和在AS管理者控制下的系統(tǒng)能夠達(dá)成一致,有可能減少UPDATE消息中NLRI的尺寸。B)AS_PATHS(AS路徑): AS路徑信息可以表達(dá)為順序AS-SEQUENCE和無(wú)序AS-SET。S-SET可以用在路由聚合算法,描述在9。2。4。2中。他們減少了AS-PATH的尺寸,通過(guò)只列出每個(gè)AS號(hào)碼一次,無(wú)論在聚合的AS-PATH上出現(xiàn)了幾次。
一個(gè)AS-SET意味著NLRI列出的目的地能夠通過(guò)由AS-SET中的部分AS組成的路徑到達(dá)。AS-SET提供有效的信息來(lái)避免回環(huán);然而使用他們可能會(huì)剪除一些潛在的有用路徑,原因是一些路徑不再被單獨(dú)通過(guò)AS-SEQUENCE的方式列出。實(shí)際使用中這不是個(gè)問(wèn)題,應(yīng)為一旦IP 報(bào)到達(dá)AS組的邊界,這個(gè)點(diǎn)上的BGP發(fā)言者更可能有更多的詳細(xì)路徑信息并能夠區(qū)分到目的地的路徑。②聚合路由信息
聚合是一個(gè)過(guò)程用來(lái)組合幾個(gè)不同的路由來(lái)廣播一個(gè)單獨(dú)的路由。聚合作為決策的一個(gè)部分發(fā)生,這樣可以減少放在AjD_RIBS_Out中路由信息的數(shù)量 聚合減少了BGP發(fā)言者存儲(chǔ)并且和別的BGP發(fā)言者交換的路由。路由聚合使用下面的獨(dú)立于期望類(lèi)型的路徑屬性和網(wǎng)絡(luò)層可達(dá)信息的過(guò)程。
有下面屬性的路由不能被聚合。除非相應(yīng)的屬性是唯一的MULTI_EXIT_DISC, NEXT_HOP.具有不同類(lèi)型碼的路徑屬性不能被聚合在一起.一些類(lèi)型碼的路徑能夠被聚合,使用下面的規(guī)則: ORIGIN屬性:如果最少一個(gè)被聚合路由它的ORIGIN指示INCOMPLETE,聚合路由ORIGIN的屬性值是IMCOMPLETE.否則,如果最少一個(gè)路由的屬性是EGP,聚合路由的屬性是EGP.在所有別的情況下ORIGIN屬性是INTERNAL.AS-PATH屬性:如果路由聚合有單一的AS-PATH屬性,聚合的路由有同樣的AS-PATH屬性.為了聚合路由屬性,我們建模AS-PATH屬性作為二元組<類(lèi)型,值>,”類(lèi)型”定義了路徑段的屬性(比如AS-SEQUENCE,AS_SET),”值”定義了AS號(hào)碼.如果路由被聚合有不同的AS-PATH屬性,聚合的AS-PATH屬性應(yīng)該滿足:-所有在聚合AS-PATH的AS-SEQUENCE二元組應(yīng)該在最早的路由集的AS-PATH中都出現(xiàn).-在聚合的AS-PATH中AS-SET類(lèi)型的所有的二元組應(yīng)該出現(xiàn)在最少一個(gè)AS-PATH類(lèi)型中(可以出現(xiàn)為AS-SET或者AS-SEQUENCE)。
-在聚合AS-PATH中任何類(lèi)型AS-SEQUENCE的二元組X領(lǐng)先于Y,在初始的AS-PATH中,X在每一個(gè)AS-PATH中領(lǐng)先于Y,不論Y的類(lèi)型。
-在AS-PATH中不能由同一個(gè)二元組具有相同值卻出現(xiàn)了兩次,不論二元組的類(lèi)型。應(yīng)用可以選擇任何算法只要符合這些規(guī)則。最少的一個(gè)構(gòu)造應(yīng)用應(yīng)該能夠執(zhí)行下埋嗯的算法來(lái)滿足所有的條件。
-確定最長(zhǎng)的對(duì)所有的聚合AS-PATH屬性來(lái)說(shuō)的二元組序列(如上定義)。把這個(gè)序列作為聚合后的派頭AS-PATH屬性序列。
-設(shè)置剩下的AS-PATH屬性二元組為AS-SET,把他們加入到AS-PATH后面。-如果聚合AS-PATH屬性有多個(gè)相同的二元組(不論二元組的類(lèi)型),清除所有的,只留下一個(gè)通過(guò)去掉AS-PATH屬性中的AS-SET類(lèi)型。
ATOMIC_AGGREGATE: 如果最少一個(gè)路由有這個(gè)路徑屬性,那末聚合后的路由應(yīng)該有這個(gè)屬性。
AGGREGATOR: 聚合者屬性應(yīng)該被忽略。路由選擇標(biāo)準(zhǔn) 總的來(lái)說(shuō),在幾個(gè)可替代路由中比較路由的額外法則是在本文討論問(wèn)題之外的。有兩個(gè)例外。-如果新路由中AS路徑出現(xiàn)了本地AS,新路由不能被看作比別的路由更好的路由。如果使用這樣的一個(gè)路由,路由環(huán)路會(huì)發(fā)生。
-為了成功實(shí)現(xiàn)發(fā)布操作,只有具有穩(wěn)定可能性的路由被選擇。這樣,一個(gè)AS必須避免使用不穩(wěn)定的路由,必須不使路由自發(fā)選擇快速改變。前面句子中“不穩(wěn)定”和“快速”的名詞量化需要經(jīng)驗(yàn),但是原理是清楚的。產(chǎn)生BGP路由
一個(gè)BGP發(fā)言者可以通過(guò)某些方式(比如通過(guò)IGP)獲得的注入BGP的路由信息產(chǎn)生BGP路由。BGP發(fā)言者產(chǎn)生BGP路由應(yīng)該通過(guò)決策進(jìn)程來(lái)安排路由的優(yōu)先級(jí)別。這些路由可以被發(fā)布到別的在本地AS的BGP發(fā)言者作為內(nèi)部更新進(jìn)程的一部分。在一個(gè)AS內(nèi)部決定是否發(fā)送非BGP獲得的路由,取決于AS內(nèi)部的環(huán)境(也就是IGP類(lèi)型)而且可以通過(guò)配置來(lái)控制。
BGP路徑屬性
每個(gè)路徑屬性由1字節(jié)的屬性標(biāo)志位,1字節(jié)的屬性類(lèi)型,1或2字節(jié)路由屬性長(zhǎng)度和路徑屬性數(shù)據(jù)組成。
屬性標(biāo)志位:
位0:0表示此屬性必選,1表示此屬性可選。
位1:0表示此屬性為非過(guò)渡屬性,1表示此屬性為過(guò)渡屬性。
位2:0表示所有屬性均為路由起始處生成,1表示中間AS加入了新屬性。
位3:0表示路由屬性長(zhǎng)度由1字節(jié)指示,1表示由2字節(jié)指示。
位4至位7:未用置0
位0和位1標(biāo)識(shí)了BGP的4類(lèi)路由屬性:
-(01)公認(rèn)必選:BGP的UPDATE報(bào)文中必須存在的屬性。它必須能被所有的BGP工具識(shí)別。公認(rèn)必選屬性的丟失意味著UPDATE報(bào)文的差錯(cuò)。這是為了保證所有的BGP工具統(tǒng)一于一套標(biāo)準(zhǔn)屬性。
-(01)公認(rèn)自決:能被所有BGP識(shí)別的屬性,但在UPDATE報(bào)文中可發(fā)可不發(fā)。
-(11)可選過(guò)渡:如果BGP工具不能識(shí)別可選屬性,它就去找過(guò)渡屬性位。如果此屬性是過(guò)渡的,BGP工具就接受此屬性,并把它向前傳遞給其它BGP路由器。
-(10)可選非過(guò)渡:當(dāng)可選屬性未被識(shí)別,且過(guò)渡屬性也未被置位時(shí),此屬性被忽略,不傳遞給其它BGP路由器。
路由屬性類(lèi)型:
⑴ORIGIN(TYPECODE = 1,公認(rèn)必選屬性)
指示此路由起始類(lèi)型:
⑵AS_PATH(TYPECODE = 2,公認(rèn)必選屬性)
AS路徑屬性由一系列AS路徑段(SEGMENT)組成。每個(gè)AS路徑段為一三元組<路徑段類(lèi)型,路徑段長(zhǎng)度,路徑值>。
路徑類(lèi)型有:
路徑段長(zhǎng)度用1字節(jié)表示AS號(hào)的數(shù)量,即最長(zhǎng)為255個(gè)AS號(hào)。
路徑值為若干AS號(hào),每個(gè)AS號(hào)為2字節(jié)。
⑶NEXT_HOP(TYPECODE = 3,公認(rèn)必選屬性)
此屬性為UPDATE消息中的信宿地址所使用的下一跳。
⑷MULTI_EXIT_DISC(TYPECODE = 4,公認(rèn)自決屬性)
簡(jiǎn)稱(chēng)MED屬性。為一4字節(jié)無(wú)符合整數(shù)。它在AS區(qū)域間傳播,用來(lái)幫助一個(gè)其它AS區(qū)域的BGP伙伴選擇進(jìn)入本AS區(qū)域的人口。
⑸LOCAL_PREF(TYPECODE = 5,公認(rèn)自決屬性)
本地優(yōu)先級(jí)屬性。為一4字節(jié)無(wú)符合整數(shù)。它在AS區(qū)域內(nèi)傳播,用來(lái)幫助一個(gè)本AS區(qū)域內(nèi)BGP伙伴選擇進(jìn)入其它AS區(qū)域的出口。
⑹ATOMIC_AGGREGATE(TYPECODE = 6,公認(rèn)自決屬性)
元聚合屬性。長(zhǎng)度為零。它表示本地BGP在若干路由中選擇了一個(gè)較抽象的(LESSSPECIFIC)路由,而沒(méi)有選擇較具體(SPECIFIC)的路由。
⑺AGGREGATOR(TYPECODE = 7,可選過(guò)渡屬性)
聚合者屬性。長(zhǎng)度為6字節(jié),分別為最后進(jìn)行路由聚合的路由器的AS號(hào)(2字節(jié))和IP 地址(4字節(jié))。
第三篇:網(wǎng)絡(luò)組建IP協(xié)議
網(wǎng)絡(luò)組建IP協(xié)議
IP協(xié)議是Internet中的交通規(guī)則,接入Internet中的每臺(tái)計(jì)算機(jī)及處于十字路口的路由器都必須熟知和遵守該交通規(guī)則。IP數(shù)據(jù)包則是按該交通規(guī)則在Internet中行使的車(chē)輛,發(fā)送數(shù)據(jù)的主機(jī)需要按IP協(xié)議裝載數(shù)據(jù),路由器需要按IP協(xié)議指揮交通,接收數(shù)據(jù)的主機(jī)需要按IP協(xié)議拆卸數(shù)據(jù)。IP數(shù)據(jù)包攜帶著地址、滿載著數(shù)據(jù)從發(fā)送數(shù)據(jù)的端用戶計(jì)算機(jī)出發(fā),在沿途各個(gè)路由器的指揮下,順利到達(dá)目的端用戶的計(jì)算機(jī)。
IP協(xié)議主要負(fù)責(zé)為計(jì)算機(jī)之間傳輸?shù)臄?shù)據(jù)報(bào)尋址,并管理這些數(shù)據(jù)包的分片過(guò)程。該協(xié)議對(duì)投遞的數(shù)據(jù)報(bào)格式有規(guī)范、精確的定義。與此同時(shí),IP協(xié)議還負(fù)責(zé)數(shù)據(jù)報(bào)的路由,決定數(shù)據(jù)報(bào)發(fā)送到哪里,以及在路由出現(xiàn)問(wèn)題時(shí)更換路由。總之,運(yùn)行IP協(xié)議的網(wǎng)絡(luò)層可以為其高層用戶提供的服務(wù)具有如下3個(gè)特性:
? 不可靠的數(shù)據(jù)投遞服務(wù)。IP協(xié)議本身沒(méi)有能力證實(shí)發(fā)送的數(shù)據(jù)報(bào)是否能被正確接收。數(shù)據(jù)報(bào)可能在遇到延遲、路由錯(cuò)誤、數(shù)據(jù)報(bào)分片和重組過(guò)程中受到損壞,但I(xiàn)P不檢測(cè)這些錯(cuò)誤。在發(fā)生錯(cuò)誤時(shí),也沒(méi)有機(jī)制保證一定可以通知發(fā)送方和接收方。? 面向無(wú)連接的傳輸服務(wù)。IP協(xié)議不管數(shù)據(jù)報(bào)沿途經(jīng)過(guò)哪些節(jié)點(diǎn),甚至也不管數(shù)據(jù)報(bào)起始于哪臺(tái)計(jì)算機(jī),終止于哪臺(tái)計(jì)算機(jī)。數(shù)據(jù)報(bào)從源始節(jié)點(diǎn)到目的節(jié)點(diǎn)可能經(jīng)過(guò)不同的傳輸路徑,而且這些數(shù)據(jù)報(bào)在傳輸?shù)倪^(guò)程中有可能丟失。有可能正確到達(dá)。? 盡最大努力投遞服務(wù)。IP協(xié)議并不隨意的丟失數(shù)據(jù)報(bào),只有當(dāng)系統(tǒng)的資源用盡、接收數(shù)據(jù)錯(cuò)誤或網(wǎng)絡(luò)出現(xiàn)故障等狀態(tài)下,才不得不丟棄報(bào)文。
第四篇:互聯(lián)網(wǎng)之IP協(xié)議
Internet(國(guó)際互聯(lián)網(wǎng))互聯(lián)的軟件基礎(chǔ)─協(xié) 議
主講人:鄧本勝 江油市教師進(jìn)修學(xué)校教師 Email:jy-dbsh@163.com 電話:*** 0816-3233119(辦)QQ:11173648
2005-03-17
9.4 Internet 協(xié)議 IP 國(guó)際互聯(lián)網(wǎng)—Internet是一個(gè)國(guó)際間包括各種計(jì)算機(jī)網(wǎng)絡(luò)的一個(gè)巨大互相聯(lián)接起來(lái)的網(wǎng)絡(luò),要把這不同的網(wǎng)絡(luò)聯(lián)接起來(lái),要在兩個(gè)方面互相連接起來(lái),一是物理聯(lián)接,它包括網(wǎng)卡、網(wǎng)線、路由器等,這些設(shè)備將網(wǎng)絡(luò)上的各計(jì)算機(jī)在物理上互相聯(lián)接起來(lái),但這樣聯(lián)接起來(lái)后,這些計(jì)算機(jī)并不能相互訪問(wèn),要讓這些計(jì)算機(jī)能夠互相訪問(wèn),還必須讓這些相互聯(lián)接的計(jì)算機(jī)使用同一種交流的標(biāo)準(zhǔn),相互之間才能實(shí)現(xiàn)正常的通信,這便是互聯(lián)網(wǎng)計(jì)算機(jī)互聯(lián)的軟件基礎(chǔ),IP協(xié)議及TCP協(xié)議。
IP協(xié)議的概念:
通信協(xié)議:是對(duì)兩臺(tái)計(jì)算機(jī)用以交換信息所使用的公用語(yǔ)言規(guī)范的約定。
.1.計(jì)算機(jī)通信協(xié)議精確地定義了通信的約定。如,協(xié)議規(guī)定每臺(tái)計(jì)算機(jī)所發(fā)送的每個(gè)信息的精確格式和含義。協(xié)議也規(guī)定每臺(tái)計(jì)算機(jī)在哪些情況下應(yīng)該發(fā)送特定的信息,以及當(dāng)一個(gè)信息到來(lái)時(shí),一臺(tái)計(jì)算機(jī)應(yīng)該作出怎樣的響應(yīng)。
IP協(xié)議,在Internet中所使用的一種專(zhuān)用,也是關(guān)鍵的網(wǎng)際協(xié)議,這個(gè)協(xié)議在英文中寫(xiě)為:Internet Protocol,這個(gè)協(xié)議我們縮寫(xiě)為 IP,這便是 IP協(xié)議。
IP協(xié)議非常詳細(xì)地定義了一個(gè)計(jì)算機(jī)通信所遵循規(guī)則的具體細(xì)節(jié)。IP精確地定義了分組必須怎樣組成,以及路由器必須怎樣將一個(gè)分組遞交到它的目的地。
從上說(shuō)明,我們知道 IP實(shí)際上規(guī)定這樣兩件事情:一是相互聯(lián)接的計(jì)算機(jī)對(duì)數(shù)據(jù)包的處理方式以及這些數(shù)據(jù)在網(wǎng)絡(luò)中流動(dòng)的路徑說(shuō)明:從何而來(lái),至何處是目的地。
那么大家可能要問(wèn):這些數(shù)據(jù)在互聯(lián)的網(wǎng)絡(luò)中如何確保在傳輸中數(shù)據(jù)不會(huì)丟失呢?這又靠什么來(lái)保證呢,在 9.6節(jié)中我們還會(huì)談到另一個(gè)協(xié)議。
連接到 Internet上的每臺(tái)計(jì)算機(jī)都必須遵守網(wǎng)絡(luò)協(xié)議的約定。每臺(tái)計(jì)算機(jī)產(chǎn)生的分組都必須按照 IP所定義的格式。計(jì)算機(jī)接收到的分組仍然是 IP格式的源發(fā)送分組的一個(gè)拷貝。進(jìn)一步而言,Internet中的每個(gè)路由器在將分組從一個(gè)網(wǎng)絡(luò)向另一個(gè)網(wǎng)絡(luò)遞交時(shí),都希望這些分組為 IP格式。
計(jì)算機(jī)需要有 IP軟件才能在 Internet上通信,因此使用Internet的每臺(tái)計(jì)算機(jī)都必須運(yùn)行 IP軟件。此軟件在 Windows系統(tǒng)中一般中一個(gè)名為 Tcpip.sys的系統(tǒng)驅(qū)動(dòng)軟件,在配臵網(wǎng)絡(luò)時(shí)系統(tǒng)裝入。
.2.9.5 IP地址
根據(jù) IP協(xié)議的規(guī)范,Internet上的分組稱(chēng)為 數(shù)據(jù)報(bào),用以和其它網(wǎng)絡(luò)中的分組相區(qū)別。
在日常管理中,像一個(gè)班級(jí),我們對(duì)每一位同學(xué)要編一個(gè)號(hào),叫學(xué)號(hào),這個(gè)同學(xué)其本身還有一個(gè)姓名,叫名字。在 Internet上的計(jì)算機(jī)呢,也必須有名字和編號(hào),這里的編號(hào)便是地址,即是說(shuō)為了使數(shù)據(jù)報(bào)的路由選擇和傳遞成為可能,連接到 Internet上的每臺(tái)計(jì)算機(jī)都必須指定一個(gè)唯一的地址。Internet所用的地址是一些數(shù)字。每臺(tái)計(jì)算機(jī)在通信之前必須知道對(duì)方計(jì)算機(jī)的地址。每臺(tái)計(jì)算機(jī)被指定唯一的數(shù)據(jù)成為它的 Internet地址,通常簡(jiǎn)稱(chēng)為 IP地址。
Internet上的每臺(tái)計(jì)算機(jī),包括路由器在內(nèi),通信之前都有一個(gè)指定的IP地址。當(dāng)一個(gè)企業(yè)或組織申請(qǐng)加入 Internet時(shí),它要從 Internet的管理機(jī)構(gòu)獲得一組屬于本組織使用的計(jì)算機(jī)的 IP地址。當(dāng)該組織又有新的計(jì)算機(jī)要接入 Internet時(shí),該組織即可指定一個(gè)地址給它。
Ip地址的表示方法。通常計(jì)算機(jī)用四個(gè)稱(chēng)為字節(jié)的二進(jìn)制單位存儲(chǔ) IP地址。盡管確切的內(nèi)部格式并不重要,但它有助于 IP地址的理解。只是當(dāng)某個(gè)應(yīng)用程序需要向用戶顯示 IP地址,或用戶需要向一個(gè)應(yīng)用程序輸入自己的 IP地址時(shí),該二進(jìn)制地址就要以一種人們易于理解的格式表示。因此人們一般是以 “.”分隔成四個(gè)十進(jìn)制數(shù)字表示。即 xxx.xxx.xxx.xxx的形式,這里 x表示 0至 255這些十進(jìn)制數(shù)字。實(shí)際的如 202.112.7.13是一臺(tái)計(jì)算機(jī)的 IP地址,而另一臺(tái)可能是:192.5.48.3。
.3.在計(jì)算機(jī)中怎樣查詢 IP地址呢?
分兩種情況,在 Windows 98(Me)操作系統(tǒng)中,可以在用鼠標(biāo)單擊“開(kāi)始”,“運(yùn)行”,然后輸入“Winipcfg /all”命令,回車(chē)后在彈出的窗口中有明確的顯示。
在 Windows 2000、Windows XP、Windows 2003等操作系統(tǒng)中,可以在命令行中輸入“Ipconfig /all”命令查到 IP地址。具體方法是單擊“開(kāi)始”,點(diǎn)“運(yùn)行”,輸入“Cmd”回車(chē)后,進(jìn)入 Windows 2000的命令行窗口(即一般所謂 Dos窗口),輸入“Ipconfig /all”回車(chē)。
以上這兩種方法很有實(shí)用價(jià)值,這兩種方法嚴(yán)格地說(shuō)是通過(guò)運(yùn)行了兩個(gè)程序(Winipcfg.exe、Ipconfig.exe)實(shí)現(xiàn)查看 IP地址的。
如何檢查兩臺(tái)計(jì)算機(jī)是否連通呢?
這又是通過(guò)另一個(gè)程序Ping.exe來(lái)檢查的。此程序也是在 Windows的命令行窗口輸入執(zhí)行。
IP地址所涉及的知識(shí)很多,普通用戶一般可以不可更多了解,只是我們必須明確一點(diǎn),在 Internet中 IP地址不是隨機(jī)指定,而是有嚴(yán)格規(guī)定的,其它有許多專(zhuān)門(mén)的約定,即某些地址有專(zhuān)門(mén)的用處。
像 192.168.0.1是專(zhuān)門(mén)用來(lái)指定某一局域網(wǎng)絡(luò)的。像 127.0.0.1是專(zhuān)指某臺(tái)計(jì)算機(jī)本身的。
其次,IP地址要求凡在同一個(gè)網(wǎng)絡(luò)中的所有計(jì)算機(jī)要有相同的地址前綴。之所以選擇這樣的地址指定策略,是為了保證 Internet中 IP數(shù)據(jù)報(bào)路由選擇的效率。
大家可能要問(wèn):按照 IP地址的規(guī)范,共分四個(gè)小節(jié),每臺(tái)可取 0至 255
.4.這256個(gè)數(shù)字,四節(jié)這樣的數(shù)字包含 256×256×256×256 = 4294967296臺(tái)計(jì)算機(jī),當(dāng)然,這當(dāng)中還有許多是不能用的,但不管怎樣說(shuō),這種方案可以表示的計(jì)算機(jī)數(shù)量是有限的。隨著世界范圍內(nèi)計(jì)算機(jī)數(shù)量的增加,可能到某一天會(huì)超出這個(gè)數(shù)據(jù),到那時(shí),這多出來(lái)的計(jì)算機(jī)便有可能不能聯(lián)入 Internet。怎么辦呢?
于是人們又提出了一種方案:這個(gè)數(shù)量的計(jì)算機(jī)我們用來(lái)表示局域網(wǎng)絡(luò)的數(shù)量,即一臺(tái)這樣的計(jì)算機(jī)可以認(rèn)為是某一個(gè)局域網(wǎng)絡(luò)內(nèi)的一臺(tái)服務(wù)器,在此局域網(wǎng)絡(luò)內(nèi)又有若干臺(tái)計(jì)算機(jī),怎樣區(qū)分它是一個(gè)局域網(wǎng)絡(luò)的服務(wù)器呢?人們提出了子網(wǎng)的概念,用子網(wǎng)掩碼來(lái)分割。這其中涉及一個(gè)網(wǎng)關(guān)的概念。
這里涉及了太多的內(nèi)容,不是我們這種公共學(xué)科所能講明白的,在計(jì)算機(jī)專(zhuān)業(yè)的相關(guān)課程里會(huì)有更加深入的介紹。同時(shí)我們也還要明白,即使將目前的 IP地址采取剛才所說(shuō)的分割的辦法也不能完全解決未來(lái)可能出現(xiàn)的計(jì)算機(jī)數(shù)量的增加的矛盾?,F(xiàn)在人們已經(jīng)提出了一種擴(kuò)充 IP范圍的方法,以保證未來(lái)隨著計(jì)算機(jī)數(shù)量的增加,IP地址是足夠使用的要求。
還有一個(gè)問(wèn)題便是:使用這樣的 IP地址來(lái)規(guī)定計(jì)算機(jī)的編號(hào),我們?cè)?Internet上瀏覽、訪問(wèn)其它計(jì)算機(jī)時(shí),均要輸入對(duì)方計(jì)算機(jī)的 IP地址編號(hào),它要求我們必須記住對(duì)方的 IP地址,這成百上千的計(jì)算機(jī)我們又如何來(lái)記它們的 IP地址呢?顯然這是不現(xiàn)實(shí)的,所以在互聯(lián)網(wǎng)上實(shí)際上我們是輸入對(duì)方計(jì)算機(jī)的名字來(lái)確認(rèn)的,這部分內(nèi)容在教材的 9.9節(jié)中討論。即域名和域名服務(wù)器,計(jì)算機(jī)相互之間的識(shí)別、聯(lián)接是根據(jù) IP地址的規(guī)定來(lái)實(shí)現(xiàn)的,怎樣將計(jì)算機(jī)的名字轉(zhuǎn)化為 IP地址呢,這是域名服務(wù)器的作用,它是這一
.5.過(guò)程中的翻譯。
9.6 傳輸控制協(xié)議
我們?cè)賮?lái)看看 IP協(xié)議,它規(guī)范兩件事情:一是對(duì) Internet上的計(jì)算機(jī)編號(hào),即地址;二是對(duì) Internet上的計(jì)算機(jī)通信時(shí)所遵循的數(shù)據(jù)分組進(jìn)行規(guī)范。我們知道兩臺(tái)計(jì)算機(jī)要交換數(shù)據(jù)時(shí),往往數(shù)據(jù)量是很大的,而這種大數(shù)據(jù)量不可能在一個(gè)傳輸周期內(nèi)傳送完畢,那么系統(tǒng)在傳輸時(shí),便要將數(shù)據(jù)分割成一個(gè)小數(shù)據(jù)塊(數(shù)據(jù)包),每一次僅傳輸一小塊,一小塊一小塊地傳輸,直至所有的小塊傳送完畢。
請(qǐng)問(wèn)這當(dāng)中會(huì)不會(huì)發(fā)生這些小塊在傳送的過(guò)程中可能丟失的現(xiàn)象呢?這是顯然的。比如,如果有很多計(jì)算機(jī)在同一時(shí)刻發(fā)送數(shù)據(jù),Internet可能會(huì)出現(xiàn)超出其流量限制。當(dāng)計(jì)算機(jī)發(fā)送的數(shù)據(jù)報(bào)比 Internet所能處理的數(shù)據(jù)報(bào)多時(shí),路由器不得不丟棄到來(lái)的某些數(shù)據(jù)報(bào)。
IP協(xié)議及 IP軟件不檢測(cè)這種數(shù)據(jù)報(bào)的丟失情況。為了處理這些通信過(guò)程可能出現(xiàn)的問(wèn)題,計(jì)算機(jī)采用另一個(gè)基本的傳輸控制協(xié)議 TCP(Transmission Control Protocol)。Tcp的功能是去掉重復(fù)數(shù)據(jù),保證精確地按原發(fā)順序重新組裝數(shù)據(jù)報(bào),并且在數(shù)據(jù)報(bào)發(fā)生丟失時(shí)重發(fā)數(shù)據(jù)。
解決數(shù)據(jù)報(bào)丟失的問(wèn)題特別困難,因?yàn)閿?shù)據(jù)報(bào)的丟失可能在傳輸過(guò)程的各個(gè)環(huán)節(jié)發(fā)生。TCP采用確認(rèn)和超時(shí)機(jī)制處理數(shù)據(jù)報(bào)的丟失問(wèn)題。除非確認(rèn)在超時(shí)之前到達(dá),否則發(fā)送方將重新發(fā)送數(shù)據(jù)。Tcp的超時(shí)機(jī)制在 Internet上工作得很好,Tcp自動(dòng)根據(jù)目的計(jì)算機(jī)離源計(jì)算機(jī)的遠(yuǎn)近來(lái)自動(dòng)修改超時(shí)值。
.6.Internet的結(jié)構(gòu)相當(dāng)復(fù)雜,一個(gè)傳送過(guò)程中的數(shù)據(jù)報(bào)可以經(jīng)由多條路徑到達(dá)目的計(jì)算機(jī)。當(dāng)路由器開(kāi)始沿另一條新的路徑傳送數(shù)據(jù)報(bào)時(shí),就好像高速公路上的汽車(chē)在前方出現(xiàn)問(wèn)題時(shí)會(huì)繞道而行一樣。結(jié)果由于路徑的變化,一些數(shù)據(jù)報(bào)會(huì)以一中它們發(fā)送時(shí)同的順序到達(dá)目的地。Tcp能自動(dòng)檢測(cè)到來(lái)的數(shù)據(jù)報(bào),并且將它們按照原來(lái)的順序調(diào)整過(guò)來(lái)。同樣,網(wǎng)絡(luò)硬件故障有時(shí)會(huì)導(dǎo)致重復(fù)的數(shù)據(jù)報(bào),結(jié)果一個(gè)數(shù)據(jù)報(bào)的多個(gè)副本可能都會(huì)到達(dá)目的地。Tcp能夠自動(dòng)檢測(cè)重復(fù)的數(shù)據(jù)報(bào),而且只接受最先到達(dá)的數(shù)據(jù)報(bào)。
TCP協(xié)議的概念:
它是一種在 Internet上專(zhuān)門(mén)用來(lái)控制 IP數(shù)據(jù)報(bào)傳送的通信協(xié)議。因此一般將它稱(chēng)為傳輸控制協(xié)議。其控制的實(shí)現(xiàn)是這樣的:
一臺(tái)計(jì)算機(jī)上的程序指定一個(gè)遠(yuǎn)程程序并發(fā)出連接呼叫,被呼叫的程序必須應(yīng)答。一旦連接建立,兩個(gè)程序就能夠相互發(fā)送數(shù)據(jù)。最后,當(dāng)程序停止運(yùn)行時(shí),雙方終止對(duì)話。因此,TCP協(xié)議及軟件使 Internet網(wǎng)上的通信類(lèi)似于電話的交流方式,一旦兩個(gè)程序建立了連接,它們就可以在交換任意大小的數(shù)據(jù)報(bào)后再結(jié)束通信。
大家可能要問(wèn),TCP怎樣來(lái)檢測(cè)重復(fù)的丟失的數(shù)據(jù)報(bào)呢?實(shí)際上 IP協(xié)議已經(jīng)規(guī)定了數(shù)據(jù)報(bào)的標(biāo)準(zhǔn),以TCP處理后對(duì)這些數(shù)據(jù)報(bào)進(jìn)一步包裝,即 TCP在每個(gè)數(shù)據(jù)報(bào)中都賦于了一個(gè)數(shù)據(jù)報(bào)的標(biāo)識(shí),接收方可以用到收的數(shù)據(jù)報(bào)的標(biāo)識(shí)與到來(lái)的數(shù)據(jù)報(bào)的標(biāo)識(shí)進(jìn)行比較,如果是重復(fù)的數(shù)據(jù)報(bào)到來(lái),接收方將不予理睬。與此相同檢測(cè)丟失的數(shù)據(jù)報(bào)也是一樣,接收方收到了某數(shù)據(jù)報(bào)的標(biāo)識(shí),而到來(lái)的數(shù)據(jù)報(bào)中的標(biāo)識(shí)沒(méi)有同樣的,則說(shuō)明傳輸過(guò)程中丟失了數(shù)據(jù)報(bào)。
.7.TCP又是怎樣恢復(fù)丟失的數(shù)據(jù)報(bào)呢?
解決的方法是采用時(shí)鐘和確認(rèn)機(jī)制。無(wú)論何時(shí),當(dāng)數(shù)據(jù)報(bào)到達(dá)目的地時(shí),接收端的 TCP軟件就向源計(jì)算機(jī)發(fā)回一個(gè)確認(rèn)信息,聲明哪些數(shù)據(jù)報(bào)已經(jīng)到達(dá),發(fā)送方根據(jù)確認(rèn)信息來(lái)保證所有數(shù)據(jù)報(bào)都能到達(dá)目的地。每次當(dāng) TCP軟件發(fā)送數(shù)據(jù)時(shí),就同時(shí)啟動(dòng)一個(gè)時(shí)鐘程序。一旦超時(shí),它就會(huì)通知 TCP。如果確認(rèn)數(shù)據(jù)報(bào)在超時(shí)之前已經(jīng)到達(dá),TCP就取消這一計(jì)時(shí)器。反之,則向源計(jì)算機(jī)報(bào)告數(shù)據(jù)丟失,請(qǐng)求重新發(fā)送相關(guān)數(shù)據(jù)報(bào)。
只是說(shuō),這些過(guò)程均是以電子的形式來(lái)進(jìn)行的,速度很快,我們感覺(jué)不到。
小結(jié):在 Internet上一是通過(guò) IP協(xié)議來(lái)規(guī)定計(jì)算機(jī)的地址以及數(shù)據(jù)報(bào)的規(guī)范標(biāo)準(zhǔn),二是通過(guò) TCP協(xié)議來(lái)控制數(shù)據(jù)報(bào)的傳輸,經(jīng)過(guò)這兩個(gè)協(xié)議的規(guī)范、控制讓各計(jì)算機(jī)相互實(shí)現(xiàn)了通信和數(shù)據(jù)交換。
.8.
第五篇:線路轉(zhuǎn)讓協(xié)議
線路轉(zhuǎn)讓協(xié)議
今由***自愿將其名下動(dòng)力線路一條所有物權(quán)轉(zhuǎn)讓給**有限公司,但保有其自用抽水線路及使用權(quán)。轉(zhuǎn)讓費(fèi)為:**元整。**公司負(fù)責(zé)線路改造及管理工作,雙方電費(fèi)各自承擔(dān)。
***繼續(xù)履行電力部門(mén)原要求的相關(guān)職責(zé)。
轉(zhuǎn)讓方:受讓方:
見(jiàn)證方:
年月日