הגדרת BFD ל-Cloud Router

עם BFD (זיהוי העברה דו-כיוונית) ל-Cloud Router, אפשר לזהות במהירות הפסקות בנתיב ההעברה, כמו אירועי BGP up או down, וכך ליצור רשתות היברידיות עמידות יותר.

אפשר להגדיר BFD בסשנים של BGP לחיבורי VLAN. אין תמיכה ב-BFD בסשנים של BGP שהוגדרו למנהרות HA VPN או לנתב וירטואלי, שהוא חלק מ-Network Connectivity Center.

מידע נוסף על BFD זמין במאמר סקירה כללית של Bidirectional Forwarding Detection‏ (BFD) ל-Cloud Router, שכולל תיאורים מלאים של הגדרות וטיימרים של BFD.

לפני שמתחילים

gcloud

כדי להשתמש בדוגמאות של שורת הפקודה במדריך הזה:

  1. מתקינים או מעדכנים את הגרסה האחרונה של Google Cloud CLI.
  2. מגדירים אזור ותחום ברירת מחדל.

API

כדי להשתמש בדוגמאות ל-API במדריך הזה, צריך להגדיר גישה ל-API.

הוספת Cloud Router ל-Cloud Interconnect

לפני שמגדירים BFD, צריך להגדיר אחת מהאפשרויות הבאות לקישוריות, כולל הוספה של Cloud Router עם סשן BGP:

הגדרת BFD בסשן BGP קיים

אפשר להגדיר BFD בסשן BGP שהוגדר בעבר עבור צירוף ל-VLAN.

כדי להגדיר את הגדרות BFD בסשן BGP קיים, פועלים לפי השלבים הבאים.

המסוף

  1. נכנסים לדף Cloud Routers במסוף Google Cloud .

    מעבר אל Cloud Routers

  2. בוחרים את Cloud Router שרוצים לעדכן.

  3. בדף פרטי הנתב, בקטע סשנים של BGP, בוחרים את הסשן של BGP שרוצים לעדכן.

  4. בדף BGP session details, לוחצים על Edit.

  5. משלימים את כל ההגדרות שאינן קשורות ל-BFD.

  6. בקטע Bidirectional Forwarding Detection (זיהוי העברת נתונים דו-כיוונית), מגדירים את אפשרויות ה-BFD כמו שמתואר במאמר הגדרות וטיימרים של BFD.

    חובה: כדי להפעיל את BFD, צריך להגדיר את מצב האתחול של סשן BFD לערך active.

gcloud

מריצים את הפקודה update-bgp-peer:

gcloud compute routers update-bgp-peer ROUTER_NAME \
    --project=PROJECT_ID \
    --peer-name=PEER_NAME \
    --interface=INTERFACE \
    --ip-address=IP_ADDRESS \
    --peer-asn=PEER_ASN \
    --peer-ip-address=PEER_IP_ADDRESS \
    --region=REGION \
    --bfd-session-initialization-mode=BFD_SESSION_INITIALIZATION_MODE  \
    --bfd-min-receive-interval=BFD_MIN_RECEIVE_INTERVAL \
    --bfd-min-transmit-interval=BFD_MIN_TRANSMIT_INTERVAL \
    --bfd-multiplier=BFD_MULTIPLIER

מחליפים את מה שכתוב בשדות הבאים:

  • ROUTER_NAME: השם של Cloud Router
  • PROJECT_ID: הפרויקט שמכיל את Cloud Router
  • PEER_NAME: השם של עמית ה-BGP
  • INTERFACE: השם של הממשק של עמית ה-BGP הזה
  • IP_ADDRESS: כתובת ה-IP של Cloud Router
  • PEER_ASN: מספר המערכת האוטונומית (ASN) של BGP עבור הקישור הזה בין רשתות שכנות באמצעות BGP
  • PEER_IP_ADDRESS: כתובת ה-link-local של נתב ה-peer ששייך לטווח 169.254.0.0/16
  • REGION: האזור שבו נמצא Cloud Router
  • מגדירים את האפשרויות של BFD כמו שמתואר במאמר בנושא הגדרות וטיימרים של BFD.

    חובה: כדי להפעיל את BFD, מגדירים את BFD_SESSION_INITIALIZATION_MODE לערך active.

