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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

计算机网络核心知识(中)

發(fā)布時間:2025/3/15 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 计算机网络核心知识(中) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

前言

轉(zhuǎn)載請聲明轉(zhuǎn)載并標明本博客鏈接。


(1) 毒性逆轉(zhuǎn)
(2) 乒乓環(huán)路
(3) TOS
(4) 網(wǎng)絡(luò)前綴聚合
(5) 滑動窗口協(xié)議
上面的是還未搞明白的知識點。

文章目錄

  • 前言
  • 5 網(wǎng)絡(luò)層(上)
    • 5.1 網(wǎng)絡(luò)層服務(wù)
        • 網(wǎng)絡(luò)層核心功能-轉(zhuǎn)發(fā)與路由
        • 網(wǎng)絡(luò)層核心功能-連接建立
        • 網(wǎng)絡(luò)層服務(wù)模型
    • 5.2 虛電路網(wǎng)絡(luò)與數(shù)據(jù)報網(wǎng)絡(luò)
      • 5.2.1 虛電路網(wǎng)絡(luò)
        • 連接服務(wù)與無連接服務(wù)
        • 虛電路(Virtual circuits)
        • VC的具體實現(xiàn)
        • VC轉(zhuǎn)發(fā)表
        • 虛電路信令協(xié)議(signaling protocols)
      • 5.2.2 數(shù)據(jù)報網(wǎng)絡(luò)
        • 數(shù)據(jù)報轉(zhuǎn)發(fā)表
        • 最長前綴匹配優(yōu)先
      • 5.2.3 數(shù)據(jù)報網(wǎng)絡(luò)與VC網(wǎng)絡(luò)的對比
    • 5.3 IPv4協(xié)議
      • 5.3.1 IP協(xié)議(1)-IP數(shù)據(jù)報
        • IP數(shù)據(jù)報(分組)格式
      • 5.3.2 IP協(xié)議(2)-IP分片
        • 最大傳輸單元(MTU)
        • IP分片與重組
        • IP分組格式
        • IP分片過程
      • 5.3.3 IP協(xié)議(3)-IP編址
        • IP編址(addressing)
        • IP子網(wǎng)(Subnets)
      • 5.3.4 IP協(xié)議(4)-有類IP地址
        • 有類IP地址
      • 5.3.5 IP協(xié)議(4)-IP子網(wǎng)劃分與子網(wǎng)掩碼
        • 如何進行子網(wǎng)劃分(Subnetting)?
        • 子網(wǎng)劃分
        • 子網(wǎng)掩碼的應(yīng)用
  • 6 網(wǎng)絡(luò)層(中)
    • 6.1 CIDR與路由聚合
        • CIDR與路由聚合的作用
        • 路由聚合
    • 6.2 DHCP協(xié)議
    • 6.3 網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)
      • 6.3.1 NAT的實現(xiàn)
      • 6.3.2 NAT穿透問題
    • 6.4 互聯(lián)網(wǎng)控制報文協(xié)議(ICMP)
      • 6.4.1 ICMP報文的格式
      • 6.4.2 ICMP差錯報告報文數(shù)據(jù)封裝
      • 6.4.3 ICMP的應(yīng)用舉例:Traceroute
    • 6.5 IPv6簡介
      • 6.5.1 IPv6的研發(fā)動機
      • 6.5.2 IPv6數(shù)據(jù)報格式
      • 6.5.3 其他改變 vs IPv4
      • 6.5.4 IPv6地址表示形式
      • 6.5.5 IPv6基本地址類型
      • 6.5.6 IPv4向IPv6過渡
    • 6.6 典例講解
  • 7 網(wǎng)絡(luò)層(下)
    • 7.1 路由算法概述
    • 7.2 鏈路狀態(tài)路由算法
      • 7.2.1 Dijkstra 算法
    • 7.3 距離向量路由算法(1)
    • 7.4 距離向量路由算法(2)
      • 7.4.1 距離向量DV: 無窮計數(shù)問題
    • 7.5 層次路由
      • 7.5.1 研發(fā)層次路由的動機
      • 7.5.2 層次路由詳述
        • 互連的AS
        • 自治系統(tǒng)間(Inter-AS)路由任務(wù)
        • 舉例說明層次路由
    • 7.6 RIP協(xié)議
      • 7.6.1 AS內(nèi)部路由
      • 7.6.2 RIP
    • 7.7 OSPF協(xié)議簡介
      • 7.7.1 OSPF優(yōu)點(RIP不具備)
      • 7.7.2 分層的OSPF
    • 7.8 BGP協(xié)議簡介
      • 7.8.1 BGP基礎(chǔ)
      • 7.8.2 BGP基礎(chǔ): 分發(fā)路徑信息
      • 7.8.3 路徑屬性與BGP路由(route)
      • 7.8.4 BGP路由選擇
      • 7.8.5 BGP路由選擇策略舉例
      • 7.8.6 為什么采用不同的AS內(nèi)與AS間路由協(xié)議?
  • 8 數(shù)據(jù)鏈路層
    • 8.1 數(shù)據(jù)鏈路層服務(wù)
      • 8.1.1 概述
      • 8.1.2 鏈路層服務(wù)
      • 8.1.3 鏈路層的具體實現(xiàn)?
      • 8.1.4 網(wǎng)卡間通信
    • 8.2 差錯編碼
      • 8.2.1 差錯編碼的檢錯能力
      • 8.2.2 奇偶校驗碼
      • 8.2.3 Internet校驗和(Checksum)
      • 8.2.4 循環(huán)冗余校驗碼(CRC)
    • 8.3 多路訪問控制(MAC)協(xié)議
      • 8.3.1 理想MAC協(xié)議
      • 8.3.2 MAC協(xié)議分類
      • 8.3.3 信道劃分MAC協(xié)議
        • TDMA
        • FDMA
      • 8.3.5 隨機訪問MAC協(xié)議
        • 時隙ALOHA協(xié)議 (S-ALOHA)
        • ALOHA協(xié)議
        • CSMA協(xié)議
        • CSMA/CD協(xié)議
      • 8.3.6 輪轉(zhuǎn)訪問MAC協(xié)議
        • 輪轉(zhuǎn)訪問MAC協(xié)議簡介
      • 8.3.7 MAC協(xié)議總結(jié)
  • 9 局域網(wǎng)
    • 9.1 ARP協(xié)議
      • 9.1.1 ARP協(xié)議簡介
      • 9.1.2 ARP: 地址解析協(xié)議
      • 9.1.3 ARP協(xié)議在同一局域網(wǎng)內(nèi)的工作機制(尋址)
      • 9.1.4 ARP協(xié)議在不同局域網(wǎng)間的工作機制(尋址)
    • 9.2 以太網(wǎng)
      • 9.2.1 以太網(wǎng)
        • 以太網(wǎng):物理拓撲
        • 以太網(wǎng):不可靠、無連接服務(wù)
        • 以太網(wǎng)CSMA/CD算法
        • 以太網(wǎng)幀結(jié)構(gòu)
        • 802.3以太網(wǎng)標準: 鏈路與物理層
      • 9.2.2 交換機
        • 交換機: 多端口間同時傳輸
        • 交換機轉(zhuǎn)發(fā)表:交換表
        • 交換機: 自學(xué)習(xí)
        • 交換機: 幀過濾/轉(zhuǎn)發(fā)
        • 自學(xué)習(xí)與轉(zhuǎn)發(fā)過程舉例
        • 交換機互聯(lián)
        • 多交換機自學(xué)習(xí)舉例
        • 組織機構(gòu)(Institutional)網(wǎng)絡(luò)
      • 9.2.3 交換機 vs. 路由器
      • 9.2.4 網(wǎng)絡(luò)設(shè)備對比
      • 9.2.5 虛擬局域網(wǎng)(VLAN)
        • VLANs的研發(fā)動機
        • VLANs
        • 基于端口的VLAN
        • 跨越多交換機的VLAN
        • 802.1Q VLAN幀格式
    • 9.3 PPP協(xié)議
      • 9.3.1 點對點數(shù)據(jù)鏈路控制
      • 9.3.2 PPP設(shè)計需求[RFC 1557]
      • 9.3.3 PPP無需支持的功能
      • 9.3.4 PPP數(shù)據(jù)幀
      • 9.3.5 字節(jié)填充(Byte Stuffing)
      • 9.3.6 PPP數(shù)據(jù)控制協(xié)議
    • 9.4 802.11無線局域網(wǎng)
      • 9.4.1 IEEE 802.11無線局域網(wǎng)
      • 9.4.2 IEEE 802.11體系結(jié)構(gòu)
      • 9.4.3 802.11:信道與AP關(guān)聯(lián)
      • 9.4.4 802.11AP關(guān)聯(lián):被動掃描與主動掃描
      • 9.4.5 802.11:多路訪問控制
      • 9.4.6 IEEE 802.11 MAC協(xié)議: CSMA/CA
      • 9.4.7 IEEE 802.11 MAC協(xié)議: CSMA/CA
      • 9.4.8 沖突避免(CA): RTS-CTS交換
      • 9.4.9 IEEE 802.11 MAC幀

5 網(wǎng)絡(luò)層(上)

5.1 網(wǎng)絡(luò)層服務(wù)

  • 從發(fā)送主機向接收主機傳送數(shù)據(jù)段(segment)
  • 發(fā)送主機:將數(shù)據(jù)段封裝到數(shù)據(jù)報(datagram)中
  • 接收主機:向傳輸層交付數(shù)據(jù)段(segment)
  • 每個主機和路由器都運行網(wǎng)絡(luò)層協(xié)議
  • 路由器檢驗所有穿越它的IP數(shù)據(jù)報的頭部域
    • 決策如何處理IP數(shù)據(jù)報

網(wǎng)絡(luò)層核心功能-轉(zhuǎn)發(fā)與路由

  • 轉(zhuǎn)發(fā)(forwarding): 將分組從路由器的輸入端口轉(zhuǎn)移到合 適的輸出端口
  • 路由(routing): 確定 分組從源到目的經(jīng)過的路徑
    • 路由算法 (routing algorithms)

網(wǎng)絡(luò)層核心功能-連接建立

  • 某些網(wǎng)絡(luò)的重要功能:
    • ATM, 幀中繼, X.25
  • 數(shù)據(jù)分組傳輸之前兩端主機需要首先建立虛擬/邏輯連接
    • 網(wǎng)絡(luò)設(shè)備(如路由器)參與連接的建立
  • 網(wǎng)絡(luò)層連接與傳輸層連接的對比:
    • 網(wǎng)絡(luò)層連接: 兩個主機之間 (路 徑上的路由器等網(wǎng)絡(luò)設(shè)備參與 其中)
    • 傳輸層連接: 兩個應(yīng)用進程之間(對中間網(wǎng)絡(luò)設(shè)備透明)

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

  • Q: 網(wǎng)絡(luò)層為發(fā)送端(主機)到接收端(主機)的數(shù)據(jù)報傳送 “通道(channel)”提供什么樣的服務(wù)模型(service model)?

  • 無連接服務(wù)(connection-less service):

    • 不事先為系列分組的傳輸確定傳輸路徑
    • 每個分組獨立確定傳輸路徑
    • 不同分組可能傳輸路徑不同
    • 數(shù)據(jù)報網(wǎng)絡(luò)(datagram network )
  • 連接服務(wù)(connection service):

    • 首先為系列分組的傳輸確定從源到目的經(jīng)過的路徑 (建立連接)
    • 然后沿該路徑(連接)傳輸系列分組
    • 系列分組傳輸路徑相同
    • 傳輸結(jié)束后拆除連接
    • 虛電路網(wǎng)絡(luò)(virtual-circuit network )

5.2 虛電路網(wǎng)絡(luò)與數(shù)據(jù)報網(wǎng)絡(luò)

5.2.1 虛電路網(wǎng)絡(luò)

連接服務(wù)。結(jié)合了電路交換和分組交換的優(yōu)點。

連接服務(wù)與無連接服務(wù)

  • 數(shù)據(jù)報(datagram)網(wǎng)絡(luò)與虛電路(virtual-circuit)網(wǎng) 絡(luò)是典型兩類分組交換網(wǎng)絡(luò)
  • 數(shù)據(jù)報網(wǎng)絡(luò)提供網(wǎng)絡(luò)層無連接服務(wù)
  • 虛電路網(wǎng)絡(luò)提供網(wǎng)絡(luò)層連接服務(wù)
  • 類似于傳輸層的無連接服務(wù)(UDP)和面向連接 服務(wù)(TCP),但是網(wǎng)絡(luò)層服務(wù):
    • 主機到主機服務(wù)
    • 網(wǎng)絡(luò)核心實現(xiàn)

