1. IP數(shù)據(jù)報
1.1 IPV4數(shù)據(jù)報
1.1.1?IPv4數(shù)據(jù)報的結(jié)構(gòu)
????????如圖按照RFC 791規(guī)范顯示了一個IPv4數(shù)據(jù)包頭部的不同字段
????????IPv4頭部通常包括以下部分:
1.1.1.1 版本(Version)
????????指明了IP協(xié)議的版本,IPv4表示為4。
1.1.1.2 頭部長度(IHL, Internet Header Length)
????????指明了頭部的長度,以32位的字為單位。
1.1.1.3 服務類型(Type of Service)
????????指明了數(shù)據(jù)包的服務質(zhì)量。IPv4頭部中的“服務類型”(Type of Service,簡稱ToS)字段,它的設計目的是讓發(fā)送者指明數(shù)據(jù)包的處理優(yōu)先級和要求:
1.1.1.3.1 優(yōu)先級(Priorité)????????
????????也稱為“先行權(quán)”或“優(yōu)先權(quán)”,它通常被設置為0,但可以被用來標記數(shù)據(jù)包在網(wǎng)絡中的處理優(yōu)先級。
1.1.1.3.2 服務類型
????????分為各種不同的位,每個位表示不同的服務質(zhì)量需求,如延遲(délai)、吞吐量(débit)、可靠性(fiabilité)和成本(co?t)。這些位可以設置為1或0,以指示特定的服務需求。
????????ToS的使用并不普遍,因為不是所有的網(wǎng)絡設備都會利用這些信息。
????????預置位可以被用于在網(wǎng)絡中的路由器上標記流量,以便于流量管理和QoS(服務質(zhì)量)。
????????ToS位可以通過終端應用程序使用套接字API來設置,在Windows和Linux系統(tǒng)上都有相應的實現(xiàn)。
????????在Linux系統(tǒng)上,還可以使用`iptables`命令根據(jù)不同的標準來設置這些位。
1.1.1.3.3?區(qū)分服務(DiffServ)
????????ToS字段是RFC 1349中定義的,并且在后來的RFC 2474中被重新定義為 區(qū)分服務(Differentiated Services,簡稱DiffServ)字段。在現(xiàn)代網(wǎng)絡實踐中,DiffServ已經(jīng)變得更加常用,它為互聯(lián)網(wǎng)流量提供了基于服務質(zhì)量的分類。
????????IPv4頭部中服務類型字段的DiffServ(區(qū)分服務)版本。
????????DiffServ通過使用DSCP(區(qū)分服務代碼點)重定義了ToS字段,以提供網(wǎng)絡流量的分類和優(yōu)先級處理。DSCP占據(jù)了原始ToS字段的前六位,如下所示:
????????DSCP:這六位用來編碼PHB(每跳行為),它是DiffServ架構(gòu)的基礎(chǔ),定義了數(shù)據(jù)包在每個網(wǎng)絡設備(如路由器)上的處理方式。
????????PHBs定義了不同的服務級別,例如:
????????Expedited Forwarding (EF):用于高優(yōu)先級流量,如VoIP或?qū)崟r視頻會議,它保證低延遲、低丟包率和高可靠性。
????????Assured Forwarding (AF):提供一組PHBs,允許客戶端獲得保證的帶寬。
????????Best Effort:是傳統(tǒng)的互聯(lián)網(wǎng)服務模型,數(shù)據(jù)包沒有優(yōu)先級,盡最大努力交付,但不保證。
????????Network Control:用于網(wǎng)絡控制流量,如路由器之間的路由協(xié)議交換信息。
????????DSCP使得網(wǎng)絡運營商可以實現(xiàn)復雜的QoS策略,以優(yōu)化網(wǎng)絡流量并保證服務質(zhì)量。這些設置通常在網(wǎng)絡設備上配置,并可以基于業(yè)務要求來優(yōu)先處理或限制流量。這種服務質(zhì)量的區(qū)分對于維護網(wǎng)絡性能和處理高優(yōu)先級的流量至關(guān)重要。
1.1.1.4 總長度(Total Length)????????
????????整個數(shù)據(jù)包的長度,包括頭部和數(shù)據(jù)。
1.1.1.5 標識(Identification)、標志(Flags)、片偏移(Fragment Offset)
????????這些字段與IP分段有關(guān),用于重組分段的數(shù)據(jù)包。
1.1.1.6?生存時間(TTL, Time to Live)
????????數(shù)據(jù)包在網(wǎng)絡中的生存時間,每經(jīng)過一個路由器減一。
1.1.1.7 協(xié)議(Protocol)
????????指明了數(shù)據(jù)包攜帶的上層協(xié)議類型,例如TCP或UDP。
1.1.1.8 頭部校驗和(Header Checksum)
????????用于檢測頭部信息是否在傳輸過程中被篡改。
1.1.1.9 源地址(Source Address)和目的地址(Destination Address)
????????發(fā)送方和接收方的IP地址。
1.1.1.10 選項(Options)
????????可選字段,可用于各種控制和設置。
1.1.1.11 IPv4頭部中的選項字段
????????這個字段用于提供額外的功能,例如進行路由選擇和特殊處理。圖中顯示了選項字段的基本格式,包括類型(Type),長度(Longueur),和參數(shù)(Paramètres)。
????????選項類型包括:
????????1. LSR(Loose Source Routing):允許發(fā)送者指定數(shù)據(jù)包在到達目的地之前應該經(jīng)過的一系列路由器。"松散"指的是數(shù)據(jù)包可以自由地在指定的路由器之間選擇路徑。
????????2. SSR(Strict Source Routing):與LSR類似,但路徑更為嚴格,數(shù)據(jù)包必須嚴格按照發(fā)送者指定的路由器路徑傳遞。
????????3. RR(Record Route):每個路由器將其IP地址添加到頭部中,以記錄數(shù)據(jù)包的路徑。
????????4. RTALT(Router Alert):通知路由器該數(shù)據(jù)包包含對路由器上層協(xié)議處理很重要的信息,因此需要特別注意。
????????這些選項可以用于多種目的,比如診斷網(wǎng)絡問題、調(diào)試路由器路徑、或確保敏感數(shù)據(jù)包得到正確處理。盡管這些選項很有用,但它們不常用于普通的網(wǎng)絡通信,因為它們可能會增加處理復雜性并影響性能。
1.1.1.12?數(shù)據(jù)(Data)????????
????????實際傳輸?shù)臄?shù)據(jù),也稱為有效載荷。
????????IPv4頭部為網(wǎng)絡設備提供了必要的信息,以正確地傳遞數(shù)據(jù)包從源地址到目的地址。頭部的每個字段都扮演特定的角色,例如,TTL防止數(shù)據(jù)包在網(wǎng)絡中無限循環(huán),而校驗和則保證頭部在傳輸中未被錯誤修改。
1.2 IPV6數(shù)字報
1.2.1?IPv6數(shù)據(jù)報的結(jié)構(gòu)
????????如下IPv6數(shù)據(jù)報的基本結(jié)構(gòu)。IPv6是互聯(lián)網(wǎng)協(xié)議的最新版本,旨在替代IPv4,并解決地址耗盡等問題。IPv6頭部的字段包括:
1.2.1.1 版本(Version)
????????這表示協(xié)議版本,對于IPv6,這個字段的值是6。標識該數(shù)據(jù)包遵循IPv6協(xié)議。
1.2.1.2?通信類別(Traffic Class)
????????與IPv4頭部的服務類型(Type of Service)(ToS)類似,用于區(qū)分不同類別的數(shù)據(jù)流,提供服務質(zhì)量管理。通常用于Differentiated Services(區(qū)分服務)和Explicit Congestion Notification(顯式擁塞通知),以區(qū)分處理數(shù)據(jù)包的優(yōu)先級和擁塞。
1.2.1.3(Flow Label)
????????用于標識來自同一通信流的數(shù)據(jù)包序列,這些數(shù)據(jù)包需要類似的處理方式。有助于提供流量管理和QoS,盡管在實際中使用并不廣泛。
1.2.1.4?有效載荷長度(Payload Length)????????
????????表示除了基本頭部之外,IPv6數(shù)據(jù)包中有效數(shù)據(jù)的長度。表示除了基礎(chǔ)頭部之外的數(shù)據(jù)長度。這與IPv4的總長度字段不同,后者包括整個數(shù)據(jù)報的長度。
1.2.1.5?下一個頭部(Next Header)
????????指示緊跟在基本頭部之后的是什么類型的頭部或數(shù)據(jù)。類似于IPv4中的協(xié)議字段,它指明接下來的內(nèi)容是什么類型的頭部或數(shù)據(jù)。IPv6通過鏈式的方式可以處理一個以上的擴展頭部。
????????它允許不同類型的頭部按順序鏈接在一起。這種結(jié)構(gòu)支持靈活的擴展和多樣化的網(wǎng)絡功能。通常有以下幾種情況:
1.2.1.5.1 基本情況
????????一個IPv6頭部直接跟隨著TCP頭部和數(shù)據(jù)。這種情況下,IPv6頭部中的“下一個頭部”字段將指明TCP是傳輸層協(xié)議。
1.2.1.5.2?路由頭部
????????IPv6數(shù)據(jù)報可以包含一個路由頭部,它在IPv6頭部和TCP頭部之間。在這個例子中,“下一個頭部”字段首先指向路由頭部,然后路由頭部中的相同字段將指向TCP,表明TCP是下一個要處理的協(xié)議。
1.2.1.5.3?片段頭部
????????如果IPv6數(shù)據(jù)報被分片,那么片段頭部將被插入到IPv6頭部和傳輸層頭部之間。這里,“下一個頭部”字段會鏈接到路由頭部,路由頭部再鏈接到片段頭部,最后片段頭部指明TCP頭部為下一個處理的協(xié)議。
????????“下一個頭部”字段的這種鏈式結(jié)構(gòu)提供了IPv6比IPv4更大的靈活性,允許多種不同類型的頭部信息按需插入。這為高級路由、數(shù)據(jù)包處理、安全功能(如IPSec)以及其他網(wǎng)絡服務提供了必要的支持。
1.2.1.6?跳數(shù)限制(Hop Limit)
????????與IPv4頭部的生存時間(TTL)類似,用于限制數(shù)據(jù)包在網(wǎng)絡中的傳輸跳數(shù)。這是IPv4中TTL字段的對應項,用于防止數(shù)據(jù)包在網(wǎng)絡中無限循環(huán)。它表示數(shù)據(jù)包在網(wǎng)絡中可以跳轉(zhuǎn)的最大次數(shù)。
1.2.1.7?源地址(Source Address)
????????發(fā)送數(shù)據(jù)包的設備的IPv6地址。在IPv6中,這些地址字段被擴展到了128位,這提供了極大的地址空間,使得幾乎可以為地球上的每個粒子分配一個獨一無二的IP地址。
1.2.1.8?目的地址(Destination Address)
????????數(shù)據(jù)包的目標接收設備的IPv6地址。
1.2.1.9 有效載荷(Payload)
????????包含實際傳輸?shù)臄?shù)據(jù)和任何擴展頭部。
????????IPv6的設計簡化了頭部結(jié)構(gòu),使得路由器的處理變得更為高效,并支持更大的地址空間以及更先進的網(wǎng)絡功能。IPv6的設計增強了網(wǎng)絡的可伸縮性、安全性和效率,以適應互聯(lián)網(wǎng)的持續(xù)增長和未來技術(shù)的需求。
2. IP地址
????????在網(wǎng)絡設計中,為了使路由表更加緊湊,需要結(jié)構(gòu)化和聚合地址。這意味著將目的地地址組織成能夠指示它們在網(wǎng)絡中的“位置”的方式。這與郵政地址的結(jié)構(gòu)(國家/城市/街道/房屋號碼)相似。IP地址的解決方案是指定哪部分地址代表網(wǎng)絡號,哪部分代表該網(wǎng)絡內(nèi)的主機號。這通常通過子網(wǎng)掩碼實現(xiàn),它將IP地址分為網(wǎng)絡部分和主機部分,從而允許路由器有效地將數(shù)據(jù)傳輸?shù)秸_的子網(wǎng)。
2.1?IPv4地址的傳統(tǒng)類別系統(tǒng)
????????該系統(tǒng)將IP地址劃分為A、B、C三個主要類別。這些類別通過地址的前幾位來識別,并定義了網(wǎng)絡號和主機號的大小。下面是每個類別的詳細說明:
2.1.1 類別A
????????第一位為0,網(wǎng)絡號占據(jù)了8位(第一字節(jié)),主機號占據(jù)了剩下的24位。地址范圍從0.0.0.0到126.255.255.255,實際使用時通常從1.0.0.0開始。提供了128個網(wǎng)絡,每個網(wǎng)絡可以有約2^24(16,777,216)個主機。
2.1.2 類別B
????????前兩位為10,網(wǎng)絡號占據(jù)了16位(前兩個字節(jié)),主機號占據(jù)了16位。地址范圍從128.0.0.0到191.255.255.255。提供了2^14(16,384)個網(wǎng)絡,每個網(wǎng)絡可以有2^16(65,536)個主機。
2.1.3 類別C
????????前三位為110,網(wǎng)絡號占據(jù)了24位(前三個字節(jié)),主機號占據(jù)了8位。地址范圍從192.0.0.0到223.255.255.255。提供了2^21(2,097,152)個網(wǎng)絡,每個網(wǎng)絡可以有254個主機。
2.1.4 類別D(Multicast)
????????以1110開始的地址用于多播。這些地址的范圍是從224.0.0.0到239.255.255.255。多播地址用于同時將數(shù)據(jù)包發(fā)送給多個目的地(即一對多的通信),常用于視頻會議和在線流媒體等應用。
2.1.5 類別E(未使用或?qū)嶒炐允褂茫?/h4>
????????以1111開始的地址原本是為將來的使用保留,但現(xiàn)在主要用于實驗和測試目的。這些地址的范圍是從240.0.0.0到255.255.255.255,它們在互聯(lián)網(wǎng)上并未被正式用于常規(guī)數(shù)據(jù)傳輸。
????????盡管這個系統(tǒng)易于理解,但它自1992年以來已經(jīng)過時,并被無類別域間路由(CIDR)所取代。因為CIDR允許更細粒度的地址分配,以更有效地利用IP地址空間。盡管如此,類別D仍然被廣泛用于多播通信。CIDR使用更靈活的地址劃分和子網(wǎng)掩碼,允許網(wǎng)絡管理員根據(jù)實際需要劃分任意大小的地址塊,從而更有效地使用IP地址空間。
2.1.2 IPv4地址中的幾種特殊地址及其用途
2.1.2.1 本地回環(huán)地址(Local Loopback Address)
????????127.0.0.1是最著名的本地回環(huán)地址,用于網(wǎng)絡軟件測試以及系統(tǒng)自身通信。數(shù)據(jù)包發(fā)送到這個地址不會離開主機,而是直接由本地主機處理。在Linux系統(tǒng)中,這個地址通常與lo(回環(huán))接口關(guān)聯(lián)。
2.1.2.2 私有地址(Private Addresses)????????
????????根據(jù)RFC 1918,有幾個地址塊被指定為私有地址,它們在私人網(wǎng)絡內(nèi)部使用,而不應該直接在互聯(lián)網(wǎng)上路由。
????????私有地址范圍包括:
????????10.0.0.0到10.255.255.255(10/8前綴)
????????172.16.0.0`到`172.31.255.255(172.16/12前綴)
????????192.168.0.0`到`192.168.255.255`(192.168/16前綴)
????????這些地址在互聯(lián)網(wǎng)上不可路由,但可以在內(nèi)部網(wǎng)絡中自由使用。
2.1.2.3 網(wǎng)絡地址轉(zhuǎn)換(NAT)
????????即使是使用私有地址的設備也可以訪問互聯(lián)網(wǎng),前提是它們通過執(zhí)行NAT的網(wǎng)關(guān)或路由器進行連接。NAT可以將私有地址翻譯成有效的公網(wǎng)地址,允許私有網(wǎng)絡內(nèi)的機器與互聯(lián)網(wǎng)上的機器進行通信。
2.1.2.4. 私有網(wǎng)絡中的路由
????????私有地址在私有網(wǎng)絡內(nèi)部是可路由的,這意味著在同一私有網(wǎng)絡內(nèi)的設備可以相互通信,但這些地址不會被互聯(lián)網(wǎng)路由器轉(zhuǎn)發(fā)到外部網(wǎng)絡。
????????私有地址和NAT技術(shù)的使用是因為IPv4地址數(shù)量的限制,這些技術(shù)可以有效地在沒有足夠公網(wǎng)地址的情況下擴展網(wǎng)絡。
2.1.3 IPv4地址中用于廣播的特殊地址及其使用方式
????????這段文字介紹了IPv4地址體系中用于廣播的特殊地址類型。在計算機網(wǎng)絡中,廣播地址允許信息發(fā)送給網(wǎng)絡上的所有設備。這里的內(nèi)容包括:
????????1. 局域網(wǎng)廣播地址:`255.255.255.255`是一個特殊的地址,它被用來在本地網(wǎng)絡上發(fā)送廣播消息。當一個信息包發(fā)送到這個地址時,網(wǎng)絡上的所有設備都會接收到這個信息包。
????????2. 定向廣播地址:這種類型的廣播地址有一個特定的網(wǎng)絡部分,而主機部分則全部設置為`255`。例如,在`192.168.100.0`網(wǎng)絡中,`192.168.100.255`會被用作廣播地址,用來發(fā)送給這個子網(wǎng)上的所有設備。
????????3. 零主機部分的廣播地址:在某些舊的系統(tǒng)中,廣播地址可以是網(wǎng)絡地址的零主機部分,例如`192.168.100.0`。這種做法在現(xiàn)代網(wǎng)絡中很少使用,但在一些老舊的系統(tǒng)(如SUNOS-4操作系統(tǒng))中可能還存在。
????????要點是,廣播地址使得發(fā)送方能夠發(fā)送單個數(shù)據(jù)包給同一網(wǎng)絡上的多個接收方,但它可能會導致大量的網(wǎng)絡流量?,F(xiàn)代網(wǎng)絡通常使用更有效的方法,如多播,來減少這種影響。
2.2 通過子網(wǎng)與掩碼定義一個網(wǎng)絡的地址
????????具體包括兩個部分:
2.2.1. 標準網(wǎng)絡掩碼
????????網(wǎng)絡掩碼用來區(qū)分IP地址中的網(wǎng)絡部分和主機部分。在IP地址中,網(wǎng)絡部分的主機號設置為0。例如,在類C網(wǎng)絡中,最后一個數(shù)字(八位組)為0,像`192.168.100.0`;在類B網(wǎng)絡中,最后兩個數(shù)字為0;而在類A網(wǎng)絡中,最后三個數(shù)字為0。這種IP地址表示的是整個網(wǎng)絡,而不是網(wǎng)絡中的單個設備。
2.2.2?子網(wǎng)
2.2.2.1 基本概念
????????子網(wǎng)是將一個較大的網(wǎng)絡劃分成更小的網(wǎng)絡塊。在子網(wǎng)地址中,網(wǎng)絡地址部分可能包括原本屬于主機號的一部分。
2.2.2.2 舉例說明????????
????????192.168.100.32`可能是一個子網(wǎng)的網(wǎng)絡地址。如果子網(wǎng)掩碼是`255.255.255.224`,這意味著這個子網(wǎng)包括的地址從`192.168.100.32`到`192.168.100.63`。
????????子網(wǎng)掩碼`255.255.255.224`告訴我們網(wǎng)絡地址的哪些部分是網(wǎng)絡部分,哪些是主機部分。這個子網(wǎng)掩碼在二進制中表示如下:
????????11111111.11111111.11111111.11100000
????????這里的`1`代表網(wǎng)絡部分,`0`代表主機部分。
????????最后8位中的前三位是網(wǎng)絡部分,所以網(wǎng)絡部分是`11100000`,這等于十進制中的224。
????????在IPv4地址中,主機部分是可變的,而網(wǎng)絡部分是固定的。在`255.255.255.224`掩碼中,最后8位有5位是可變的,因為它們是`0`:
????????00000 - 最小主機地址(這是子網(wǎng)地址)
????????11111 - 最大主機地址(這是廣播地址)
????????二進制的`00000`到`11111`等于十進制的0到31。但是,這些主機部分的數(shù)字加上子網(wǎng)的基礎(chǔ)部分(在這個例子中是`192.168.100`),給出了可用的IP地址范圍:
????????網(wǎng)絡地址(通常不分配給設備)是`192.168.100.32`(`192.168.100` + `00000`的二進制即32的十進制)。
????????廣播地址(也通常不分配給設備)是`192.168.100.63`(`192.168.100` + `11111`的二進制即31的十進制加上基礎(chǔ)部分32)。
????????所以,可分配的主機地址從`192.168.100.33`(網(wǎng)絡地址后的第一個地址)到`192.168.100.62`(廣播地址前的最后一個地址)。
????????網(wǎng)絡掩碼幫助確定一個IP地址屬于哪個子網(wǎng),這對于路由器轉(zhuǎn)發(fā)數(shù)據(jù)包到正確的目的地非常關(guān)鍵。簡單來說,網(wǎng)絡掩碼是一個用于標識網(wǎng)絡地址范圍的系統(tǒng),它定義了哪些IP地址屬于同一個網(wǎng)絡。
2.2.2.3 子網(wǎng)劃分(subnetting)
????????用于將一個較大的網(wǎng)絡劃分為多個較小的子網(wǎng)絡。
????????1. 擴展網(wǎng)絡地址部分:在子網(wǎng)劃分中,通過借用IP地址中主機部分的一些高位比特來擴展網(wǎng)絡地址部分。這樣做可以增加網(wǎng)絡部分的長度,從而創(chuàng)建更多的子網(wǎng)絡。
????????2. 舉例說明:例如,在C類地址中,一個常見的子網(wǎng)掩碼是255.255.255.224。這個子網(wǎng)掩碼意味著IP地址的前27位被用作網(wǎng)絡地址,剩下的5位用作主機地址。
????????3. 子網(wǎng)掩碼的作用:子網(wǎng)掩碼用于確定IP地址中哪些位屬于網(wǎng)絡地址,哪些位屬于主機地址。在上述例子中,224(十進制)對應的二進制為1110 0000,表明IP地址的最后三位被用作網(wǎng)絡地址的一部分。
????????4. 創(chuàng)建子網(wǎng):這種方法允許將一個大網(wǎng)絡劃分成多個小網(wǎng)絡,每個小網(wǎng)絡被稱為子網(wǎng)。每個子網(wǎng)都可以作為一個獨立的網(wǎng)絡來運行。
????????5. 子網(wǎng)間的連接:子網(wǎng)之間通常通過路由器相連,就像普通網(wǎng)絡一樣。路由器負責在不同子網(wǎng)之間轉(zhuǎn)發(fā)數(shù)據(jù)。
????????6. 始終存在的子網(wǎng)掩碼:在任何網(wǎng)絡中,都會有一個子網(wǎng)掩碼用來區(qū)分網(wǎng)絡地址和主機地址。
????????7. 標準與非標準子網(wǎng)掩碼:如果子網(wǎng)掩碼沒有擴展出原始地址類別的位數(shù),則稱為標準子網(wǎng)掩碼。例如,對于C類地址,標準的子網(wǎng)掩碼是255.255.255.0。
????????通過子網(wǎng)劃分,網(wǎng)絡管理員可以更有效地管理和分配IP地址,提高網(wǎng)絡的安全性和效率。
2.3 無類別域間路由(CIDR)
????????網(wǎng)絡掩碼(netmask)和無類別域間路由(CIDR,Classless Inter-Domain Routing)是現(xiàn)代IP地址管理的重要概念。以下是對這些概念的中文解釋:
????????1. 無類別地址:傳統(tǒng)的IP地址系統(tǒng)按大小分為不同的類別(A、B、C等)。但在CIDR出現(xiàn)后,這種基于類別的劃分方式已不再適用,CIDR允許更靈活、更有效的地址分配。
????????2. CIDR概念(RFC-1519):CIDR是一種用于創(chuàng)建更靈活、高效的IP地址分配方式的方法。它允許定義不同大小的網(wǎng)絡,這比傳統(tǒng)基于類別的方法更有效。
????????3. 靈活的網(wǎng)絡地址界限:使用CIDR時,IP地址中網(wǎng)絡部分和主機部分之間的界限不再固定。這提供了對IP地址的更靈活、更優(yōu)化的使用。
????????4. 路由聚合:CIDR特別適合用于路由器的路由表中的路由聚合,從而減小路由表的大小并提高路由效率。
????????5. 服務提供商的應用:CIDR允許服務提供商將地址子集分配給客戶,這比分配基于類別的完整地址范圍更高效。
????????6. 指定網(wǎng)絡掩碼:使用CIDR時,必須明確指定網(wǎng)絡掩碼。網(wǎng)絡掩碼確定了IP地址中屬于網(wǎng)絡地址的部分。
????????7. 傳統(tǒng)表示法:網(wǎng)絡掩碼的傳統(tǒng)表示方法可能類似于255.255.255.128,其中掩碼代表25個比特(例如在此例中)。
????????8. CIDR表示法:CIDR表示法更簡潔明了,使用“/[掩碼比特數(shù)]”的格式。例如,“/25”表示IP地址的前25位用作網(wǎng)絡地址。一個帶有CIDR表示法的IP地址示例可能是192.168.100.128/25,表示前25位用于網(wǎng)絡,剩余7位用于主機。
????????總之,CIDR是一種IP地址管理方法,提供了更大的靈活性和效率,特別是在IPv4地址日益稀缺的情況下顯得尤為重要。
2.4 IP接口地址的分配方式
????????IP接口地址的分配可以通過多種方式進行,具體取決于需求和環(huán)境。
????????以下是主要的方法:
2.4.1 手動配置(“手動”)
????????這種方法涉及直接在設備的網(wǎng)絡接口上配置IP地址。通常通過操作系統(tǒng)提供的工具來實現(xiàn),可以是圖形化的管理界面,也可以是命令行界面中的特定命令。
2.4.2?自動配置(動態(tài)配置)
????????通過DHCP協(xié)議(動態(tài)主機配置協(xié)議):
????????DHCP是一種協(xié)議,允許服務器自動向網(wǎng)絡上的設備提供IP配置信息(如IP地址、子網(wǎng)掩碼、默認網(wǎng)關(guān)等)。
????????當設備連接到網(wǎng)絡時,它會發(fā)送一個DHCP請求,并接收到一個IP配置響應。
????????通過PPP協(xié)議(點對點協(xié)議)在點對點連接中:
????????PPP通常用于建立兩點之間的直接連接,如通過調(diào)制解調(diào)器的互聯(lián)網(wǎng)連接。
????????在建立連接時,位于鏈路另一端的服務器可以向連接的設備提供IP地址和其他網(wǎng)絡配置參數(shù)。
????????每種方法都有其優(yōu)點和缺點。手動配置提供了完全的控制,但在大型網(wǎng)絡中可能會很繁瑣。自動配置通過DHCP更易于管理,特別是對于擁有許多設備的大型網(wǎng)絡,但需要一個正常運行的DHCP服務器。PPP特定于點對點連接,在現(xiàn)代寬帶網(wǎng)絡中使用較少。
2.5 IPv6地址
????????IPv6地址,如RFC 4291所述,是從IPv4地址系統(tǒng)中發(fā)展來的重大進步。
2.5.1 IPv6地址的關(guān)鍵點
2.5.1.1 128位地址
????????與IPv4使用32位地址不同,IPv6地址長度為128位。這顯著增加了可用地址的數(shù)量,解決了IPv4地址耗盡的限制。
2.5.1.2 十六進制表示法
????????IPv6地址以十六進制表示。一個典型的IPv6地址被劃分為八組,每組包含16位(2個字節(jié))。每組之間用冒號分隔。例如,IPv6地址可能看起來像這樣:`2001:db8:cafe:deca:0:0:0:1`。每個段代表一個16位的十六進制值。
2.5.1.3 零壓縮
????????IPv6地址通常包含長序列的零。為了簡化這些地址,RFC 4291允許進行零壓縮。這意味著地址中的一個或多個連續(xù)零組可以用雙冒號(::)替換。例如,`2001:db8:cafe:deca:0:0:0:1`可以壓縮為`2001:db8:cafe:deca::1`。但是,這個雙冒號在一個地址中只能使用一次,以避免歧義。
????????這些特性使得IPv6成為互聯(lián)網(wǎng)地址未來的強大和可擴展解決方案,允許幾乎無限數(shù)量的設備直接連接到互聯(lián)網(wǎng)。
2.5.2 子網(wǎng)劃分
????????子網(wǎng)前綴(Subnet ID)和主機標識符(Host ID)。這兩部分在CIDR(無類別域間路由)表示法中被明確區(qū)分。以下是對您給出的示例的解釋:
2.5.2.1?子網(wǎng)前綴(Subnet ID)
????????在地址`2001:db8:cafe:deca:a9e:1ff:fe6b:25c9/64`中,`/64`表示地址的前64位構(gòu)成了子網(wǎng)前綴。因此,`2001:db8:cafe:deca`代表子網(wǎng)前綴。它標識了該地址所屬的特定網(wǎng)絡。
2.5.2.2 主機標識符(Host ID)
????????地址的剩余部分,本例中為`a9e:1ff:fe6b:25c9`,是主機標識符(Host ID)。這是地址中用于標識子網(wǎng)內(nèi)特定設備(或主機)的部分。
2.5.2.3 CIDR表示法
????????CIDR表示法是一種指定網(wǎng)絡前綴和子網(wǎng)大小的方法。`/64`意味著地址的前64位被用作子網(wǎng)前綴。
2.5.2.4 對應的子網(wǎng)
????????對于`2001:db8:cafe:deca::/64`這個子網(wǎng),雙冒號`::`表示地址的其余部分(剩下的64位)都是零。這意味著所有以`2001:db8:cafe:deca`開頭,并且在主機部分有任何64位組合的地址都屬于這個子網(wǎng)。
????????總結(jié)來說,在IPv6地址`2001:db8:cafe:deca:a9e:1ff:fe6b:25c9/64`中,`2001:db8:cafe:deca`是子網(wǎng)前綴,`a9e:1ff:fe6b:25c9`是主機標識符。相應的子網(wǎng)`2001:db8:cafe:deca::/64`覆蓋了所有具有這個特定前綴的地址。
2.5.3 IPv6前綴被用于不同的特定網(wǎng)絡用途
????????以下是對每個前綴的解釋:
2.5.3.1 文檔用途前綴 (2001:db8::/32)
????????這個前綴被保留用于文檔和書面材料中的示例。以`2001:db8::/32`開頭的地址不應用于公共網(wǎng)絡,它們僅用于教育或文檔目的。
2.5.3.2 鏈接本地前綴 (fe80::/10)
????????鏈接本地地址用于局域網(wǎng)內(nèi)部,不會在互聯(lián)網(wǎng)上路由。以`fe80::/10`開頭的地址會自動配置在每個網(wǎng)絡接口上,用于同一網(wǎng)絡段內(nèi)的本地通信。
2.5.3.3 多播前綴 (ff02::/10)
????????多播地址用于將數(shù)據(jù)包發(fā)送給特定的一組聽眾,而不是單一的目的地。ff02::/10`前綴表明這是一個僅限于本地鏈接的多播地址,這意味著這些數(shù)據(jù)包不會被路由到局域網(wǎng)之外。
2.5.3.4 終端用戶前綴示例 (2001:db8:fada:ba00::/56)
????????這個前綴是可能分配給終端用戶(如住宅或小型企業(yè))的地址的示例。/56`前綴表示地址的前56位被用作網(wǎng)絡部分,留下72位(128-56)用于子網(wǎng)和單個主機。這為創(chuàng)建子網(wǎng)和向設備分配地址提供了極大的靈活性。
????????每個前綴在IPv6中都有特定的功能,使得地址空間的管理更加有效和有組織。
2.5.4 特殊IPv6地址示例
2.5.4.1?單播地址 (2001:db8:cafe:deca:a9e:1ff:fe6b:25c9/64)
????????這是一個單播地址,用于在網(wǎng)絡上標識一個獨特的設備。/64` 前綴表明地址的前64位(這里是 `2001:db8:cafe:deca`)是網(wǎng)絡地址,剩下的64位(`a9e:1ff:fe6b:25c9`)是該設備的特定地址。
2.5.4.2?鏈接本地地址 (fe80::a9e:1ff:fe6b:25c9/64)
????????鏈接本地地址用于同一局域網(wǎng)段內(nèi)的通信,不會在互聯(lián)網(wǎng)上路由。這些地址始終以 `fe80::` 開頭,通常在每個網(wǎng)絡接口上自動配置。
2.5.4.3 IPv4-IPv6混合表示法 (2001:db8::cafe:192.168.0.1 或 2001:db8::cafe:c0a8:1)
????????這個地址展示了IPv4地址嵌入到IPv6地址中的例子,是IPv4-IPv6混合表示法。IPv4地址 `192.168.0.1` 在IPv6中表示為 `c0a8:1`(將每個字節(jié)轉(zhuǎn)換為十六進制表示)。
2.5.4.4?本地主機 (::1)
????????`::1` 是IPv6中的 `127.0.0.1`。它是一個環(huán)回(loopback)地址,用于指代本地設備。連接到這個地址的數(shù)據(jù)會返回到本地設備,用于測試內(nèi)部網(wǎng)絡堆棧。
2.5.4.5?所有位均為0 (::)
????????`::` 表示一個IPv6地址,其中所有位均為0。它是IPv4中 `0.0.0.0` 的等價物。這個地址在特定上下文中使用,例如在路由規(guī)則中表示“任何地址”。這些地址類型在IPv6網(wǎng)絡的管理和設備間通信中各有特定用途。
2.5.6 IPv6地址分配方式
????????將IPv6地址分配給網(wǎng)絡接口可以通過多種方式進行,并且一個接口擁有多個IPv6地址(例如鏈接本地地址和全球范圍地址)是常見的。以下是主要的分配方法:
2.5.6.1?接口上的多個IPv6地址
????????一個網(wǎng)絡接口擁有多個IPv6地址是正常的,例如鏈接本地地址(link-local)和全球范圍地址(global)。鏈接本地地址用于同一網(wǎng)絡段內(nèi)的通信,而全球范圍地址用于互聯(lián)網(wǎng)通信。
2.5.6.2 手動配置(“手動”)
????????手動配置IPv6地址相對較少見,因為這可能比較復雜,且容易出錯,尤其是在有許多設備的環(huán)境中。
2.5.6.3?動態(tài)配置
????????自動配置:自動配置是為接口分配IPv6地址的常見方法。
????????這通常是通過路由器宣告的前綴來完成的。設備使用此前綴自動生成完整的IPv6地址。
????????通過DHCPv6:DHCPv6是針對IPv6的DHCP協(xié)議版本。它允許DHCPv6服務器向網(wǎng)絡上的設備提供IPv6地址以及其他網(wǎng)絡配置信息。
????????每種地址分配方法都有其優(yōu)勢。自動配置簡化了設備的網(wǎng)絡配置,無需人工干預,而DHCPv6則提供了更多關(guān)于地址分配和管理的控制。
3?ARP與NDP協(xié)議
3.1 網(wǎng)絡中地址結(jié)構(gòu)的重要性
????????特別是在路由器配置和IP地址分配方面。本文講述了如何通過適當?shù)牡刂方Y(jié)構(gòu)和聚合來實現(xiàn)緊湊的路由表,以下是主要概念:
3.1.1 路由表的需求
????????為了高效地管理和轉(zhuǎn)發(fā)網(wǎng)絡流量,路由器需要維護路由表。這些表中包含了如何將數(shù)據(jù)包從一個網(wǎng)絡傳送到另一個網(wǎng)絡的信息。為了減少路由表的大小和復雜性,網(wǎng)絡地址需要適當?shù)慕Y(jié)構(gòu)化和聚合。
3.1.2?地址結(jié)構(gòu)化
????????就像郵政地址有國家、城市、街道和房屋號碼一樣,IP地址也可以結(jié)構(gòu)化,以反映網(wǎng)絡的層次結(jié)構(gòu)。這種結(jié)構(gòu)化有助于識別出哪些IP地址屬于同一網(wǎng)絡,從而簡化路由決策。
3.1.3?地址聚合
????????這是一種將多個網(wǎng)絡地址組合成單一路由表項的技術(shù),通常通過使用無類別域間路由(CIDR)來實現(xiàn)。CIDR允許網(wǎng)絡管理員將多個IP地址聚合成一個單一的、“超網(wǎng)”,大大減少了路由表的大小。
3.1.4?IP地址分割
????????IP地址通常分為兩部分,一部分是網(wǎng)絡號,用于識別特定的網(wǎng)絡;另一部分是主機號,用于識別該網(wǎng)絡上的特定設備。
????????這種方法允許網(wǎng)絡以更加有效和可擴展的方式進行管理,確保了隨著互聯(lián)網(wǎng)的增長,路由表的大小保持在可控范圍內(nèi)。通過合理劃分網(wǎng)絡和主機部分,可以更容易地管理和優(yōu)化網(wǎng)絡流量。
3.2 ARP/NDP協(xié)議
????????在以太網(wǎng)或802.11(Wi-Fi)這類的局域網(wǎng)中,IP地址和MAC地址之間存在重要的關(guān)系。
3.2.1 IP地址與MAC地址
3.2.1.1?IP地址
? ? ? ? ? IP地址是分配給網(wǎng)絡上每個設備的數(shù)字標識符,用于實現(xiàn)互聯(lián)網(wǎng)或局域網(wǎng)內(nèi)的通信。
????????IP地址可以通過操作系統(tǒng)的特定工具手動配置,如圖形界面或命令行工具(例如,在Unix/Linux系統(tǒng)中使用`ifconfig`命令)。
????????IP地址也可以通過動態(tài)主機配置協(xié)議(DHCP)自動分配。然而,DHCP服務器的設置需要手動進行。
3.2.1.2?MAC地址
????????MAC地址是由網(wǎng)絡接口卡(如以太網(wǎng)卡或Wi-Fi卡)制造商預先分配的唯一標識符。
????????與IP地址不同,MAC地址通常不由用戶管理或配置。它們用于在數(shù)據(jù)鏈路層(第2層)唯一標識網(wǎng)絡中的每個設備。
????????在某些情況下,網(wǎng)絡接口卡的驅(qū)動程序允許修改MAC地址,盡管這并不常見。
????????總之,IP地址用于在網(wǎng)絡層(第3層)標識設備,以實現(xiàn)互聯(lián)網(wǎng)或局域網(wǎng)的通信,而MAC地址是網(wǎng)絡接口卡在數(shù)據(jù)鏈路層的唯一標識符,主要用于同一局域網(wǎng)內(nèi)的通信。
3.2.1 ARP協(xié)議
????????在局域網(wǎng)(LAN)環(huán)境中,如果一臺設備(我們稱之為“機器M”)需要向另一臺僅知道IP地址的鄰近設備(稱為“機器N”)發(fā)送IP數(shù)據(jù)包,就會遇到一個基本問題:如何找到與機器N的IP地址對應的MAC地址,以便在數(shù)據(jù)鏈路層(如以太網(wǎng))傳輸該數(shù)據(jù)包。以下是這個過程通常如何進行的:
3.2.1.1 使用ARP協(xié)議(地址解析協(xié)議)
?????????ARP用于在以太網(wǎng)網(wǎng)絡上將IP地址映射到MAC地址。
????????當機器M需要與機器N通信時,它首先發(fā)送一個ARP請求,詢問哪臺設備擁有機器N的IP地址。
3.2.1.2?ARP請求和響應
????????ARP請求被發(fā)送到局域網(wǎng)上的所有設備(廣播),每臺設備都檢查該ARP請求中的IP地址。
????????如果某臺設備(在這個例子中是機器N)發(fā)現(xiàn)ARP請求中的IP地址與自己的IP地址相匹配,它會用自己的MAC地址作為響應發(fā)送回機器M。
3.2.1.3?封裝IP數(shù)據(jù)包
????????一旦機器M收到響應并獲得機器N的MAC地址,它會將IP數(shù)據(jù)包封裝在一個以太網(wǎng)幀中,其中包含了機器N的MAC地址作為目的地址。
3.2.1.4?發(fā)送以太網(wǎng)幀
????????封裝好的以太網(wǎng)幀隨后通過物理網(wǎng)絡發(fā)送給機器N。這樣,IP數(shù)據(jù)包就能在局域網(wǎng)內(nèi)正確地從機器M傳輸?shù)綑C器N。
????????這個過程是局域網(wǎng)中IP通信的基礎(chǔ),確保了即使只知道目標設備的IP地址,數(shù)據(jù)也能被正確地傳輸?shù)街付ǖ脑O備。
????????IPv4網(wǎng)絡中,MAC地址和IP地址之間是通過ARP(地址解析協(xié)議)進行關(guān)聯(lián)的。
3.3 ARP請求和響應的過程
????????ARP協(xié)議(地址解解析協(xié)議 - RFC826):這是一個網(wǎng)絡層的通信協(xié)議,用于在IPv4網(wǎng)絡中解析IP地址到MAC地址。
3.3.1?ARP請求
????????機器M(@ethM, @IPM)發(fā)出一個廣播消息,詢問“大家好!我是M。有誰知道IP地址是IPN的機器N嗎?”
????????這個請求被發(fā)送到局域網(wǎng)上的所有設備,消息中包含了發(fā)送者(機器M)的MAC地址(@ethM)和IP地址(@IPM),以及它想要找到的設備的IP地址(IPN)。
3.3.2?ARP響應
????????如果在局域網(wǎng)中有設備(在這個例子中是機器N)的IP地址與請求中的IPN匹配,機器N就會回應說“嗨,M!我是N(@ethN, @IPN)”,告訴機器M它的MAC地址(@ethN)。
????????然后,機器M就可以使用機器N的MAC地址來封裝數(shù)據(jù)幀,并通過以太網(wǎng)將數(shù)據(jù)直接發(fā)送到機器N。
3.3.3?NDP
????????鄰居發(fā)現(xiàn)協(xié)議(Neighbor Discovery Protocol, NDP)是IPv6網(wǎng)絡中的一個關(guān)鍵協(xié)議,它與IPv4中的ARP(地址解析協(xié)議)有著相似的功能,但NDP更為復雜,提供了更多的功能。NDP是集成在ICMPv6(Internet Control Message Protocol version 6,互聯(lián)網(wǎng)控制消息協(xié)議第6版)中的,如RFC 4443中所定義。以下是NDP的主要特點:
3.3.3.1?鄰居發(fā)現(xiàn)
????????NDP允許同一局域網(wǎng)(LAN)內(nèi)的設備發(fā)現(xiàn)彼此。例如,一個設備可以僅通過知道另一個設備的IPv6地址來找到其MAC地址。
3.3.3.2?地址自動配置
????????NDP使得IPv6設備能夠在沒有DHCP服務器的幫助下自動配置它們的IP地址,盡管IPv6也可以使用DHCPv6。
3.3.3.3 重復地址檢測(Duplicate Address Detection, DAD)
????????在一個設備為自己配置IPv6地址之前,它會使用NDP來確保沒有其他設備已經(jīng)在使用這個地址。
3.3.4?路由器發(fā)現(xiàn)
????????設備可以使用NDP來發(fā)現(xiàn)它們局域網(wǎng)內(nèi)的路由器。
3.3.5 重定向
????????NDP允許路由器向網(wǎng)絡上的設備通報更優(yōu)的路由變更。NDP使用的消息類型包括路由器通告(Router Advertisements, RA)、路由器請求(Router Solicitations, RS)、鄰居通告(Neighbor Advertisements, NA)、鄰居請求(Neighbor Solicitations, NS)以及重定向消息(Redirect Message)。
4. 路由原理
4.1 問題背景
????????B是一個路由器,B路由器有兩個網(wǎng)絡接口,每個接口都有自己的IP地址:192.168.100.1和192.168.250.1。
????????M和N是局域網(wǎng)中的兩臺設備,分別有IP地址192.168.100.10和192.168.250.11。B路由器連接了兩個網(wǎng)絡段。
????????在M中如何確定攜帶至目的地的以太網(wǎng)幀的MAC地址?
? ? ? M想要發(fā)送到N的IP數(shù)據(jù)包的內(nèi)容,包括發(fā)送者M的IP地址、接收者N的IP地址以及數(shù)據(jù)。然而,要在局域網(wǎng)中傳輸這個數(shù)據(jù)包,M需要知道其下一跳路由器B接口的MAC地址。
4.2 解決辦法
????????解決這個問題通常涉及以下步驟:
????????1. M將使用ARP(地址解析協(xié)議)來查詢192.168.100.1(路由器B的接口)的MAC地址。
????????2. 路由器B會回應它的接口MAC地址。
????????3. M將根據(jù)這個MAC地址創(chuàng)建一個以太網(wǎng)幀,并將IP數(shù)據(jù)包封裝在內(nèi)。
????????4. 然后M會將這個以太網(wǎng)幀發(fā)送到局域網(wǎng),最終由路由器B轉(zhuǎn)發(fā)到N所在的網(wǎng)絡段。
這就是在局域網(wǎng)內(nèi)通過路由器轉(zhuǎn)發(fā)IP數(shù)據(jù)包的過程。
4.3?路由表的概念
????????在機器M中,為了將數(shù)據(jù)包發(fā)送到IP地址為192.168.250.11的機器N,需要一個路由表。這個表告訴M,要想到達192.168.250.11,數(shù)據(jù)包需要經(jīng)過IP地址為192.168.100.1的路由器。有了這個路由表,機器M可以很容易地通過ARP協(xié)議找到路由器的MAC地址。然后,M將使用這個MAC地址作為以太網(wǎng)幀的目的地址來發(fā)送數(shù)據(jù)包。
????????M向N發(fā)送IP數(shù)據(jù)包的過程。在這個示例中,路由器具有兩個接口,Ra和Rb,分別對應兩個不同的IP地址,192.168.100.1和192.168.250.1。M通過其以太網(wǎng)接口將數(shù)據(jù)包發(fā)送到Ra,數(shù)據(jù)包中包含了M和N的IP地址和數(shù)據(jù)。
????????路由表的更多細節(jié),每一條路由表項至少包含以下信息:
????????????????一個方向(網(wǎng)絡或機器)
????????????????一條路由指示,即數(shù)據(jù)包應該通過哪個設備進行路由
????????????????一個成本,通常是跳數(shù)或帶寬
????????計算機A通過其網(wǎng)絡接口(eth0,IP地址為192.168.100.10/24)連接到一個交換機上。
????????交換機連接到路由器2(Routeur2)的接口if1(IP地址為192.168.100.2/24)。
????????路由器2的另一個接口if2(IP地址為192.168.200.1/24)連接到另一個交換機上。
????????這個交換機同時連接到了計算機B(IP地址為192.168.10.5/24,通過網(wǎng)絡接口eth0連接)。
????????路由器3的另一個接口if2(IP地址為192.168.10.1/24)處于與計算機B同一子網(wǎng)中。
????????路由器1(Routeur1)通過其接口if1(IP地址為192.168.100.1/24)連接到192.168.100.0/24網(wǎng)絡,通過接口if2(IP地址為192.168.50.1/24)連接到192.168.50.0/24網(wǎng)絡。????????
????????圖例解釋了地址的結(jié)構(gòu),其中192.168.X.0/24表示網(wǎng)絡地址和子網(wǎng)掩碼,.X(如.1或.2等)表示接口地址的主機部分,if1、if2、eth0是設備上的接口名稱。
????????在這種配置中,如果計算機A想要發(fā)送數(shù)據(jù)包到計算機B,它首先需要查看自己的路由表來確定下一跳路由器的IP地址。根據(jù)網(wǎng)絡的子網(wǎng)劃分,計算機A可能需要將數(shù)據(jù)包發(fā)送到路由器2的接口if1(192.168.100.2),路由器2將數(shù)據(jù)包轉(zhuǎn)發(fā)到路由器3,路由器3再將數(shù)據(jù)包發(fā)送到計算機B。在每次轉(zhuǎn)發(fā)之前,路由器會根據(jù)自己的路由表來確定下一跳的地址。
????????簡而言之,每個路由器的路由表包含了數(shù)據(jù)包轉(zhuǎn)發(fā)的指令,指明數(shù)據(jù)包應該經(jīng)過的接口或路徑以到達特定的目的網(wǎng)絡。如果路由表配置不正確,數(shù)據(jù)包可能無法到達目的地,或者可能會選擇一條非最優(yōu)路徑。在配置路由時,非常重要的一點是確保每一跳的路由器都能夠向正確的方向轉(zhuǎn)發(fā)數(shù)據(jù)包。
????????此命令`route print`展示的是在Windows操作系統(tǒng)中,通過命令行查看當前網(wǎng)絡路由表的一個例子。下面是對這個路由表的解釋:
????????列表接口:顯示了網(wǎng)絡接口設備的列表。`0x1`是回環(huán)接口,用于本地主機通信。`0x1000003`可能是一個以太網(wǎng)卡。
????????活動路由:顯示了當前有效的路由項。每條路由包含了目的網(wǎng)絡、子網(wǎng)掩碼、網(wǎng)關(guān)地址、接口地址和度量值(用于路由選擇的成本)。
4.4 具體路由項的解釋
????????0.0.0.0 0.0.0.0 192.44.75.1 192.44.75.184 1
????????這是一個默認路由(也稱為“捕獲所有”路由),意味著對于任何不匹配其他路由項的目的地,數(shù)據(jù)都會被發(fā)送到默認網(wǎng)關(guān)192.44.75.1。
????????127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
????????這是回環(huán)地址的路由,用于指向本機的通信。
????????192.44.75.0 255.255.255.0 192.44.75.184 192.44.75.184 1
????????這是一個本地子網(wǎng)路由,意味著位于192.44.75.0/24子網(wǎng)內(nèi)的任何地址都可以直接通過接口192.44.75.184到達。
????????192.44.75.184 255.255.255.255 127.0.0.1 127.0.0.1 1
????????這是指向本機特定IP地址的路由,它使用了回環(huán)地址作為網(wǎng)關(guān)。
????????192.44.75.255 255.255.255.255 192.44.75.184 192.44.75.184 1
????????這是子網(wǎng)廣播地址的路由。
????????224.0.0.0 224.0.0.0 192.44.75.184 192.44.75.184 1
????????這是多播地址范圍的路由。
????????255.255.255.255 255.255.255.255 192.44.75.184 192.44.75.184 1
????????這是有限廣播地址的路由,用于發(fā)送到本地網(wǎng)絡上的所有設備。
????????最后,“默認網(wǎng)關(guān)”項表明所有的非本地子網(wǎng)流量都將通過網(wǎng)關(guān)192.44.75.1路由。每個路由項的“度量”值都設置為1,這通常表示最低的成本,用于簡化路由選擇。在有多條路徑可達同一目的地時,度量值較低的路徑會被優(yōu)先選擇。
????????在Windows和Linux操作系統(tǒng)中,有一系列命令可以用來配置和診斷網(wǎng)絡設置。以下是這些命令的作用說明:
4.5 在Windows中
4.5.1 ipconfig /all
????????這個命令顯示所有網(wǎng)絡接口的當前配置,包括IP地址、子網(wǎng)掩碼、默認網(wǎng)關(guān)和DNS服務器等信息。在Windows 9x/ME中,類似的命令是`winipcfg`。
4.5.2 route print
????????該命令用來顯示當前的路由表,這有助于理解數(shù)據(jù)包是如何從您的計算機發(fā)送到網(wǎng)絡上的其他計算機的。
4.5.3 nslookup
????????這個命令用于查詢DNS記錄,可以將域名解析為IP地址,也可以執(zhí)行反向查找,即將IP地址解析為域名。
4.5.4 arp -a
????????在局域網(wǎng)環(huán)境中,這個命令可以顯示ARP表,即IP地址到MAC地址的映射列表。
4.5.5 tracert
????????用于確定IP數(shù)據(jù)包訪問目標的路由路徑。它會顯示數(shù)據(jù)包途徑的每個路由器的IP地址。
4.6 在Linux中
4.6.1?ifconfig或 ifconfig -a
????????這個命令在Linux中與Windows的`ipconfig`相似,用于顯示網(wǎng)絡接口的配置信息。`-a` 選項顯示所有接口的信息,包括那些當前未激活的。
4.6.2?route或 route -n
????????類似于Windows中的`route print`,用于顯示路由表。`-n` 選項避免對每個路由器的IP地址進行DNS解析,直接顯示IP地址。
4.6.3?nslookup或 host
????????這兩個命令與Windows中的`nslookup`相似,用于查詢DNS服務器以解析域名和IP地址。
4.6.4?arp -a
????????與Windows命令相同,顯示ARP緩存中的所有條目。
4.6.5 traceroute或 traceroute -n
????????功能與Windows中的`tracert`相同,用于跟蹤數(shù)據(jù)包到達目標主機的路徑。`-n` 選項會禁用域名解析。
????????要注意的是,為了使用這些命令,您可能需要具備管理員權(quán)限或使用sudo命令來獲取必要的權(quán)限。這些工具是網(wǎng)絡管理員和IT專業(yè)人員用來診斷網(wǎng)絡問題和配置網(wǎng)絡參數(shù)的標準工具集。
5. 路由器
????????路由器的功能在現(xiàn)代網(wǎng)絡中至關(guān)重要。以下是路由器的幾個主要功能:
5.1?目的地地址檢查和比較
????????當IP數(shù)據(jù)包進入路由器時,路由器會檢查數(shù)據(jù)包的目的地IP地址,并將其與路由表中的條目進行比較。路由表包含了不同目的地網(wǎng)絡的條目,每個條目關(guān)聯(lián)著一個或多個輸出接口。
5.2?路由決策
????????通過比較數(shù)據(jù)包的目的地地址與路由表中的網(wǎng)絡地址,路由器決定將數(shù)據(jù)包轉(zhuǎn)發(fā)到哪個接口。這通常涉及匹配最長前綴,確保數(shù)據(jù)包沿最佳路徑發(fā)送。
5.3?在終端設備中實現(xiàn)相同功能
????????路由功能也在終端設備(如個人電腦和服務器)中實現(xiàn)。這些設備通常有一個更簡單的路由表,用于決定數(shù)據(jù)包是直接發(fā)送(例如,到同一局域網(wǎng)中的另一臺機器)還是發(fā)送到默認網(wǎng)關(guān)(路由器)。
5.4?時間生存(TTL)字段遞減
????????每個通過路由器的IP數(shù)據(jù)包中的TTL(Time To Live)字段都會被減1。TTL是一個防止數(shù)據(jù)包在網(wǎng)絡中無限循環(huán)的機制。當TTL值減至0時,數(shù)據(jù)包會被丟棄。
5.5 校驗和(Checksum)的重新計算
????????由于TTL字段的變化,IP頭的校驗和也必須在每個路由器處重新計算。校驗和是用來檢測數(shù)據(jù)在傳輸過程中是否發(fā)生變化的一種方法。
????????路由器的這些功能確保了網(wǎng)絡流量的有效管理和數(shù)據(jù)包的正確傳遞,對于維護網(wǎng)絡的穩(wěn)定性和效率至關(guān)重要。
????????在這個網(wǎng)絡中,數(shù)據(jù)包從源地址(IP 47.1.1.1)開始,經(jīng)過一系列的路由器,最終到達目的地(同樣是IP 47.1.1.1,可能表示數(shù)據(jù)包正在進行回環(huán)測試)。每個路由器通過查看其路由表并決定最佳的下一跳接口,將數(shù)據(jù)包逐步引向目的地。
????????每個路由器都有輸入接口(In)和輸出接口(Out),這些接口用標簽比如 473/1,473/2,473/3 來標識。這些標簽可能表示接口編號、接口上的特定VLAN或其他本地標識符。這個逐跳轉(zhuǎn)發(fā)的過程是網(wǎng)絡中數(shù)據(jù)包路由的基本操作。
5.6 用ICMP處理錯誤
????????ICMP(Internet Control Message Protocol,互聯(lián)網(wǎng)控制消息協(xié)議)是網(wǎng)絡層的一個核心協(xié)議,它定義了一種機制,允許網(wǎng)絡設備發(fā)送錯誤消息和操作信息。以下是ICMP的一些主要用途:
ICMP (IPv4) - RFC 792:
5.6.1 傳遞錯誤消息
????????如果數(shù)據(jù)包無法成功到達目的地,發(fā)送錯誤消息給源主機。
5.6.2 回顯請求和回顯回復 (ping命令)
????????用于測試網(wǎng)絡上兩個主機之間的連通性。
5.6.3 目的地不可達????????
????????通知發(fā)送方,目的地無法訪問。
5.6.4?網(wǎng)絡不可達
????????特定于無法到達整個網(wǎng)絡的情況。
5.6.5?需要分片但設置了不分片位(DF)
????????當數(shù)據(jù)包太大而不能通過網(wǎng)絡的下一個段,且數(shù)據(jù)包的DF(Don't Fragment)位被設置為1,表明不允許分片時,發(fā)送此消息。這在路徑MTU發(fā)現(xiàn)(PMTU discovery)中很重要。
5.6.6?重定向消息
????????如果存在到目的地的更好路由,通知發(fā)送方。
5.6.7 生存時間(TTL)超時
????????當數(shù)據(jù)包在網(wǎng)絡中的生存時間超過設定值時,發(fā)送此消息。
5.7?ICMPv6 (IPv6) - RFC 4443
ICMPv6是IPv6中ICMP的等價物,提供類似IPv4中ICMP的功能,并增加了一些新功能:
5.7.1?鄰居發(fā)現(xiàn)協(xié)議(NDP)
????????NDP是IPv6中的一組消息和過程,用于替代IPv4的ARP(地址解析協(xié)議),用于發(fā)現(xiàn)同一本地鏈路上的其他節(jié)點,確定它們的鏈路層地址,找到可用的路由器,以及維護鏈路層地址信息的正確性。文章來源:http://www.zghlxwxcb.cn/news/detail-799984.html
5.7.2 路由器請求和路由器通告
????????設備使用這些消息來發(fā)現(xiàn)本地鏈路上的路由器,并進行地址自配置。當設備啟動時,它會發(fā)送路由器請求消息來查找本地網(wǎng)絡上是否有路由器。路由器回復路由器通告消息,其中包含用于地址自配置的網(wǎng)絡前綴和其他重要參數(shù)。ICMP和ICMPv6是網(wǎng)絡診斷和維護的重要工具,它們使得網(wǎng)絡設備能夠報告錯誤情況并幫助管理員定位問題。文章來源地址http://www.zghlxwxcb.cn/news/detail-799984.html
到了這里,關(guān)于計算機網(wǎng)絡——第三層:網(wǎng)絡層的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!