IP 協議簡介
IP 協議位於 TCP/IP 協議的第三層——網絡層。與傳輸層協議相比,網絡層的責任是提供點到點(hop by hop)的服務,而傳輸層(TCP/UDP)則提供端到端(end to end)的服務。
IP 地址的分類
A類地址
B類地址
C類地址
D 類地址
廣播與多播
廣播和多播僅用於UDP(TCP是面向連接的)。
-
廣播
一共有四種廣播地址:
- 受限的廣播
受限的廣播地址爲255.255.255.255。該地址用於主機配置過程中IP數據報的目的地址,在任何情況下,router不轉發目的地址爲255.255.255.255的數據報,這樣的數據報僅出現在本地網絡中。
- 指向網絡的廣播
指向網絡的廣播地址是主機號爲全1的地址。A類網絡廣播地址爲netid.255.255.255,其中netid爲A類網絡的網絡號。
一個router必須轉發指向網絡的廣播,但它也必須有一個不進行轉發的選擇。
- 指向子網的廣播
指向子網的廣播地址爲主機號爲全1且有特定子網號的地址。作爲子網直接廣播地址的IP地址需要了解子網的掩碼。例如,router收到128.1.2.255的數據報,當B類網路128.1的子網掩碼爲255.255.255.0時,該地址就是指向子網的廣播地址;但是如果子網掩碼爲255.255.254.0,該地址就不是指向子網的廣播地址。
- 指向所有子網的廣播
指向所有子網的廣播也需要了解目的網絡的子網掩碼,以便與指向網絡的廣播地址區分開來。指向所有子網的廣播地址的子網號和主機號爲全1.例如,如果子網掩碼爲255.255.255.0,那麼128.1.255.255就是一個指向所有子網的廣播地址。
當前的看法是這種廣播是陳舊過時的,更好的方式是使用多播而不是對所有子網的廣播。
廣播示例:
PING 192.168.0.255 (192.168.0.255): 56 data bytes 64 bytes from 192.168.0.107: icmp_seq=0 ttl=64 time=0.199 ms 64 bytes from 192.168.0.106: icmp_seq=0 ttl=64 time=45.357 ms 64 bytes from 192.168.0.107: icmp_seq=1 ttl=64 time=0.203 ms 64 bytes from 192.168.0.106: icmp_seq=1 ttl=64 time=269.475 ms 64 bytes from 192.168.0.107: icmp_seq=2 ttl=64 time=0.102 ms 64 bytes from 192.168.0.106: icmp_seq=2 ttl=64 time=189.881 ms
可以看到的確收到了來自兩個主機的答覆,其中 192.168.0.107 是本機地址。
-
多播
多播又叫組播,使用D類地址,D類地址分配的28bit均用作多播組號而不再表示其他。
多播組地址包括1110的最高4bit和多播組號。它們通常可以表示爲點分十進制數,範圍從224.0.0.0到239.255.255.255。
多播的出現減少了對應用不感興趣主機的處理負荷。
多播的特點:
- 允許一個或多個發送者(組播源)發送單一的數據包到多個接收者(一次的,同時的)的網絡技術
- 可以大大的節省網絡帶寬,因爲無論有多少個目標地址,在整個網絡的任何一條鏈路上只傳送單一的數據包
- 多播技術的核心就是針對如何節約網絡資源的前提下保證服務質量。
多播示例:
PING 224.0.0.1 (224.0.0.1): 56 data bytes 64 bytes from 192.168.0.107: icmp_seq=0 ttl=64 time=0.081 ms 64 bytes from 192.168.0.106: icmp_seq=0 ttl=64 time=123.081 ms 64 bytes from 192.168.0.107: icmp_seq=1 ttl=64 time=0.122 ms 64 bytes from 192.168.0.106: icmp_seq=1 ttl=64 time=67.312 ms 64 bytes from 192.168.0.107: icmp_seq=2 ttl=64 time=0.132 ms 64 bytes from 192.168.0.106: icmp_seq=2 ttl=64 time=447.073 ms 64 bytes from 192.168.0.107: icmp_seq=3 ttl=64 time=0.132 ms 64 bytes from 192.168.0.106: icmp_seq=3 ttl=64 time=188.800 ms
BGP
邊界網關協議(BGP)是運行於 TCP 上的一種自治系統的路由協議
BGP 是唯一一個用來處理像因特網大小的網絡的協議,也是唯一能夠妥善處理好不相關路由域間的多路連接的協議
BGP是一種外部網關協議(Exterior Gateway Protocol,EGP),與OSPF、RIP等內部網關協議(Interior Gateway Protocol,IGP)不同,BGP不在於發現和計算路由,而在於控制路由的傳播和選擇最佳路由
BGP使用TCP作爲其傳輸層協議(端口號179),提高了協議的可靠性
BGP既不是純粹的矢量距離協議,也不是純粹的鏈路狀態協議
BGP支持CIDR(Classless Inter-Domain Routing,無類別域間路由)
路由更新時,BGP只發送更新的路由,大大減少了BGP傳播路由所佔用的帶寬,適用於在Internet上傳播大量的路由信息
BGP路由通過攜帶AS路徑信息徹底解決路由環路問題
BGP提供了豐富的路由策略,能夠對路由實現靈活的過濾和選擇
BGP易於擴展,能夠適應網絡新的發展