虛電路(Virtual circuits)

虛電路:一條從源主機到目的主機,類似于電路的路徑(邏輯連接)

  • 分組交換
  • 每個分組的傳輸利用鏈路的全部帶寬
  • 源到目的路徑經(jīng)過的網(wǎng)絡(luò)層設(shè)備共同完成虛電路功能

注意:盡管虛電路中采用了很多電路交換中的術(shù)語,但本質(zhì)上是此非彼的關(guān)系。

  • 通信過程:
    • 呼叫建立(call setup)→數(shù)據(jù)傳輸 →拆除呼叫
  • 每個分組攜帶虛電路標識(VC ID),而不是目的主機地址
  • 虛電路經(jīng)過的每個網(wǎng)絡(luò)設(shè)備 (如路由器),維護每條經(jīng)過它的虛電路連接狀態(tài)
  • 鏈路、網(wǎng)絡(luò)設(shè)備資源(如帶寬 、緩存等)可以面向VC進行預(yù)分配
    • 預(yù)分配資源=可預(yù)期服務(wù)性能
    • 如ATM的電路仿真(CBR)

VC的具體實現(xiàn)

  • 每條虛電路包括:
  • 從源主機到目的主機的一條路徑
  • 虛電路號(VCID), 沿路每段鏈路一個編號
  • 沿路每個網(wǎng)絡(luò)層設(shè)備(如路由器),利用轉(zhuǎn)發(fā)表記錄 經(jīng)過的每條虛電路
    • 沿某條虛電路傳輸?shù)姆纸M,攜帶對應(yīng)虛電路的 VCID,而不是目的地址
    • 同一條VC ,在每段鏈路上的VCID通常不同
      • 路由器轉(zhuǎn)發(fā)分組時依據(jù)VC轉(zhuǎn)發(fā)表改寫/替換虛電路號

    VC轉(zhuǎn)發(fā)表

    路由器R1的VC轉(zhuǎn)發(fā)表:

    虛電路信令協(xié)議(signaling protocols)

    • 用于VC的建立、維護與拆除
      • 路徑選擇
    • 應(yīng)用于虛電路網(wǎng)絡(luò)
      • 如ATM、幀中繼(frame-relay)網(wǎng)絡(luò)等
    • 目前的Internet不采用

    5.2.2 數(shù)據(jù)報網(wǎng)絡(luò)

    • 網(wǎng)絡(luò)層無連接
    • 每個分組攜帶目的地址
    • 路由器根據(jù)分組的目的地址轉(zhuǎn)發(fā)分組
      • 基于路由協(xié)議/算法構(gòu)建轉(zhuǎn)發(fā)表
      • 檢索轉(zhuǎn)發(fā)表
      • 每個分組獨立選路

    數(shù)據(jù)報轉(zhuǎn)發(fā)表

    對應(yīng)的,虛電路網(wǎng)絡(luò)有VC轉(zhuǎn)發(fā)表。

    32位可存放40多億地址,但在分組有限的大小中這是很不現(xiàn)實的,所以分組是根據(jù)地址范圍來轉(zhuǎn)發(fā)的。

    但這也出現(xiàn)了一個問題
    如果地址范圍劃分的不是這么“完美”會怎么樣?

    解決辦法:最長前綴匹配優(yōu)先。

    最長前綴匹配優(yōu)先

    5.2.3 數(shù)據(jù)報網(wǎng)絡(luò)與VC網(wǎng)絡(luò)的對比

    5.3 IPv4協(xié)議

    5.3.1 IP協(xié)議(1)-IP數(shù)據(jù)報

    IP數(shù)據(jù)報(分組)格式

    • 版本號字段占4位:IP協(xié)議的版本號 ? E.g. 4→IPv4,6 → IPv6
    • 首部長度字段占4位:IP分組首部長度
      • 以4字節(jié)為單位
      • E.g. 5→IP首部長度為20(5×4)字節(jié)
    • 服務(wù)類型(TOS)字段占8位:指示期望獲得哪種類型的服務(wù)
      • 1998 年這個字段改名為區(qū)分服務(wù)
      • 只有在網(wǎng)絡(luò)提供區(qū)分服務(wù)(DiffServ)時使用
      • 一般情況下不使用,通常IP分組的該字段(第2字節(jié))的值為00H
    • 總長度字段占16位:IP分組的總字節(jié)數(shù)(首部+數(shù)據(jù))
      • 最大IP分組的總長度:65535B
      • 最小的IP分組首部:20B
      • IP分組可以封裝的最大數(shù)據(jù):65535-20=65515B
    • 生存時間(TTL)字段占8位:IP分組在網(wǎng)絡(luò)中可以通過的 路由器數(shù)(或跳步數(shù))
      • 路由器轉(zhuǎn)發(fā)一次分組,TTL減1
      • 如果TTL=0,路由器則丟棄該IP分組
    • 協(xié)議字段占8位:指示IP分組封裝的是哪個協(xié)議的數(shù)據(jù)包
      • 實現(xiàn)復(fù)用/分解
      • E.g. 6為TCP,表示封裝的為TCP段;17為UDP,表示封裝的是UDP數(shù)據(jù)報
    • 首部校驗和字段占16位:實現(xiàn)對IP分組首部的差錯檢測
      • 計算校驗和時,該字段置全0
      • 采用反碼算數(shù)運算求和,和的反碼作為首部校驗和字段
      • 逐跳計算、逐跳校驗
    • 源IP地址、目的IP地址字段各占32位:分別標識發(fā)送分組 的源主機/路由器(網(wǎng)絡(luò)接口)和接收分組的目的主機/路由器 (網(wǎng)絡(luò)接口)的IP地址
    • 選項字段占長度可變,范圍在1~40B之間:攜帶安全、源選路徑、時間戳和路由記錄等內(nèi)容
      • 實際上很少被使用
    • 填充字段占長度可變,范圍在0~3B之間:目的是補齊整個 首部,符合32位對齊,即保證首部長度是4字節(jié)的倍數(shù)

    5.3.2 IP協(xié)議(2)-IP分片

    最大傳輸單元(MTU)

    • 網(wǎng)絡(luò)鏈路存在MTU (最大傳輸單元)——鏈路層數(shù)據(jù)幀可封裝數(shù)據(jù)的上限
      • 不同鏈路的MTU不同

    IP分片與重組

    • 大IP分組向較小MTU鏈路轉(zhuǎn)發(fā)時,可以被“分片” (fragmented)
      • 1個IP分組分為多片IP分組
      • IP分片到達目的主機后進行“重組” (reassembled)
    • IP首部的相關(guān)字段用于標識分片以及確定分片的相對順序
      • 總長度、標識、標志位和片偏移

    IP分組格式

    • 標識字段占16位:標識一個IP分組
      • IP協(xié)議利用一個計數(shù)器,每產(chǎn)生IP分組計數(shù)器加1,作為該IP分組 的標識
    • 標志位字段占3位:
      • DF (Don't Fragment)
      • MF (More Fragment)
      • DF =1:禁止分片;
        DF =0:允許分片
      • MF =1:非最后一片;
        MF =0:最后一片(或未分片)
    • 片偏移字段占13位:一個IP分組分片封裝原IP分組數(shù)據(jù)的相對偏移量
      • 片偏移字段以8字節(jié)為單位

    IP分片過程

    • 假設(shè)原IP分組總長度為L,待轉(zhuǎn)發(fā)鏈路的MTU為M
    • 若L>M,且DF=0,則可以/需要分片
    • 分片時每個分片的標識復(fù)制原IP分組的標識
    • 通常分片時,除最后一個分片,其他分片均分為MTU允 許的最大分片
    • 一個最大分片可封裝的數(shù)據(jù)應(yīng)該是8的倍數(shù),因此,一個 最大分片可封裝的數(shù)據(jù)為:
      d=?M?208?×8d=\biggl\lceil\frac{M-20}8\biggr\rceil\times8 d=?8M?20??×8
    • 需要的總片數(shù)為:
      n=?L?20d?n=\biggl\lceil\frac{L-20}d\biggr\rceil n=?dL?20??
    • 每片的片偏移字段取值為:
      Fi=d8×(i?1),1≤i≤nF_i=\frac d8\times(i-1),\quad 1\leq i\leq nFi?=8d?×(i?1),1in
    • 每片的總長度字段為:
      Li{d+201≤i≤nL?(n?1)di=nL_i \begin{cases} d+20 & \quad 1\leq i\leq n\\ L-(n-1)d &\quad i=n\\ \end{cases} Li?{d+20L?(n?1)d?1ini=n?
    • 每片的MF標志位為:
      MFi={11≤i<n0i=n{MF}_i=\begin{cases} 1 & \quad 1\leq i < n \\ 0 & \quad i=n \end{cases}MFi?={10?1i<ni=n?

    5.3.3 IP協(xié)議(3)-IP編址

    IP編址(addressing)

    • IP分組:

      • 源地址(SA)-從哪兒來
      • 目的地址(DA)-到哪兒去
    • 接口(interface): 主機/路 由器與物理鏈路的連接

      • 實現(xiàn)網(wǎng)絡(luò)層功能
      • 路由器通常有多個接口
      • 主機通常只有一個或兩個接口 (e.g.,有線的以太網(wǎng)接口,無線的802.11接口)
    • IP地址: 32比特(IPv4) 編號標識主機、路由器的接口

    • IP地址與每個接口關(guān)聯(lián)

    • 怎樣為接口分配IP地址呢?

    IP子網(wǎng)(Subnets)

    • IP地址:
      • 網(wǎng)絡(luò)號(NetID)– 高位比特
      • 主機號(HostID)– 低位比特
    • IP子網(wǎng):
      • IP地址具有相同網(wǎng)絡(luò)號的設(shè)備接口
      • 不跨越路由器(第三及以 上層網(wǎng)絡(luò)設(shè)備)可以彼此物理聯(lián)通的接口
    • 圖中網(wǎng)絡(luò)有多少個 IP子網(wǎng)?

      六個。

    5.3.4 IP協(xié)議(4)-有類IP地址

    • IP地址:
      • 網(wǎng)絡(luò)號(NetID)– 高位比特
      • 主機號(HostID)– 低位比特
    • IP子網(wǎng):
      • IP地址具有相同網(wǎng)絡(luò)號的設(shè)備接口
      • 不跨越路由器(第三及以 上層網(wǎng)絡(luò)設(shè)備)可以彼此物理聯(lián)通的接口

    有類IP地址

    采用二分法。

    • 特殊IP地址

    • 私有(Private)IP地址
      私有IP地址一般用于機構(gòu)內(nèi)部網(wǎng)絡(luò),在公網(wǎng)中是無法與其通信的,私有IP地址增加了IP地址的復(fù)用性(因為公網(wǎng)連接不上,各個機構(gòu)又是分開的)。

    5.3.5 IP協(xié)議(4)-IP子網(wǎng)劃分與子網(wǎng)掩碼

    • IP地址:

      • 網(wǎng)絡(luò)號(NetID)– 高位比特
      • 主機號(HostID)– 低位比特
    • IP子網(wǎng):

      • IP地址具有相同網(wǎng)絡(luò)號的設(shè)備接口
      • 不跨越路由器(第三及以 上層網(wǎng)絡(luò)設(shè)備)可以彼此物理聯(lián)通的接口
    • 有類IP地址

    如何進行子網(wǎng)劃分(Subnetting)?

    • IP地址:
      • 網(wǎng)絡(luò)號(NetID) – 高位比特
      • 子網(wǎng)號(SubID) – 原網(wǎng)絡(luò)主機號部分比特
      • 主機號(HostID) – 低位比特

    • 如何確定是否劃分了子網(wǎng)?利用多少位劃分子網(wǎng)?

      • 子網(wǎng)掩碼
    • 子網(wǎng)掩碼

      • 形如IP地址:

        • 32位
        • 點分十進制形式
      • 取值:

        • NetID、SubID位全取1
        • HostID位全取0
      • 例如:

        • A網(wǎng)的默認子網(wǎng)掩碼為:255.0.0.0
        • B網(wǎng)的默認子網(wǎng)掩碼為:255.255.0.0
        • C網(wǎng)的默認子網(wǎng)掩碼為:255.255.255.0
        • 借用3比特劃分子網(wǎng)的B網(wǎng)的子網(wǎng)掩碼為:255.255.224.0

    子網(wǎng)劃分

    • 例如:

      • 子網(wǎng)201.2.3.0,255.255.255.0,劃分為等長的4個子網(wǎng)
    • 路由器如何確定應(yīng)該將IP分組轉(zhuǎn)發(fā)到哪個子網(wǎng)?
      通過子網(wǎng)掩碼。

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

    • 將IP分組的目的IP地址與子網(wǎng)掩碼按位與運算, 提取子網(wǎng)地址

    • 例如:

      • 目的IP地址:172.32.1.112,子網(wǎng)掩碼:255.255.254.0
      • 子網(wǎng)地址:172.32.0.0(子網(wǎng)掩碼:255.255.254.0)
      • 地址范圍:172.32.0.0~172.32.1.255
      • 可分配地址范圍:172.32.0.1~172.32.1.254
      • 廣播地址:172.32.1.255
    • 一個C類網(wǎng)絡(luò)劃分子網(wǎng)舉例

    6 網(wǎng)絡(luò)層(中)

    6.1 CIDR與路由聚合

    無類域間路由(CIDR: Classless InterDomain Routing)

    • 消除傳統(tǒng)的 A 類、B 類和 C 類地址界限
      • NetID+SubID→Network Prefix (Prefix)可以任意長度
    • 融合子網(wǎng)地址與子網(wǎng)掩碼,方便子網(wǎng)劃分
      • 無類地址格式:a.b.c.d/x,其中x為前綴長度
    • 例如
    • 子網(wǎng)201.2.3.64,255.255.255.192→201.2.3.64/26

    CIDR與路由聚合的作用

    • 提高IPv4 地址空間分配效率
    • 提高路由效率
      • 將多個子網(wǎng)聚合為一個較大的子網(wǎng)
      • 構(gòu)造超網(wǎng)(supernetting)
      • 路由聚合(route aggregation)

    路由聚合

    • 將多個子網(wǎng)聚合,大大縮小了路由中的轉(zhuǎn)發(fā)表的大小
    • 層級編址使得路由信息通告更高效:

      但是層級編制會出現(xiàn)一個問題:聚合之后的地址可能會包括其它子網(wǎng)中的地址,如下圖中的200.23.18.2/23,這是就要遵循最長前綴匹配優(yōu)先原則了。

    劃分子網(wǎng)的意義是什么?如何進行子網(wǎng)劃分?什么是定長子網(wǎng)劃分?什么是變長子網(wǎng)劃分?如何準確地描述一個子網(wǎng)?為什么要進行路由聚集?如何進行路由聚集?什么情況下可以進行路由聚集?

  • 劃分子網(wǎng)的意義:提升IP地址的利用效率; 按規(guī)則分配IP地址,提升IP地址的辨識度,便于尋址,IP地址形成自上而下層次鮮明的結(jié)構(gòu);對不同地區(qū)不同類型的網(wǎng)絡(luò)設(shè)備加以區(qū)分。
  • 如何進行子網(wǎng)劃分:IP地址邏輯上分為NetID+SubID+HostID,NetID+SubID作為網(wǎng)絡(luò)地址,HostID作為主機號;按有類地址的NetID,SubID從HostID的高bit進行借位(借n位可劃分2^n個等長的子網(wǎng)),組合成網(wǎng)絡(luò)地址;通過子網(wǎng)掩碼聲明網(wǎng)絡(luò)地址的bit寬度。
  • 定長子網(wǎng)劃分:每個子網(wǎng)規(guī)模一樣大的劃分,此時各子網(wǎng)子網(wǎng)掩碼相同。
  • 變長子網(wǎng)劃分:每個子網(wǎng)規(guī)模不一樣大,各子網(wǎng)子網(wǎng)掩碼也不同。
  • 如何準確描述一個子網(wǎng):網(wǎng)絡(luò)IP地址+子網(wǎng)掩碼 或是a.b.c.d/x的CIDR策略形式。
  • 為什么要進行路由聚集:為了縮小轉(zhuǎn)發(fā)表大小,提高轉(zhuǎn)發(fā)效率
  • 如何進行路由聚集:取消有類地址劃分,NetID+SubID不定長度;需要聚合的子網(wǎng)地址按位取相同的前綴作為新的子網(wǎng)地址(超網(wǎng)); 轉(zhuǎn)發(fā)表合并這些子網(wǎng)的轉(zhuǎn)發(fā)規(guī)則為新的子網(wǎng)規(guī)則,同時保證為非合并前子網(wǎng)地址但滿足條件的地址增加更長的前綴匹配規(guī)則。
  • 什么情況下可以進行路由聚集:一個路由器同時連接多個較小規(guī)模的子網(wǎng)時。
  • 6.2 DHCP協(xié)議

    • 如何獲得IP地址?
      Q: 一個主機如何獲得IP地址?

      • “硬編碼”
        • 靜態(tài)配置
      • 動態(tài)主機配置協(xié)議-DHCP: Dynamic Host Configuration Protocol
        • 從服務(wù)器動態(tài)獲取:
          • IP地址
          • 子網(wǎng)掩碼
          • 默認網(wǎng)關(guān)地址
          • DNS服務(wù)器名稱與IP地址
        • “即插即用”
        • 允許地址重用
        • 支持在用地址續(xù)租
          DHCP協(xié)議給客戶端分配的地址是有時間限制的。
        • 支持移動用戶加入網(wǎng)絡(luò)
      • 動態(tài)主機配置協(xié)議(DHCP)
        • 主機廣播 “DHCP discover”(發(fā)現(xiàn)報文)
        • DHCP服務(wù)器利用 “DHCP offer” (提供報文) 進行響應(yīng)
        • 主機請求IP地址: “DHCP request” (請求報文)
        • DHCP服務(wù)器分配IP地址: “DHCP ack” (確認報文)
      • DHCP工作過程示例
        • DHCP協(xié)議實現(xiàn)于應(yīng)用層
          • 請求報文封裝到UDP數(shù)據(jù)報中
          • IP廣播
          • 鏈路層廣播
            (e.g. 以太網(wǎng)廣播)
          • DHCP服務(wù)器構(gòu)造 ACK報文
            • 包括分配給客戶的 IP地址、子網(wǎng)掩碼 、默認網(wǎng)關(guān)、DNS 服務(wù)器地址

    6.3 網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)

    • 研究NAT的動機
      • 只需/能從ISP申請一個IP地址
        • IPv4地址耗盡
      • 本地網(wǎng)絡(luò)設(shè)備IP地址的變更,無需通告外界 網(wǎng)絡(luò)
      • 變更ISP時,無需修改內(nèi)部網(wǎng)絡(luò)設(shè)備IP地址
      • 內(nèi)部網(wǎng)絡(luò)設(shè)備對外界網(wǎng)絡(luò)不可見,即不可直接尋址(安全)
    • 優(yōu)點及爭議
      • 16-bit端口號字段:
        • 可以同時支持60,000多并行連接!
      • NAT主要爭議:
        • 路由器應(yīng)該只處理第3層功能
        • 違背端到端通信原則
          • 應(yīng)用開發(fā)者必須考慮到NAT的存在,e.g., P2P應(yīng)用
        • 地址短缺問題應(yīng)該由IPv6來解決

    6.3.1 NAT的實現(xiàn)

    • 實現(xiàn):

      • 替換
        • 利用(NAT IP地址,新端口號)替換每個外出IP數(shù)據(jù)報的(源IP地址,源端口號)
      • 記錄
        • 將每對(NAT IP地址, 新端口號) 與(源IP地址, 源端 口號)的替換信息存儲到NAT轉(zhuǎn)換表中
      • 替換
        • 根據(jù)NAT轉(zhuǎn)換表,利用(源IP地址, 源端口號)替換每個進入內(nèi)網(wǎng)IP數(shù)據(jù)報的(目的IP地址,目的端口號), 即(NAT IP地址, 新端口號)
    • NAT的執(zhí)行過程舉例:

    6.3.2 NAT穿透問題

    • 客戶期望連接內(nèi)網(wǎng)地址為 10.0.0.1的服務(wù)器
      • 客戶不能直接利用地址 10.0.0.1直接訪問服務(wù)器
      • 對外唯一可見的地址是NAT 地址: 138.76.29.7
    • 解決方案:
      • 1:
        靜態(tài)配置NAT ,將特定端口的連接請求轉(zhuǎn)發(fā)給服務(wù)器

        • e.g., (138.76.29.7, 2500) 總是轉(zhuǎn)發(fā)給(10.0.0.1, 25000)
      • 2:
        利用UPnP (Universal Plug and Play) 互聯(lián)網(wǎng)網(wǎng)關(guān)設(shè)備協(xié)議 (IGDInternet Gateway Device ) 自動配置:

        • 學(xué)習(xí)到NAT公共IP地址 (138.76.29.7)
        • 在NAT轉(zhuǎn)換表中,增刪端口映射
      • 3:
        中繼(如Skype)

        • NAT內(nèi)部的客戶與中繼服務(wù)器建立連接
        • 外部客戶也與中繼服務(wù)器建立連接
        • 中繼服務(wù)器橋接兩個連接的分組

    6.4 互聯(lián)網(wǎng)控制報文協(xié)議(ICMP)

    • 互聯(lián)網(wǎng)控制報文協(xié)議 ICMP (Internet Control Message Protocol)支持主機或路由器:
      • 差錯(或異常)報告
      • 網(wǎng)絡(luò)探詢
    • 兩類 ICMP 報文:
      • 差錯報告報文(5種)
        • 目的不可達
        • 源抑制(Source Quench)
        • 超時/超期
        • 參數(shù)問題
        • 重定向 (Redirect)
      • 網(wǎng)絡(luò)探詢報文(2組)
        • 回聲(Echo)請求與應(yīng)答報文(Reply)
        • 時間戳請求與應(yīng)答報文
    • ICMP報文
      • 例外情況 :
        • 幾種不發(fā)送 ICMP差錯報告報文的特殊情況:
          • 對ICMP差錯報告報文不再發(fā)送 ICMP差錯報告報文
          • 除第1個IP數(shù)據(jù)報分片外,對所有后續(xù)分片均不發(fā)送ICMP差錯 報告報文
          • 對所有多播IP數(shù)據(jù)報均不發(fā)送 ICMP差錯報告報文
          • 對具有特殊地址(如127.0.0.0 或 0.0.0.0)的IP數(shù)據(jù)報不發(fā)送 ICMP 差錯報告報文
        • 幾種 ICMP 報文已不再使用
          • 信息請求與應(yīng)答報文
          • 子網(wǎng)掩碼請求和應(yīng)答報文
          • 路由器詢問和通告報文

    6.4.1 ICMP報文的格式

    ICMP報文封裝到IP數(shù)據(jù)報中傳輸。

    6.4.2 ICMP差錯報告報文數(shù)據(jù)封裝

    6.4.3 ICMP的應(yīng)用舉例:Traceroute

    • 源主機向目的主機發(fā)送一系列 UDP 數(shù)據(jù)報

      • 第1組IP數(shù)據(jù)報TTL =1
      • 第2組IP數(shù)據(jù)報TTL=2, etc.

      TTL是 Time To Live的縮寫,該字段指定IP包被路由器丟棄之前允許通過的最大網(wǎng)段數(shù)量。TTL是IPv4包頭的一個8 bit字段。

      • 目的端口號為不可能使用的端口號
    • 當(dāng)?shù)趎組數(shù)據(jù)報(TTL=n)到達第 n 個路由器時:

      • 路由器丟棄數(shù)據(jù)報
      • 向源主機發(fā)送ICMP報文 (type=11, code=0)
      • ICMP報文攜帶路由器名稱和 IP地址信息
    • 當(dāng)ICMP報文返回到源主機時, 記錄RTT

    • 停止準則:

      • UDP數(shù)據(jù)報最終到達目的主機
      • 目的主機返回“目的端口不可達”ICMP報文 (type=3, code=3)
      • 源主機停止

    6.5 IPv6簡介

    6.5.1 IPv6的研發(fā)動機

    • 最初動機: 32位IPv4地址空間已分配殆盡
    • 其他動機: 改進首部格式
      • 快速處理/轉(zhuǎn)發(fā)數(shù)據(jù)報
      • 支持QoS
    • IPv6數(shù)據(jù)報格式:
      • 固定長度的40字節(jié)基本首部
      • 不允許分片

    6.5.2 IPv6數(shù)據(jù)報格式

    優(yōu)先級(priority): 標識數(shù)據(jù)報的優(yōu)先級
    流標簽(flow Label): 標識同一“流”中的數(shù)據(jù)報
    下一個首部(next header): 標識下一個選項首部或上層協(xié)議首部(如TCP首部)

    6.5.3 其他改變 vs IPv4

    • 校驗和(checksum): 徹底移除,以減少每跳處理 時間
    • 選項(options): 允許,但是從基本首部移出,定義 多個選項首部,通過“下一個首部”字段指示
    • ICMPv6: 新版ICMP
      • 附加報文類型,e.g. “Packet Too Big”
      • 多播組管理功能

    6.5.4 IPv6地址表示形式

    • 一般形式:
      1080:0:FF:0:8:800:200C:417A

    • 壓縮形式:
      FF01:0:0:0:0:0:0:43 壓縮→ FF01::43

    • IPv4-嵌入形式:
      0:0:0:0:0:FFFF:13.1.68.3
      或 ::FFFF:13.1.68.3

    • 地址前綴:
      2002:43c:476b::/48 (注: IPv6不再使用掩碼!)

    • URLs:
      http://[3FFE::1:800:200C:417A]:8000

    6.5.5 IPv6基本地址類型

    6.5.6 IPv4向IPv6過渡

    • 不可能在某個時刻所有路由器同時被更新為IPv6
      • 不會有 “標志性的日期”
      • IPv4和IPv6路由器共存的網(wǎng)絡(luò)如何運行?
    • 隧道(tunneling): IPv6數(shù)據(jù)報作為IPv4數(shù)據(jù)報的載 荷進行封裝,穿越IPv4網(wǎng)絡(luò)
      • 隧道技術(shù):

    6.6 典例講解

    題目:

    • 題目描述
    • 題目:

    解答:

    • (1)
    • (2)
    • (3)

    7 網(wǎng)絡(luò)層(下)

    7.1~7.5:路由算法部分
    7.6~7.9:Internet路由部分

    7.1 路由算法概述

    • 網(wǎng)絡(luò)抽象:圖

    圖: G = (N, E)

    N = 路由器集合= { u, v, w, x, y, z }

    E = 鏈路集合 ={ (u,v), (u,x), (v,x), (v,w), (x,w), (x,y), (w,y), (w,z), (y,z) }

    附注: 圖的抽象在網(wǎng)絡(luò)領(lǐng)域應(yīng)用很廣泛 E.g.:P2P,其中,N是 peers集合,而E是TCP連接集合
    網(wǎng)

    • 圖抽象:費用(Costs)

    c(x, x’) = 鏈路(x, x’)的費用 e.g., c(w, z) = 5
    每段鏈路的費用可以總是1,
    或者是,
    帶寬的倒數(shù)(帶寬越大,其倒數(shù)越小)、擁塞程度等 。
    路徑費用:(x1, x2, x3,…, xp) = c(x1,x2) + c(x2,x3) + … + c(xp-1,xp)

    • 路由算法分類
      • 靜態(tài)路由 vs 動態(tài)路由?
        • 靜態(tài)路由:
          • 手工配置
          • 路由更新慢
          • 優(yōu)先級高
        • 動態(tài)路由:
          • 路由更新快
            • 定期更新
            • 及時響應(yīng)鏈路費用或 網(wǎng)絡(luò)拓撲變化
      • 全局信息 vs 分散信息?
        • 全局信息:
          • 所有路由器掌握完整的網(wǎng)絡(luò) 拓撲和鏈路費用信息
          • E.g. 鏈路狀態(tài)(LS)路由算法
        • 分散(decentralized)信息:
          • 路由器只掌握物理相連的鄰 居以及鏈路費用
          • 鄰居間信息交換、運算的迭 代過程
          • E.g. 距離向量(DV)路由算法

    7.2 鏈路狀態(tài)路由算法

    • 網(wǎng)絡(luò)抽象:圖

    圖: G = (N, E)

    N = 路由器集合= { u, v, w, x, y, z }

    E = 鏈路集合 ={ (u,v), (u,x), (v,x), (v,w), (x,w), (x,y), (w,y), (w,z), (y,z) }

    7.2.1 Dijkstra 算法

    Dijkstra 算法

    • 所有結(jié)點(路由器)掌握網(wǎng) 絡(luò)拓撲和鏈路費用
      • 通過“鏈路狀態(tài)廣播”
      • 所有結(jié)點擁有相同信息
    • 計算從一個結(jié)點(“源”) 到達所有其他結(jié)點的最短路徑
      • 獲得該結(jié)點的轉(zhuǎn)發(fā)表
    • 迭代: k次迭代后,得到 到達k個目的結(jié)點的最短 路徑

    符號:

    • c(x,y): 結(jié)點x到結(jié)點y鏈路 費用;如果x和y不直接相 連,則=∞
    • D(v): 從源到目的v的當(dāng)前 路徑費用值
    • p(v): 沿從源到v的當(dāng)前路徑,v的前序結(jié)點
    • N’: 已經(jīng)找到最小費用路徑的結(jié)點集合

    偽代碼:

    Dijkstra算法舉例說明:

    • 1
    • 2
      • u的最終最短路徑樹:
      • u的最終轉(zhuǎn)發(fā)表:

    Dijkstra 算法:討論

    • 算法復(fù)雜性: n個結(jié)點
      • 每次迭代: 需要檢測所有不在集合N’中的結(jié)點w
      • n(n+1)/2次比較: O(n2)
      • 更高效的實現(xiàn): O(nlogn)
    • 存在震蕩(oscillations)可能:
      • e.g., 假設(shè)鏈路費用是該鏈路承載的通信量:

        震蕩發(fā)生后,可能會出現(xiàn)這樣的情況:
        分組從B->C->D之后,又從D->C,這樣子永遠都無法B->C->D->A。

    7.3 距離向量路由算法(1)

    距離向量(Distance Vector)路由算法。

    • Bellman-Ford 舉例
    • 距離向量路由算法

    7.4 距離向量路由算法(2)

    • 距離向量路由算法:舉例

    • 距離向量DV: 鏈路費用變化
      鏈路費用變化:

      • 結(jié)點檢測本地鏈路費用變化
      • 更新路由信息,重新計算距離向量
      • 如果DV改變,通告所有鄰居

    7.4.1 距離向量DV: 無窮計數(shù)問題

    在上圖可以看到,如果xy之間的距離變成60,是不會直接改為60的,而是從一個初始值(上圖中的初始值是6)逐漸增大至60.
    • 解決無窮計數(shù)問題的方法:
      • 1 毒性逆轉(zhuǎn)(poisoned reverse):
        這個毒性逆轉(zhuǎn)問題感覺PPT中展示的不是很清楚,我先把PPT放上來,后續(xù)補上其他材料
        如果一個結(jié)點(e.g. Z)到達某目的(e.g.X)的最小 費用路徑是通過某個鄰居(e.g.Y),則:

        • 通告給該鄰居結(jié)點到達該目的的距離為無窮大


          如果網(wǎng)絡(luò)結(jié)構(gòu)很復(fù)雜,毒性逆轉(zhuǎn)技術(shù)也無法解決無窮計數(shù)問題。
      • 2 定義最大度量(maximum metric):

        • 定義一個最大的有效費用值,如15跳步,16跳步表示∞

          (上圖的意思是:R1現(xiàn)如今無法直達192.168.1.1/24,但之前是可以的,當(dāng)時R2到192.168.1.0/24的路徑R2->R1->192.168.1.0/24路徑是已被保留下來的(2跳),所以現(xiàn)如今R1到192.168.1.0/24的路徑(實際上是不可能存在的路徑)就會被當(dāng)成R1->R2->R1->192.168.1.0/24(3跳))

          然后一直增加到15或16跳步時就被當(dāng)作∞了,這樣就不會繼續(xù)計數(shù)下去,也就說避免了無窮計數(shù)問題

    7.5 層次路由

    • 將任意規(guī)模網(wǎng)絡(luò)抽象為一個圖計算路由-過于理想化
      • 標識所有路由器
      • “扁平”網(wǎng)絡(luò) ——在實際網(wǎng)絡(luò)(尤其是大規(guī)模網(wǎng)絡(luò))中,不可行!

    7.5.1 研發(fā)層次路由的動機

    • 網(wǎng)絡(luò)規(guī)模:考慮6億目 的結(jié)點的網(wǎng)絡(luò)
      • 路由表幾乎無法存儲!
      • 路由計算過程的信息 (e.g. 鏈路狀態(tài)分組、 DV)交換量巨大,會淹沒鏈路!
    • 管理自治:
      • 每個網(wǎng)絡(luò)的管理可能都期望自主控制其網(wǎng)內(nèi)的路由
      • 互聯(lián)網(wǎng)(internet) = 網(wǎng)絡(luò)之 網(wǎng)絡(luò)(network of networks)

    7.5.2 層次路由詳述

    • 聚合路由器為一個區(qū)域 :自治系統(tǒng)AS (autonomous systems)
    • 同一AS內(nèi)的路由器運行相同的路由協(xié)議(算法)
      • 自治系統(tǒng)內(nèi)部路由協(xié)議 (“intra-AS” routing protocol)
      • 不同自治系統(tǒng)內(nèi)的路由 器可以運行不同的AS內(nèi)部路由協(xié)議
    • 網(wǎng)關(guān)路由器(gateway router):
    • 位于AS“邊緣”
    • 通過鏈路連接其他AS的網(wǎng)關(guān)路由器

    互連的AS

    • 轉(zhuǎn)發(fā)表由AS內(nèi)部路由算法與AS間路由算法共同配置
      • AS內(nèi)部路由算法設(shè)置AS內(nèi)部目的網(wǎng)絡(luò)路由入口(entries)
      • AS內(nèi)部路由算法與AS間路由算法共同設(shè)置 AS外部目的網(wǎng)絡(luò)路由入口

    自治系統(tǒng)間(Inter-AS)路由任務(wù)

    • 假設(shè)AS1內(nèi)某路由器收到一個目的地址在AS1 之外的數(shù)據(jù)報:
      • 路由器應(yīng)該將該數(shù)據(jù)報轉(zhuǎn)發(fā)給哪個網(wǎng)關(guān)路由器呢?

    AS1必須:

  • 學(xué)習(xí)到哪些目的網(wǎng)絡(luò)可以通過AS2到達,哪些 可以通過AS3到達
  • 將這些網(wǎng)絡(luò)可達性信息 傳播給AS1內(nèi)部路由器
  • 舉例說明層次路由

    • 例2: 路由器1d的轉(zhuǎn)發(fā)表設(shè)置

      • 假設(shè)AS1學(xué)習(xí)到(通過AS間路由協(xié)議):子網(wǎng)x可以通過AS3 (網(wǎng)關(guān) 1c)到達,但不能通過AS2到達
        • AS間路由協(xié)議向所有內(nèi)部路由器傳播該可達性信息
      • 路由器1d:利用AS內(nèi)部路由信息,確定其到達1c 的最小費用路徑接口/
        • 在1d轉(zhuǎn)發(fā)表中增加入口:(x, /)
    • 例2: 在多AS間選擇

      • 假設(shè)AS1通過AS間路由協(xié)議學(xué)習(xí)到:子網(wǎng)x通過 AS3和AS2均可到達
      • 為了配置轉(zhuǎn)發(fā)表,路由器1d必須確定應(yīng)該將去往子網(wǎng)x的數(shù)據(jù)報轉(zhuǎn)發(fā)給哪個網(wǎng)關(guān)?
        • 這個任務(wù)也是由AS間路由協(xié)議完成!
    • 例3: 在多AS間選擇

      • 假設(shè)AS1通過AS間路由協(xié)議學(xué)習(xí)到:子網(wǎng)x通過 AS3和AS2均可到達
      • 為了配置轉(zhuǎn)發(fā)表,路由器1d必須確定應(yīng)該將去往子網(wǎng)x的數(shù)據(jù)報轉(zhuǎn)發(fā)給哪個網(wǎng)關(guān)?
        • 這個任務(wù)也是由AS間路由協(xié)議完成!
      • 熱土豆路由: 將分組發(fā)送給最近的網(wǎng)關(guān)路由器.

    7.6 RIP協(xié)議

    7.6.1 AS內(nèi)部路由

    • Internet采用層次路由
    • AS內(nèi)部路由協(xié)議也稱為內(nèi)部網(wǎng)絡(luò)協(xié)議IGP (interior gateway protocols)
    • 最常見的AS內(nèi)部路由協(xié)議:
      • 路由信息協(xié)議:RIP(Routing Information Protocol)
      • 開放最短路徑優(yōu)先:OSPF(Open Shortest Path First)
      • 內(nèi)部網(wǎng)關(guān)路由協(xié)議:IGRP(Interior Gateway Routing Protocol)
        • Cisco私有協(xié)議

    7.6.2 RIP

    • 早于1982年隨BSD-UNIX操作系統(tǒng)發(fā)布

    • 距離向量路由算法

      • 距離度量:跳步數(shù) (max = 15 hops), 每條鏈路1個跳步
      • 每隔30秒,鄰居之間交換一次DV,成為通告(advertisement)
      • 每次通告:最多25個目的子網(wǎng)(IP地址形式)
    • 舉例:

      默認D到A的跳步為1,現(xiàn)D到z所需跳步為7,但A到z跳步為4,所以將D->z變成D->A->后所需跳步為5。所以說RIP的實質(zhì)就是距離最短算法。

    • RIP: 鏈路失效、恢復(fù)
      如果180秒沒有收到通告→鄰居/鏈路失效

      • 經(jīng)過該鄰居的路由不可用
        • 重新計算路由
      • 向鄰居發(fā)送新的通告
      • 鄰居再依次向外發(fā)送通告(如果轉(zhuǎn)發(fā)表改變)
      • 鏈路失效信息能否快速傳播到全網(wǎng)?
        • 可能發(fā)生無窮計數(shù)問題
        • 毒性逆轉(zhuǎn)技術(shù)用于預(yù)防乒乓(ping-pong)環(huán)路 (另外:無窮大距離 = 16 hops)
    • RIP路由表的處理

      • RIP路由表是利用一個稱作route-d (daemon)的應(yīng)用層進程進行管理
        • 應(yīng)用進程實現(xiàn)
      • 通告報文周期性地通過UDP數(shù)據(jù)報發(fā)送

    7.7 OSPF協(xié)議簡介

    OSPF (Open Shortest Path First)

    • “開放”: 公眾可用
    • 采用鏈路狀態(tài)路由算法
      • LS分組擴散(通告)
      • 每個路由器構(gòu)造完整的網(wǎng)絡(luò)(AS)拓撲圖
      • 利用Dijkstra算法計算路由
    • OSPF通告中每個入口對應(yīng)一個鄰居
    • OSPF通告在整個AS范圍泛洪
      • OSPF報文直接封裝到IP數(shù)據(jù)報中
    • 與OSPF極其相似的一個路由協(xié)議:IS-IS 路由協(xié)議

    7.7.1 OSPF優(yōu)點(RIP不具備)

    • 安全(security): 所有OSPF報文可以被認證 (預(yù)防惡意入侵)
    • 允許使用多條相同費用的路徑 (RIP只能選一條)
    • 對于每條鏈路,可以針對不同的服務(wù)類型TOS設(shè)置多個不同的費用度量 (e.g., 衛(wèi)星鏈路可以針對“盡力” (best effort) ToS設(shè)置“低”費用;針對實時ToS 設(shè)置“高”費用)
    • 集成單播路由與多播路由:
      • 多播OSPF協(xié)議(MOSPF) 與OSPF利用相同的 網(wǎng)絡(luò)拓撲數(shù)據(jù)
    • OSPF支持對大規(guī)模AS分層(hierarchical)
      在7.7.2詳細敘述。

    7.7.2 分層的OSPF

    注意區(qū)分區(qū)邊界路由器和AS邊界路由器的不同。

    7.8 BGP協(xié)議簡介

    Internet AS間路由協(xié)議: BGP 。

    • 邊界網(wǎng)關(guān)協(xié)議BGP (Border Gateway Protocol): 事實上的標準域間路由協(xié)議
      • 將Internet “粘合”為一個整體的關(guān)鍵
    • BGP為每個AS提供了一種手段:
      • eBGP: 從鄰居AS獲取子網(wǎng)可達性信息.
      • iBGP: 向所有AS內(nèi)部路由器傳播子網(wǎng)可達性信息.
      • 基于可達性信息與策略,確定到達其他網(wǎng)絡(luò)的 “好” 路徑.
    • 容許子網(wǎng)向Internet其余部分通告它的存在: “我在這兒!”

    7.8.1 BGP基礎(chǔ)

    • BGP會話(session): 兩個BGP路由器 (“Peers”) 交換BGP報文:
      • 通告去往不同目的前綴(prefix)的路徑 (“路徑向量 (path vector)”協(xié)議)
        這里所謂的"前綴"是指子網(wǎng)。
        而且這里是路徑向量而不是RIP協(xié)議的距離向量,二者是不同的。
      • 報文交換基于半永久的TCP連接
    • BGP報文:
      • OPEN: 與peer建立TCP連接,并認證發(fā)送方
      • UPDATE: 通告新路徑 (或撤銷原路徑)
      • KEEPALIVE: 在無UPDATE時,保活連接;也用于對 OPEN請求的確認
      • NOTIFICATION: 報告先前報文的差錯;也被用于關(guān)閉 連接
    • 當(dāng)AS3通告一個前綴給AS1時:
      • AS3承諾可以將數(shù)據(jù)報轉(zhuǎn)發(fā)給該子網(wǎng)
      • AS3在通告中會聚合網(wǎng)絡(luò)前綴

    7.8.2 BGP基礎(chǔ): 分發(fā)路徑信息

    • 在3a與1c之間, AS3利用eBGP會話向AS1發(fā)送前綴可達性信息.
      • 1c則可以利用iBGP向AS1內(nèi)的所有路由器分發(fā)新的前綴可達 性信息
      • 1b可以(也可能不)進一步通過1b-到-2a的eBGP會話,向 AS2通告新的可達性信息
    • 當(dāng)路由器獲得新的前綴可達性時,即在其轉(zhuǎn)發(fā)表中增加關(guān)于該前綴的入口(路由項)

    7.8.3 路徑屬性與BGP路由(route)

    • 通告的前綴信息包括BGP屬性
      • 前綴+屬性= “路由”
    • 兩個重要屬性:
      • AS-PATH(AS路徑): 包含前綴通告所經(jīng)過的AS序列: e.g., AS 67, AS 17
      • NEXT-HOP(下一跳): 開始一個AS-PATH的路由器接口,指向下一 跳AS.
        • 可能從當(dāng)前AS到下一跳AS存在多條鏈路
          如AS2中,此時熱土豆路由就派上用場了。

    7.8.4 BGP路由選擇

    • 網(wǎng)關(guān)路由器收到路由通告后,利用其輸入策略 (import policy)決策接受/拒絕該路由
      • e.g., 從不將流量路由到AS x
      • 基于策略(policy-based) 路由
    • 路由器可能獲知到達某目的AS的多條路由,基于 以下準則選擇:
  • 本地偏好(preference)值屬性: 策略決策(policy decision)
  • 最短AS-PATH
  • 最近NEXT-HOP路由器: 熱土豆路由(hot potato routing)
  • 附加準則
  • 7.8.5 BGP路由選擇策略舉例

    • 上圖的各組成元素的所代表的意思:

      • A,B,C是提供商網(wǎng)絡(luò)/AS(provider network/AS)
      • X,W,Y是客戶網(wǎng)絡(luò)(customer network/AS)
      • W,Y是樁網(wǎng)絡(luò)(stub network/AS): 只與一個其他AS相連
        • X是雙宿網(wǎng)絡(luò)(dual-homed network/AS): 連接兩個其他AS
        • X不期望經(jīng)過他路由B到C的流量
        • … 因此,X不會向B通告任何一條到達C的路由
    • 上圖路由策略:

      • A向B通告一條路徑:AW
      • B向X通告路徑:BAW
      • B是否應(yīng)該向C通告路徑BAW呢?
        • 絕不! B路由CBAW的流量沒有任何“收益”, 因為W和C均不是B的客戶。
        • B期望強制C通過A向W路由流量
        • B期望只路由去往/來自其客戶的流量!

    7.8.6 為什么采用不同的AS內(nèi)與AS間路由協(xié)議?

    說明:
    inter-AS: 自治系統(tǒng)間
    inter-AS: 自治系統(tǒng)內(nèi)

    • 策略(policy):

      • inter-AS: 期望能夠管理控制流量如何被路由,誰路由 經(jīng)過其網(wǎng)絡(luò)等.
      • intra-AS: 單一管理,無需策略決策
    • 規(guī)模(scale):

      • 層次路由節(jié)省路由表大小,減少路由更新流量
      • 適應(yīng)大規(guī)模互聯(lián)網(wǎng)
    • 性能(performance):

      • intra-AS: 側(cè)重性能
      • inter-AS: 策略主導(dǎo)

    8 數(shù)據(jù)鏈路層

    8.1 數(shù)據(jù)鏈路層服務(wù)

    8.1.1 概述

    術(shù)語:

    • 主機和路由器:結(jié)點(nodes)
      在數(shù)據(jù)鏈路層主機和路由器均被視作結(jié)點。
    • 連接相鄰結(jié)點的通信信道:鏈路 (links)
      • 有線鏈路(wired links)
      • 無線鏈路(wireless links)
      • 局域網(wǎng)(LANs)
    • 鏈路層(第2層)數(shù)據(jù)分組:幀 (frame),封裝網(wǎng)絡(luò)層數(shù)據(jù)報

    8.1.2 鏈路層服務(wù)

    • 組幀(framing)
      • 封裝數(shù)據(jù)報構(gòu)成數(shù)據(jù)幀,加首部和尾部
      • 幀同步
    • 鏈路接入(link access)
      • 如果是共享介質(zhì),需要解決信道接入(channel access)
      • 幀首部中的“MAC”地址,用于標識幀的源和目的
        • 不同于IP地址!
    • 相鄰結(jié)點間可靠交付
      • 在低誤碼率的有線鏈路上很少采用 (如光纖,某些雙絞線等)
      • 無線鏈路:誤碼率高,需要可靠交付
    • 流量控制(flow control)
      • 協(xié)調(diào)(pacing)相鄰的發(fā)送結(jié)點和接收結(jié)點
    • 差錯檢測(error detection)
      • 信號衰減和噪聲會引起差錯.
      • 接收端檢測到差錯:
        • 通知發(fā)送端重傳或者直接丟棄幀
    • 差錯糾正(error correction)
      • 接收端直接糾正比特差錯
    • 全雙工和半雙工通信控制
      • 全雙工:鏈路兩端結(jié)點同時雙向傳輸
      • 半雙工:鏈路兩端結(jié)點交替雙向傳輸

    8.1.3 鏈路層的具體實現(xiàn)?

    • 由每個主機或路由器接口實現(xiàn)
    • 鏈路層在“適配器” (即網(wǎng)絡(luò)接口卡-NIC)中實現(xiàn)或者在一個芯片上實現(xiàn)
      • 以太網(wǎng)網(wǎng)卡,802.11網(wǎng)卡 ;以太網(wǎng)芯片組
      • 實現(xiàn)鏈路層和物理層
    • 鏈接主機的系統(tǒng)總線
    • 由硬件、軟件與固件組成

    8.1.4 網(wǎng)卡間通信

    • 發(fā)送端:
      • 將數(shù)據(jù)報封裝成幀
      • 增加差錯檢測比特,實現(xiàn)可靠數(shù)據(jù)傳輸和流量控制等.
    • 接收端:
      • 檢測差錯,實現(xiàn)可靠數(shù)據(jù)傳輸和流量控制等
      • 提取數(shù)據(jù)報,交付上層協(xié)議實體

    8.2 差錯編碼

    用于差錯檢測和差錯糾正。
    差錯編碼是通過想方設(shè)法增加其漢明距離來達到差錯檢測和差錯糾正的。

    注意:此圖只表示了差錯檢測,未表示差錯糾正。

    8.2.1 差錯編碼的檢錯能力

    • 差錯編碼可分為檢錯碼與糾錯碼
    • 對于檢錯碼,如果編碼集的漢明距離ds=r+1ds=r+1ds=r+1,則該差錯編碼可以檢測rrr位的差錯
      • 例如,編碼集 {0000,0101,1010,1111} 的漢明距離ds=2,可以 100%檢測1比特差錯
    • 對于糾錯碼,如果編碼集的漢明距離ds=2r+1ds=2r+1ds=2r+1,則該差錯編碼可以糾正rrr位的差錯
      • 例如,編碼集 {000000,010101,101010,111111} 的漢明距離ds=3 ,可以糾正1比特差錯,如100010糾正為101010。

    8.2.2 奇偶校驗碼

    無論是奇校驗還是偶校驗,都只能檢測奇位數(shù)錯誤而無法檢測偶位數(shù)錯誤。

    補充材料:
    奇偶校驗碼淺談 https://www.cnblogs.com/dushikang/p/8334776.html

    8.2.3 Internet校驗和(Checksum)

    • 發(fā)送端:
      • 將“數(shù)據(jù)”(校驗內(nèi)容) 劃分為16位的二進制 “整數(shù)”序列
      • 求和(sum):補碼求和 (最高位進位的“1”, 返回最低位繼續(xù)加)
      • 校驗和(Checksum): sum的反碼
      • 放入分組(UDP、TCP 、IP)的校驗和字段
    • 接收端:
      • 與發(fā)送端相同算法計算
      • 計算得到的"checksum":
        • 為16位全0(或sum為16位 全1):無錯
        • 否則:有錯

    8.2.4 循環(huán)冗余校驗碼(CRC)

    檢錯能力更強大的差錯編碼。

    • CRC的原理:

      • 將數(shù)據(jù)比特,D,視為一個二進制數(shù)
      • 選擇一個r+1位的比特模式 (生成比特模式),G
      • 目標:選擇r位的CRC比特,R,滿足
        • <D,R>剛好可以被G整除(模2)
        • 接收端檢錯:利用G除<D,R>,余式全0,無錯;否則,有錯!
        • 可以檢測所有突發(fā)長度小于r+1位差錯。
    • 廣泛應(yīng)用于實際網(wǎng)絡(luò) (以太網(wǎng),802.11 WiFi,ATM)

    • CRC舉例:

    補充材料:

    CRC校驗碼的計算示例
    由以上分析可知,既然除數(shù)是隨機,或者按標準選定的,所以CRC校驗的關(guān)鍵是如何求出余數(shù),也就是CRC校驗碼。
    下面以一個例子來具體說明整個過程。現(xiàn)假設(shè)選擇的CRC生成多項式為 G(X)=X4+X3+1G(X)=X4+X3+1G(X)=X4+X3+1 ,要求出二進制序列10110011的CRC校驗碼。下面是具體的計算過程:

  • 首先把生成多項式轉(zhuǎn)換成二進制數(shù),由 G(X)=X4+X3+1G(X)=X4+X3+1G(X)=X4+X3+1 可以知道(,它一共是5位(總位數(shù)等于最高位的冪次加1,即4+1=5。其實就是 x0x^0x0~x4x^4x4000~444一共5位。),然后根據(jù)多項式各項的含義(多項式只列出二進制值為1的位,也就是這個二進制的第4位、第3位、第0位的二進制均為1,其它位均為0)很快就可得到它的二進制比特串為11001。
  • 因為生成多項式的位數(shù)為5,根據(jù)前面的介紹,得知CRC校驗碼的位數(shù)為4(校驗碼的位數(shù)比生成多項式的位數(shù)少1)。因為原數(shù)據(jù)幀10110011,在它后面再加4個0,得到101100110000,然后把這個數(shù)以“模2除法”方式除以生成多項式,得到的余數(shù),即CRC校驗碼為0100,如下圖所示:
  • 把上步計算得到的CRC校驗碼0100替換原始幀101100110000后面的四個“0”,得到新幀101100110100。再把這個新幀發(fā)送到接收端。
  • 當(dāng)以上新幀到達接收端后,接收端會把這個新幀再用上面選定的除數(shù)11001以“模2除法”方式去除,驗證余數(shù)是否為0,如果為0,則證明該幀數(shù)據(jù)在傳輸過程中沒有出現(xiàn)差錯,否則出現(xiàn)了差錯
  • 8.3 多路訪問控制(MAC)協(xié)議

    MAC協(xié)議決定了節(jié)點什么時候允許發(fā)送分組,而且通常控制對物理層的所有訪問。

    • 兩類“鏈路”:

      • 點對點鏈路
        • 撥號接入的PPP
        • 以太網(wǎng)交換機與主機間的點對點鏈路
      • 廣播鏈路 (共享介質(zhì))
        • 早期的總線以太網(wǎng)
        • HFC的上行鏈路
        • 802.11無線局域網(wǎng)
    • 單一共享廣播信道

    • 兩個或者兩個以上結(jié)點同時傳輸:干擾(interference)

      • 沖突(collision)
        • 結(jié)點同時接收到兩個或者多個信號→接收失敗!
    • 多路訪問控制協(xié)議(multiple access control protocol)

      • 采用分布式算法決定結(jié)點如何共享信道,即決策結(jié)點何時可以傳輸數(shù)據(jù)
      • 必須基于信道本身,通信信道共享協(xié)調(diào)信息!
        • 無帶外信道用于協(xié)調(diào)

    8.3.1 理想MAC協(xié)議

    給定:速率為R bps的廣播信道
    期望:

  • 當(dāng)只有一個結(jié)點希望傳輸數(shù)據(jù)時,它可以以速 率 R發(fā)送.
  • 當(dāng)有M個結(jié)點期望發(fā)送數(shù)據(jù)時,每個節(jié)點平均 發(fā)送數(shù)據(jù)的平均速率是R/M
  • 完全分散控制:
    • 無需特定結(jié)點協(xié)調(diào)
    • 無需時鐘、時隙同步
  • 簡單
  • 8.3.2 MAC協(xié)議分類

    三大類:

    • 信道劃分(channel partitioning)MAC協(xié)議
      • 多路復(fù)用技術(shù)
      • TDMA、FDMA、CDMA、WDMA等
    • 隨機訪問(random access)MAC協(xié)議
      • 信道不劃分,允許沖突
      • 采用沖突“恢復(fù)”機制
    • 輪轉(zhuǎn)(“taking turns”)MAC協(xié)議
      • 結(jié)點輪流使用信道

    8.3.3 信道劃分MAC協(xié)議

    TDMA

    TDMA: time division multiple access

    • “周期性”接入信道
    • 每個站點在每個周期,占用固定長度的時隙(e.g.長度= 分組傳輸時間)
    • 未用時隙空閑(idle)
    • 例如:6-站點LAN,1,3,4傳輸分組,2,5,6空閑

      如上圖所示,2、5、6是未被使用的,這造成了資源的浪費。

    FDMA

    FDMA: frequency division multiple access

    • 信道頻譜劃分為若干頻帶(frequency bands)
    • 每個站點分配一個固定的頻帶
    • 無傳輸頻帶空閑
    • 例如: 6站點LAN, 1,3,4頻帶傳輸數(shù)據(jù), 2,5,6頻帶空閑。

      有些頻段是沒被使用的,這造成了資源的浪費。

    8.3.5 隨機訪問MAC協(xié)議

    • 當(dāng)結(jié)點要發(fā)送分組時:
      • 利用信道全部數(shù)據(jù)速率R發(fā)送分組
      • 沒有事先的結(jié)點間協(xié)調(diào)
    • 兩個或多個結(jié)點同時傳輸:? “沖突”
    • 隨機訪問MAC協(xié)議需要定義:
      • 如何檢測沖突
      • 如何從沖突中恢復(fù) (e.g., 通過延遲重傳)
    • 典型的隨機訪問MAC協(xié)議:
      • 時隙(sloted)ALOHA
      • ALOHA,也稱純ALOHA
      • CSMA、CSMA/CD、CSMA/CA

    時隙ALOHA協(xié)議 (S-ALOHA)

    • 假定:
      • 所有幀大小相同
      • 時間被劃分為等長的時隙 (每個時隙可以傳輸1個幀)
      • 結(jié)點只能在時隙開始時刻發(fā)送幀
      • 結(jié)點間時鐘同步
      • 如果2個或2個以上結(jié)點在 同一時隙發(fā)送幀,結(jié)點即檢測到?jīng)_突
    • 運行:
      • 當(dāng)結(jié)點有新的幀時,在下 一個時隙(slot)發(fā)送
        • 如果無沖突:該結(jié)點可以在下一個時隙繼續(xù)發(fā) 送新的幀
        • 如果沖突:該結(jié)點在下 一個時隙以概率p重傳該幀,直至成功
    • 優(yōu)點:

      • 單個結(jié)點活動時,可以 連續(xù)以信道全部速率傳 輸數(shù)據(jù)
      • 高度分散化:只需同步時隙
      • 簡單
    • 缺點:

      • 沖突,浪費時隙
      • 空閑時隙
      • 結(jié)點也許能以遠小于分組傳輸時間檢測到?jīng)_突
      • 時鐘同步
    • 效率分析:

      • 假設(shè): NNN個結(jié)點有很多幀待傳輸,每個結(jié)點在每個時隙均以概率p發(fā)送數(shù)據(jù)
      • 對于給定的一個結(jié)點,在 一個時隙將幀發(fā)送成功的 概率= p(1?p)N?1p(1-p)^{N-1}p(1?p)N?1
      • 對于任意結(jié)點成功發(fā)送幀的概率= Np(1?p)N?1Np(1-p)^{N-1}Np(1?p)N?1
      • 最大效率: 求得使Np(1?p)N?1Np(1-p)^{N-1}Np(1?p)N?1最大的p*
      • 對于很多結(jié)點,求 Np?(1?p?)N?1Np*(1-p*)^{N-1}Np?(1?p?)N?1當(dāng)N趨近無 窮時的極限,可得:
        最大效率= 1/e = 0.37

    ALOHA協(xié)議

    • 非時隙(純)Aloha:更加簡單,無需同步
    • 當(dāng)有新的幀生成時
      • 立即發(fā)送
    • 沖突可能性增大:
      • 在t0時刻發(fā)送幀,會與在[t0?1,t0+1][t_0-1, t_0+1][t0??1,t0?+1](易損時間區(qū))期間其他結(jié)點發(fā)送的幀沖突
    • 效率分析:

    CSMA協(xié)議

    • 載波監(jiān)聽多路訪問協(xié)議 CSMA (carrier sense multiple access)
    • 發(fā)送幀之前,監(jiān)聽信道 (載波):
      • 信道空閑:發(fā)送完整幀
      • 信道忙:推遲發(fā)送
        • 1-堅持CSMA
        • 非堅持CSMA
        • P-堅持CSMA
    • 沖突可能仍然發(fā)生: 信號傳播延遲
    • 繼續(xù)發(fā)送沖突幀:浪費信道資源


      上圖是B和D同時監(jiān)聽到信道中無沖突,課這樣B和D又產(chǎn)生了沖突從而造成信道浪費。

    CSMA/CD協(xié)議

    特點:發(fā)送分組的時候保持監(jiān)聽,不發(fā)送的時候斷開監(jiān)聽。

    • CSMA/CD: CSMA with Collision Detection
      • 短時間內(nèi)可以檢測到?jīng)_突
      • 沖突后傳輸中止,減少信道浪費
    • 沖突檢測:
      • 有線局域網(wǎng)易于實現(xiàn):測量信號強度,比較發(fā)射信號與接收信號
      • 無線局域網(wǎng)很難實現(xiàn):接收信號強度淹沒在本地發(fā)射信號強度下
    • 實現(xiàn)CSMA/CD的前提

    例題:

    • CSMA/CD的效率
      • TpropT_{prop}Tprop? = LAN中2個結(jié)點間的最大傳播延遲
      • ttranst_{trans}ttrans? = 最長幀傳輸延遲

        效率=11+5tprop/ttrans\textbf效\textbf率\textbf =\frac 1{1+5t_{prop}/t_{trans}}=1+5tprop?/ttrans?1?

      • tpropt_{prop}tprop? 趨近于0或者ttranst_{trans}ttrans?趨近于∞∞時,效率趨近于1
      • 遠優(yōu)于ALOHA,并且簡單、分散!

    8.3.6 輪轉(zhuǎn)訪問MAC協(xié)議

    • 信道劃分MAC協(xié)議:
      • 網(wǎng)絡(luò)負載重時,共享信道效率高,且公平
      • 網(wǎng)絡(luò)負載輕時,共享信道效率低!
    • 隨機訪問MAC協(xié)議:
      • 網(wǎng)絡(luò)負載輕時,共享信道效率高,單個結(jié)點可以利用 信道的全部帶寬
      • 網(wǎng)絡(luò)負載重時,產(chǎn)生沖突開銷
    • 輪轉(zhuǎn)訪問MAC協(xié)議: 綜合兩者的優(yōu)點!

    輪轉(zhuǎn)訪問MAC協(xié)議簡介

    • 輪詢(polling):
      • 主結(jié)點輪流“邀請” 從屬結(jié)點發(fā)送數(shù)據(jù)
      • 典型應(yīng)用: “啞(dumb)” 從屬 設(shè)備
    • 問題:
      • 輪詢開銷
      • 等待延遲
        如下圖,每個slave需要等到master叫到(輪著叫的)才能發(fā)送數(shù)據(jù)。
      • 單點故障
    • 令牌傳遞(token passing):
      • 控制令牌依次從一個結(jié) 點傳遞到下一個結(jié)點.
      • 令牌:特殊幀
      • 控制令牌依次從一個結(jié)點傳遞到下一個結(jié)點.
      • 令牌:特殊幀
      • 問題:
        • 令牌開銷
        • 等待延遲
          假設(shè)令牌剛從這臺機器發(fā)出,又得輪一圈才能回來。
        • 單點故障

    8.3.7 MAC協(xié)議總結(jié)

    • 信道劃分MAC協(xié)議:時間、頻帶、碼片劃分
      • TDMA、FDMA、CDMA
    • 隨機訪問MAC協(xié)議:
      • ALOHA, S-ALOHA, CSMA, CSMA/CD
      • CSMA/CD應(yīng)用于以太網(wǎng)
      • CSMA/CA應(yīng)用802.11無線局域網(wǎng)
    • 輪轉(zhuǎn)訪問MAC協(xié)議:
      • 綜合了上面兩個MAC協(xié)議的優(yōu)點,算是折中的一種存在。
      • 主結(jié)點輪詢;令牌傳遞
      • 藍牙、FDDI、令牌環(huán)網(wǎng)

    9 局域網(wǎng)

    9.1 ARP協(xié)議

    9.1.1 ARP協(xié)議簡介

    • 32位IP地址:
      • 接口的網(wǎng)絡(luò)層地址
      • 用于標識網(wǎng)絡(luò)層(第3層)分組,支持分組轉(zhuǎn)發(fā)
    • MAC地址(或稱LAN地址,物理地址,以太網(wǎng)地址) :
      • 作用:用于局域網(wǎng)內(nèi)標識一個幀從哪個接口發(fā)出,到達哪個物理相連的其他接口
      • 48位MAC地址(用于大部分LANs),固化在網(wǎng)卡的 ROM中,有時也可以軟件設(shè)置
      • e.g.: 1A-2F-BB-76-09-AD
        以十六進制表示。
    • 局域網(wǎng)中的每塊網(wǎng)卡都有一個唯一的MAC 地址
    • MAC地址由IEEE統(tǒng)一管理與分配
    • 網(wǎng)卡生產(chǎn)商購買MAC地址空間(前24比特)
    • 類比:
      • MAC地址:身份證號
      • IP地址:郵政地址
    • MAC地址是“平面”地址: ? 可“攜帶”
      • 可以從一個LAN移到另一個LAN
    • IP地址是層次地址: ? 不可“攜帶”
      • IP地址依賴于結(jié)點連接到哪個子網(wǎng)

    9.1.2 ARP: 地址解析協(xié)議

    9.1.3 ARP協(xié)議在同一局域網(wǎng)內(nèi)的工作機制(尋址)

    • A想要給同一局域網(wǎng)內(nèi)的B發(fā)送數(shù)據(jù)報
      • B的MAC地址不在A的ARP表中.
    • A廣播ARP查詢分組,其中包含B的IP地址
      • 目的MAC地址 = FF-FFFF-FF-FF-FF
      • LAN中所有結(jié)點都會接收ARP查詢
    • B接收ARP查詢分組,IP地址匹配成功,向A應(yīng)答B(yǎng)的MAC地址
      • 利用單播幀向A發(fā)送應(yīng)答
    • A在其ARP表中,緩存B的IP-MAC地址對,直至超時
      • 超時后,再次刷新
    • ARP是“即插即用”協(xié)議:
      • 結(jié)點自主創(chuàng)建ARP表, 無需干預(yù)

    本小節(jié)是在同一個LAN中ARP工作機制,下一小節(jié)講跨LAN時ARP工作機制。

    9.1.4 ARP協(xié)議在不同局域網(wǎng)間的工作機制(尋址)

    • 通信過程: A通過路由器R向B發(fā)送數(shù)據(jù)報
      • 關(guān)注尋址:IP地址(數(shù)據(jù)報中)和MAC地址(幀中)
      • 假設(shè)A知道B的IP地址(怎么知道的?)
      • 假設(shè)A知道第一跳路由器R (左)接口IP地址 (怎么知道的?)
      • 假設(shè)A知道第一跳路由器R (左)接口MAC地址 (怎么知道的?)

    A是如何確定要把數(shù)據(jù)發(fā)送到R的左邊接口的?
    默認網(wǎng)關(guān),也稱“第一跳路由器”。

    • 在上圖中,A將分組發(fā)往B的過程詳解:
      • A構(gòu)造IP數(shù)據(jù)報,其中源IP地址是A的IP地址,目的IP地址是B的IP地址
      • A構(gòu)造鏈路層幀,其中源MAC地址是A的MAC地址,目的MAC地址是R(左)接口的MAC地址,封裝A到B的IP數(shù)據(jù)報。
      • 幀從A發(fā)送至R
      • R接收幀,提取IP數(shù)據(jù)報,傳遞給上層IP協(xié)議
      • R轉(zhuǎn)發(fā)IP數(shù)據(jù)報(源和目的IP地址不變!)
      • R創(chuàng)建鏈路層幀,其中源MAC地址是R(右)接口的MAC地址,目 的MAC地址是B的MAC地址,封裝A到B的IP數(shù)據(jù)報。
      • R轉(zhuǎn)發(fā)IP數(shù)據(jù)報(源和目的IP地址不變!)
      • R創(chuàng)建鏈路層幀,其中源MAC地址是R (右)接口的MAC地址,目的MAC地址是B的MAC地址,封裝A到B的IP數(shù)據(jù)報。

    通過上面過程,可以發(fā)現(xiàn)IP src和IP dest是不會改變的,因為在網(wǎng)絡(luò)層將數(shù)據(jù)報遞交給鏈路層時數(shù)據(jù)報會被封裝起來。

    9.2 以太網(wǎng)

    何為以太?
    以太是古希臘哲學(xué)家亞里士多德所設(shè)想的一種物質(zhì)。是物理學(xué)史上一種假想的物質(zhì)觀念,其內(nèi)涵隨物理學(xué)發(fā)展而演變。“以太”一詞是英文Ether或Aether的音譯。古希臘人以其泛指青天或上層大氣。在亞里士多德看來,物質(zhì)元素除了水、火、氣、土之外,還有一種居于天空上層的以太。在科學(xué)史上,它起初帶有一種神秘色彩。后來人們逐漸增加其內(nèi)涵,使它成為某些歷史時期物理學(xué)家賴以思考的假想物質(zhì)。
    以太是古希臘哲學(xué)家亞里士多德所設(shè)想的一種物質(zhì)。19世紀的物理學(xué)家,認為它是一種曾被假想的電磁波的傳播媒質(zhì)。但后來的實驗和理論表明,如果假定“以太”的不存在,很多物理現(xiàn)象可以有更為簡單的解釋。

    9.2.1 以太網(wǎng)

    • “統(tǒng)治地位”的有線LAN技術(shù):
      • 造價低廉(NIC不足¥100.00)
      • 應(yīng)用最廣泛的LAN技術(shù)
      • 比令牌局域網(wǎng)和ATM等,簡單、便宜
      • 滿足網(wǎng)絡(luò)速率需求:10 Mbps – 10 Gbps

    以太網(wǎng):物理拓撲

    • 總線(bus): 上世紀90年代中期前流行
      • 所有結(jié)點在同一沖突域(collision domain) (可能彼此沖突)
    • 星型(star): 目前主流網(wǎng)絡(luò)拓撲
      • 中心交換機(switch)
      • 每個結(jié)點一個單獨沖突域(結(jié)點間彼此不沖突)

    以太網(wǎng):不可靠、無連接服務(wù)

    • 無連接(connectionless): 發(fā)送幀的網(wǎng)卡與接 收幀的網(wǎng)卡間沒有“握手”過程
    • 不可靠(unreliable): 接收網(wǎng)卡不向發(fā)送網(wǎng)卡進行確認
      • 差錯幀直接丟棄,丟棄幀中的數(shù)據(jù)恢復(fù)依靠高 層協(xié)議 (e.g., TCP),否則,發(fā)生數(shù)據(jù)丟失
    • 以太網(wǎng)的MAC協(xié)議: 采用二進制指數(shù)退避算 法的CSMA/CD

    以太網(wǎng)CSMA/CD算法

  • NIC從網(wǎng)絡(luò)層接收數(shù)據(jù)報 ,創(chuàng)建數(shù)據(jù)幀。
  • 監(jiān)聽信道: 如果NIC監(jiān)聽到信道空閑 ,則開始發(fā)送幀; 如果NIC監(jiān)聽到信道忙, 則一直等待到信道空閑 ,然后發(fā)送幀。
  • NIC發(fā)送完整個幀,而沒 有檢測到其他結(jié)點的數(shù) 據(jù)發(fā)送,則NIC確認幀發(fā) 送成功!
  • 如果NIC檢測到其他結(jié)點傳輸數(shù)據(jù),則中止發(fā)送, 并發(fā)送堵塞信號 (jam signal)
  • 中止發(fā)送后,NIC進入二 進制指數(shù)退避:
    • 第m次連續(xù)沖突后:
      ? 取n = Min(m, 10)
      ? NIC 從{0,1,2, …, 2n-1}中隨機選擇一個數(shù)K
      ? NIC等待K?512比特的傳輸 延遲時間,再返回第2步
    • 連續(xù)沖突次數(shù)越多,平均等待時間越長。
  • 以太網(wǎng)幀結(jié)構(gòu)

    發(fā)送端網(wǎng)卡將IP數(shù)據(jù)報(或其他網(wǎng)絡(luò)層協(xié)議分組)封裝到以太網(wǎng)幀中:

    • 前導(dǎo)碼(Preamble)(8B):
      • 7個字節(jié)的10101010,第8字節(jié)為10101011
      • 用于發(fā)送端與接收端的時鐘同步
    • 目的MAC地址、源MAC地址(各6B):
      • 如果網(wǎng)卡的MAC地址與收到的幀的目的MAC地址匹配,或者幀的目的MAC地址為廣播地址(FF-FF-FF-FF-FF-FF),則網(wǎng)卡接收該幀,并將其封裝的網(wǎng)絡(luò)層分組交給相應(yīng)的網(wǎng)絡(luò)層協(xié)議。
      • 否則,網(wǎng)卡丟棄(不接收)該幀。
    • 類型(Type)(2B):
      指示幀中封裝的是哪種高層協(xié)議的分組 (如,IP數(shù)據(jù)報、Novell IPX數(shù)據(jù)報、AppleTalk數(shù)據(jù)報等)
    • 數(shù)據(jù)(Data)(46-1500B):
      指上層協(xié)議載荷。
      • R=10Mbps,RTTmax=512μs,Lmin / R = RTTmax
      • Lmin=512bits=64B,Datamin=Lmin-18=46B
    • CRC(4B): 循環(huán)冗余校驗碼
      • 丟棄差錯幀

    802.3以太網(wǎng)標準: 鏈路與物理層

    • 許多不同的以太網(wǎng)標準
      • 相同的MAC協(xié)議和幀格式
      • 不同速率: 2 Mbps, 10 Mbps, 100 Mbps, 1Gbps, 10G bps
      • 不同物理介質(zhì): 光纖, 線纜

    科普:何為雙絞線?
    雙絞線(twisted pair,TP)是一種綜合布線工程中最常用的傳輸介質(zhì),是由兩根具有絕緣保護層的銅導(dǎo)線組成的。把兩根絕緣的銅導(dǎo)線按一定密度互相絞在一起,每一根導(dǎo)線在傳輸中輻射出來的電波會被另一根線上發(fā)出的電波抵消,有效降低信號干擾的程度。
    雙絞線一般由兩根22~26號絕緣銅導(dǎo)線相互纏繞而成,“雙絞線”的名字也是由此而來。實際使用時,雙絞線是由多對雙絞線一起包在一個絕緣電纜套管里的。如果把一對或多對雙絞線放在一個絕緣套管中便成了雙絞線電纜 ,但日常生活中一般把“雙絞線電纜”直接稱為“雙絞線”。
    與其他傳輸介質(zhì)相比,雙絞線在傳輸距離,信道寬度和數(shù)據(jù)傳輸速度等方面均受到一定限制,但價格較為低廉。

    • 原理
      雙絞線是由一對相互絕緣的金屬導(dǎo)線絞合而成。采用這種方式,不僅可以抵御一部分來自外界的電磁波干擾,也可以降低多對絞線之間的相互干擾。把兩根絕緣的導(dǎo)線互相絞在一起,干擾信號作用在這兩根相互絞纏在一起的導(dǎo)線上是一致的(這個干擾信號叫做共模信號),在接收信號的差分電路中可以將共模信號消除,從而提取出有用信號(差模信號) 。

    9.2.2 交換機

    • 鏈路層設(shè)備
      • 存儲-轉(zhuǎn)發(fā)以太網(wǎng)幀
      • 檢驗到達幀的目的MAC地址,選擇性 (selectively) 向一個或多個輸出鏈路轉(zhuǎn)發(fā)幀
      • 利用CSMA/CD訪問鏈路,發(fā)送幀
    • 透明(transparent)
      • 主機感知不到交換機的存在
    • 即插即用(plug-and-play)
    • 自學(xué)習(xí)(self-learning)
      • 交換機無需配置

    交換機: 多端口間同時傳輸

    注意:下面的圖中用英文字母簡單代替MAC地址以便描述。

    • 主機利用獨享(dedicated) 鏈路直接連接交換機
    • 交換機緩存幀
    • 交換機在每段鏈路上利用 CSMA/CD收發(fā)幀,但無 沖突,且可以全雙工
      • 每段鏈路一個獨立的沖突域
    • 交換(switching):A-A’與 B-B’的傳輸可以同時進行,沒有沖突

    交換機轉(zhuǎn)發(fā)表:交換表

    Q: 交換機怎么知道A’可以通過接口4到達,而B’可以通過接口5 到達?

    • A: 每個交換機有一個交換表 (switch table), 每個入口(entry):
      • (主機的MAC地址, 到達主機的接 口, 時間戳)
      • 看起來很像路由表!
    • Q: 交換表入口信息如何創(chuàng)建和 維護的那?
      • 類似于路由協(xié)議?

    交換機: 自學(xué)習(xí)

    • 交換機通過自學(xué)習(xí),獲知到達主機的接口信息
      • 當(dāng)收到幀時,交換機“學(xué)習(xí)”到發(fā)送幀的主機(通 過幀的源MAC地址),位于收到該幀的接口所連接 的LAN網(wǎng)段
      • 將發(fā)送主機MAC地址/接口信息記錄到交換表中

    交換機: 幀過濾/轉(zhuǎn)發(fā)

    當(dāng)交換機收到幀:

  • 記錄幀的源MAC地址與輸入鏈路接口
  • 利用目的MAC地址檢索交換表
  • 自學(xué)習(xí)與轉(zhuǎn)發(fā)過程舉例

    • 目的MAC地址A’,位置未知: 泛洪
    • 目的MAC地址A,位置已知: 選擇性轉(zhuǎn)發(fā)

    交換機互聯(lián)

    • 交換機可以互聯(lián)

      Q:當(dāng)A向G發(fā)送幀時,S1怎么知道通過S4轉(zhuǎn)發(fā)?S4又怎么 知道通過S3轉(zhuǎn)發(fā)?
      A: 自學(xué)習(xí)!(工作過程與單一交換機情形相同!) (通過泛洪自學(xué)習(xí)。)

    多交換機自學(xué)習(xí)舉例

    假設(shè)C向H發(fā)送幀,H向C發(fā)送應(yīng)答幀

    Q:請給出S1, S2, S3, S4的交換表,并說明幀的轉(zhuǎn)發(fā)過程?

    組織機構(gòu)(Institutional)網(wǎng)絡(luò)

    9.2.3 交換機 vs. 路由器

    兩者均為存儲-轉(zhuǎn)發(fā)設(shè)備:

    • 路由器: 網(wǎng)絡(luò)層設(shè)備 (檢測 網(wǎng)絡(luò)層分組首部)
    • 交換機: 鏈路層設(shè)備 (檢測 鏈路層幀的首部)

    二者均使用轉(zhuǎn)發(fā)表:

    • 路由器: 利用路由算法(路 由協(xié)議)計算(設(shè)置), 依據(jù)IP地址
    • 交換機: 利用自學(xué)習(xí)、泛洪 構(gòu)建轉(zhuǎn)發(fā)表, 依據(jù)MAC地址

    9.2.4 網(wǎng)絡(luò)設(shè)備對比

    所謂 直通傳輸 指的是邊收邊發(fā)。

    9.2.5 虛擬局域網(wǎng)(VLAN)

    VLANs的研發(fā)動機

    考慮一下情形:

    • CS用戶遷移到EE,但是希望連接至CS交換機, 怎么辦?
    • 單一廣播域:
      • 所有第2層廣播流量(ARP, DHCP, 未知目的MAC地址 位置)必須穿越整個LAN
      • 安全/隱私、效率問題

    VLANs

    基于端口的VLAN

    • 流量隔離(traffic isolation): 去往/來自端口1-8的幀只到達端口1-8
      • 也可以基于MAC地址定義 VLAN, 而不是交換端口
    • 動態(tài)成員: 端口可以動態(tài)分 配給不同VLAN
      路由器
    • 在VLAN間轉(zhuǎn)發(fā): 通過路由(就像在 獨立的交換機之間) 實踐中,廠家會將交換機與路由器集成在一起

    跨越多交換機的VLAN

    • 多線纜連接
      • 每個線纜連接一個VLAN
    • 中繼端口(trunk port): 在跨越多個物理交換機定義的VLAN 承載幀
      • 為多VLAN轉(zhuǎn)發(fā)802.1幀容易產(chǎn)生歧義 (必須攜帶VLAN ID信息)
      • 802.1q協(xié)議為經(jīng)過中繼端口轉(zhuǎn)發(fā)的幀增加/去除額外的首部域

    802.1Q VLAN幀格式

    9.3 PPP協(xié)議

    9.3.1 點對點數(shù)據(jù)鏈路控制

    • 一個發(fā)送端,一個接收端,一條鏈路:比廣播 鏈路容易
      • 無需介質(zhì)訪問控制(Media Access Control)
      • 無需明確的MAC尋址
      • e.g., 撥號鏈路, ISDN鏈路
    • 常見的點對點數(shù)據(jù)鏈路控制協(xié)議:
      • HDLC: High Level Data Link Control
      • PPP (Point-to-Point Protocol)

    9.3.2 PPP設(shè)計需求[RFC 1557]

    • 組幀:將網(wǎng)絡(luò)層數(shù)據(jù)報封裝到數(shù)據(jù)鏈路層幀中
      • 可以同時承載任何網(wǎng)絡(luò)層協(xié)議分組(不僅IP數(shù)據(jù)報)
      • 可以向上層實現(xiàn)分用(多路分解)
    • 比特透明傳輸:數(shù)據(jù)域必須支持承載任何比特 模式
    • 差錯檢測:(無糾正)
    • 連接活性(connection liveness)檢測:檢測、并 向網(wǎng)絡(luò)層通知鏈路失效
    • 網(wǎng)絡(luò)層地址協(xié)商:端結(jié)點可以學(xué)習(xí)/配置彼此網(wǎng) 絡(luò)地址

    9.3.3 PPP無需支持的功能

    • 無需差錯糾正/恢復(fù)
    • 無需流量控制
    • 不存在亂序交付
    • 無需支持多點鏈路

    9.3.4 PPP數(shù)據(jù)幀

    • 標志(Flag): 定界符(delimiter)
    • 地址(Address): 無效(僅僅是一個選項)
    • 控制(Control): 無效;未來可能的多種控制域
    • 協(xié)議(Protocol): 上層協(xié)議 (eg, PPP-LCP, IP, IPCP, etc)
    • 信息(info): 上層協(xié)議分組數(shù)據(jù)
    • 校驗(check): CRC校驗,用于差錯檢測

    9.3.5 字節(jié)填充(Byte Stuffing)

    • “數(shù)據(jù)透明傳輸”需求: 數(shù)據(jù)域必須允許包含標志模式<01111110>
      • Q: 如何判斷該作為數(shù)據(jù)接收,還是作為標志處理?
    • 發(fā)送端: 在數(shù)據(jù)中的<01111110>和 <01111101>字節(jié)前添加額外的字節(jié) <01111101> (“填充(stuffs)”)
    • 接收端:
      • 單個字節(jié)<01111101>表示一個填充字節(jié)
      • 連續(xù)兩個字節(jié)<01111101>:丟棄第1個,第2個作為數(shù)據(jù)接收
      • 單個字節(jié)<01111110>: 標志字節(jié)
      • <01111110><01111101>字節(jié)表示此時的<01111110>是數(shù)據(jù)而不是標志

    9.3.6 PPP數(shù)據(jù)控制協(xié)議

    在交換網(wǎng)絡(luò)層數(shù)據(jù)之前,PPP數(shù)據(jù)鏈路兩端必須:

    • 配置PPP鏈路
      • 最大幀長
      • 身份認證(authentication)
      • etc.
    • 學(xué)習(xí)/配置網(wǎng)絡(luò)層信息
    • 對于IP協(xié)議: 通過交換IPCP 協(xié)議 (IP Control Protocol ) 報文 (IP分組首部的“上層 協(xié)議”字段取值: 8021),完成IP地址等相關(guān)信息配置
    • PPP協(xié)議狀態(tài):

    9.4 802.11無線局域網(wǎng)

    9.4.1 IEEE 802.11無線局域網(wǎng)

    • 802.11b
      • 2.4-2.5GHz免費頻段 (unlicensed spectrum)
      • 最高速率:11 Mbps
      • 物理層采用直接序列擴頻 (DSSS)技術(shù)
        • 所有主機使用相同的碼 片序列
    • 802.11a
      • 5-6 GHz頻段
      • 最高速率:54 Mbps
    • 802.11g
      • 2.4-2.5 GHz頻段
      • 最高速率:54 Mbps
    • 802.11n: 多天線(MIMO)
      • 2.4-2.5 GHz頻段
      • 最高速率:600 Mbps

    9.4.2 IEEE 802.11體系結(jié)構(gòu)

    • 無線主機與基站通信
      • 基站(base station) = 訪問點(access point-AP)
    • 基本服務(wù)集BSS(Basic Service Set),也稱為單元(cell)
      • 基礎(chǔ)設(shè)施網(wǎng)絡(luò)模式: ?
        • 無線主機
        • AP: 基站
    • 自組網(wǎng)(ad hoc)模式:
      • 只有主機

    9.4.3 802.11:信道與AP關(guān)聯(lián)

    • 802.11b: 2.4GHz-2.485GHz頻譜劃分為11個不同 頻率的信道
      • 每個AP選擇一個頻率(信道)
      • 存在干擾可能: 相鄰的AP可能選擇相同的信道!
    • 主機: 必須與某個AP關(guān)聯(lián)(associate)
      • 掃描信道,監(jiān)聽包含AP名稱(服務(wù)集標識符-SSID )和MAC地址的信標(beacon)幀
      • 選擇一個AP進行關(guān)聯(lián)
      • 可能需要進行身份認證
      • 典型情形:運行DHCP獲取IP地址等信息

    9.4.4 802.11AP關(guān)聯(lián):被動掃描與主動掃描

    • 被動掃描(scanning):
      • 各AP發(fā)送信標幀
      • 主機(H1)向選擇的AP發(fā)送關(guān)聯(lián)請求幀
      • AP向主機(H1)發(fā)送關(guān)聯(lián)響應(yīng)幀
    • 主動掃描:
      • 主機(H1)主動廣播探測請求幀 (Probe Request Frame)
      • AP發(fā)送探測響應(yīng)幀(Probe Response Frame)
      • 主機(H1)向選擇的AP發(fā)送關(guān)聯(lián)請求幀
      • AP向主機(H1)發(fā)送關(guān)聯(lián)響應(yīng)幀

    9.4.5 802.11:多路訪問控制

    • 避免沖突: 2+結(jié)點同時傳輸
    • 802.11: CSMA – 發(fā)送數(shù)據(jù)前監(jiān)聽信道
      • 避免與正在進行傳輸?shù)钠渌Y(jié)點沖突
    • 802.11: 不能像CSMA/CD那樣,邊發(fā)送、邊檢測沖突!
      • 無線信道很難實現(xiàn)
      • 無法偵聽到所有可能的沖突:隱藏站、信號衰落
      • 目標: 避免沖突(avoid collisions)-CSMA/C(ollision)A(voidance)

    9.4.6 IEEE 802.11 MAC協(xié)議: CSMA/CA

    • 802.11 sender
      1

      2

    • 802.11 receiver

    9.4.7 IEEE 802.11 MAC協(xié)議: CSMA/CA

    基本思想:允許發(fā)送端“預(yù)約”(reserve)信道,而不是隨機發(fā)送數(shù)據(jù)幀,從而避免長數(shù)據(jù)幀的沖突。

    • 發(fā)送端首先利用CSMA向BS發(fā)送一個很短的RTS (request-to-send)幀
      • RTS幀仍然可能彼此沖突 (但RTS幀很短)
    • BS廣播一個CTS(clear-to-send)幀作為對RTS的響應(yīng)
    • CTS幀可以被所有結(jié)點接收
      • 消除隱藏站影響
      • 發(fā)送端可以發(fā)送數(shù)據(jù)幀
      • 其他結(jié)點推遲發(fā)送

    9.4.8 沖突避免(CA): RTS-CTS交換

    9.4.9 IEEE 802.11 MAC幀

    • IEEE 802.11數(shù)據(jù)幀地址
      上圖中的4個address。
      • 802.11數(shù)據(jù)幀有4個地址字段
      • 地址4:用于自組網(wǎng)絡(luò)
      • 地址1~地址3:

      給一個例子說明地址1~地址3是如何起作用的:

    總結(jié)

    以上是生活随笔為你收集整理的计算机网络核心知识(中)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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