API

משתמשים בשיטה routers.patch כדי לעדכן את השדה bgpPeers[].bfd.

בשדה bgpPeers[] מזינים מערך של רשתות BGP שכנות. כשPATCHאת השדה הזה, מחליפים את מערך עמיתי ה-BGP הקיים במערך החדש שכלול בבקשה.

  1. שליחת בקשת GET כדי לקבל את המערך הנוכחי של עמיתי BGP עבור הנתב. פרטים נוספים מופיעים במאמר בנושא הצגת ההגדרות של סשן BGP.

  2. שולחים בקשת PATCH עם מערך חדש של עמיתי BGP. ברכיב המערך שמכיל את סשן ה-BGP שהגדרות ה-BFD שלו רוצים לעדכן, משנים את השדה bgpPeers[].bfd:

       PATCH https://compute.googleapis.com/compute/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
       {
         "bgpPeers": [
           BGP_PEERS
         ]
       }
    

    מחליפים את מה שכתוב בשדות הבאים:

    • PROJECT_ID: הפרויקט שמכיל את Cloud Router
    • REGION: האזור שבו נמצא Cloud Router
    • ROUTER_NAME: השם של Cloud Router
    • BGP_PEERS: התוכן של המערך החדש של עמיתי BGP

    בדוגמה הבאה יש שני עמיתי BGP והערכים מוגדרים בשדה bgpPeers[].bfd. מידע נוסף על האפשרויות האלה זמין במאמר בנושא הגדרות וטיימרים של BFD.

    חובה: כדי להפעיל את BFD, מגדירים את sessionInitializationMode לערך ACTIVE.

        {
          "name": "peer-1",
          "interfaceName": "if-peer-1",
          "ipAddress": "169.254.10.1",
          "peerIpAddress": "169.254.10.2",
          "peerAsn": 64512,
          "advertisedRoutePriority": 100,
          "advertiseMode": "DEFAULT"
          "bfd": {
            "sessionInitializationMode": ACTIVE,
            "minTransmitInterval": 1000,
            "minReceiveInterval": 1000,
            "multiplier": 5
          }
        },
        {
          "name": "peer-2",
          "interfaceName": "if-peer-2",
          "ipAddress": "169.254.20.1",
          "peerIpAddress": "169.254.20.2",
          "peerAsn": 64513,
          "advertisedRoutePriority": 99,
          "advertiseMode": "DEFAULT"
          "bfd": {
            "sessionInitializationMode": ACTIVE,
            "minTransmitInterval": 1000,
            "minReceiveInterval": 1000,
            "multiplier": 5
          }
        }
    

הגדרת BFD בנתב העמית

כדי להפעיל BFD בנתב העמיתים, משתמשים בהגדרות ובפקודות המומלצות של הספק כדי להגדיר את הפרטים הבאים:

  • מרווח שידור מינימלי
  • מרווח הזמן המינימלי לקבלת נתונים
  • מכפיל הזיהוי

מומלץ להשאיר את הערכים של פרמטרים BFD זהים לערכים התואמים של Cloud Router.

