日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

第四章 网络互联

發(fā)布時(shí)間:2023/12/14 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第四章 网络互联 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

4.1 網(wǎng)絡(luò)層概述

  • 互聯(lián)

網(wǎng)絡(luò)互連的動(dòng)力:更大范圍的資源共享

網(wǎng)絡(luò)互連:HOST-LAN,LAN-LAN/WAN

  • 互連在一起的網(wǎng)絡(luò)要進(jìn)行通信,會(huì)遇到許多問(wèn)題需要解決,如:
  • 不同的尋址方案
  • 不同的最大分組長(zhǎng)度
  • 不同的網(wǎng)絡(luò)接入機(jī)制
  • 不同的超時(shí)控制
  • 不同的差錯(cuò)恢復(fù)方法
  • 不同的狀態(tài)報(bào)告方法
  • 不同的路由選擇技術(shù)
  • 不同的用戶接入控制
  • 不同的服務(wù)(面向連接服務(wù)和無(wú)連接服務(wù))
  • 不同的管理與控制方式
    • 異構(gòu)網(wǎng)絡(luò)

  • 在體系結(jié)構(gòu)和通信協(xié)議方面具有差異的計(jì)算機(jī)網(wǎng)絡(luò)。
  • 在尋址方法、分組長(zhǎng)度、路由選擇、差錯(cuò)恢復(fù)等方面不同,無(wú)法直接通信。
    • 互聯(lián)互通需采用網(wǎng)絡(luò)層中繼系統(tǒng)對(duì)不同協(xié)議的語(yǔ)法、語(yǔ)義和時(shí)序進(jìn)行轉(zhuǎn)換。

    • 互聯(lián)方法

  • 兩兩互聯(lián)的方式:共需N(N-1)個(gè)網(wǎng)絡(luò)層中繼系統(tǒng)。
  • 與中立中繼系統(tǒng)互聯(lián)的方式:將自己協(xié)議映射到IP協(xié)議。
    • 網(wǎng)絡(luò)互相連接起來(lái)要使用一些中間設(shè)備

    • 中間設(shè)備又稱(chēng)為中間系統(tǒng)或中繼(relay)系統(tǒng)
  • 物理層中繼系統(tǒng):轉(zhuǎn)發(fā)器和集線器(repeater)。
  • 數(shù)據(jù)鏈路層中繼系統(tǒng):網(wǎng)橋(bridge)。
  • 網(wǎng)絡(luò)層中繼系統(tǒng):路由器(router)。
  • 網(wǎng)絡(luò)層以上的中繼系統(tǒng):網(wǎng)關(guān)(gateway)。
    • 從體系層次觀點(diǎn)考察網(wǎng)絡(luò)互連

    • 物理層:在電纜段之間復(fù)制比特信號(hào)(無(wú)地址)


    • 數(shù)據(jù)鏈路層:在網(wǎng)段之間轉(zhuǎn)發(fā)數(shù)據(jù)幀(根據(jù)物理地址)


    • 網(wǎng)絡(luò)層:在網(wǎng)絡(luò)之間轉(zhuǎn)發(fā)分組(根據(jù)邏輯地址)


    • 當(dāng)中繼系統(tǒng)是轉(zhuǎn)發(fā)器或網(wǎng)橋時(shí),一般并不稱(chēng)之為網(wǎng)絡(luò)互連,因?yàn)檫@僅僅是把一個(gè)網(wǎng)絡(luò)擴(kuò)大了,而這仍然是一個(gè)網(wǎng)絡(luò)。
    • 網(wǎng)關(guān)由于比較復(fù)雜,目前使用得較少。
    • 互聯(lián)網(wǎng)都是指用路由器進(jìn)行互連的網(wǎng)絡(luò)。
    • 由于歷史原因,許多有關(guān)TCP/IP的文獻(xiàn)將網(wǎng)絡(luò)層使用得路由器稱(chēng)為網(wǎng)關(guān)。

    問(wèn)題:分組在各種各樣的網(wǎng)絡(luò)之間如何傳輸?


    因特網(wǎng)采用了一種與機(jī)器無(wú)關(guān)、操作系統(tǒng)無(wú)關(guān)、語(yǔ)言無(wú)關(guān),中立的中繼系統(tǒng)(IP系統(tǒng))方式來(lái)解決異構(gòu)網(wǎng)絡(luò)互聯(lián)問(wèn)題


    • 所謂虛擬互聯(lián)網(wǎng)絡(luò)也就是邏輯互連網(wǎng)絡(luò),它的意思就是互連起來(lái)的各種物理網(wǎng)絡(luò)的異構(gòu)性本來(lái)是客觀存在的,但是我們利用IP協(xié)議就可以使這些性能各異的網(wǎng)絡(luò)在網(wǎng)絡(luò)層看起來(lái)好像是一個(gè)統(tǒng)一的網(wǎng)絡(luò)。
    • 使用IP協(xié)議的虛擬互連網(wǎng)絡(luò)可簡(jiǎn)稱(chēng)為IP網(wǎng)

    網(wǎng)絡(luò)層提供了端系統(tǒng)端系統(tǒng)的通信服務(wù)

    • 底層的直接連接的網(wǎng)絡(luò)可為異構(gòu),網(wǎng)絡(luò)層提供互聯(lián)互通 互聯(lián)網(wǎng)可以由多種異構(gòu)網(wǎng)絡(luò)互連而成
    • 多跳傳送分組,需要網(wǎng)間路由器進(jìn)行分組轉(zhuǎn)發(fā)和路由選擇
    • 分組的直接交付和間接交付

    • 直接交付:將分組直接交付給目的主機(jī)而不需要通過(guò)路由器。
    • 間接交付:源與目的不在一個(gè)直接連接的網(wǎng)絡(luò)中,分組通過(guò)路由器轉(zhuǎn)發(fā)。



    • 如果我們只從網(wǎng)絡(luò)層考慮問(wèn)題,那么IP數(shù)據(jù)報(bào)就可以想象是在網(wǎng)絡(luò)層中傳送。

    4.2 網(wǎng)絡(luò)層服務(wù)模型

    • 在計(jì)算機(jī)網(wǎng)絡(luò)領(lǐng)域,網(wǎng)絡(luò)層應(yīng)該向運(yùn)輸層提供怎樣的服務(wù)("面向連接"還是"無(wú)連接")曾引起了長(zhǎng)期的爭(zhēng)論。
    • 爭(zhēng)論焦點(diǎn)的實(shí)質(zhì)就是:在計(jì)算機(jī)通信中,可靠交付應(yīng)當(dāng)由誰(shuí)來(lái)負(fù)責(zé)?是網(wǎng)絡(luò)還是端系統(tǒng)?
    • 網(wǎng)絡(luò)層提供的兩種服務(wù)

  • 無(wú)連接的網(wǎng)絡(luò)服務(wù):數(shù)據(jù)報(bào)(datagram)服務(wù)
  • 面向連接的網(wǎng)絡(luò)服務(wù)(虛電路(virtual-circuit,VC)服務(wù)

  • 網(wǎng)絡(luò)隨時(shí)接受主機(jī)發(fā)送的分組(即數(shù)據(jù)報(bào))網(wǎng)絡(luò)為每個(gè)分組獨(dú)立的選擇路由。

    • 數(shù)據(jù)報(bào)服務(wù)

  • 在網(wǎng)絡(luò)層無(wú)呼叫建立
  • 路由器:沒(méi)有端到端連接的狀態(tài) 無(wú)網(wǎng)絡(luò)級(jí)"連接"的概念
  • 分組使用目的主機(jī)地址轉(zhuǎn)發(fā) 相同源和目的對(duì),可能采用不同的路徑
  • ??? 主機(jī)H1先向主機(jī)H5發(fā)出一個(gè)特定格式的控制信息分組,要求進(jìn)行通信,同時(shí)尋找一條合適路由。若主機(jī)H5同意通信就發(fā)回響應(yīng),然后雙方就建立了虛電路。

    • 虛電路服務(wù)

    • 一條VC由下列組成:
  • 從源到目的地的路徑
  • VC號(hào)是標(biāo)識(shí)沿路徑每條鏈路的號(hào)碼
  • 沿路徑中路由器轉(zhuǎn)發(fā)表的項(xiàng)
    • 屬于VC的分組攜帶一個(gè)VC號(hào)
    • 每條鏈路的VC號(hào)必須改變
  • 新的VC號(hào)來(lái)自轉(zhuǎn)發(fā)表
    • 虛電路服務(wù)
  • 用于建立、維護(hù)和拆除VC
  • 用于ATM、幀中繼
    • 虛電路是邏輯連接

  • 虛電路表示這只是一條邏輯上的連接,分組都沿著這條邏輯連接按照存儲(chǔ)轉(zhuǎn)發(fā)方式傳送,而并不是真正建立了一條物理連接。
  • 請(qǐng)注意,電路交換的電話通信是先建立了一條真正的連接。因此分組交換的虛連接和電路交換的連接只是類(lèi)似,但并不完全一樣。
  • 數(shù)據(jù)報(bào)服務(wù)和虛電路服務(wù)優(yōu)缺點(diǎn)的歸納




    • 因特網(wǎng)采用的設(shè)計(jì)思路

  • 網(wǎng)絡(luò)在發(fā)送分組時(shí)不需要先建立連接。每一個(gè)分組(即IP數(shù)據(jù)報(bào))獨(dú)立發(fā)送,與其前后的分組無(wú)關(guān)(不進(jìn)行編號(hào))。簡(jiǎn)單靈活、盡最大努力交付(best effort delivery)!
  • 網(wǎng)絡(luò)層不提供服務(wù)質(zhì)量的承諾。即所傳送的分組可能出錯(cuò)、丟失、重復(fù)和失序(不按序到達(dá)終點(diǎn)),當(dāng)然也不保證分組傳送的時(shí)限。可靠性由網(wǎng)絡(luò)的主機(jī)中的運(yùn)輸層負(fù)責(zé)。
  • 采用這種設(shè)計(jì)思路的好處是:網(wǎng)絡(luò)的造價(jià)大大降低,運(yùn)行方式靈活,能夠適應(yīng)多種應(yīng)用。
  • 因特網(wǎng)能夠發(fā)展到今日的規(guī)模,充分證明了當(dāng)初采用這種設(shè)計(jì)思路的正確性。
  • 4.3 IP協(xié)議

    • 網(wǎng)際協(xié)議IP及其配套協(xié)議

    • IP數(shù)據(jù)報(bào)的格式

    • 一個(gè)IP數(shù)據(jù)報(bào)由首部和數(shù)據(jù)兩部分組成。
    • 首部的前一部分是固定長(zhǎng)度,共20字節(jié),是所有IP數(shù)據(jù)報(bào)必須具有的。
    • 在首部的固定部分的后面是一些可選字段,其長(zhǎng)度是可變的。

    • 可變部分:從1個(gè)字節(jié)到40個(gè)字節(jié)不等,取決于所選擇的項(xiàng)目
    • 版本:占4bit,指IP協(xié)議的版本,目前的IP協(xié)議版本號(hào)為4(即IPv4)
    • 首部長(zhǎng)度:占4bit,可表示的最大數(shù)值 是15個(gè)單位(一個(gè)單位為4字節(jié)) 因此IP的首部長(zhǎng)度的最大值是60字節(jié)
    • 區(qū)分服務(wù):占8位,用來(lái)獲得更好的服務(wù),在就標(biāo)準(zhǔn)中叫做服務(wù)類(lèi)型,但實(shí)際上一直未被使用過(guò)。1998年這個(gè)字段改名為區(qū)分服務(wù)。只有在使用區(qū)分服務(wù)(DiffServ)時(shí),這個(gè)字段才起作用。在一般的情況下都不使用這個(gè)字段
    • 總長(zhǎng)度:占16bit,指首部和數(shù)據(jù)之和的長(zhǎng)度,單位為字節(jié),因此數(shù)據(jù)報(bào)的最大長(zhǎng)度為65535字節(jié)。
    • 標(biāo)識(shí)(identification):占16bit,它是一個(gè)計(jì)數(shù)器,用來(lái)產(chǎn)生數(shù)據(jù)報(bào)的標(biāo)識(shí)。
    • 標(biāo)志(flag):占3位,目前只有前兩位有意義。標(biāo)志字段的最低位是MF(More Fragment)。MF=1表示后面"還有分片"。MF=0表示最后一個(gè)分片。標(biāo)志字段中間的一位是DF(Don't Fragment)。只有當(dāng)DF=0時(shí)才允許分片。
    • 片偏移:12bit,較長(zhǎng)的分組在分片后某片在原分組中的相對(duì)位置。片偏移以8個(gè)字節(jié)為偏移單位。
    • 分組分片

    • 回顧最大傳輸單元(MTU)的定義
  • 物理網(wǎng)絡(luò)對(duì)幀的數(shù)據(jù)部分的最大字節(jié)數(shù)限制
  • 由硬件決定
    • 數(shù)據(jù)封裝提出的問(wèn)題

    1.IP分組的大小由軟件定義


    2.選擇合適的分組長(zhǎng)度適應(yīng)不同的MTU

    • 選擇網(wǎng)絡(luò)中最小的MTU:在MTU較大的網(wǎng)絡(luò)傳輸會(huì)造成硬件能力浪費(fèi)
    • 選擇網(wǎng)絡(luò)中最大的MTU:在MTU較小的網(wǎng)絡(luò)不能實(shí)現(xiàn)數(shù)據(jù)報(bào)到幀的封裝

    3.如何選擇分組長(zhǎng)度?如何實(shí)現(xiàn)數(shù)據(jù)封裝?

    • 適應(yīng)不同MTU的解決方案

    • 分組長(zhǎng)度的定義原則
  • 與硬件無(wú)關(guān)
  • 以"方便"為原則(取本地網(wǎng)絡(luò)的MTU)
    • 定義分片機(jī)制
  • 在IP數(shù)據(jù)包長(zhǎng)度大于網(wǎng)絡(luò)MTU的情況下,將其分成若干較小的部分傳輸,每部分稱(chēng)為片。
    • 在何處實(shí)行分片

    • 分片方法



    • 生存時(shí)間:8bit,記為T(mén)TL(Time To Live) 表示數(shù)據(jù)報(bào)在網(wǎng)絡(luò)中至多可經(jīng)過(guò)多少個(gè)路由器。
    • 協(xié)議:8bit,指出此數(shù)據(jù)報(bào)攜帶的數(shù)據(jù)使用何種協(xié)議以便目的主機(jī)的IP層將數(shù)據(jù)部分上交給哪個(gè)處理過(guò)程

    • 受不檢驗(yàn)和:16bit字段只檢驗(yàn)數(shù)據(jù)報(bào)的首部不包括數(shù)據(jù)部分。這里不采用CRC檢驗(yàn)碼而采用簡(jiǎn)單的計(jì)算方法。
    • 源地址和目標(biāo)地址都各占4字節(jié)
    • 可選字段
  • IP首部的可變部分就是一個(gè)選項(xiàng)字段,用來(lái)支持排錯(cuò)、測(cè)量以及安全等措施,內(nèi)容很豐富。
  • 選項(xiàng)字段的長(zhǎng)度可變,從1個(gè)字節(jié)到40個(gè)字節(jié)不等,取決于所選擇的項(xiàng)目。
  • 增加首部的可變部分是為了增加IP數(shù)據(jù)報(bào)的功能,但這同時(shí)也使得IP數(shù)據(jù)報(bào)的首部長(zhǎng)度稱(chēng)為可變的。這就增加了每一個(gè)路由器處理數(shù)據(jù)報(bào)的開(kāi)銷(xiāo)。
  • 實(shí)際上這些選項(xiàng)很少被使用。
    • 什么是IP地址

    • 我們把整個(gè)因特網(wǎng)看成為一個(gè)單一的、抽象的網(wǎng)絡(luò)。IP地址就是給每個(gè)連接在因特網(wǎng)上的主機(jī)(或路由器)分配一個(gè)在全世界范圍唯一的32bit的標(biāo)識(shí)符。
    • 最初,因特網(wǎng)賦號(hào)管理局(Internet Assigned Number Authrity,IANA)控制著所有分配的編號(hào),并制定政策。
    • 后來(lái),由因特網(wǎng)名字與號(hào)碼指派公司(Internet Corporation for Assigned Names and Numbers,ICANN)行使IANA的職能。
    • 大多數(shù)單位從不會(huì)直接與ICANN聯(lián)系,而是單位->本地ISP->更高一級(jí)的ISP->ICANN授權(quán)的地址注冊(cè)機(jī)構(gòu)
  • APNIC,負(fù)責(zé)亞洲和太平洋地區(qū)(Asia/Pacific Region)。
  • ARIN,負(fù)責(zé)北美區(qū)域(North America Region)。
  • RIPE NCC,負(fù)責(zé)歐洲、中東、中亞等區(qū)域(Europen,the Middle East,and Central Asia)。
  • LACNIC,負(fù)責(zé)拉美和加勒比海區(qū)域(Latin America and some Caribbean IsIands)。
  • AFRINIC,負(fù)責(zé)非洲區(qū)域(Africa Region)。
    • 我國(guó)向亞太網(wǎng)絡(luò)信息中心APNIC(Asia Pacific Network Information Center)申請(qǐng)IP地址。
    • IP地址的編址方法

  • 分類(lèi)編址:只是最基本的編址方法,在1981年就通過(guò)了相應(yīng)的標(biāo)準(zhǔn)協(xié)議。
  • 子網(wǎng)編址:這是對(duì)最基本的編址方法的改進(jìn),其標(biāo)準(zhǔn)[RFC 950]在1985年通過(guò)。
  • CIDR:這是比較新的無(wú)分類(lèi)編址方法。1993年提出后很快就得到推廣應(yīng)用。
    • IP地址的兩種表示方法

    • 一個(gè)對(duì)比

    • IP的地址結(jié)構(gòu)

    • 分類(lèi)的IP地址

  • 每一類(lèi)地址都有兩個(gè)固定長(zhǎng)度的字段組成,其中一個(gè)字段是網(wǎng)絡(luò)號(hào)net-id,它標(biāo)志主機(jī)(或路由器)所連接到的網(wǎng)絡(luò),而另一個(gè)字段則是主機(jī)號(hào)host-id,它標(biāo)志該主機(jī)(或路由器)。
  • 兩級(jí)的IP地址可以記為:IP地址::={<網(wǎng)絡(luò)號(hào)>,<主機(jī)號(hào)>} ::=代表"定義為"
  • A類(lèi) 大型網(wǎng)絡(luò)

    B類(lèi) 中型網(wǎng)絡(luò)

    C類(lèi) 小型網(wǎng)絡(luò)

    D類(lèi) 多播

    E類(lèi) 試驗(yàn)?zāi)康?/span>


    路由器轉(zhuǎn)發(fā)分組的步驟

    • 先按所要找的IP地址中的網(wǎng)絡(luò)號(hào)net-id把目的網(wǎng)絡(luò)找到。
    • 當(dāng)分組到達(dá)目的網(wǎng)絡(luò)后,再利用主機(jī)號(hào)host-id將數(shù)據(jù)報(bào)直接交付給目的主機(jī)。
    • 按照整數(shù)字節(jié)劃分net-id字段和host-id字段,就可以使路由器在收到一個(gè)分組時(shí)能夠更快地將地址中的網(wǎng)絡(luò)號(hào)提取出來(lái)。

    IP地址的分類(lèi)/A類(lèi)


    • 前1字節(jié)標(biāo)識(shí)網(wǎng)絡(luò)地址,后3字節(jié)標(biāo)識(shí)主機(jī)地址。
    • 每個(gè)網(wǎng)絡(luò)最多可容納(2^24-2)臺(tái)主機(jī)。
    • 從高位起,前1位為"0",第1字節(jié)用十進(jìn)制表示的取值范圍為"1-126"
    • 具有A類(lèi)地址特征的網(wǎng)絡(luò)總數(shù)為(2^7-2)個(gè)

    IP地址的分類(lèi)/B類(lèi)


    • 前2個(gè)字節(jié)標(biāo)識(shí)網(wǎng)絡(luò)地址,后2字節(jié)標(biāo)識(shí)主機(jī)地址
    • 每個(gè)網(wǎng)絡(luò)最多容納(2^16-2)臺(tái)主機(jī)
    • 從高位起,前2位為"10",第1字節(jié)用十進(jìn)制表示的取值范圍為"128-191"
    • 具有B類(lèi)地址特征的網(wǎng)絡(luò)總數(shù)為2^14-1個(gè)

    IP地址的分類(lèi)/C類(lèi)


    • 前3個(gè)字節(jié)標(biāo)識(shí)網(wǎng)絡(luò)地址,后1字節(jié)標(biāo)識(shí)主機(jī)地址
    • 每個(gè)網(wǎng)絡(luò)最多容納(2^8-2)臺(tái)主機(jī)
    • 從高位起,前3位為"110",第1字節(jié)用十進(jìn)制表示的取值范圍為"192-223"
    • 具有B類(lèi)地址特征的網(wǎng)絡(luò)總數(shù)為2^21-1個(gè)

    IP地址的分類(lèi)比較


    IP地址

    ??? 從Internet的觀點(diǎn)來(lái)看,具有相同net-id的主機(jī)屬于同一個(gè)網(wǎng)絡(luò),同一個(gè)網(wǎng)絡(luò)中不同的主機(jī)具有不同的host-id。

    ??? 不同的網(wǎng)絡(luò)通過(guò)路由器進(jìn)行相連!

    特殊IP地址


    1)回環(huán)測(cè)試地址

    主機(jī)將IP數(shù)據(jù)報(bào)回傳自身的地址-IP地址第一個(gè)字節(jié)為127 例:回送地址為127.0.0.1

    可用的環(huán)回測(cè)試地址范圍為:127.0.0.1-127.255.255.254

    2)廣播地址

    1.直接廣播地址

    主機(jī)地址部分為全"1",用于向某個(gè)網(wǎng)絡(luò)的所有主機(jī)廣播。例:主機(jī)212.111.44.136 所在網(wǎng)絡(luò)的廣播地址為212.111.44.255

    2.有限廣播地址(255.255.255.255)

    在未知本網(wǎng)絡(luò)地址情況下用于本網(wǎng)廣播

    3)網(wǎng)絡(luò)地址

    主機(jī)地址部分全部定義為"0",用于區(qū)分網(wǎng)絡(luò)

    例:主機(jī)211.111.44.136,所在網(wǎng)絡(luò)的地址為212.111.44.0

    專(zhuān)用IP地址

  • 10.0.0.0-10.255.255.255(1個(gè)A類(lèi)網(wǎng)絡(luò))
  • 172.16.0.0-172.31.255.255(16個(gè)連續(xù)的B類(lèi)網(wǎng)絡(luò))
  • 192.168.0.0-192.168.255.255(256個(gè)連續(xù)的C類(lèi)網(wǎng)絡(luò))
  • 具有以上IP地址的數(shù)據(jù)包會(huì)被路由器過(guò)濾,不會(huì)在Internet上傳輸。

    自動(dòng)專(zhuān)用IP地址

    ??? 主機(jī)如果設(shè)置為自動(dòng)獲取IP地址,當(dāng)網(wǎng)絡(luò)中沒(méi)有架設(shè)DHCP服務(wù)器時(shí),或者DHCP服務(wù)器出了問(wèn)題的時(shí)候,操作系統(tǒng)會(huì)自動(dòng)賦予本機(jī)一個(gè)類(lèi)似169.254.x.x的IP地址。

    ??? IANA把B類(lèi)地址快169.254.0.0-169.254.255.255定義為自動(dòng)專(zhuān)用IP地址(Automatic Private IP Addressing,APIPA),這些地址將不能在Internet上使用。

    ??? APIPA使得在ad-hoc(不等)無(wú)線網(wǎng)絡(luò)這樣的局域網(wǎng)上的計(jì)算機(jī)可以互相通信而不需要配置DHCP服務(wù)器或靜止IP地址。

    ??? 如果在提供有DHCP服務(wù)器的網(wǎng)路上計(jì)算機(jī)的IP地址是APIPA地址,就意味著該計(jì)算機(jī)無(wú)法聯(lián)系上DHCP服務(wù)器。該計(jì)算機(jī)可能沒(méi)有正確接入網(wǎng)絡(luò)或者DHCP服務(wù)器掉線。

    ??? 注意APIPA地址永遠(yuǎn)不會(huì)有默認(rèn)網(wǎng)關(guān),以為APIPA設(shè)計(jì)為只在單一子網(wǎng)上工作

    ??? 使用APIPA IP地址的計(jì)算機(jī)會(huì)定期嘗試與DHCP服務(wù)器聯(lián)系,以免DHCP服務(wù)器在客戶端計(jì)算機(jī)啟動(dòng)后才聯(lián)機(jī)上線。

    子網(wǎng)編址

    劃分子網(wǎng)

    從兩級(jí)IP地址到三級(jí)IP地址

    • 在ARPANET的早期,IP地址的設(shè)計(jì)確實(shí)不夠合理。
  • IP地址空間的利用率有時(shí)很低。
  • 給每一個(gè)物理網(wǎng)絡(luò)分配一個(gè)網(wǎng)絡(luò)號(hào),浪費(fèi)了地址空間
  • 兩級(jí)的IP地址不夠靈活。
    • 從1985年起在IP地址中又增加了一個(gè)"子網(wǎng)號(hào)字段",使兩級(jí)的IP地址變成為三級(jí)的IP地址。
    • 這種做法叫做劃分子網(wǎng)(subnetting)。劃分子網(wǎng)已成為因特網(wǎng)的正式標(biāo)準(zhǔn)協(xié)議。

    什么是子網(wǎng)

    ??? 將網(wǎng)絡(luò)進(jìn)一步劃分為相對(duì)獨(dú)立的組成部分,每個(gè)部分稱(chēng)為這一網(wǎng)絡(luò)(或更高一級(jí)子網(wǎng))的子網(wǎng)。

    ??? 劃分子網(wǎng)純屬一個(gè)單位內(nèi)部的事情。單位對(duì)外仍然表現(xiàn)為沒(méi)有劃分子網(wǎng)的網(wǎng)絡(luò)。


    如何劃分子網(wǎng)

    • 根據(jù)地理分布特點(diǎn)劃分

    - 易于組網(wǎng)技術(shù)實(shí)現(xiàn)

    樓群內(nèi)采用局域網(wǎng)技術(shù)構(gòu)成子網(wǎng)

    樓群間選擇合適的傳輸媒體和互連設(shè)備使不同子網(wǎng)互連。

    - 節(jié)省經(jīng)費(fèi)

    • 根據(jù)網(wǎng)絡(luò)應(yīng)用特點(diǎn)劃分

    - 將共享相同網(wǎng)絡(luò)資源的主機(jī)劃分為同一子網(wǎng),減少子網(wǎng)間的網(wǎng)絡(luò)傳輸流量,提高系統(tǒng)性能。

    - 將具有相同安全密級(jí)程度的主機(jī)劃分為同一子網(wǎng),保障系統(tǒng)的安全。

    劃分子網(wǎng)的基本思路

    • 從主機(jī)號(hào)借用若干個(gè)比特作為子網(wǎng)號(hào)subnet-id,而主機(jī)號(hào)host-id也就相應(yīng)減少了若干個(gè)比特。即IP地址::={<網(wǎng)絡(luò)號(hào)>,<子網(wǎng)號(hào)>,<主機(jī)號(hào)>}
    • 凡是從其他網(wǎng)絡(luò)發(fā)送給本單位某個(gè)主機(jī)的IP數(shù)據(jù)報(bào),仍然是根據(jù)IP數(shù)據(jù)報(bào)的目的網(wǎng)絡(luò)號(hào)net-id,先找到連接在本單位網(wǎng)絡(luò)上的路由器。
    • 然后此路由器在收到IP數(shù)據(jù)報(bào)后,再按目的網(wǎng)絡(luò)號(hào)net-id和子網(wǎng)號(hào)subnet-id找到目的子網(wǎng)。
    • 最后就將IP數(shù)據(jù)報(bào)直接交付給目的主機(jī)。

    子網(wǎng)地址特性


    劃分子網(wǎng)后的IP地址


    子網(wǎng)掩碼定義

    • 從一個(gè)IP數(shù)據(jù)報(bào)的首部并無(wú)法判斷源主機(jī)或目的主機(jī)所連接的網(wǎng)絡(luò)是否進(jìn)行了子網(wǎng)的劃分
    • 使用子網(wǎng)掩碼(subnet mask)可以找出IP地址中的子網(wǎng)部分。



    總結(jié):子網(wǎng)掩碼中"1"的長(zhǎng)度表示:

    1)沒(méi)有劃分子網(wǎng)時(shí),表示net-id的長(zhǎng)度

    2)劃分了子網(wǎng)時(shí),表示net-id+subnet-id的長(zhǎng)度

    A類(lèi)、B類(lèi)和C類(lèi)IP地址的默認(rèn)子網(wǎng)掩碼


    子網(wǎng)掩碼的作用

    1)劃分子網(wǎng)

    例如:一個(gè)公司有一個(gè)C類(lèi)地址,想把公司內(nèi)部網(wǎng)絡(luò)劃分為6個(gè)子網(wǎng),那么它采用的子網(wǎng)掩碼是什么?


    例如:一個(gè)公司有一個(gè)C類(lèi)地址(202.117.128.0),采用掩碼255.255.255.224,寫(xiě)出所有子網(wǎng)地址。


    2)獲得主機(jī)網(wǎng)絡(luò)地址

    IP地址 & 掩碼 = 網(wǎng)絡(luò)地址


    舉例1:


    舉例2:


    子網(wǎng)掩碼應(yīng)用舉例

    例:主機(jī)IP地址:202.112.32.62

    ??????????????????????????? -.-.-.00111110

    ?????? 默認(rèn)子網(wǎng)掩碼:255.255.255.0(C類(lèi)地址)

    ?????? 實(shí)際子網(wǎng)掩碼:255.255.255.224

    因此:

    ??? 未劃分前的網(wǎng)絡(luò)地址:202.112.32.0(無(wú)實(shí)際意義)

    ??? 劃分后的網(wǎng)絡(luò)地址:202.112.32.00100000

    ??? 直接廣播地址:202.112.32.00111111

    另一種表示法:202.112.32.62/27

    例1:已知IP地址是141.14.72.24,子網(wǎng)掩碼是255.255.192.0。試求網(wǎng)絡(luò)地址。


    例2:在上例中,若子網(wǎng)掩碼改為255.255.224.0。試求網(wǎng)絡(luò)地址,討論所得結(jié)果。


    不同的子網(wǎng)掩碼得出相同的網(wǎng)絡(luò)地址。但不同的掩碼的效果是不同的。

    使用子網(wǎng)掩碼的分組轉(zhuǎn)發(fā)過(guò)程

    • 在不劃分子網(wǎng)的兩級(jí)IP地址下,從IP地址得出網(wǎng)絡(luò)地址是個(gè)很簡(jiǎn)單的事。
    • 但在劃分子網(wǎng)的情況下,從IP地址卻不能唯一地得出網(wǎng)絡(luò)地址來(lái),這是因?yàn)?span style="color:#FF0000;">網(wǎng)絡(luò)地址取決于那個(gè)網(wǎng)絡(luò)所采用的子網(wǎng)掩碼,但數(shù)據(jù)報(bào)的首部并沒(méi)有提供子網(wǎng)掩碼的信息。

    因此,分組轉(zhuǎn)發(fā)的算法也必須做相應(yīng)的改動(dòng)。







    在劃分子網(wǎng)的情況下路由器轉(zhuǎn)發(fā)分組的算法

    (1)從收到的分組的首部提取目的的IP地址D。

    (2)先用路由器直接連接的網(wǎng)絡(luò)的子網(wǎng)掩碼和D逐比特相"與",看是否和相應(yīng)的網(wǎng)絡(luò)地址匹配。若匹配,則將分組直接交付。否則就是間接交付,執(zhí)行(3)。

    (3)若路由表中有目的地址為D的特定主機(jī)路由,則將分組傳送給指明的下一跳路由器;否則,執(zhí)行(4)。

    (4)對(duì)路由表中的每一行的子網(wǎng)掩碼和D逐比特相"與",若其結(jié)果與該行的目的網(wǎng)絡(luò)地址匹配,則將分組傳送給該行指明的下一跳路由器;否則,執(zhí)行(5)。

    (5)若路由表中有一個(gè)默認(rèn)路由,則將分組傳送給路由表中所指明的默認(rèn)路由器;否則,執(zhí)行(6)。

    (6)報(bào)告轉(zhuǎn)發(fā)分組出錯(cuò)。

    注意:

    ??? 為支持特定主機(jī)路由和默認(rèn)路由,規(guī)定全"1"的掩碼對(duì)應(yīng)特定主機(jī)路由,全"0"的掩碼對(duì)應(yīng)默認(rèn)路由。

    無(wú)分類(lèi)編址CIDR

    當(dāng)時(shí)面臨的問(wèn)題:

    • 隨著Internet的飛速發(fā)展,可用的IP地址空間正在縮小。A類(lèi)地址和B類(lèi)地址的空間實(shí)際上已經(jīng)耗盡。整個(gè)IPv4的地址空間最終將全部耗盡。

    雖然可以用"分配多個(gè)C類(lèi)地址"取代"分配一個(gè)B類(lèi)地址",但是如果一個(gè)單位分配了256個(gè)C類(lèi)地址而不是一個(gè)B類(lèi)地址,則需要256個(gè)路由表項(xiàng),而不是1個(gè)!

    • 因特網(wǎng)主干網(wǎng)上的路由表中的項(xiàng)目數(shù)急劇增長(zhǎng)(從幾千個(gè)增長(zhǎng)到幾萬(wàn)個(gè)),核心的Internet路由器處理能力也逐漸耗盡。
    • 1987年,RFC1009就指明了在一個(gè)劃分子網(wǎng)的網(wǎng)絡(luò)中可同時(shí)使用幾個(gè)不同的子網(wǎng)掩碼。使用變長(zhǎng)子網(wǎng)掩碼VLSM(Variable Length Subnet Mask)可進(jìn)一步提高IP地址資源的利用率。
    • 在VLSM的基礎(chǔ)上又進(jìn)一步研究出無(wú)分類(lèi)編址方法,它的正式名字是無(wú)分類(lèi)域間路由選擇CIDR(Classless Inter-Domain Routing)。

    CIDR與之前的8位、16位、24位網(wǎng)絡(luò)標(biāo)識(shí)符(或前綴)限制相反。CIDR允許任意長(zhǎng)度的網(wǎng)絡(luò)地址前綴存在。即:CIDR使用各種長(zhǎng)度的"網(wǎng)絡(luò)前綴"(network-prefix)來(lái)代替分類(lèi)地址中的網(wǎng)絡(luò)號(hào)和子網(wǎng)號(hào)。


    • 在一個(gè)有類(lèi)別的系統(tǒng)中,路由器確定一個(gè)地址的類(lèi)別,并根據(jù)該類(lèi)別識(shí)別網(wǎng)絡(luò)位和主機(jī)位。
    • 在CIDR中,路由器使用前綴來(lái)描述有多少位是網(wǎng)絡(luò)位,余下的則是主機(jī)位。

    CIDR地址塊

    • 128.14.32.0/20表示的地址塊共有2^12個(gè)地址(因?yàn)樾本€后面的20是網(wǎng)絡(luò)前綴的比特?cái)?shù),所以主機(jī)號(hào)的比特?cái)?shù)是12)。這里20 被稱(chēng)為網(wǎng)絡(luò)前綴長(zhǎng)度。



    注意:

    只要知道這個(gè)地址塊中的某個(gè)地址前綴長(zhǎng)度,就可以確定該地址塊的地址范圍。

    例如,已知某個(gè)地址128.14.33.1/20,可先讓該地址與掩碼"與"操作,求得網(wǎng)路地址為128.12.32.0。然后便可以寫(xiě)出地址范圍128.14.32.0至128.14.47.255

    CIDR記法的其他形式


    為什么使用CIDR?
    • 提高了IPv4的可擴(kuò)展性和效率;
    • 將有類(lèi)別的尋址方式替換成了更靈活、浪費(fèi)更少的無(wú)類(lèi)別方案;
    • 加強(qiáng)了路由聚合,亦即超網(wǎng)(Supernetting),它使得路由表中的一個(gè)項(xiàng)目可以表示很多個(gè)(例如上千個(gè))原來(lái)傳統(tǒng)分類(lèi)地址的路由。

    路由聚合和超網(wǎng)

    • 超網(wǎng)

    ??? 超網(wǎng)是指用一個(gè)掩碼將多個(gè)有類(lèi)別的網(wǎng)絡(luò)聚合成"單個(gè)網(wǎng)絡(luò)"的過(guò)程。超網(wǎng)和路由聚合是同一方法的不同名稱(chēng)。

    ??? 例如,一個(gè)單位可以將申請(qǐng)到的幾個(gè)C類(lèi)地址塊合并為一個(gè)更大的地址塊。但是這些C類(lèi)地址必須滿足下面的條件:

    ??? (1)C類(lèi)地址個(gè)數(shù)必須是2的整數(shù)次方(2,4,8,16)

    ??? (2)這些地址必須是連續(xù)的(塊與塊之間沒(méi)有間隙)



    觀察:8個(gè)網(wǎng)絡(luò)地址中前21個(gè)比特相同,將它們合并到一個(gè)可以表示多個(gè)網(wǎng)絡(luò)的公共網(wǎng)絡(luò)號(hào),這就是路由聚合。





    通過(guò)使用前綴地址來(lái)匯總路由帶來(lái)怎樣的好處?
    • 更高效的路由選擇
    • 重新計(jì)算路由表或者在路由表中查找匹配項(xiàng)所消耗的CPU時(shí)間大幅減少。
    • 對(duì)路由器的內(nèi)存需求降低。



    • 超網(wǎng)與地址分配

    例如:一個(gè)Z公司需要供400臺(tái)主機(jī)使用的地址。在有類(lèi)尋址系統(tǒng)中:(1)Z公司可以申請(qǐng)一個(gè)B類(lèi)地址,(2)Z公司也可以申請(qǐng)兩個(gè)C類(lèi)地址

    當(dāng)Z公司采用方法(2),則因特網(wǎng)路由器將需要為Z公司維護(hù)2條路由表項(xiàng),而不是一條。

    ??? 在無(wú)類(lèi)尋址系統(tǒng)中,超網(wǎng)允許Z公司使用自身需要的地址空間而不造成浪費(fèi),而且不會(huì)增加不必要的路由選擇開(kāi)銷(xiāo)。

    - Z公司要做的是向它的網(wǎng)絡(luò)服務(wù)器提供商申請(qǐng)一個(gè)地址塊。

    - 網(wǎng)絡(luò)服務(wù)提供商ISP評(píng)估Z公司的需求,并從ISP的大CIDR地址塊中分配一個(gè)地址空間給Z公司。

    - 假設(shè)負(fù)責(zé)給Z公司分配地址塊的ISP管理著一個(gè)大地址塊:207.21.0.0/16 相當(dāng)于有256個(gè)C類(lèi)地址組成的地址塊。

    - ISP給Z公司分配一個(gè)地址塊:207.21.2.0/23,改地址的主機(jī)有9位,可以滿足400個(gè)主機(jī)地址的需求。




    判定哪些子網(wǎng)的地址能夠聚合:

    條件1,也是基本條件,是多個(gè)IP地址塊必須擁有相同的高位比特,且各子網(wǎng)間地址是連續(xù)的(這是地址聚合定義中所要求的);

    條件2,要聚合的地址個(gè)數(shù)必須是2的冪;

    條件3,要聚合的地址中最小的那個(gè)網(wǎng)絡(luò)地址中要匯聚的那個(gè)字節(jié)的十進(jìn)制必須是要聚合的地址個(gè)數(shù)的整數(shù)倍。



    最長(zhǎng)前綴匹配
    • 使用CIDR時(shí),路由表中的每個(gè)項(xiàng)目由"網(wǎng)絡(luò)前綴"和"下一跳地址"組成。在查找路由表時(shí)可能會(huì)得到不止一個(gè)匹配結(jié)果。
    • 應(yīng)當(dāng)從匹配結(jié)果中選擇具有最長(zhǎng)網(wǎng)絡(luò)前綴的路由:最長(zhǎng)前綴匹配(longest-prefix matching)。
    • 網(wǎng)絡(luò)前綴越長(zhǎng),其地址塊就越小,因而路由就越具體。
    • 最長(zhǎng)前綴匹配又稱(chēng)為最長(zhǎng)匹配最佳匹配。



    可變長(zhǎng)子網(wǎng)掩碼VLSM(Variable-length subnet masks)
    • RFC 1878中定義了可變長(zhǎng)子網(wǎng)掩碼(VariableLength Subnet Mask,VLSM)。VLSM規(guī)定了如何在一個(gè)進(jìn)行了子網(wǎng)劃分的網(wǎng)絡(luò)中的不同部分使用不同的子網(wǎng)掩碼。這對(duì)于網(wǎng)絡(luò)內(nèi)部不同網(wǎng)段需要不同大小子網(wǎng)的情形來(lái)說(shuō)非常有效。
    • VLSM實(shí)際上是一種多級(jí)子網(wǎng)劃分技術(shù)。
    • 這種策略只能在所用的路由協(xié)議都支持的情況下才能使用。



    ??? 當(dāng)為一個(gè)IP網(wǎng)分配不止一個(gè)子網(wǎng)掩碼時(shí),可以認(rèn)為網(wǎng)絡(luò)使用了可變長(zhǎng)子網(wǎng)掩碼VLSM。

    ??? 好處:能克服單一子網(wǎng)掩碼所造成的固定數(shù)目、固定大小子網(wǎng)的局限。如果你想把你的網(wǎng)絡(luò)分成多個(gè)不同大小的子網(wǎng),可以使用可變長(zhǎng)子網(wǎng)掩碼,每個(gè)子網(wǎng)可以使用不同長(zhǎng)度的子網(wǎng)掩碼。

    例如:將圖中的子網(wǎng)172.17.3.0/24在劃分為幾個(gè)更小的子網(wǎng)。



    將圖中的子網(wǎng)172.17.3.0/24按同一個(gè)掩碼/27劃分


    其中選擇三個(gè)網(wǎng)絡(luò)地址分配給三個(gè)子網(wǎng)。



    再將其中一個(gè)/27子網(wǎng)更進(jìn)一步劃分成多個(gè)/30子網(wǎng)。


    在其中選取三個(gè)網(wǎng)絡(luò)地址分配給三個(gè)點(diǎn)到點(diǎn)鏈路。



    切記:如果已經(jīng)分配使用了某個(gè)子網(wǎng)中的地址,那這個(gè)子網(wǎng)不能再細(xì)化分。(下面標(biāo)紅的子網(wǎng)不能在劃分!)


    IP地址的配置

    • 為了讓協(xié)議軟件通用和便于移植,協(xié)議軟件的編寫(xiě)者把協(xié)議軟件參數(shù)化。
    • 不同的計(jì)算機(jī),配置不同的協(xié)議參數(shù)。
    • 在協(xié)議軟件運(yùn)行之前,必須給每一個(gè)參數(shù)賦值。在協(xié)議軟件中給出這些參數(shù)賦值的動(dòng)作叫做協(xié)議配置。
    • 具體的配置信息有哪些則取決于協(xié)議棧。

    對(duì)于一個(gè)使用TCP/IP協(xié)議棧的計(jì)算機(jī),它的協(xié)議軟件需要配置的項(xiàng)目有哪些?


    • 早期(在無(wú)盤(pán)計(jì)算機(jī)的情況下)

    (1)操作系統(tǒng)和連網(wǎng)軟件可以存儲(chǔ)在ROM中。

    (2)上述四條信息不能存儲(chǔ)在ROM中,這些信息與機(jī)器的特定配置有關(guān),說(shuō)明了這臺(tái)機(jī)器所連接到的網(wǎng)絡(luò)。

    (3)引導(dǎo)程序協(xié)議BOOTP可將協(xié)議配置信息提供給無(wú)盤(pán)計(jì)算機(jī)。

    (4)BOOTP基于UDP,采用客戶/服務(wù)器模式實(shí)現(xiàn)。


    • BOOTP為什么被淘汰?

    (1)BOOTP是靜態(tài)配置協(xié)議??蛻舻奈锢淼刂放cIP地址的綁定必須是預(yù)先確定的。綁定信息由人工維護(hù)。

    (2)BOOTP無(wú)法自動(dòng)處理以下情況:若主機(jī)從某個(gè)物理網(wǎng)絡(luò)移動(dòng)到另一個(gè)物理網(wǎng)絡(luò)?若一個(gè)新的主機(jī)加入到網(wǎng)絡(luò)中?

    現(xiàn)在廣泛使用動(dòng)態(tài)主機(jī)配置協(xié)議DHCP
    • DHCP和BOOTP向后兼容。
    • DHCP提供靜態(tài)和動(dòng)態(tài)地址分配,分配可以是人工或自動(dòng)的。


    • DHCP有兩個(gè)數(shù)據(jù)庫(kù):

    ??? 固定地把物理地址綁定到IP地址,支持靜態(tài)地址分配。

    ??? 擁有可用IP地址池,支持動(dòng)態(tài)地址分配。

    • 當(dāng)DHCP服務(wù)器接收到請(qǐng)求后,首先檢查它的靜態(tài)數(shù)據(jù)庫(kù),如果存在所請(qǐng)求的物理地址項(xiàng)目,就返回相應(yīng)的IP地址(永久)。如果靜態(tài)數(shù)據(jù)庫(kù)中不存在這個(gè)項(xiàng)目,DHCP服務(wù)器就從可用IP地址池中選擇一個(gè)IP地址指派給客戶,并把這個(gè)項(xiàng)目加到動(dòng)態(tài)數(shù)據(jù)庫(kù)中。
    • 從IP地址池獲得的地址都是在有限時(shí)間內(nèi)使用的臨時(shí)IP地址。
    DHCP工作過(guò)程


    1.發(fā)現(xiàn)階段

    ??? 需要IP地址的主機(jī)在啟動(dòng)時(shí)間就像DHCP服務(wù)器廣播發(fā)送發(fā)現(xiàn)報(bào)文(DHCPDISCOVER),這時(shí)該主機(jī)就成為DHCP客戶。

    ??? 注:客戶發(fā)送請(qǐng)求報(bào)文時(shí)因?yàn)榇藭r(shí)客戶還不知道它本身的IP地址,所以IP首部中的源IP地址通常是0.0.0.0,目的IP地址為255.255.255.255。

    2.提供階段

    ??? 本地網(wǎng)絡(luò)上所有主機(jī)都能收到此廣播報(bào)文,但只有DHCP服務(wù)器才回答此廣播報(bào)文。

    ??? DHCP服務(wù)器的回答報(bào)文叫做提供報(bào)文(DHCPOFFER)。

    ??? 凡收到DHCP發(fā)現(xiàn)報(bào)文的DHCP服務(wù)器都發(fā)出DHCP提供報(bào)文,因此DHCP客戶可能收到多個(gè)DHCP提供報(bào)文。

    3.選擇階段

    ??? DHCP客戶從多個(gè)DHCP服務(wù)器中選擇其中的一個(gè),并向所選擇的DHCP服務(wù)器發(fā)送請(qǐng)求報(bào)文(DHCPREQUEST)。

    4.確認(rèn)階段

    ??? 被選擇的DHCP服務(wù)器發(fā)送確認(rèn)報(bào)文(DHCPACK),進(jìn)入已綁定狀態(tài),客戶開(kāi)始使用得到的臨時(shí)IP地址了。

    5.更新階段

    ??? 當(dāng)客戶在確認(rèn)階段得到臨時(shí)IP地址后,將根據(jù)服務(wù)器提供的租用期T設(shè)置兩個(gè)計(jì)時(shí)器T1和T2,它們的超時(shí)時(shí)間分別是0.5T和0.875T。

    ??? T1時(shí)間到時(shí),客戶發(fā)送DHCPREQUEST報(bào)文要求更新。

    ??????? 若DHCP服務(wù)器發(fā)回確認(rèn)報(bào)文DHCPACK。客戶得到了新的租用期,重新設(shè)置計(jì)時(shí)器。

    ??????? 若DHCP服務(wù)器發(fā)回否認(rèn)報(bào)文DHCPNACK??蛻舯仨毩⒓赐V故褂迷瓉?lái)的IP地址,重新申請(qǐng)IP地址。

    ??????? 若服務(wù)器無(wú)響應(yīng),客戶在2T時(shí)間到時(shí),重新發(fā)送DHCPREQUEST報(bào)文。

    6.重新登錄

    ??? 客戶不需要再發(fā)送DHCPDISCOVER報(bào)文了,而是直接發(fā)送包含前一次所分配的IP地址的DHCPREQUEST請(qǐng)求信息。

    ??? 當(dāng)DHCP服務(wù)器收到這一信息后,它會(huì)嘗試讓DHCP客戶機(jī)繼續(xù)使用原來(lái)的IP地址,并回答一個(gè)DHCPACK確認(rèn)信息。

    7.主動(dòng)解約

    ??? 客戶可以隨時(shí)提前終止DHCP服務(wù)器提供的租用期,這時(shí)只需向DHCP服務(wù)器發(fā)送釋放報(bào)文(DHCPRELEASE)即可??梢允褂妹?#xff1a;ipconfig /release

    ARP

    物理地址回顧
    • 定義:組成網(wǎng)絡(luò)的各個(gè)站點(diǎn)都具有一個(gè)機(jī)器可以識(shí)別的地址,稱(chēng)為該站點(diǎn)的物理地址(或稱(chēng)為硬件地址)。
    • 特點(diǎn):長(zhǎng)度和格式有物理網(wǎng)絡(luò)的硬件決定,不同網(wǎng)絡(luò)具有各自的地址定義方式。物理地址不能保證在整個(gè)互聯(lián)網(wǎng)上具有唯一性,但在同一網(wǎng)絡(luò)上物理地址是唯一的 。


    IP地址與硬件地址






    為什么要將IP地址轉(zhuǎn)換為物理地址

    不管網(wǎng)路層使用的是什么協(xié)議,在實(shí)際網(wǎng)絡(luò)的鏈路上傳送數(shù)據(jù)幀時(shí),最終還是必須使用物理地址。


    • 由于全世界存在著各式各樣的網(wǎng)絡(luò),它們使用不同的硬件地址。要使這些異構(gòu)網(wǎng)絡(luò)能夠互相通信就必須進(jìn)行非常復(fù)雜的物理地址轉(zhuǎn)換工作,因此幾乎是不可能的事。
    • 連接到因特網(wǎng)的主機(jī)都擁有統(tǒng)一的IP地址,它們之間的通信就像連接在同一個(gè)網(wǎng)絡(luò)上那樣簡(jiǎn)單方便,因?yàn)檎{(diào)用地址轉(zhuǎn)換協(xié)議來(lái)尋找某個(gè)路由器或主機(jī)的硬件地址都是由計(jì)算機(jī)軟件自動(dòng)進(jìn)行的,對(duì)用戶來(lái)說(shuō)是看不見(jiàn)這種調(diào)用過(guò)程的。
    如何實(shí)現(xiàn)地址轉(zhuǎn)換





    ARP分組的封裝


    ARP高速緩存的作用

    為什么需要ARP高速緩存?

    ??? 在多部分情況下,兩臺(tái)主機(jī)之間不會(huì)僅傳遞一個(gè)數(shù)據(jù)報(bào)。如果每次傳遞數(shù)據(jù)報(bào)之前都要使用arp請(qǐng)求獲取目標(biāo)的物理地址,通信效率會(huì)受到很大影響。

    ??? 因此,

    - 每個(gè)主機(jī)都在本地設(shè)置一個(gè)ARP高速緩存(ARP Cache),存放最近解析出來(lái)的IP/MAC映射關(guān)系。

    - 發(fā)送方在發(fā)送數(shù)據(jù)之前,首先在本地ARP高速緩存中查找,如果找到直接使用,否則才會(huì)廣播arp請(qǐng)求報(bào)文,進(jìn)行地址解析。

    ??? 例如:主機(jī)A要發(fā)數(shù)據(jù)給主機(jī)E,但是不知道E的MAC地址,于是發(fā)起ARP請(qǐng)求。

    • 當(dāng)E收到A的ARP請(qǐng)求分組時(shí),以及當(dāng)A收到E的ARP響應(yīng)分組時(shí),都會(huì)將對(duì)方主機(jī)的地址映射寫(xiě)入自己的ARP高速緩存中。以后給對(duì)方發(fā)送數(shù)據(jù)報(bào)時(shí)就更方便了。例如:
    • 當(dāng)主機(jī)A欲向本局域網(wǎng)上的某個(gè)主機(jī)E發(fā)送IP數(shù)據(jù)報(bào)時(shí),就先在其ARP高速緩存中查看有無(wú)主機(jī)E的IP地址。如有,就可查出其對(duì)應(yīng)的硬件地址,再將此硬件地址寫(xiě)入MAC幀,然后通過(guò)局域網(wǎng)將該MAC幀發(fā)往此硬件地址。


    ARP命令

    格式:arp -參數(shù)

    ARP命令僅對(duì)ARP高速緩存操作,不會(huì)發(fā)送ARP請(qǐng)求!




    跨網(wǎng)通信時(shí)ARP的使用方法

    問(wèn)題:

    ??? ARP是解決同一個(gè)物理網(wǎng)絡(luò)內(nèi)的主機(jī)或路由器的IP地址和硬件地址的映射問(wèn)題。(直接交付)但是,大部分情況下,源站與目的站并不在同一個(gè)物理網(wǎng)絡(luò)內(nèi),且他們之間可能會(huì)跨越多個(gè)路由器(間接交付)。這種情況下,ARP如何工作呢?


    (1)主機(jī)A判斷D是否與自己處于同一物理網(wǎng)絡(luò),如果不是(急需間接交付),則必須將數(shù)據(jù)發(fā)送給它的默認(rèn)網(wǎng)關(guān)--路由器R,再由R轉(zhuǎn)發(fā)給D.

    發(fā)送前,先利用ARP獲取E0的物理地址MAC3

    然后發(fā)送 IP數(shù)據(jù)報(bào):IP1->IP2??? MAC幀:MAC1->MAC3

    (2)路由器R把數(shù)據(jù)從E1端口轉(zhuǎn)發(fā)給主機(jī)D。

    轉(zhuǎn)發(fā)前,利用ARP獲取D的物理地址MAC2

    然后發(fā)送 IP數(shù)據(jù)報(bào):IP1->IP2?? MAC幀MAC4->MAC2

    使用ARP的四種典型情況
    • 發(fā)送方是主機(jī),要把IP數(shù)據(jù)報(bào)發(fā)送到本網(wǎng)絡(luò)上的另一個(gè)主機(jī)(直接交付)。這時(shí)用ARP找到目的主機(jī)的硬件地址。
    • 發(fā)送方是主機(jī),要把IP數(shù)據(jù)報(bào)發(fā)送到另一個(gè)網(wǎng)絡(luò)上的一個(gè)主機(jī)(間接交付)。這時(shí)用ARP找到本網(wǎng)絡(luò)上的默認(rèn)網(wǎng)關(guān)路由器的硬件地址。剩下的工作由這個(gè)路由器來(lái)完成。
    • 發(fā)送方是路由器,要把IP數(shù)據(jù)報(bào)轉(zhuǎn)發(fā)到本網(wǎng)絡(luò)上的一個(gè)主機(jī)(直接交付)。這時(shí)用ARP找到目的主機(jī)的硬件地址。
    • 發(fā)送方是路由器,要把IP數(shù)據(jù)報(bào)轉(zhuǎn)發(fā)到另一個(gè)網(wǎng)絡(luò)上的一個(gè)主機(jī)(間接交付)。這時(shí)用ARP找到下一跳路由器的硬件地址。剩下的工作由這個(gè)路由器來(lái)完成。


    ICMP

    • 為了提高IP數(shù)據(jù)報(bào)交付成功的機(jī)會(huì),在網(wǎng)際層使用了因特網(wǎng)控制報(bào)文協(xié)議ICMP(Internet Control Message Protocol)。
    • ICMP允許主機(jī)或路由器報(bào)告差錯(cuò)情況和提供有關(guān)異常情況的報(bào)告。
    • ICMP不是高層協(xié)議,而是IP層的協(xié)議
    • ICMP保文作為IP層數(shù)據(jù)報(bào)的數(shù)據(jù),加上IP首部,組成IP數(shù)據(jù)報(bào)發(fā)送出去。



    • Type:定義ICMP報(bào)文的類(lèi)型(功能)。
    • Code:每種類(lèi)型可再根據(jù)Code字段來(lái)定義各種不同用途
    • Checksum:長(zhǎng)度為2Bytes,記錄ICMP報(bào)文的錯(cuò)誤檢驗(yàn)碼
    ICMP報(bào)文分類(lèi)



    ICMP(Type=3:Destination Unreachable)

    IP路由過(guò)程中,若出現(xiàn)以下問(wèn)題,路由器或目的主機(jī)便發(fā)出"目的不可達(dá)"ICMP報(bào)文通知源端:

    • 路由器無(wú)法將IP數(shù)據(jù)報(bào)傳送出去。
    • 目的主機(jī)無(wú)法處理收到的IP數(shù)據(jù)報(bào)。


    ICMP(Type=11:Time Exceeded)



    ICMP(Type=8/0:Echo Request/Echo Reply)

    確認(rèn)事項(xiàng):

    B主機(jī)存在且運(yùn)作正常

    A、B之間的網(wǎng)絡(luò)連接狀況正常

    A、B之間的IP路由正常




    NAT

    • 為了解決IPv4地址短缺的問(wèn)題,IETF提出了NAT。
    • IP地址分為公有地址(Global address),私有地址(Private address)
    • NAT技術(shù)的主要作用是將私有地址轉(zhuǎn)換為公有地址。

    公網(wǎng)(Public Network),也被稱(chēng)為全局網(wǎng)絡(luò)(Global Network)或外網(wǎng)(External Network)。公網(wǎng)結(jié)點(diǎn)使用的地址為公有地址或稱(chēng)全局地址。

    私網(wǎng)(Private Network),也被稱(chēng)為本地網(wǎng)絡(luò)(Local Network)和內(nèi)網(wǎng)(Internal Network)。私網(wǎng)結(jié)點(diǎn)使用的地址為私有地址或稱(chēng)內(nèi)部地址。





    Basic NAT




    NAPT

    NAPT(Network Address Port Translation)

    • 網(wǎng)絡(luò)地址端口轉(zhuǎn)換。
    • NAT通過(guò)轉(zhuǎn)換表中的TCP和UDP端口號(hào)進(jìn)行映射的區(qū)分。
    • 端口號(hào)16bit,所以一個(gè)內(nèi)部全球地址理論上可以對(duì)應(yīng)2^16個(gè)內(nèi)部專(zhuān)有地址。
    • NAT設(shè)備要指定供分配的公有地址池
    • NAPT試圖保持原有的端口號(hào)

    • 試圖保持NAPT端口號(hào),如果這個(gè)原始的端口號(hào)已被分配,NAT將查找其他可用端口,如果沒(méi)有,將轉(zhuǎn)移到下一個(gè)IP地址,并試圖再次分配原始的原端口號(hào)。


    Easy IP

    • NAT設(shè)備直接使用出接口的IP地址作為轉(zhuǎn)換后的源地址;
    • 不用預(yù)先配置地址池
    • 工作原理與普通NAPT相同,是NAPT的一種特例;
    • 適用于動(dòng)態(tài)獲得IP地址的場(chǎng)合。


    NAT的主要缺點(diǎn):

    ??? 增加了延遲

    ??? 喪失了端到端的IP追蹤能力。當(dāng)分組在多個(gè)NAT跳上經(jīng)歷了許多次的地址轉(zhuǎn)換后,要跟蹤該分組是很困難的。當(dāng)然這樣黑客也很難確定分組的源了,也是優(yōu)點(diǎn)。

    4.4 路由選擇協(xié)議及其算法

    路由的概念

    • 路由是指導(dǎo)IP數(shù)據(jù)報(bào)發(fā)送的路徑信息


    • 路由表是路由器轉(zhuǎn)發(fā)報(bào)文的判斷依據(jù)。


    • 理想的路由算法應(yīng)具有的特性

    1)算法必須是正確的和完整的

    2)算法在計(jì)算上應(yīng)簡(jiǎn)單

    3)算法應(yīng)能自適應(yīng)通信量和網(wǎng)絡(luò)拓?fù)涞淖兓?/p>

    4)算法具有穩(wěn)定性

    5)算法應(yīng)該是公平的

    6)算法應(yīng)是最佳的

    路由選擇

    路由選擇協(xié)議:目的:決定從源到目的地通過(guò)網(wǎng)絡(luò)的"好的路徑(路由器序列)"


    路由選擇分類(lèi)

    靜態(tài)路由選擇--非自適應(yīng)的路由選擇

    管理員將路由信息輸入路由器配置中,只要網(wǎng)絡(luò)拓?fù)涓淖?#xff0c;管理員必須手動(dòng)更新這些靜態(tài)路由條目。

    動(dòng)態(tài)路由選擇--自適應(yīng)的路由選擇

    管理員輸入配置命令啟動(dòng)動(dòng)態(tài)路由選擇后,只要從互連網(wǎng)絡(luò)中收到新的信息,路由選擇進(jìn)程就自動(dòng)更新路由信息。

    靜態(tài)路由選擇的應(yīng)用

    當(dāng)一個(gè)網(wǎng)絡(luò)只有一條路徑可以到達(dá)時(shí),可以使用靜態(tài)路由,避免了動(dòng)態(tài)路由選擇的開(kāi)銷(xiāo)。




    靜態(tài)路由選擇的優(yōu)點(diǎn)

    1)簡(jiǎn)單直接

    2)無(wú)需路由軟件

    3)不需要傳播路由信息,因此不消耗帶寬

    動(dòng)態(tài)路由選擇

    動(dòng)態(tài)路由選擇允許網(wǎng)絡(luò)快速的更新和適應(yīng)于變化。


    Internet采用的路由選擇協(xié)議


    什么是自治系統(tǒng)(Autonomous System,AS)

    • 自治系統(tǒng)指在單一實(shí)體管理之下的路由器和網(wǎng)絡(luò)群組。它的典型管理實(shí)體是ISP,此外,一些公司企業(yè)、大學(xué)或政府機(jī)構(gòu)也可能擁有自己的自治系統(tǒng)。
    • 可以把AS看成一個(gè)路由器組。
    • 每個(gè)自治系統(tǒng)都有一個(gè)全局唯一的編號(hào),即:自治系統(tǒng)號(hào)(ASN)
    • ASN由ICANN地區(qū)注冊(cè)機(jī)構(gòu)負(fù)責(zé)分配,它是一個(gè)16bit的標(biāo)識(shí)符,范圍為1-65535(其中64512-65535保留不分配)
    • 當(dāng)一個(gè)自治系統(tǒng)向其它自治系統(tǒng)傳播可達(dá)性信息時(shí),使用自治系統(tǒng)編號(hào)來(lái)標(biāo)識(shí)自己。
    • 一個(gè)AS有時(shí)也被稱(chēng)為是一個(gè)路由選擇域(routing domain)
    • AS自主地決定在本系統(tǒng)內(nèi)應(yīng)采用何種路由選擇協(xié)議。
    • 一個(gè)AS內(nèi)的所有路由器在本系統(tǒng)內(nèi)必須是連通的。
    • 一個(gè)AS對(duì)其他AS表現(xiàn)出的是一個(gè)單一的和一致的路由選擇策略。
    一句話:自治系統(tǒng)就是擁有獨(dú)立而統(tǒng)一的路由策略,在同一管理機(jī)構(gòu)下,由一系列路由器和網(wǎng)絡(luò)構(gòu)成的系統(tǒng)。


    路由選擇算法的分類(lèi)

    對(duì)于內(nèi)部網(wǎng)關(guān)協(xié)議,可以根據(jù)路由選擇算法是分布式的還是全局的區(qū)分。

    • 分布式路由選擇算法
    • 全局路由選擇算法
      分布式路由選擇算法
    • 路由器知道:物理相連的鄰居,它到鄰居的鏈路費(fèi)用。
    • 通過(guò)迭代計(jì)算及與相鄰結(jié)點(diǎn)交換信息的過(guò)程,使各個(gè)結(jié)點(diǎn)能夠計(jì)算出到達(dá)某個(gè)目的結(jié)點(diǎn)的最低費(fèi)用路徑。
    • 代表算法:距離向量(Distance-Vector)算法
    ???? 全局路由選擇算法
    • 以所有結(jié)點(diǎn)之間的連通性及所有鏈路的費(fèi)用為輸入,計(jì)算最有路徑。
    • 要求每一個(gè)路由器知曉完全的網(wǎng)絡(luò)拓?fù)洹㈡溌焚M(fèi)用信息。
    • 代表算法:鏈路狀態(tài)(Link-State)算法
    距離向量算法基本思想

    ??? 一個(gè)路由器知道到達(dá)鄰居的距離,如果鄰居知道到達(dá)目的地的距離,則能算出本路由器到達(dá)目的地的距離。

    • 每個(gè)節(jié)點(diǎn)周期性的向其鄰居發(fā)送自己的距離向量(DV);
    • 當(dāng)結(jié)點(diǎn)X接收到來(lái)自鄰居v的新距離向量時(shí),它使用Bellman-Ford方程更新自己的距離向量:



    路由器定期向鄰居發(fā)送路由更新,鄰居路由器根據(jù)收到的路由更新來(lái)更新自己的路由表,然后在向外發(fā)送更新后的路由。


    每個(gè)路由器收到來(lái)自相鄰路由器的路由表信息。



    RIP協(xié)議(Routing Information Protocol)

    • 路由信息協(xié)議RIP是內(nèi)部網(wǎng)關(guān)協(xié)議IGP中簡(jiǎn)單的、最先得到廣泛使用的協(xié)議。
    • RIP基于舉例向量路由,使用Bellman-Ford算法計(jì)算路由表。
    • RIP協(xié)議要求網(wǎng)絡(luò)中的每一個(gè)路由器都要維護(hù)從它自己到其每一個(gè)目的網(wǎng)絡(luò)的距離記錄。
    • 每一個(gè)路由器都要維護(hù)一個(gè)路由表(Routing Table)
    • 其中包含該路由器到達(dá)每個(gè)目的網(wǎng)絡(luò)的條目。


    關(guān)于RIP中的"距離"

    • RIP協(xié)議中的"距離"也稱(chēng)為"跳數(shù)"(hop count),因?yàn)槊拷?jīng)過(guò)一個(gè)路由器,跳數(shù)就加1。
    • 從一個(gè)路由器到直接連接的網(wǎng)絡(luò)的距離定義為1.
    • 從一個(gè)路由器到非直接連接的網(wǎng)絡(luò)的距離定義為所經(jīng)過(guò)的路由器數(shù)加1.
    • RIP認(rèn)為一個(gè)好的路由就是它通過(guò)的路由器的數(shù)目少,即"距離短"。
    • RIP允許一條路徑最多只能包含15個(gè)路由器。"距離"的最大值為16時(shí)即相當(dāng)于不可達(dá)。


    RIP的三個(gè)要點(diǎn):
    • Sharing hnowledge about the entire AS以自治系統(tǒng)為范圍(指該路由器目前了解到的目的網(wǎng)絡(luò),不一定包括當(dāng)前AS內(nèi)所有目的網(wǎng)絡(luò)。),每個(gè)路由器分享自己到達(dá)目的網(wǎng)絡(luò)的信息。
    • Sharing only with neighbors 僅和相鄰路由器分享。
    • Sharing at regular intervals 按固定的時(shí)間間隔分享信息(當(dāng)前路由表的全部信息),例如,每個(gè)30秒。












    發(fā)現(xiàn)故障

    RIP存在的一個(gè)問(wèn)題是當(dāng)網(wǎng)絡(luò)出現(xiàn)故障時(shí),要經(jīng)過(guò)比較長(zhǎng)的時(shí)間才能將"壞消息"傳送到所有的路由器。







    發(fā)現(xiàn)故障引起的問(wèn)題

    - 網(wǎng)絡(luò)1的無(wú)效更新會(huì)不斷循環(huán)下去,計(jì)數(shù)到無(wú)窮大(16)。

    - "網(wǎng)絡(luò)1不可達(dá)"這樣的壞消息一直不被得知,網(wǎng)絡(luò)中的路由器仍然認(rèn)為網(wǎng)絡(luò)1可達(dá)

    - 網(wǎng)絡(luò)狀態(tài)長(zhǎng)時(shí)間無(wú)法收斂

    解決方法

    ? ? 通過(guò)水平分割(split horizon)消除路由選擇環(huán)路




    • 解決方法

    通過(guò)路由毒化+抑制時(shí)間,能夠在一定程度上避免路由環(huán)路產(chǎn)生。

    抑制時(shí)間:當(dāng)一條路由的距離值變?yōu)闊o(wú)窮大時(shí),該路由進(jìn)入抑制狀態(tài)。在被抑制狀態(tài),只有來(lái)自同一鄰居,且度量值小于16的路由更新才會(huì)被路由器接收,取代不可達(dá)路由項(xiàng)。

    確保不可達(dá)信息不被錯(cuò)誤的可達(dá)信息取代。

    基于距離向量的路由選擇協(xié)議特點(diǎn)總結(jié)

    • 收斂速度慢

    (1)路由器在分發(fā)路由信息前必須重新計(jì)算其距離向量。

    (2)壞消息循環(huán)問(wèn)題,即計(jì)數(shù)到無(wú)窮問(wèn)題,距離向量必須被來(lái)回傳送多次;

    • 路由器之間交換的路由信息是路由器中的完整路由表,因而隨著網(wǎng)絡(luò)規(guī)模的擴(kuò)大,開(kāi)銷(xiāo)也就增加。

    OSPF

    • 和RIP一樣,OSPF也用于AS內(nèi)部路由選擇。
    • RIP是基于舉例向量的路由選擇協(xié)議,OSPF是基于鏈路狀態(tài)的路由選擇協(xié)議。
    • OSPF被認(rèn)為是RIP的繼任者,并且有許多先進(jìn)特性。1987年IETF提出,廣為熟悉的版本v2由RFC2328(1998年4月)定義。
    • Neighborship:

    直接相連(adjacence)的Router之間的關(guān)系。

    • Link State Database:

    相鄰的Router交換Link State Advertisement;

    建立、并更新數(shù)據(jù)庫(kù),記載網(wǎng)絡(luò)上個(gè)Router及網(wǎng)絡(luò)連接的基本信息。

    • Forwarding Table:

    記載通過(guò)SPF(Shortest Path First,最短路徑優(yōu)先)算法--Dijkstra算法,計(jì)算出的到達(dá)目的地的最佳路徑。

    • 區(qū)域(Area)

    在RIP協(xié)議中:

    ? ? AS是一個(gè)平面結(jié)構(gòu),并無(wú)區(qū)域的定義。

    ? ? AS范圍就是一個(gè)RIP路由域

    在OSPF路由協(xié)議中:

    ? ? 講一個(gè)AS劃分為若干個(gè)較小的范圍,叫做區(qū)域(area)。每個(gè)區(qū)域都運(yùn)行自己的OSPF算法,區(qū)域內(nèi)每臺(tái)路由器都向該區(qū)域內(nèi)其他路由器廣播其鏈路狀態(tài)。

    為什么要?jiǎng)澐謪^(qū)域?

    當(dāng)網(wǎng)絡(luò)越來(lái)越龐大時(shí),帶來(lái)以下問(wèn)題:

    ? ? LSA傳送頻繁,帶寬需求增加;

    ? ? SPF計(jì)算過(guò)于頻繁,Router負(fù)擔(dān)增加;

    ? ? Routing Table(Forwarding Table)不穩(wěn)定。


    • 一個(gè)OSPF路由域可以劃分為多個(gè)路由器群集,即一個(gè)AS被劃分為多個(gè)編號(hào)的區(qū)域。區(qū)域不能相互重疊。
    • 每一個(gè)區(qū)域都有著該區(qū)域獨(dú)立的網(wǎng)絡(luò)拓?fù)鋽?shù)據(jù)庫(kù)及網(wǎng)絡(luò)拓?fù)鋱D。在一個(gè)區(qū)域的外部來(lái)看,該區(qū)域的拓?fù)浣Y(jié)構(gòu)和細(xì)節(jié)是不可見(jiàn)。

    ? ? 每個(gè)AS中有一個(gè)主干區(qū)域,稱(chēng)為0號(hào)區(qū)域。其他所有區(qū)域都要求連接到主干區(qū)域上,所以,從AS的任何一個(gè)區(qū)域出發(fā),經(jīng)過(guò)主干區(qū)域,總有有可能到達(dá)該AS的任何其他區(qū)域。



    - Area ID為32bit數(shù)字 可用IP位址格式表示? ?也可用十進(jìn)制數(shù)字顯示(例:Area 0.0.0.0,or Area 0)

    - 0.0.0.0或0保留作為表示Backbone Area

    - 其他Area都須與Backbone直接透過(guò)Area Border Router聯(lián)系。

    • OSPF區(qū)分4種路由器分類(lèi)

    1)內(nèi)部路由器(Internal Routers),完全在一個(gè)區(qū)域的內(nèi)部;內(nèi)部路由器上僅僅運(yùn)行其所屬區(qū)域的OSPF運(yùn)算法則。

    2)區(qū)域邊界路由器(Area Border Router),連接兩個(gè)或多個(gè)區(qū)域,正常情況下必須要與Area0連接。區(qū)域邊界路由器運(yùn)行與其相連的所有區(qū)域定義的OSPF運(yùn)算法則。

    3)主干路由器(Backbone Router),若路由器有一個(gè)接口位于主干區(qū)域。

    4)AS邊界路由器(Autonomous System Border Router),負(fù)責(zé)與其他AS交換路由信息,位于主干區(qū)域。

    4中路由器允許重疊,例如:

    ? ? 所有的邊界路由器自然就是主干的一部分。

    ? ? 在主干區(qū)域內(nèi)的路由器,如果它并不屬于其它的區(qū)域,那它也是一臺(tái)內(nèi)部路由器。


    AS內(nèi)部的OSPF路由選擇的一般步驟

    源區(qū)域內(nèi)的路由選擇:分組被路由到一個(gè)ABR

    主干路由選擇:分組從源區(qū)域ABR被路由到目的區(qū)域ARB

    目的區(qū)域內(nèi)的路由選擇:分組從目的區(qū)域ABR被路由到目的地

    Metric

    OSPF協(xié)議允許管理員給路由器指定cost,被稱(chēng)為metric,metric可以基于一種服務(wù)類(lèi)型(如最小時(shí)延、最大吞吐量等)。


    • 鏈路狀態(tài)

    鏈路狀態(tài)信息包括:當(dāng)前路由器與那些路由器相鄰;當(dāng)前路由器到達(dá)鄰居的度量值(metric)

    • 鏈路狀態(tài)路由(LInk State Routing)

    Link State Routing是一個(gè)過(guò)程,在這個(gè)過(guò)程中,每個(gè)路由器與這個(gè)Area內(nèi)的所有其他路由器分享"自己的鏈路狀態(tài)信息"。

    • 鏈路狀態(tài)路由(Link State Routing)的三個(gè)要點(diǎn)



    問(wèn)題:

    ? ? 鏈路狀態(tài)協(xié)議采用Flooding可靠傳播的過(guò)程中如何防止收到重復(fù)的鏈路狀態(tài)信息?

    ? ? 為了傳播自己的鏈路狀態(tài)信息,每個(gè)結(jié)點(diǎn)會(huì)創(chuàng)建一個(gè)更新分組,這個(gè)分組帶有一個(gè)序號(hào)。一個(gè)結(jié)點(diǎn)產(chǎn)生一個(gè)新的更新分組,序號(hào)就加1.這樣是為了確保 舊的鏈路狀態(tài)被新的鏈路狀態(tài)代替。



    鏈路狀態(tài)路由協(xié)議依靠?jī)煞N機(jī)制:






    • OSPF在同步了Link State DataBase后,穩(wěn)定的狀況下不會(huì)交換信息。

    除非:

    • 在路由器初始啟動(dòng)期間,或在該路由器上的路由協(xié)議過(guò)程啟動(dòng)期間;
    • 每個(gè)30分鐘固定地Link State更新同步;
    • 網(wǎng)絡(luò)有變動(dòng),送出的更新;
    • 定期送出的Hello。


    鏈路狀態(tài)數(shù)據(jù)庫(kù)(LSDB)特點(diǎn)

    • 所有在同一個(gè)Area中的Router的LSDB的內(nèi)容是一致的。
    • 不同的Area的LSDB是各自獨(dú)立的,ABR與一個(gè)以上的Area連接,維護(hù)與其相連的每個(gè)區(qū)域的LSDB。
    • 不同的Area的LSDB的SPF算法是分開(kāi)進(jìn)行運(yùn)算的。
    五種OSPF的分組類(lèi)型


    Hello(問(wèn)候)

    ? ? 用來(lái)發(fā)現(xiàn)和維持鄰居的可達(dá)性。若40秒沒(méi)有收到問(wèn)候,就認(rèn)為不可達(dá)

    Database Description Packet(數(shù)據(jù)庫(kù)描述)

    ? ? 向鄰居給出自己的鏈路狀態(tài)數(shù)據(jù)庫(kù)中的所有鏈路狀態(tài)的摘要信息。

    Link State Request Packet(鏈路狀態(tài)請(qǐng)求)

    ? ? 當(dāng)一個(gè)路由器關(guān)于路由信息需要知道更詳細(xì)的內(nèi)容時(shí),它可以發(fā)送一個(gè)或多個(gè)Link State Request Packet給鄰居,請(qǐng)求鄰居發(fā)送其鏈路狀態(tài)數(shù)據(jù)庫(kù)的特定相詳細(xì)信息。

    ? ? 對(duì)方會(huì)用Link State Update Packet作回答。

    Link State Update Packet(鏈路狀態(tài)更新)

    ? ? 向鄰居發(fā)送鏈路狀態(tài)通告(洪泛全區(qū)域)

    ? ? LInk State Update Packet是OSPF的核心;

    ? ? 路由器使用這種分組將其鏈路狀態(tài)通知給鄰站

    Link State Acknowledgment Packet(鏈路狀態(tài)確認(rèn))

    ? ? 對(duì)Link State Update Packet確認(rèn)

    ? ? 每個(gè)路由器通過(guò)Link State Acknowledgment Packet,確認(rèn)收到了鄰居發(fā)來(lái)的每個(gè)Link State Update Packet


    OSPF支持四種鏈路類(lèi)型











    七種OSPF狀態(tài)

    Down

    Init

    Two-Way(雙向)

    ExStart(準(zhǔn)啟動(dòng))

    Exchange(交換)

    Loading(加載)

    Full adjacency(去毗鄰)

    Down

    ? ? Down狀態(tài)下,OSPF進(jìn)程還沒(méi)有與任何鄰居交換信息,OSPF在等待進(jìn)入"Init"狀態(tài)。

    Init(Initiage)

    ? ? 當(dāng)一個(gè)接口收到第一個(gè)Hello分組時(shí),路由器就進(jìn)入Init狀態(tài)。

    ? ? 這意味著,路由器知道有個(gè)鄰居正在等待將關(guān)系發(fā)展到下一步(Two way基本關(guān)系,full Adjacency高級(jí)關(guān)系)

    Two-Way(雙向狀態(tài))

    ? ? 當(dāng)一臺(tái)路由器看到自己出現(xiàn)在一臺(tái)鄰居路由器的發(fā)來(lái)的hello分組中,它就進(jìn)入了Two way狀態(tài)。

    ? ? 要進(jìn)一步建立毗鄰關(guān)系,不僅依賴(lài)于Hello分組,還有其他4種分組。

    ExStart(準(zhǔn)啟動(dòng))

    ? ? ExStart是邁向全毗鄰的第一步,兩個(gè)鄰居路由器用Hello分組來(lái)協(xié)商它們之間誰(shuí)是主,誰(shuí)是從,當(dāng)它們之間確定了主從角色后,它們就進(jìn)入了Exchange狀態(tài),并開(kāi)始發(fā)送路由信息。

    Exchange(交換)

    ? ? 在Exchange狀態(tài),雙發(fā)使用類(lèi)型2分組Database Description Packet來(lái)描述它們的鏈路狀態(tài)數(shù)據(jù)庫(kù),并將所學(xué)到的信息與自己現(xiàn)存的鏈路狀態(tài)數(shù)據(jù)庫(kù)比較。

    Loading(加載)

    ? ? 在Loading狀態(tài)下,雙方類(lèi)型3分組Link State Request Packet(用于請(qǐng)求有關(guān)某鏈路狀態(tài)的完整更新信息)和類(lèi)型4分組Link State Update Packet(含有確切的鏈路狀態(tài)信息LSA)進(jìn)行交互。LSU分組由類(lèi)型5分組LSAcks確認(rèn)。

    Full adjacency(全毗鄰)

    ? ? Loading狀態(tài)結(jié)束后,路由器變成full adjacency狀態(tài)。此時(shí),路由器與其他路由器的鏈路狀態(tài)數(shù)據(jù)庫(kù)已同步。

    OSPF vs RIP

    • RIP使用平面拓?fù)?。OSPF使用層次拓?fù)洹?/li>
    • OSPF在維護(hù)路由表時(shí)比RIP使用較少的帶寬。
    • RIP基于跳數(shù)選路,有可能選擇了很慢的路徑。OSPF基于和帶寬相關(guān)的度量進(jìn)行選路。OSPF選擇最快的無(wú)環(huán)路徑。
    • RIP簡(jiǎn)單,使用路由器的內(nèi)存和處理器資源較少。
    • RIP最大跳數(shù)15,限制了網(wǎng)絡(luò)規(guī)模。OSPF路由信息不受物理跳數(shù)的限制。
    • RIP在收到路由信息后要先更新自己的路由表,再把更新后的路由表發(fā)出去,即先本地計(jì)算再把路由信息發(fā)送出去,所以收斂速度慢
    • RIP是本路由器把到達(dá)域內(nèi)其它結(jié)點(diǎn)的度量告訴他的鄰居。OSPF是本路由器將自己的鏈路狀態(tài)信息告訴所有其他結(jié)點(diǎn)。
    • RIP域中每個(gè)路由器只知道自己到達(dá)其他結(jié)點(diǎn)的度量,但不知道網(wǎng)路完整的拓?fù)湫畔?。OSPF中每個(gè)路由器知道網(wǎng)絡(luò)中任意兩個(gè)相鄰結(jié)點(diǎn)間的度量。

    OSPF特點(diǎn)總結(jié)

    • 支持分層次的系統(tǒng),定義了區(qū)域,多個(gè)區(qū)域連接到主干域,可以減少路由選擇開(kāi)銷(xiāo),加快收斂,限制某個(gè)區(qū)域,提高網(wǎng)絡(luò)性能。
    • 鏈路狀態(tài)信息通過(guò)鏈路狀態(tài)公告(LSA)發(fā)布到網(wǎng)絡(luò)上的每臺(tái)路由器。
    • 每臺(tái)路由器通過(guò)LSA信息建立一個(gè)關(guān)于網(wǎng)絡(luò)的拓?fù)鋽?shù)據(jù)庫(kù)
    • 使用觸發(fā)的路有更新,快速反應(yīng)網(wǎng)絡(luò)變化,減小協(xié)議本身對(duì)網(wǎng)絡(luò)流量的占用。
    • 具有健壯性和可擴(kuò)展性,支持大型網(wǎng)絡(luò)。

    外部網(wǎng)關(guān)協(xié)議(域間路由選擇協(xié)議)

    問(wèn)題:距離向量路由選擇和鏈路狀態(tài)路由選擇都是域內(nèi)路由選擇協(xié)議。它們是否適合在自治系統(tǒng)之間的路由選擇,為什么?

    分析:當(dāng)域變得很大時(shí)

    ? ? 可能超越距離向量路由選擇協(xié)議的距離限制。

    ? ? 鏈路狀態(tài)路由選擇就需要非常大的資源來(lái)計(jì)算路由表,由于使用了洪泛,會(huì)產(chǎn)生很大的通信量。

    域間路由需要有第三種路由選擇協(xié)議,稱(chēng)之為"路徑向量路由選擇"

    路徑向量路由選擇----BGP

    全稱(chēng):Border Gateway Protocol,邊界網(wǎng)關(guān)協(xié)議。目前唯一用來(lái)在AS之間的動(dòng)態(tài)路由選擇協(xié)議。




    • 關(guān)心可達(dá)性。而不是根據(jù)度量尋找最佳路由。因?yàn)槊總€(gè)AS使用的度量并不統(tǒng)一。
    • AS之間必須考慮策略。

    因此,BGP沒(méi)有依度量值進(jìn)行路由計(jì)算的算法,BGP只是力求尋找一條能夠到達(dá)目的網(wǎng)絡(luò),符合策略,且避免路由環(huán)路的好路由。

    工作原理:

    ? ? 在一個(gè)AS中的BGP發(fā)言人創(chuàng)建一個(gè)路由表,并把它通知給相鄰AS中的BGP發(fā)言人。

    ? ? 以上這點(diǎn)和"距離向量路由選擇"中的處理方法是一樣的,但是通知的內(nèi)容不同,每個(gè)發(fā)言人不是定期告訴鄰居們關(guān)于到達(dá)每個(gè)目的網(wǎng)絡(luò)的距離向量,而是告訴它們到達(dá)每個(gè)目的網(wǎng)絡(luò)的確切路徑(路徑向量)。







    BGP路由信息中攜帶了所經(jīng)過(guò)的全部AS序列,這樣,接收該路由信息的BGP路由器可以明確地知道此路由信息是否源于自己。

    方法是:它會(huì)檢查自己的自治系統(tǒng)是否出現(xiàn)這條路徑中。如果是,就忽略此路由信息。


    注意:在BGP剛運(yùn)行時(shí),BGP的鄰站是交換整個(gè)的BGP路由表。但以后只需要在發(fā)生變化時(shí)更新變化的部分。

    4.5 路由器工作原理

    路由器概述

    • 工作在第三層(網(wǎng)路層)
    • 具有多個(gè)輸入/輸出端口的專(zhuān)用計(jì)算機(jī)。
    • 每個(gè)輸入/輸出端口都與一個(gè)網(wǎng)絡(luò)相連。路由器在網(wǎng)絡(luò)之間進(jìn)行分組轉(zhuǎn)發(fā)。
    • 幀經(jīng)過(guò)輸入端口,解封為第三層分組后,路由器將其目的IP地址與路由表的條目做匹配,找到合適的輸出端口,再封裝將對(duì)應(yīng)的幀發(fā)送出去。






    轉(zhuǎn)發(fā)與路由選擇

    轉(zhuǎn)發(fā)表對(duì)比

    • 交換機(jī)的轉(zhuǎn)發(fā)表是"MAC地址-端口"表,存放的是端口與目的MAC地址之間的關(guān)系,要用幀中的MAC地址查表;
    • 路由器中的轉(zhuǎn)發(fā)表示"網(wǎng)絡(luò)地址-端口"表,存放的是端口與目的網(wǎng)絡(luò)地址之間的關(guān)系,故要從IP數(shù)據(jù)報(bào)中提取IP地址,并解析出其中的網(wǎng)絡(luò)前綴來(lái)查表。
    • 轉(zhuǎn)發(fā)是當(dāng)交換結(jié)點(diǎn)收到分組后,根據(jù)其目的地址查找轉(zhuǎn)發(fā)表,并找出應(yīng)從結(jié)點(diǎn)的哪一個(gè)接口將該分組發(fā)送出去。
    • 路由選擇是構(gòu)造路由表的過(guò)程

    關(guān)系:路由表是根據(jù)一定的路由選擇算法得到的,而轉(zhuǎn)發(fā)表又是根據(jù)路由表構(gòu)造出的。




    控制器卡

    • 執(zhí)行路由選擇協(xié)議,通過(guò)與網(wǎng)絡(luò)中的其他路由器交換網(wǎng)絡(luò)拓?fù)浜吐酚蛇x擇信息,維護(hù)本地路由器轉(zhuǎn)發(fā)表。
    • 根據(jù)分組中的目的IP地址,在路由轉(zhuǎn)發(fā)表中查找匹配,確定分組的輸出端口。
    • 執(zhí)行路由器中的網(wǎng)絡(luò)管理功能。

    大型網(wǎng)絡(luò)主干路由器的路由轉(zhuǎn)發(fā)表往往有成千上萬(wàn)個(gè)條目,怎樣設(shè)法減小路由表的查找時(shí)間就成為一個(gè)非常重要的問(wèn)題。

    解決辦法:

    • ?路由轉(zhuǎn)發(fā)表存放在一個(gè)稱(chēng)為二叉線索的數(shù)據(jù)結(jié)構(gòu)中。
    • 根據(jù)進(jìn)行查找的最長(zhǎng)前綴構(gòu)造一顆二叉線索。
    • 樹(shù)中的每一級(jí)對(duì)應(yīng)于目的地址之中的一個(gè)比特。查找一個(gè)地址從樹(shù)根開(kāi)始。





    4.6 移動(dòng)IP技術(shù)

    概念

    ? ? IP結(jié)點(diǎn)只有通過(guò)一個(gè)配置了IP地址的接口才能通信。

    ? ? 問(wèn)題:結(jié)點(diǎn)移動(dòng)了位置怎么辦?

    ? ? 傳統(tǒng)方法:改變網(wǎng)絡(luò)連接位置時(shí),移動(dòng)的結(jié)點(diǎn)必須只能中斷先前正在進(jìn)行的通信,重新配置接口的IP地址,才能進(jìn)行下一次網(wǎng)絡(luò)通信。

    ? ? 當(dāng)結(jié)點(diǎn)在接入網(wǎng)絡(luò)之間移動(dòng)時(shí),仍能維持正在進(jìn)行的連接的無(wú)線技術(shù),稱(chēng)為移動(dòng)IP(mobil IP)




    移動(dòng)網(wǎng)絡(luò)尋址


    • 一個(gè)移動(dòng)站必須有一個(gè)原始地址,即永久地址或歸屬地址(home address)。
    • 假定將移動(dòng)結(jié)點(diǎn)較為固定的居所(或移動(dòng)結(jié)點(diǎn)初始申請(qǐng)入網(wǎng)的位置)稱(chēng)為歸屬網(wǎng)絡(luò)(home network)
    • 永久地址和歸屬網(wǎng)絡(luò)的關(guān)聯(lián)是不會(huì)改變的。


    • 在歸屬網(wǎng)絡(luò)中代表移動(dòng)結(jié)點(diǎn)執(zhí)行移動(dòng)管理功能的實(shí)體稱(chēng)為歸屬代理(home agent)


    • 在外部網(wǎng)絡(luò)中幫助移動(dòng)結(jié)點(diǎn)執(zhí)行移動(dòng)管理功能的實(shí)體稱(chēng)為外部代理(foreign agent)


    • 外部代理的任務(wù)一是:要為移動(dòng)站創(chuàng)建一個(gè)臨時(shí)地址,叫做轉(zhuǎn)交地址(care of address),其網(wǎng)絡(luò)前綴與被訪問(wèn)網(wǎng)絡(luò)一致。


    • 外部代理的任務(wù)二是:及時(shí)把移動(dòng)站的轉(zhuǎn)交地址通知給歸屬代理。

    注意:轉(zhuǎn)交地址(care of address)是供移動(dòng)站、歸屬代理、以及外部代理使用的,各種應(yīng)用程序都不使用轉(zhuǎn)交地址。


    4.7 IPv6

    IPv6數(shù)據(jù)報(bào)的首部

    • 將首部長(zhǎng)度變?yōu)楣潭ǖ?0字節(jié),稱(chēng)為基本首部(base header)。
    • 將不必要的功能取消了,首部的字段數(shù)減少到只有8個(gè)了。
    • 取消了首部的檢驗(yàn)和字段,加快了路由器處理數(shù)據(jù)報(bào)的速度。
    • 在基本首部的后面允許有零個(gè)或多個(gè)擴(kuò)展首部。
    • 所有的擴(kuò)展首部和數(shù)據(jù)合起來(lái)叫做數(shù)據(jù)報(bào)的有效載荷(payload)或凈負(fù)荷

    IPv6數(shù)據(jù)報(bào)的一般形式



    • 將擴(kuò)展首部留給路徑兩端的源站和目的站主機(jī)來(lái)處理。
    • 數(shù)據(jù)報(bào)途中經(jīng)過(guò)的路由器都不處理這些擴(kuò)展首部(只有一個(gè)例外,即逐跳選項(xiàng)擴(kuò)展首部)。
    • 這樣就大大提高了路由器的處理效率。

    在RFC 2460中定義了六種擴(kuò)展首部:

    • 逐跳選項(xiàng)
    • 路由選擇
    • 分片
    • 鑒別
    • 封裝安全有效載荷
    • 目的站選項(xiàng)

    IPv6編址

    IPv6數(shù)據(jù)報(bào)的目的地址可以是以下三種基本類(lèi)型地址之一:

    (1)單播(unicast)單播就是傳統(tǒng)的點(diǎn)對(duì)點(diǎn)通信。

    (2)多播(multicast)多播是一點(diǎn)對(duì)多點(diǎn)的通信。

    (3)任播(anycast)這是IPv6增加的一種類(lèi)型。任播的目的站是一組計(jì)算機(jī),但數(shù)據(jù)報(bào)只交付其中的任意一個(gè)即可,通常是距離最近的一個(gè)。

    注:IPv6沒(méi)有明確地廣播地址的概念。

    IPv6將實(shí)現(xiàn)IPv6的主機(jī)和路由器均稱(chēng)為結(jié)點(diǎn)。

    IPv6地址是分配給結(jié)點(diǎn)上面的接口。

    • 一個(gè)結(jié)點(diǎn)可以有多個(gè)單播地址。
    • 一個(gè)結(jié)點(diǎn)接口的單播地址可用來(lái)唯一地標(biāo)志該結(jié)點(diǎn)。

    IPv6具有更大的地址空間,它將地址從IPv4的32位增大到了128位,使得地址空間約含有2^128個(gè)IP地址,其數(shù)量是IPv4的2^96倍。

    為了便于閱讀和記憶,RFC1884規(guī)定的標(biāo)準(zhǔn)語(yǔ)法建議采用"冒號(hào)十六進(jìn)制記法",即把IPv6地址的128位(16個(gè)字節(jié))寫(xiě)成8個(gè)16位的無(wú)符號(hào)整數(shù),每個(gè)整數(shù)用4個(gè)十六進(jìn)制數(shù)表示,這些整數(shù)之間用冒號(hào)(:)分開(kāi)。其書(shū)寫(xiě)格式為x:x:x:x:x:x:x:x,其中每一個(gè)x代表四位十六進(jìn)制數(shù)。例如:









    從IPv4向IPv6過(guò)渡

    • 方法一:雙協(xié)議棧首部轉(zhuǎn)換。雙協(xié)議棧(dual stack)是指在完全過(guò)渡到IPv6之前,使一部分主機(jī)(或路由器)裝有兩個(gè)協(xié)議棧,一個(gè)IPv4和一個(gè)IPv6.


    • 方法二:隧道技術(shù)。IPv6數(shù)據(jù)報(bào)進(jìn)入IPv4網(wǎng)絡(luò)之前,將整個(gè)IPv6數(shù)據(jù)報(bào)作為數(shù)據(jù)部分,封裝為IPv4。離開(kāi)IPv4網(wǎng)絡(luò)時(shí),再恢復(fù)。








    總結(jié)

    以上是生活随笔為你收集整理的第四章 网络互联的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。