正文之前
忘了把后面的丟上來了喇伯。。其實考完之后我就放飛自我了拨与。稻据。寫了一篇體系結(jié)構(gòu)的論文總結(jié),然后正在寫分布式系統(tǒng)的讀書報告,想哭澳砻酢4以摺!
正文
以太網(wǎng)
- 1975年純ALOHA原始ethernet:<u>單工競爭系統(tǒng)</u>今缚,基本思想:
- 無連接算柳,先說后聽,想發(fā)就發(fā)姓言,錯了重發(fā)瞬项;
- 對數(shù)據(jù)幀不編號,不要求對方發(fā)回確認何荚;不可靠交付囱淋,盡力而為
- 建立在近距離、信道出錯概率小-->局域網(wǎng)餐塘,出錯由高層重發(fā)
- 隨機接入?yún)f(xié)議
- Time sloted ALHOA妥衣;Aloha;Taking turns
- CSMA(載波偵聽多路訪問):先聽后說+指數(shù)退避
* 1持續(xù)CSMA卵惦、非持續(xù)CSMA辆沦、P持續(xù)CSMA - CSMA/CD:多點接入、載波監(jiān)聽条篷、碰撞檢測
* 信道效率 傳送距離越短需纳,發(fā)送幀時T0越長芦倒,效率越高
- 以太網(wǎng)優(yōu)勢
- 可擴展(10M—10G),靈活(多種媒介候齿、全/半雙工熙暴、共享/交換), 便宜慌盯、易于安裝使用、穩(wěn)健性好掂器。
以太網(wǎng)卡與MAC地址模式
- 網(wǎng)卡功能
- 數(shù)據(jù)的封裝與解封
- 鏈路管理:CSMA/CD
- Bit的編碼與解碼
- MAC地址
- Unicast:單播幀地址,僅對某個網(wǎng)卡
- Broadcast:廣播幀地址,僅對某個子網(wǎng)
- Multicast:多播幀地址,組地址
- 雜收模式:Promiscuous mode:接收總線上所有的可 能接收的幀
高速局域網(wǎng)
快速以太網(wǎng)100 Mbps
- 對10 Mbps 802.3 LAN的改進
- 局域網(wǎng)發(fā)展史上重要里程碑
- Fast Ethernet標(biāo)準(zhǔn)
- 1995年亚皂,IEEE通過802.3u標(biāo)準(zhǔn),實際上是802.3的 一個補充国瓮。原有的幀格式灭必、接口、規(guī)程不變乃摹,只是 將每比特時間從100ns縮短為10ns禁漓。
100Base-TX/F
- 100Base-TX
- 使用<u>2對</u>5類平衡雙絞線或150?屏蔽平衡電纜,1對 to the hub孵睬,1對 from the hub播歼,全雙工;
- 5類雙絞線使用125 MHz的信號掰读;
- 4B/5B編碼秘狞,5個時鐘周期發(fā)送4個比特叭莫,物理層與FDDI兼容,比特率 為 125 * 4/5 = 100 Mbps烁试;
- 100Base-FX
- 使用2根多模光纖雇初,全雙工
- 100Base-T4 和 100Base-TX 統(tǒng)稱 100Base-T
- 兩種類型的HUB
- 共享式 HUB,一個沖突域减响,工作方式與802.3相同靖诗,CSMA/CD,二進 制指數(shù)后退算法支示,半雙工 …
- 交換式HUB呻畸,輸入幀被緩存,一個端口構(gòu)成一個沖突域悼院。
1000Mbps以太網(wǎng)
- 工作方式
- IEEE 802.3定義的10M/100M以太網(wǎng)一致的CSMA/CD幀格式和MAC層協(xié)議
- 以太網(wǎng)交換機(全雙工模式)中的千兆端口不能采用共享信道方式訪 問介質(zhì)伤为,不使用 CSMA/CD 協(xié)議,而只能采用專用信道方式.
- 在專用信道方式下,數(shù)據(jù)的收/發(fā)能夠不受干擾地同步進行.
- 在半雙工方式下仍使用 CSMA/CD 協(xié)議
- 物理層采用已有光纖通道技術(shù)据途;
- PAUSE協(xié)議
- 規(guī)范發(fā)展完善了PAUSE協(xié)議绞愚,不采用CSMA/CD協(xié)議完成全雙工操作。
- 該協(xié)議采用不均勻流量控制方法最先應(yīng)用于100M以太網(wǎng)中颖医。
- 流控
- 利用802.3定義的Pause控制幀進行流量控制位衩,要求發(fā)送數(shù)據(jù)節(jié)點暫停 數(shù)據(jù)發(fā)送,避免緩沖區(qū)溢出造成的丟包熔萧。
- 只有在全雙工時糖驴,才支持Pause流控,半雙工時不支持流控佛致。
萬兆(10Gbps)以太網(wǎng)
- 2002.6月正式發(fā)布802.3ae 10GE標(biāo)準(zhǔn)
- 只全雙工贮缕,不支持單工和半雙工,也不采用CSMA/CD
- 不持自協(xié)商俺榆;提供廣域網(wǎng)物理層接口感昼。
- 長距離(40-50KM)網(wǎng)絡(luò)
- 擴展了網(wǎng)絡(luò)的覆蓋區(qū)域,且標(biāo)準(zhǔn)簡化罐脊。
- 支持<u>現(xiàn)存的大量SONET網(wǎng)絡(luò)兼容</u>
- 兩種物理層技術(shù):
- 局域網(wǎng)物理層LAN PHY定嗓;10.000Gbps精確10G;
- 廣域網(wǎng)物理層WAN PHY萍桌;OC-192宵溅,異步SONET/SDH
- 與10M/100M/1000Mbps幀格式完全相同;
交換機
- 以太網(wǎng)可以是一組直連的主機
- 以太網(wǎng)也可以通過網(wǎng)橋上炎、集線器恃逻、交換機這些 連接設(shè)備進行擴展
以太網(wǎng)的連接設(shè)備
- 集線器(HUB):物理層互連設(shè)備
- 1進多出,相同速率,無幀緩沖/線 障隔離辛块,使用方便
- 帶寬受限 畔派,廣播風(fēng)暴 ,單工傳輸 润绵,通信效率低
- 交換機(Switch):鏈路層互連設(shè)備
- 依幀頭信息轉(zhuǎn)發(fā)以太幀线椰;
- 實現(xiàn)方法
- 直接交換方式
- 存儲轉(zhuǎn)發(fā)方式
- 改進直接交換方式。
- 廣播域與沖突域
- 同時共享同一廣播幀的計算機子網(wǎng)
- 同時共享同一傳播媒介的計算機子網(wǎng)
虛擬局域網(wǎng)
- 不依賴三層交換尘盼,通過虛擬局域網(wǎng)VLAN憨愉,可以將 同一交換機或者多個交換機的廣播域劃分多個廣 播域
- 每個虛擬局域網(wǎng)一個廣播域
交換機-自學(xué)習(xí)功能
交換機采用的是 Datagram (or connectionless) model,每個幀擁有完整地址卿捎,然后通過一個轉(zhuǎn)發(fā)表來確定幀發(fā)往哪個端口
最簡單的情況: 右邊的轉(zhuǎn)發(fā)表是可以通過交換機學(xué)習(xí)自動得到的
交換機生成樹協(xié)議
- 交換機的自學(xué)習(xí)機制可以工作良 好配紫,但是一旦交換機連接存在環(huán) 路,會造成嚴重后果
- B1, B4, and B6 form a loop
- 當(dāng)交換機之間存在多條活動鏈路 時午阵,容易形成環(huán)路躺孝,導(dǎo)致轉(zhuǎn)發(fā)表 的不正確與不穩(wěn)定,并且還會導(dǎo) 致重復(fù)的數(shù)據(jù)包在網(wǎng)絡(luò)中傳遞底桂, 引起廣播風(fēng)暴植袍,使網(wǎng)絡(luò)不穩(wěn)定
- 為了防止交換機之間由于多條活動鏈路而導(dǎo)致的網(wǎng)絡(luò)故 障,必須將多余的鏈路置于非活動狀態(tài)籽懦,即不轉(zhuǎn)發(fā)用戶 數(shù)據(jù)包于个,而只留下單條鏈路作為網(wǎng)絡(luò)通信。
- 要實現(xiàn)此功能暮顺,需要依靠生成樹協(xié)議(Spanning Tree Protocol)來完成厅篓,STP將交換網(wǎng)絡(luò)中任何兩個點之間 的多余鏈路置于Blocking(關(guān)閉)狀態(tài),而只留一條活 動鏈路捶码,當(dāng)使用中的活動鏈路失效時羽氮,立即啟用被 Block的鏈路,以此來提供網(wǎng)絡(luò)的冗余效果宙项。
- 去掉環(huán)路的方法:所有交換機按照樹的方式進行連通
- STP的核心思想是網(wǎng)絡(luò)中選出一臺交換機做為核心交換機乏苦,STP稱其為 Root,也就是根尤筐,功能相當(dāng)于hub-spoke網(wǎng)絡(luò)中的Hub。
- 其它不是Root的交換機則需要留出一條活動鏈路去往根交換機洞就,因為只要普通交換機到根是通的盆繁,到其它交換機也就是通的。
- 只有在一個廣播能夠到達的范圍內(nèi)旬蟋,才需要進行相同的STP計算與選舉 油昂,<u>也就是一個廣播域內(nèi)獨立選舉STP</u>
- 下圖中網(wǎng)絡(luò)被路由器分割成兩個廣播域,所以在兩個網(wǎng)段中,需要進 行獨立的STP計算與選舉
-
交換機之間選舉根交換機(Root)
- 一個廣播域內(nèi)只能選舉一臺根交換機冕碟。Birdge-ID中優(yōu)先級最高(即數(shù) 字最欣雇铩)的為根交換機,優(yōu)先級范圍為0-65535安寺,如果優(yōu)先級相同厕妖,則 MAC地址小的為根交換機。
-
交換機端口之間選舉根端口(Root Port)
- 所有非根交換機都要選舉根端口挑庶,選舉規(guī)則為到根交換機的Path Cost 值最小的鏈路言秸。
-
非根交換機選擇指定端口(Designated Port)
- 簡單地理解為每條連接交換機的物理線路的兩個端口(屬于不同交換機)中,有一個要被選舉為指定端口迎捺。選舉規(guī)則和選舉根端口一樣举畸, 即:到根交換機的Path Cost值最小的鏈路,如果多條鏈路到達根交換機的Path Cost值相同凳枝,則選舉上一跳交換機Bridge-ID最小的鏈路抄沮。
-
剩余端口狀態(tài)為Blocking
在STP選出根交換機,根端口以及指定端口后岖瑰,其它所有 端口全部為Blocking狀態(tài)叛买,為了防止環(huán)路,所有 Blocking端口只有在根端口或指定端口失效锭环、拓撲改變 的時候才會被啟用聪全。
一個端口,在STP中只能處于一種角色辅辩,不可能是兩種角色
交換機生成樹協(xié)議-選舉
-
BPDU(Bridge Protocol Data Unit) 交換機間用BPDU報文來選舉难礼,目的地址為layer 2 multicast address 01:80:C2:00:00:00.:
- Protocol ID 固定為0。
- Version:0為802.1d玫锋,1為802.1w蛾茉,2為 802.1s。
- Message type:0為普通BPDU撩鹿,80為TCN谦炬。
- Flags字段:802.1d時只用到0位和7位,都和 TCN相關(guān)节沦,TCN的ACK報文里0位置1键思,TC報文里 7位置1。
- Root ID甫贯,Cost of path吼鳞,Bridge ID,Port ID:用于選舉叫搁。
-
Path cost計算
- 每個交換機會把自己鏈路的代價加上接收到的鄰居交換機的Path Cost赔桌,得到總的Path Cost供炎。
選舉過程
- 當(dāng)交換機打開的時候,所有的端口都處于Listening狀態(tài)疾党,每個交換 機都會認為自己是根交換機(Root ID為自己)音诫,然后都每隔兩秒就 向外發(fā)送一次自己的BPDU。
- 如果收到的BPDU的Bridge ID比自己的小雪位,則停止轉(zhuǎn)發(fā)自己的BPDU 竭钝,開始轉(zhuǎn)發(fā)更優(yōu)的BPDU,如果比自己的Bridge ID大或者和自己的 Bridge ID相等茧泪,則丟棄該BPDU蜓氨。
- 持續(xù)15s(轉(zhuǎn)發(fā)延遲)等到BPDU擴散完畢之后,開始各種端口的選舉 队伟,這時候每個BID最小的交換機成了根交換機穴吹,各個交換機通過收到 的BPDU來確定根端口和指定端口。剩下的成為非指定端口嗜侮,轉(zhuǎn)到 blocking狀態(tài)港令。然后進入learning狀態(tài)
- 進入Learning狀態(tài)之后,填寫MAC地址表锈颗,經(jīng)過15s(轉(zhuǎn)發(fā)延遲)之 后進入Forwarding狀態(tài)顷霹。
- 進入Forwarding狀態(tài)之后,開始轉(zhuǎn)發(fā)數(shù)據(jù)击吱,并且同時接受轉(zhuǎn)發(fā)來自于根的BPDU(Root ID為根交換機)淋淀,維護拓撲。這時只有根交換機發(fā)BPDU覆醇,其他交換機都只是轉(zhuǎn)發(fā)BPDU朵纷。
- 當(dāng)一個新的交換機加入的時候,端口狀態(tài)是Learning永脓,新的交換機認為自己是根交換機開始發(fā)送BPDU袍辞,也接收對端的BPDU,然后進行進一步的競選常摧。
- 若競選成功搅吁,則網(wǎng)絡(luò)拓撲就重新變化了,若競選失敗則計算根端口指定端口和非指定端口落午。(30s可以完成)
第二種類型的BPDU包:Topology Change Notification(TCN) BPDU
- 當(dāng)一臺交換機檢測到拓撲變化后,它就可以發(fā)送TCN給root bridge,注 意TCN是通過root port向root bridge方向發(fā)出的.
- 當(dāng)交換機從它的designate port接收到TCN類BPDU時,它必須為其做轉(zhuǎn) 發(fā),從它自已的root port上發(fā)送出去TCN類型的BPDU包,這樣一級一級 地傳到root bridge后,TCN的任務(wù)才算完成.
- 在以上的過程中,無論是哪臺交換機從它的designate port上收到了 TCN類型的BPDU包,它都必須給一個回復(fù),必須從designate port上發(fā) 出TCA位被置1的normal configuration BPDU包
- 那么當(dāng)TCN傳遍全網(wǎng),直至到達ROOT BRIDGE后,root bridge也要做出 一種回應(yīng),它會發(fā)出一個正常的configuration BPDU包,當(dāng)然會有一些 不同,就是包內(nèi)的TC字段會被置1,TC即topology change,表示發(fā)現(xiàn)拓 撲變化谎懦。
- 這個包會被所有交換機轉(zhuǎn)發(fā),同樣的TC位會置1,直至傳遍全網(wǎng),所有交 換機都得知拓撲變化為止,原來轉(zhuǎn)發(fā)表作廢溃斋,重新開始選舉党瓮。
重點思考
- 如何加快STP的選舉速度?
- 如何根據(jù)VLAN虛擬局域網(wǎng)進行優(yōu)化盐类?
正文之后
氣D椤!在跳!分布式系統(tǒng)好難扒固选!C睢瓷翻!