כשמגדירים את מרווחי הזמן לזיהוי BFD, חשוב להביא בחשבון את הנקודות הבאות:

  • במשא ומתן על טיימר BFD בין עמיתי BFD, העמית האיטי מבין השניים קובע את קצב השידור.

  • ‫Cloud Router תומך ב-1,000 אלפיות השנייה למינימום מרווחי הזמן transmit ו-receive.

    • אפשר להגדיר ערכים גבוהים יותר בנתב, וכך להאריך את המרווחים האפקטיביים של השידור והקבלה, ולא לקצר אותם.
  • המרווח הכולל לזיהוי BFD בצד המקבל הוא המכפלה של מכפיל הזיהוי של השולח ומרווח השידור האפקטיבי של השולח.

    • הערך המינימלי של המכפיל ב-Cloud Router הוא חמש.
  • מרווח השידור בפועל בנתב שווה ל-1,000 אלפיות השנייה או גדול ממנו, בגלל ערכים מוסכמים איטיים יותר בין Cloud Router לבין הנתב העמית. מרווח השידור המינימלי של Cloud Router הוא 1,000 אלפיות השנייה.

    • אם ההגדרה transmit interval נמוכה מ-1000ms בנתב, צריך להגדיר את המכפיל ל-5 לפחות.
    • אם ההגדרה transmit interval גדולה מ-1000ms, צריך להגדיר את המכפיל multiplier כך שמרווח הזמן transmit יהיה לפחות חמש שניות.

הדוגמה הבאה מציגה הגדרת BFD בנתב Cisco. דוגמאות נוספות להגדרות מופיעות במאמר שימוש בהגדרות של נתבים של צד שלישי עבור BFD.

  int range <physical interface>
    bfd interval 1000 min_rx 1000 multiplier 5

  router bgp <ASN>
    neighbor 169.254.33.6 fall-over bfd
    neighbor 169.254.44.6 fall-over bfd

אימות BFD בנתב העמית

אחרי שמגדירים את נתב ה-BGP, בודקים אם הסשן ל-Cloud Router פועל על ידי הצגת הפרטים של סשן ה-BFD.

  • בדוגמה הבאה מוצגת פקודה לנתב Cisco שמציגה את הסטטוס של סשן BFD:

    show bfd neighbors 169.254.44.6 details
    
  • פלט הפקודה אמור להיראות כמו בדוגמה הבאה:

    IPv4 Sessions
    NeighAddr                    LD/RD           RH/RS     State     Int
    169.254.44.6                 4212/2045617738 Up        Up        Tu503
    Session state is UP and not using echo function.
    Session Host: Software
    OurAddr: 169.254.44.5
    Handle: 4
    Local Diag: 0, Demand mode: 0, Poll bit: 0
    MinTxInt: 1000, MinRxInt: 1000, Multiplier: 5
    Received MinRxInt: 1000, Received Multiplier: 5
    Holddown (hits): 244(1), Hello (hits): 100(30409)
    Rx Count: 4562, Rx Interval (ms) min/max/avg: 10/1140/870 last: 56 ms ago
    Tx Count: 4475, Tx Interval (ms) min/max/avg: 10/1040/890 last: 64 ms ago
    Elapsed time watermarks: 4 4 (last: 4)
    Registered protocols: CEF BGP
    Uptime: 00:06:39
    Last packet: Version: 1                  - Diagnostic: 0
                 State bit: Up               - Demand bit: 0
                 Poll bit: 0                 - Final bit: 0
                 C bit: 0
                 Multiplier: 5               - Length: 24
                 My Discr.: 2045617738       - Your Discr.: 4212
                 Min tx interval: 1000     - Min rx interval: 1000
                 Min Echo interval: 0
    
  • בדוגמה הזו של פלט מנתב עמית של Cisco ASR מוצגות פרטי האבחון שאפשר לראות בצד העמית כדי לקבוע את הסטטוס של סשן ה-BFD:

    14:06:12.906921 IP (tos 0xc0, ttl 255, id 58754, offset 0, flags [none], proto UDP (17), length 52)
      169.254.44.5.49152 > 169.254.44.6.3784: [udp sum ok] BFDv1, length: 24
    Control, State Down, Flags: [none], Diagnostic: No Diagnostic (0x00)
    Detection Timer Multiplier: 5 (5000 ms Detection time), BFD Length: 24
    My Discriminator: 0x0000100b, Your Discriminator: 0x00000000
      Desired min Tx Interval:    1000 ms
      Required min Rx Interval:   1000 ms
      Required min Echo Interval:  100 ms
    

אימות BFD ב-Cloud Router

כדי לאמת את סשן ה-BFD בצד Google Cloud , משתמשים באחת מהשיטות הבאות:

המאמרים הבאים