概述
在網絡中的每一台主機和路由器中都有一個網絡層部分。
構造網絡分組由兩種方法——資料報模式和虛電路模式。
轉發涉及分組在單一的路由器中從一條傳入連結路到一條對外連結路的傳送。路由選擇涉及一個網絡的所有路由器,它們經路由選擇協定共同互動,以決定分組從源到目的地節點所采用的路徑。
路由器的主要作用就是将資料報從傳入連結路轉發到對外連結路。
每台路由器具有一張轉發表。路由器通過檢查到達分組首部字段的值來轉發分組,然後使用該值在路由器的轉發表中索引查詢。存儲在轉發表項中的該首部的值指出該分組将被轉發的路由器輸對外連結路接口。分組首部的值可能是該分組的目的位址或該分組所屬的連接配接訓示。
路由選擇算法決定了插入路由器的轉發表中的值。路由選擇算法可能是集中式的也可能是分布式的。
某些分組交換機稱為鍊路層交換機,基于鍊路層字段中的值左轉發決定。其它分組交換機稱為路由器,基于網絡層字段中的值做轉發決定。
網際網路的網絡層提供盡力而為服務
虛電路和資料報網絡
網絡層可以在兩台主機之間提供無連接配接服務或連接配接服務。
目前所有網絡層不同時提供兩種不同服務,在網絡層提供連接配接服務被稱為虛電路(VC)網絡,在網絡層提供無連接配接服務的計算機網絡稱為資料報網絡。
運輸層面向連接配接服務是在位于網絡邊緣的端系統中實作的,網絡層連接配接服務除了在端系統中,還在位于網絡核心的路由器中實作。
屬于一條虛電路的分組将在首部攜帶一個VC号,因為一條虛電路在每條鍊路上可能具有不同的VC号,每台中間路由器必須用一個新的VC号來替代每個傳輸分組的VC号。新VC号從轉發表獲得。
無論何時跨越一台路由器建立一條新的虛電路,轉發表就增加了一個新表項。類似地,無論何時終止一條虛電路,沿着該途徑每個表中的相應項将被删除。
在虛電路玩咯中,該網絡的路由器必須未進行中的連接配接維持連接配接狀态資訊。每當跨越一台路由器建立一個新連結,必須在該路由器的轉發表中增加一個新的連接配接項,每當釋放一個連接配接,必須從該表中删除該項。即使沒有VC号轉換,也需要維持連接配接狀态資訊。
運輸層的連接配接建立僅涉及兩個端系統。在運輸層的連接配接建立期間,兩個端系統獨立決定運輸層連接配接的參數。對于一個虛電路網絡層,眼兩個端系統之間的路徑上的路由器都要參與虛電路的建立,且每台路由器都完全直到經過它的所有虛電路。
端系統向網絡發送訓示虛電路啟動和終止的封包,以及路由器之間傳遞的用于建立u電路的封包,稱為信令封包。用來交換這些封包的協定常稱為信令協定。
在資料報網絡中,每台路由器由一個将目的位址映射到鍊路接口的轉發表,當分組到達路由器時,路由器使用該分組的目的底子好在轉發表中查找适當的輸對外連結路接口。然後路由器有意将分組向該輸對外連結路接口轉發。
路由器使用最長字首比對規則。在資料報網絡中的轉發表是通過路由選擇算法進行修改的。在虛電路網路哦中,無論何時通過路由器建立一條新的連接配接,或無論何時通過路由器拆除一條現有連接配接,路由器中的轉發表就被更新。
從一個端系統到另一個端系統發送一系列分組可能在網絡中走不同的路徑,并可能無序到達。
路由器工作原理
一台路由器的輸入端口,輸出端口和交換端口共同實作了這種轉發功能,而且總是用硬體實作。這些轉發功能有時總稱為路由器轉發平面。
轉發表是路由選擇處理器計算和更新的,但轉發表的一份影子副本通常會被i存放在每個輸入端口。有了影子副本,轉發決策就能在每個輸入端口本地做出,無須調用中央路由選擇處理器,是以避免了集中式處理的瓶頸。
一個被阻塞的分組必須要在輸入端口處排隊,并等待稍後被即使排程以通過交換結構。
許多現代路由器通過記憶體進行交換,目的位址的查找和将分組存儲(交換)僅适當的記憶體存儲位置是由輸入線路卡來處理的。
經總線交換:讓輸入端口未分組預先計劃一個交換機内部标簽。該分組能由所有輸出端口收到,但是隻有與該标簽比對的端口才能儲存該分組。然後标簽在輸出端口被i去除。因為一次隻有一個分組能夠跨越總線,是以路由器的交換寬帶收總線速率的限制。
緩存數量應當等于平均往返時延(RTT)乘以鍊路的容量(C)
在輸出端口排隊的後果是其分組排程陳鼓必須從排隊中的分組選一個來發送。
在某些情況下,在緩存填滿之前就丢棄以便向發送方提供一個擁塞信号的做法是有利的(AQM)
如果交換結構不能快得(相對于輸傳入連結路速度)使所有到達分組無延遲地通過它傳送,則在輸入端口也将出現分組排隊。
網際協定:網際網路的轉發和編址
網際網路的網絡層由三個主要元件——第一個是IP協定,第二個主要元件是路由選擇部分,第三個是報告資料報中的差錯和對某些網絡層資訊請求進行響應的設施。
大多數IP資料報不好喊選項,是以一般的IP資料報具有20位元組的首部。
IP資料報長度字段有16比特,是以理論最大長度未65535位元組。
壽命——當資料報由一台路由器處理時,該字段的值減一。若TTL字段減為0,則該資料報必須丢棄。
IP資料報中協定号所起的作用,類似于運輸層封包段中端口号字段所起的作用。
如果資料報承載一個TCP封包段,則每個資料報共承載總長40位元組的首部(20IP20TCP)以及應用層封包。
并不是所有鍊路層協定都能承載相同長度的網絡層分組。一個鍊路層承載的最大資料量叫做最大傳送單元。
若IP資料報比最大傳送單元大,那麼就将将IP資料報中的資料分片成兩個或多個較小的IP資料報,用單獨的鍊路層幀封裝,然後發送,這些較小的資料報稱為片。
IPV4的設計者決定将資料報重新組裝工作放到端系統,而不是放到網絡路由器中。
IPV4設計者将辨別,标志和片偏移字段放在IP資料報首部中。當生成一個資料報時,發送主機在位該資料報設定源和目的位址的同時再貼上辨別号。發送主機通常将位它發送的每個資料報的辨別号加1.當某路由器需要對一個資料報分片時,形成的每個資料報具有初始資料報的源位址,目的位址和辨別号。
分片能夠用于生成緻命的DoS攻擊,由此攻擊者發送了一些列古怪的無法預期的片。
IP要求每台主機和路由器擁有自己的IP位址,是以,一個IP位址技術上是與一個接口相關聯的,而不是與包括該接口的主機或路由器相關聯的。接口的IP位址不是随意選擇的,其一部分是由其連接配接的子網來決定。
一個子網的IP定義并不局限于連接配接多台主機到一個路由器接口的以太網段。
一個具有多個以太網段和點對點鍊路的組織将具有多個子網,在給定子網上所有裝置都具有相同的子網位址。
一個組織通常被配置設定一塊連續的位址,即具有相同字首的一段位址。
具有8,16,24比特子網位址的子網分别被稱為A,B,C類網絡。
當一台主機發出一個目的位址位255.255.255.255的資料報時,該封包将傳遞給同一網絡中所有主機,路由器會有選擇的向臨近子網轉發給封包
動态主機配置協定(DHCP)允許主機自動擷取一個IP位址,除了主機IP位址配置設定外,DHCP還允許一台主機得知其他資訊,例如子網路遮罩,第一條路由器位址和本地DNS伺服器位址。DHCP提供即插即用功能
DHCP四部曲:
1.發送DHCP發現封包,客戶在UDP分組中向端口67發送該發現保溫。DHCP客戶生成包含DHCP發現報的IP資料報,其中使用廣播目的位址255.255.255.255并且使用本主機源位址位0.0.0.0
2.伺服器提供的封包包含由收到的發現封包的事務ID,向客戶推薦的IP位址,網絡掩碼以及IP租用期,即IP位址有效的時間量。
3.DHCP文國慶。客戶從多個伺服器提供中選擇一個,并向選中伺服器提供一個DHCP請求封包
4.DHCP ACK。伺服器用ACK封包對請求封包進行相應,正式所需參數。
一旦客戶收到DHCP ACK後,互動就已經完成,該客戶跨越在租用期内使用DHCP配置設定的IP位址。DHCP允許客戶更新對IP的租用。當一個移動節點在子網之間移動時,就不能維持與遠端應用之間的TCP連接配接。
具有專用位址的低于是指其位址僅對該網絡中的裝置有意義的網絡。
NAT路由器對外界的行為反過來就如同一個具有單一IP位址的單一裝置。從本質上講,NAT能使路由器對外界隐藏了家庭網絡的細節。路由器從ISP的DHCP伺服器得到它的位址,并且路由器運作一個DHCP伺服器,為位于NAT-DHCP路由器控制的家庭網絡位址空間中的計算機提供位址。
NAT路由器上有一張NAT轉換表,并在表項中包含了端口号和IP位址。
NAT穿越正越來越多的即插即用(UPnP)提供,UPnP是一種允許主機發現并配置臨近NAT的協定。使用UPnP,在主機上允許的應用程式能夠為某些請求的公共端口号請求一個NAT映射,該映射位于其專用IP位址,端口号和公共IP位址和端口号之間。
ICMP被主機和路由器用來彼此溝通網絡層的資訊。ICMP最典型的用途是差錯報告。
ICMP通常被認為是IP的一部分,但從體系結構上将它是位于IP之上的,因為ICMP封包是承載IP分組中的。這就是說,ICMP封包是作為IP有效載荷承載的。
ICMP封包有一個類型字段和一個編碼字段,并且包含引起該ICMP封包首次生成的IP資料報的首部和前8位元組内容。
IPv6将IP位址長度從32比特擴充到128比特。
IPv6引入任播機制,可以是資料報傳遞給一組主機中的任意一個。‘
IPv6的分片群組裝隻能在兩端進行,若資料報太大,則路由器丢棄該資料報,并向發送方發回一個數組太大的ICMP差錯封包。
IPsec是一種非常流向的安全網絡層協定,也在虛拟專用網(VPN)中得到了廣泛的部署。IPsec是面向連接配接的。