| vtep(5) | راهنمای Open vSwitch | vtep(5) |
نام (NAME)
vtep - طرحواره پایگاهداده hardware_vtep
این طرحواره روابطی را مشخص میکند که یک VTEP میتواند از آنها برای ادغام درگاههای فیزیکی در سوئیچهای منطقی نگهداریشده توسط یک کنترلکننده مجازیسازی شبکه مانند NSX استفاده کند.
واژهنامه:
- VTEP
- نقطه پایانی تونل VXLAN (مخفف VXLAN Tunnel End Point)، موجودیتی که تونلهای VXLAN را ایجاد و/یا خاتمه میدهد.
- HSC
- کنترلکننده سوئیچ سختافزاری (Hardware Switch Controller).
- NVC
- کنترلکننده مجازیسازی شبکه (Network Virtualization Controller)، مانند NSX.
- VRF
- نمونه مسیریابی و هدایت مجازی (Virtual Routing and Forwarding instance).
ستون مشترک (Common Column)
برخی جدولها شامل ستونی به نام other_config هستند. این ستون در هر جایی که ظاهر میشود، ساختار و هدف یکسانی دارد، بنابراین برای صرفهجویی در فضا آن را در اینجا شرح میدهیم.
- other_config: نگاشتی از جفتهای string-string
- جفتهای کلید-مقدار برای پیکربندی ویژگیهای کمکاربرد یا اختصاصی.
- برخی جدولها ستون other_config ندارند زیرا هنوز هیچ جفت کلید-مقداری برای آنها تعریف نشده است.
خلاصه جدولها (TABLE SUMMARY)
فهرست زیر هدف هر یک از جدولهای موجود در پایگاهداده hardware_vtep را خلاصه میکند. هر جدول در صفحات بعدی با جزئیات بیشتر شرح داده شده است.
- جدول
- هدف
- Global
- پیکربندی
سطح بالا.
- Manager
- اتصال
مدیریتی OVSDB.
- Physical_Switch
- یک سوئیچ
فیزیکی.
- Tunnel
- یک تونل
ایجاد شده
توسط یک
سوئیچ
فیزیکی.
- Physical_Port
- یک درگاه
درون یک
سوئیچ
فیزیکی.
- Logical_Binding_Stats
- آمار مربوط
به یک VLAN روی
یک درگاه
فیزیکی
متصل به یک
شبکه منطقی.
- Logical_Switch
- یک دامنه
لایه ۲ (layer-2 domain).
- Ucast_Macs_Local
- آدرسهای MAC
تکپخشی
(محلی)
- Ucast_Macs_Remote
- آدرسهای MAC
تکپخشی
(دورست)
- Mcast_Macs_Local
- آدرسهای MAC
چندپخشی
(محلی)
- Mcast_Macs_Remote
- آدرسهای MAC
چندپخشی
(دورست)
- Logical_Router
- یک مسیریاب
L3 منطقی.
- Arp_Sources_Local
- آدرسهای
مبدأ ARP برای
مسیریابهای
منطقی
- Arp_Sources_Remote
- آدرسهای
مبدأ ARP برای
مسیریابهای
منطقی
- Physical_Locator_Set
- پیکربندی
Physical_Locator_Set.
- Physical_Locator
- پیکربندی
Physical_Locator.
- ACL_entry
- پیکربندی
ACL_entry.
- ACL
- پیکربندی ACL.
جدول Global (Global TABLE)
پیکربندی سطح بالا برای یک VTEP سختافزاری. دقیقاً باید یک رکورد در جدول Global وجود داشته باشد.
خلاصه (Summary):
- switches
- مجموعهای
از Physical_Switchها
- پیکربندی پایگاهداده (Database Configuration):
- managers
- مجموعهای از Managerها
- ستون مشترک (Common Column):
- other_config
- نگاشتی از جفتهای string-string
جزئیات (Details):
- switches: مجموعهای از Physical_Switchها
- سوئیچ یا سوئیچهای فیزیکی مدیریتشده توسط VTEP.
- هنگامی که یک سوئیچ فیزیکی پشتیبانی از این طرحواره VTEP را ادغام میکند، که انتظار میرود رایجترین حالت باشد، این ستون باید به یک رکورد Physical_Switch اشاره کند که خود سوئیچ را نشان میدهد. در یک پیادهسازی ممکن دیگر، یک سرور یا یک ماشین مجازی یک رابط فرانتاند طرحواره VTEP را به یک یا چند سوئیچ فیزیکی ارائه میدهد و احتمالاً از طریق یک پروتکل اختصاصی با آن سوئیچهای فیزیکی ارتباط برقرار میکند. در آن حالت، این ستون برای هر سوئیچ فیزیکی به یک Physical_Switch اشاره میکند و ممکن است این مجموعه در طول زمان با تغییر سوئیچهای تحت پوشش سرور فرانتاند، تغییر کند.
این ستونها اساساً سرور پایگاهداده (ovsdb-server) را پیکربندی میکنند، نه خود VTEP سختافزاری را.
- managers: مجموعهای از Managerها
- کلاینتهای پایگاهداده که سرور پایگاهداده باید به آنها متصل شود یا به آنها گوش دهد، همراه با گزینههایی برای نحوه پیکربندی این اتصالها. برای اطلاعات بیشتر جدول Manager را ببینید.
هدف کلی این ستون تحت عنوان ستون مشترک در ابتدای این سند شرح داده شده است.
جدول Manager (Manager TABLE)
پیکربندی برای یک اتصال پایگاهداده به یک کلاینت پایگاهداده Open vSwitch (OVSDB).
سرور پایگاهداده میتواند اتصالهای فعال به کلاینتهای دوردست را برقرار و نگهداری کند. همچنین میتواند برای اتصالهای پایگاهداده به گوش بایستد.
خلاصه (Summary):
- ویژگیهای اصلی (Core Features):
- target
- رشته (باید در جدول یکتا باشد)
- تشخیص و مدیریت خطای کلاینت (Client Failure Detection and Handling):
- max_backoff
- عدد صحیح
اختیاری،
حداقل
۱٬۰۰۰
- inactivity_probe
- عدد صحیح اختیاری
- وضعیت (Status):
- is_connected
- بولی (boolean)
- status : last_error
- رشته
اختیاری
- status : state
- رشته
اختیاری،
یکی از ACTIVE،
BACKOFF، CONNECTING، IDLE
یا VOID
- status : sec_since_connect
- رشته
اختیاری،
حاوی یک عدد
صحیح،
حداقل ۰
- status : sec_since_disconnect
- رشته
اختیاری،
حاوی یک عدد
صحیح،
حداقل ۰
- status : locks_held
- رشته
اختیاری
- status : locks_waiting
- رشته
اختیاری
- status : locks_lost
- رشته
اختیاری
- status : n_connections
- رشته اختیاری، حاوی یک عدد صحیح، حداقل ۲
- پارامترهای اتصال (Connection Parameters):
- other_config : dscp
- رشته اختیاری، حاوی یک عدد صحیح
جزئیات (Details):
- target: رشته (باید در جدول یکتا باشد)
- روش اتصال برای مدیران (managers).
- روشهای اتصال زیر در حال حاضر پشتیبانی میشوند:
- ssl:host[:port]
- درگاه SSL/TLS مشخصشده (port، پیشفرض: 6640) روی host دادهشده، که میتواند یک نام DNS (در صورت ساخت با کتابخانه unbound) یا یک آدرس IP باشد.
- پیکربندی کلید و گواهی SSL/TLS خارج از پایگاهداده انجام میشود.
- tcp:host[:port]
- درگاه TCP مشخصشده (port، پیشفرض: 6640) روی host دادهشده، که میتواند یک نام DNS (در صورت ساخت با کتابخانه unbound) یا یک آدرس IP باشد.
- pssl:[port][:host]
- برای اتصالهای SSL/TLS روی درگاه TCP مشخصشده (port، پیشفرض: 6640) گوش میدهد. اگر host، که میتواند یک نام DNS (در صورت ساخت با کتابخانه unbound) یا یک آدرس IP باشد مشخص شود، اتصالها به آدرس IP محلی حلشده یا مشخصشده محدود میشوند.
- ptcp:[port][:host]
- برای اتصالها روی درگاه TCP مشخصشده (port، پیشفرض: 6640) گوش میدهد. اگر host، که میتواند یک نام DNS (در صورت ساخت با کتابخانه unbound) یا یک آدرس IP باشد مشخص شود، اتصالها به آدرس IP محلی حلشده یا مشخصشده محدود میشوند.
- max_backoff: عدد صحیح اختیاری، حداقل ۱٬۰۰۰
- حداکثر تعداد میلیثانیهها برای انتظار بین تلاشهای اتصال. مقدار پیشفرض وابسته به پیادهسازی است.
- inactivity_probe: عدد صحیح اختیاری
- حداکثر مدت زمان بیکاری (بر حسب میلیثانیه) روی اتصال به کلاینت قبل از ارسال پیام کاوش عدم فعالیت. اگر پایگاهداده Open vSwitch برای تعداد ثانیههای مشخصشده با کلاینت ارتباط برقرار نکند، یک پیام کاوش ارسال میکند. اگر در مدت زمان اضافی مشابه پاسخی دریافت نشود، سرور پایگاهداده فرض میکند که اتصال قطع شده است و برای اتصال مجدد تلاش میکند. مقدار پیشفرض وابسته به پیادهسازی است. مقدار 0 کاوشهای عدم فعالیت را غیرفعال میکند.
- is_connected: بولی (boolean)
- اگر در حال حاضر به این مدیر متصل باشد true و در غیر این صورت false است.
- status : last_error: رشته اختیاری
- توضیحی خوانا برای انسان از آخرین خطای رخداده در اتصال به مدیر؛ یعنی strerror(errno). این کلید تنها در صورتی وجود خواهد داشت که خطایی رخ داده باشد.
- status : state: رشته اختیاری، یکی از ACTIVE، BACKOFF، CONNECTING، IDLE یا VOID
- وضعیت اتصال به مدیر:
- VOID
- اتصال غیرفعال است.
- BACKOFF
- تلاش برای اتصال مجدد با دوره زمانی افزایشی.
- CONNECTING
- در حال تلاش برای اتصال.
- ACTIVE
- متصل است، میزبان دوردست پاسخگو است.
- IDLE
- اتصال بیکار است. در انتظار پاسخ به keep-alive.
- این مقادیر ممکن است در آینده تغییر کنند. آنها صرفاً برای استفاده انسان ارائه شدهاند.
- status : sec_since_connect: رشته اختیاری، حاوی یک عدد صحیح، حداقل ۰
- مدت زمان سپریشده از آخرین اتصال موفق این مدیر به پایگاهداده (به ثانیه). اگر مدیر هرگز با موفقیت متصل نشده باشد، این مقدار خالی است.
- status : sec_since_disconnect: رشته اختیاری، حاوی یک عدد صحیح، حداقل ۰
- مدت زمان سپریشده از آخرین قطع اتصال این مدیر از پایگاهداده (به ثانیه). اگر مدیر هرگز قطع اتصال نداشته باشد، این مقدار خالی است.
- status : locks_held: رشته اختیاری
- فهرستی از نامهای قفلهای OVSDB که اتصال در اختیار دارد، جداشده با فاصله. اگر اتصال هیچ قفلی در اختیار نداشته باشد، حذف میشود.
- status : locks_waiting: رشته اختیاری
- فهرستی از نامهای قفلهای OVSDB که اتصال در حال حاضر منتظر دریافت آنها است، جداشده با فاصله. اگر اتصال منتظر هیچ قفلی نباشد، حذف میشود.
- status : locks_lost: رشته اختیاری
- فهرستی از نامهای قفلهای OVSDB که توسط یک کلاینت OVSDB دیگر از این اتصال ربوده شده است، جداشده با فاصله. اگر هیچ قفلی از این اتصال ربوده نشده باشد، حذف میشود.
- status : n_connections: رشته اختیاری، حاوی یک عدد صحیح، حداقل ۲
- هنگامی که target یک روش اتصال را مشخص میکند که برای اتصالهای ورودی گوش میدهد (مانند ptcp: یا pssl:) و بیش از یک اتصال فعال باشد، این مقدار نشاندهنده تعداد اتصالهای فعال است. در غیر این صورت، این جفت کلید-مقدار حذف میشود.
- هنگامی که چندین اتصال فعال هستند، ستونهای وضعیت و جفتهای کلید-مقدار (به جز این مورد) وضعیت یکی از اتصالها را به صورت دلخواه گزارش میدهند.
پیکربندی اضافی برای اتصال بین مدیر و سرور پایگاهداده.
- other_config : dscp: رشته اختیاری، حاوی یک عدد صحیح
- کد نقطه تمایز سرویس (DSCP) با استفاده از ۶ بیت در فیلد نوع سرویس (TOS) در هدر IP مشخص میشود. مقدار DSCP سازوکاری برای دستهبندی ترافیک شبکه و ارائه کیفیت خدمات (QoS) در شبکههای IP فراهم میکند. مقدار DSCP مشخصشده در اینجا هنگام برقراری اتصال بین مدیر و سرور پایگاهداده استفاده میشود. اگر مقداری مشخص نشود، مقدار پیشفرض 48 انتخاب میشود. مقادیر معتبر DSCP باید در محدوده 0 تا 63 باشند.
جدول Physical_Switch (Physical_Switch TABLE)
یک سوئیچ فیزیکی که یک VTEP را پیادهسازی میکند.
خلاصه (Summary):
- management_ips
- مجموعهای
از رشتهها
- tunnel_ips
- مجموعهای از رشتهها
- شناسایی (Identification):
- name
- رشته (باید
در جدول
یکتا باشد)
- description
- رشته
- اعلان خطا (Error Notification):
- switch_fault_status : mac_table_exhaustion
- هیچ (none)
- switch_fault_status : tunnel_exhaustion
- هیچ (none)
- switch_fault_status : lr_switch_bindings_fault
- هیچ (none)
- switch_fault_status : lr_static_routes_fault
- هیچ (none)
- switch_fault_status : lr_creation_fault
- هیچ (none)
- switch_fault_status : lr_support_fault
- هیچ (none)
- switch_fault_status : unspecified_fault
- هیچ (none)
- switch_fault_status : unsupported_source_node_replication
- هیچ (none)
- ستون مشترک (Common Column):
- other_config
- نگاشتی از جفتهای string-string
جزئیات (Details):
- ports: مجموعهای از Physical_Portها
- درگاههای فیزیکی درون سوئیچ.
- tunnels: مجموعهای از Tunnelها
- تونلهای ایجاد شده توسط این سوئیچ طبق دستور NVC.
- management_ips: مجموعهای از رشتهها
- آدرسهای IPv4 یا IPv6 که سوئیچ ممکن است برای اهداف مدیریتی در آنها در دسترس باشد.
- tunnel_ips: مجموعهای از رشتهها
- آدرسهای IPv4 یا IPv6 که سوئیچ ممکن است روی آنها تونلها را ایجاد کرده یا خاتمه دهد.
- این ستون در نظر گرفته شده است تا به یک Manager اجازه دهد Physical_Switch خاتمهدهنده تونلِ نمایش دادهشده توسط یک Physical_Locator را تعیین کند.
- name: رشته (باید در جدول یکتا باشد)
- نام نمادین برای سوئیچ، مانند نام میزبان (hostname) آن.
- description: رشته
- توضیحات تکمیلی برای سوئیچ، مانند بنر ورود به سوئیچ.
یک ورودی در این ستون به NVC نشان میدهد که این سوئیچ با خطا مواجه شده است. سوئیچ باید هنگام برطرف شدن خطا این ستون را پاک کند.
- switch_fault_status : mac_table_exhaustion: هیچ
- نشان میدهد که سوئیچ به دلیل کمبود منابع جدول، قادر به پردازش ورودیهای MAC درخواستشده توسط NVC نبوده است.
- switch_fault_status : tunnel_exhaustion: هیچ
- نشان میدهد که سوئیچ به دلیل کمبود منابع، قادر به ایجاد تونلهای درخواستشده توسط NVC نبوده است.
- switch_fault_status : lr_switch_bindings_fault: هیچ
- نشان میدهد که سوئیچ به دلیل پیکربندیهای متناقض یا کمبود منابع سختافزاری، قادر به ایجاد رابطهای مسیریاب منطقیِ درخواستشده توسط NVC نبوده است.
- switch_fault_status : lr_static_routes_fault: هیچ
- نشان میدهد که سوئیچ به دلیل پیکربندیهای متناقض یا کمبود منابع سختافزاری، قادر به ایجاد مسیرهای ایستا درخواستشده توسط NVC نبوده است.
- switch_fault_status : lr_creation_fault: هیچ
- نشان میدهد که سوئیچ به دلیل پیکربندیهای متناقض یا کمبود منابع سختافزاری، قادر به ایجاد مسیریاب منطقی درخواستشده توسط NVC نبوده است.
- switch_fault_status : lr_support_fault: هیچ
- نشان میدهد که سوئیچ از مسیریابی منطقی پشتیبانی نمیکند.
- switch_fault_status : unspecified_fault: هیچ
- نشان میدهد که خطایی در سوئیچ رخ داده است اما اطلاعات دقیقتری در دسترس نیست.
- switch_fault_status : unsupported_source_node_replication: هیچ
- نشان میدهد که حالت تکثیر گره مبدأ درخواستشده توسط سوئیچ فیزیکی قابل پشتیبانی نیست؛ این به طور خاص در این زمینه بدین معناست که سوئیچ فیزیکی توانایی پشتیبانی از حالت تکثیر گره مبدأ را ندارد. این خطا زمانی رخ میدهد که یک کنترلکننده تلاش میکند حالت تکثیر گره مبدأ را برای یکی از سوئیچهای منطقی که سوئیچ فیزیکی زمینه (context) آن را نگه میدارد، تنظیم کند. کنترلکننده NVC که این خطا را مشاهده میکند باید اقدام مناسب را انجام دهد (برای مثال بازگرداندن سوئیچ منطقی به حالت تکثیر گره سرویس). توصیه میشود که یک NVC پیشدستانه عمل کند و پشتیبانی از تکثیر گره مبدأ را با استفاده از یک سوئیچ منطقی آزمایشی روی گرههای سوئیچ فیزیکی vtep آزمایش کرده و سپس با تغییر حالت تکثیر به گره مبدأ در این سوئیچ منطقی، خطاها را بررسی کند. کنترلکننده NVC میتواند این قابلیت را به ازای هر سوئیچ فیزیکی vtep به خاطر بسپارد. استفاده از حالتهای تکثیر ترکیبی در یک سوئیچ منطقی معین توصیه نمیشود. حالت تکثیر گره سرویس یک نیازمندی اساسی محسوب میشود زیرا تنها نیازمند ارسال بسته به یک گره انتقال تکی است، از این رو انتظار نمیرود که سوئیچ عدم پشتیبانی از حالت گره سرویس را گزارش دهد.
هدف کلی این ستون تحت عنوان ستون مشترک در ابتدای این سند شرح داده شده است.
جدول Tunnel (Tunnel TABLE)
یک تونل ایجاد شده توسط یک Physical_Switch.
خلاصه (Summary):
- پیکربندی محلی BFD (BFD Local Configuration):
- bfd_config_local : bfd_dst_mac
- رشته
اختیاری
- bfd_config_local : bfd_dst_ip
- رشته اختیاری
- پیکربندی دوردست BFD (BFD Remote Configuration):
- bfd_config_remote : bfd_dst_mac
- رشته
اختیاری
- bfd_config_remote : bfd_dst_ip
- رشته اختیاری
- پارامترهای BFD (BFD Parameters):
- bfd_params : enable
- رشته
اختیاری،
یا true یا false
- bfd_params : min_rx
- رشته
اختیاری،
حاوی یک عدد
صحیح،
حداقل ۱
- bfd_params : min_tx
- رشته
اختیاری،
حاوی یک عدد
صحیح،
حداقل ۱
- bfd_params : decay_min_rx
- رشته
اختیاری،
حاوی یک عدد
صحیح
- bfd_params : forwarding_if_rx
- رشته
اختیاری،
یا true یا false
- bfd_params : cpath_down
- رشته
اختیاری،
یا true یا false
- bfd_params : check_tnl_key
- رشته اختیاری، یا true یا false
- وضعیت BFD (BFD Status):
- bfd_status : enabled
- رشته
اختیاری،
یا true یا false
- bfd_status : state
- رشته
اختیاری،
یکی از admin_down،
down، init یا up
- bfd_status : forwarding
- رشته
اختیاری،
یا true یا false
- bfd_status : diagnostic
- رشته
اختیاری
- bfd_status : remote_state
- رشته
اختیاری،
یکی از admin_down،
down، init یا up
- bfd_status : remote_diagnostic
- رشته
اختیاری
- bfd_status : info
- رشته اختیاری
جزئیات (Details):
- local: Physical_Locator
- نقطه پایانی تونل، محلی برای سوئیچ فیزیکی.
- remote: Physical_Locator
- نقطه پایانی تونل، دوردست نسبت به سوئیچ فیزیکی.
پروتکل BFD، تعریفشده در RFC 5880، امکان تشخیص نقطه به نقطه خرابیهای اتصال را با ارسال گاهبهگاه پیامهای کنترلی BFD فراهم میکند. از VTEPها انتظار میرود BFD را پیادهسازی کنند.
پروتکل BFD با ارسال منظم پیامهای کنترلی BFD با نرخی که به طور مستقل در هر جهت توافق میشود، کار میکند. هر نقطه پایانی نرخی را که انتظار دارد پیامهای کنترلی را دریافت کند و نرخی را که مایل به ارسال آنها است، مشخص میکند. نقطهای پایانی که برای مدت سه برابر نرخ دریافت مورد انتظار موفق به دریافت پیامهای کنترلی BFD نشود، نقص اتصال را اعلام میکند. در صورت بروز مشکل اتصال یکطرفه، سیستمی که پیامهای کنترلی BFD را دریافت نمیکند، مشکل را در پیامهایی که ارسال میکند به همتای خود اعلام خواهد کرد.
انتظار میرود یک VTEP سختافزاری از BFD برای تعیین دسترسیپذیری دستگاهها در انتهای تونلهایی که با آنها تبادل داده میکند، استفاده کند. این امر میتواند VTEP را قادر سازد تا از میان مجموعهای از گرههای سرویس ارائهدهنده دسترسیپذیری بالا (HA)، یک گره سرویس فعال را انتخاب کند. همچنین NVC را قادر میسازد تا وضعیت سلامت تونلها را گزارش کند.
در بسیاری از موارد، همتای BFD یک VTEP سختافزاری، یک نمونه Open vSwitch خواهد بود. پیادهسازی BFD در Open vSwitch با هدف انطباق کامل با نیازمندیهای ارائهشده در RFC 5880 طراحی شده است. سامانه Open vSwitch ویژگیهای اختیاری احراز هویت یا «Echo Mode» را پیادهسازی نمیکند.
کنترلکننده HSC جفتهای کلید-مقدار را در ستون bfd_config_local مینویسد تا پیکربندیهای محلی مورد استفاده برای نشستهای BFD در این تونل را مشخص کند.
- bfd_config_local : bfd_dst_mac: رشته اختیاری
- روی یک آدرس اترنت به فرمت xx:xx:xx:xx:xx:xx تنظیم میشود تا MAC مورد انتظار به عنوان مقصد برای بستههای BFD دریافتی تعیین شود. مقدار پیشفرض 00:23:20:00:00:01 است.
- bfd_config_local : bfd_dst_ip: رشته اختیاری
- روی یک آدرس IPv4 تنظیم میشود تا آدرس IP مورد انتظار به عنوان مقصد برای بستههای BFD دریافتی تعیین شود. مقدار پیشفرض 169.254.1.0 است.
ستون bfd_config_remote همتای دوردست ستون bfd_config_local است. کنترلکننده NVC جفتهای کلید-مقدار را در این ستون مینویسد.
- bfd_config_remote : bfd_dst_mac: رشته اختیاری
- روی یک آدرس اترنت به فرمت xx:xx:xx:xx:xx:xx تنظیم میشود تا MAC مقصد برای بستههای BFD ارسالی تعیین شود. مقدار پیشفرض 00:23:20:00:00:01 است.
- bfd_config_remote : bfd_dst_ip: رشته اختیاری
- روی یک آدرس IPv4 تنظیم میشود تا آدرس IP استفادهشده به عنوان مقصد برای بستههای BFD ارسالی تعیین شود. مقدار پیشفرض 169.254.1.1 است.
کنترلکننده NVC جفتهای کلید-مقدار را در ستون bfd_params تنظیم میکند تا BFD را فعال و پیکربندی کند.
- bfd_params : enable: رشته اختیاری، یا true یا false
- مقدار True برای فعال کردن BFD روی این Tunnel. اگر مشخص نشود، BFD به طور پیشفرض فعال نخواهد بود.
- bfd_params : min_rx: رشته اختیاری، حاوی یک عدد صحیح، حداقل ۱
- کوتاهترین بازه زمانی، بر حسب میلیثانیه، که این نشست BFD برای دریافت پیامهای کنترلی BFD پیشنهاد میدهد. نقطه پایانی دوردست ممکن است ارسال پیامها را با نرخ کمتری انتخاب کند. پیشفرض 1000 است.
- bfd_params : min_tx: رشته اختیاری، حاوی یک عدد صحیح، حداقل ۱
- کوتاهترین بازه زمانی، بر حسب میلیثانیه، که این نشست BFD مایل به ارسال پیامهای کنترلی BFD است. در صورتی که نقطه پایانی دوردست مایل به دریافت با سرعت مشخصشده نباشد، پیامها در عمل با نرخ کندتری ارسال خواهند شد. پیشفرض 100 است.
- bfd_params : decay_min_rx: رشته اختیاری، حاوی یک عدد صحیح
- یک بازه دریافت جایگزین بر حسب میلیثانیه که باید بزرگتر یا مساوی bfd_params:min_rx باشد. پیادهسازی باید در زمانی که ترافیک داده ورودی مشخصی در تونل وجود ندارد، از bfd_params:min_rx به bfd_params:decay_min_rx تغییر وضعیت دهد تا هزینه CPU و پهنای باند نظارت بر یک تونل بیکار را کاهش دهد. این ویژگی را میتوان با تنظیم مقدار 0 غیرفعال کرد. هر زمان که bfd_params:decay_min_rx یا bfd_params:min_rx تغییر کند، این ویژگی بازنشانی میشود.
- bfd_params : forwarding_if_rx: رشته اختیاری، یا true یا false
- هنگامی که true باشد، ترافیک دریافتشده در Tunnel برای نشان دادن قابلیت ورودی/خروجی (I/O) بسته استفاده میشود. بستههای کنترلی BFD همچنان ارسال و دریافت میشوند. حداقل یک بسته کنترلی BFD باید در هر بازه زمانی 100 * bfd_params:min_rx دریافت شود. در غیر این صورت، حتی در صورت دریافت ترافیک، مقدار bfd_params:forwarding برابر false خواهد بود.
- bfd_params : cpath_down: رشته اختیاری، یا true یا false
- تنظیم روی true برای اطلاع دادن به نقطه پایانی دوردست مبنی بر اینکه ترافیک نباید به این سیستم هدایت شود، به دلایلی غیر از خرابی اتصال در رابط تحت نظارت. دلیل اصلی معمول «قطعی مسیر متوالی (concatenated path down)» است، یعنی اتصالی فراتر از سیستم محلی قطع است. پیشفرض false است.
- bfd_params : check_tnl_key: رشته اختیاری، یا true یا false
- تنظیم روی true باعث میشود BFD فقط پیامهای کنترلی با کلید تونل صفر را بپذیرد. به طور پیشفرض، BFD پیامهای کنترلی با هر کلید تونلی را میپذیرد.
دستگاه VTEP جفتهای کلید-مقدار را در ستون bfd_status تنظیم میکند تا وضعیت BFD را در این تونل گزارش دهد. هنگامی که BFD با bfd_params:enable فعال نشده باشد، HSC تمام جفتهای کلید-مقدار را از bfd_status پاک میکند.
- bfd_status : enabled: رشته اختیاری، یا true یا false
- اگر نشست BFD با موفقیت فعال شده باشد، روی true تنظیم میشود. اگر VTEP نتواند از BFD پشتیبانی کند یا منابع کافی برای فعال کردن BFD در این تونل نداشته باشد، روی false تنظیم میشود. پس از تنظیم این مقدار روی false، کنترلکننده NVC نظارت BFD را در سمت دیگر تونل غیرفعال خواهد کرد.
- bfd_status : state: رشته اختیاری، یکی از admin_down، down، init یا up
- وضعیت نشست BFD را گزارش میدهد. در صورتی که UP باشد، نشست BFD کاملاً سالم و توافقشده است.
- bfd_status : forwarding: رشته اختیاری، یا true یا false
- گزارش میدهد که آیا نشست BFD معتقد است که از این Tunnel میتوان برای هدایت ترافیک استفاده کرد یا خیر. معمولاً این بدان معناست که نشست محلی وضعیت UP را اعلام میکند و سیستم دوردست نیز مشکلی مانند قطعی مسیر متوالی را اعلام نمیکند.
- bfd_status : diagnostic: رشته اختیاری
- یک کد تشخیصی که دلیل سیستم محلی برای آخرین تغییر در وضعیت نشست را مشخص میکند. پیامهای خطا در بخش 4.1 از [RFC 5880] تعریف شدهاند.
- bfd_status : remote_state: رشته اختیاری، یکی از admin_down، down، init یا up
- وضعیت نشست BFD نقطه پایانی دوردست را گزارش میدهد.
- bfd_status : remote_diagnostic: رشته اختیاری
- یک کد تشخیصی که دلیل سیستم دوردست برای آخرین تغییر در وضعیت نشست را مشخص میکند. پیامهای خطا در بخش 4.1 از [RFC 5880] تعریف شدهاند.
- bfd_status : info: رشته اختیاری
- پیام کوتاهی که اطلاعات بیشتری درباره وضعیت BFD ارائه میدهد (احتمالاً شامل دلایلی مبنی بر اینکه چرا BFD نتوانسته فعال شود).
جدول Physical_Port (Physical_Port TABLE)
یک درگاه درون یک Physical_Switch.
خلاصه (Summary):
- vlan_bindings
- نگاشتی از
جفتهای
integer-Logical_Switch، کلید
در محدوده ۰
تا ۴٬۰۹۵
- acl_bindings
- نگاشتی از
جفتهای
integer-ACL، کلید
در محدوده ۰
تا ۴٬۰۹۵
- vlan_stats
- نگاشتی از
جفتهای
integer-Logical_Binding_Stats،
کلید در
محدوده ۰ تا
۴٬۰۹۵
- شناسایی (Identification):
- name
- رشته
- description
- رشته
- اعلان خطا (Error Notification):
- port_fault_status : invalid_vlan_map
- هیچ (none)
- port_fault_status : invalid_ACL_binding
- هیچ (none)
- port_fault_status : unspecified_fault
- هیچ (none)
- ستون مشترک (Common Column):
- other_config
- نگاشتی از جفتهای string-string
جزئیات (Details):
- vlan_bindings: نگاشتی از جفتهای integer-Logical_Switch، کلید در محدوده ۰ تا ۴٬۰۹۵
- مشخص میکند که چگونه VLANها روی درگاه فیزیکی به سوئیچهای منطقی متصل میشوند. به عنوان مثال، اگر نگاشت حاوی یک جفت (VLAN, logical switch) باشد، بستهای که در آن VLAN به درگاه وارد میشود، متعلق به سوئیچ منطقی جفتشده در نظر گرفته میشود. مقدار صفر در فیلد VLAN به این معنی است که ترافیک بدون برچسب (untagged) روی درگاه فیزیکی به سوئیچ منطقی نگاشت میشود.
- acl_bindings: نگاشتی از جفتهای integer-ACL، کلید در محدوده ۰ تا ۴٬۰۹۵
- پیوست کردن فهرستهای کنترل دسترسی (ACLها) به درگاه فیزیکی. این ستون شامل نگاشتی از برچسبهای VLAN به ACLها است. اگر مقدار برچسب VLAN در نگاشت 0 باشد، به این معنی است که ACL با کل درگاه فیزیکی مرتبط است. مقادیر غیر صفر به این معنی است که ACL فقط باید روی بستههای حامل آن مقدار برچسب VLAN اعمال شود. سوئیچها لزوماً از تطبیق برچسب VLAN برای همه ACLها پشتیبانی نمیکنند، و اتصالهای ACL پشتیبانینشده باعث گزارش خطا میشوند. اتصال یک ACL به یک VLAN خاص و اتصال یک ACL به کل درگاه فیزیکی نباید در یک درگاه فیزیکی واحد ترکیب شوند. یعنی ترکیب کلیدهای صفر و غیر صفر در نگاشت توصیه نمیشود.
- vlan_stats: نگاشتی از جفتهای integer-Logical_Binding_Stats، کلید در محدوده ۰ تا ۴٬۰۹۵
- آمار مربوط به VLANهای متصل به سوئیچهای منطقی روی درگاه فیزیکی. پیادهسازیای که به طور کامل از چنین آماری پشتیبانی میکند، این ستون را با یک نگاشت برای هر VLAN که در vlan_bindings متصل شده است پر میکند. پیادهسازیای که از چنین آماری پشتیبانی نمیکند یا فقط به صورت جزئی پشتیبانی میکند، به ترتیب این ستون را پر نمیکند یا به صورت جزئی پر میکند. مقدار صفر در فیلد VLAN به ترافیک بدون برچسب روی درگاه فیزیکی اشاره دارد.
- name: رشته
- نام نمادین برای درگاه. نام باید در یک Physical_Switch معین یکتا باشد، اما پایگاهداده قادر به تحمیل این مورد نیست.
- description: رشته
- توضیحات تکمیلی برای درگاه.
یک ورودی در این ستون به NVC نشان میدهد که درگاه فیزیکی با خطا مواجه شده است. سوئیچ باید هنگام برطرف شدن خطا این ستون را پاک کند.
- port_fault_status : invalid_vlan_map: هیچ
- نشان میدهد که نگاشت VLAN به سوئیچ منطقی درخواستشده توسط کنترلکننده به دلیل تداخل با پیکربندی محلی نتوانسته توسط سوئیچ نمونهسازی (instantiate) شود.
- port_fault_status : invalid_ACL_binding: هیچ
- نشان میدهد که خطایی در ارتباط دادن یک ACL با یک درگاه رخ داده است.
- port_fault_status : unspecified_fault: هیچ
- نشان میدهد که خطایی در درگاه رخ داده است اما اطلاعات دقیقتری در دسترس نیست.
هدف کلی این ستون تحت عنوان ستون مشترک در ابتدای این سند شرح داده شده است.
جدول Logical_Binding_Stats (Logical_Binding_Stats TABLE)
آمار مربوط به Logical_Switch را که یک VLAN روی یک Physical_Port با آن مرتبط است، گزارش میدهد.
خلاصه (Summary):
- آمار (Statistics):
- packets_from_local
- عدد صحیح
- bytes_from_local
- عدد صحیح
- packets_to_local
- عدد صحیح
- bytes_to_local
- عدد صحیح
جزئیات (Details):
این آمار تنها بستههایی را شمارش میکند که اتصال برای آنها اعمال میشود.
- packets_from_local: عدد صحیح
- تعداد بستههای ارسالشده توسط Physical_Switch.
- bytes_from_local: عدد صحیح
- تعداد بایتها در بستههای ارسالشده توسط Physical_Switch.
- packets_to_local: عدد صحیح
- تعداد بستههای دریافتشده توسط Physical_Switch.
- bytes_to_local: عدد صحیح
- تعداد بایتها در بستههای دریافتشده توسط Physical_Switch.
جدول Logical_Switch (Logical_Switch TABLE)
یک سوئیچ اترنت منطقی، که پیادهسازی آن ممکن است در رسانههای فیزیکی و مجازی گسترش یابد و احتمالاً از طریق تونلها از دامنههای L3 عبور کند؛ یک دامنه منطقی لایه ۲؛ یک دامنه انتشار (broadcast domain) اترنت.
خلاصه (Summary):
- کلید تونل به ازای هر سوئیچ منطقی (Per Logical-Switch Tunnel Key):
- tunnel_key
- عدد صحیح اختیاری
- حالت تکثیر (Replication Mode):
- replication_mode
- رشته اختیاری، یا service_node یا source_node
- شناسایی (Identification):
- name
- رشته (باید
در جدول
یکتا باشد)
- description
- رشته
- ستون مشترک (Common Column):
- other_config
- نگاشتی از جفتهای string-string
جزئیات (Details):
پروتکلهای تونلزنی معمولاً فیلدی دارند که امکان تقسیم تونل به زیرتونلها را فراهم میکند: VXLAN دارای VNI است، GRE دارای key است، CAPWAP دارای WSI است و غیره. ما اینها را به طور کلی «کلیدهای تونل» مینامیم. با توجه به اینکه اصلاً نیاز به استفاده از کلید تونل وجود دارد، حداقل دو روش معقول برای تخصیص مقادیر آنها وجود دارد:
- •
- به ازای جفت Logical_Switch+Physical_Locator. یعنی به هر سوئیچ منطقی ممکن است یک کلید تونل متفاوت روی هر Physical_Locator اختصاص داده شود. این مدل انعطافپذیری بالایی دارد.
- در این مدل، Physical_Locator کلید تونل را حمل میکند. بنابراین، به ازای هر سوئیچ منطقیِ حملشده در یک مقصد IP مشخص، یک رکورد Physical_Locator وجود خواهد داشت.
- •
- به ازای هر Logical_Switch. یعنی هر تونل مرتبط با یک سوئیچ منطقی خاص، صرفنظر از Physical_Locator که تونل به آن آدرسدهی شده است، کلید تونل یکسانی را حمل میکند. این مدل ممکن است پیادهسازی سوئیچ را سادهتر کند زیرا الزامات کمتری را بر مسیر داده (datapath) سختافزاری تحمیل میکند.
- در این مدل، Logical_Switch کلید تونل را حمل میکند. بنابراین، به ازای هر مقصد IP یک رکورد Physical_Locator وجود خواهد داشت.
- tunnel_key: عدد صحیح اختیاری
- این ستون تنها در مدل «کلید تونل به ازای هر Logical_Switch» (به بالا مراجعه کنید) استفاده میشود، زیرا تنها در آن مدل یک کلید تونل مرتبط با یک سوئیچ منطقی وجود دارد.
- برای کپسولهسازی vxlan_over_ipv4، هنگامی که مدل کلید تونل به ازای هر Logical_Switch در حال استفاده است، این ستون مقدار VXLAN VNI است که یک سوئیچ منطقی را مشخص میکند. مقدار آن باید در محدوده 0 تا 16,777,215 باشد.
برای مدیریت ترافیک L2 برودکست، چندپخشی (multicast) و تکپخشی ناشناخته (unknown unicast)، بستهها را میتوان به تمام اعضای یک سوئیچ منطقی که توسط یک سوئیچ فیزیکی ارجاع داده شدهاند ارسال کرد. حالتهای مختلفی برای تکثیر بستهها وجود دارد. حالت پیشفرض تکثیر ارسال ترافیک به یک گره سرویس است که میتواند یک هایپروایزر، سرور یا اپلاینس باشد و اجازه میدهد تا گره سرویس تکثیر به سایر گرههای انتقال (هایپروایزرها یا سایر سوئیچهای فیزیکی VTEP) را مدیریت کند. این حالت، تکثیر گره سرویس (service node replication) نامیده میشود. یک حالت جایگزین تکثیر، به نام تکثیر گره مبدأ (source node replication)، شامل ارسال بسته توسط گره مبدأ به تمام گرههای انتقال دیگر است. هایپروایزرها در هر دو حالت همیشه مسئول انجام تکثیر خود برای ماشینهای مجازی متصل محلی هستند. حالت تکثیر گره سرویس پیشفرض است و یک نیاز اساسی محسوب میشود زیرا فقط نیاز به ارسال بسته به یک گره انتقال تکی دارد.
- replication_mode: رشته اختیاری، یا service_node یا source_node
- این ستون اختیاری حالت تکثیر را به ازای هر Logical_Switch تعریف میکند. ۲ مقدار معتبر وجود دارد: service_node و source_node. اگر ستون تنظیم نشده باشد، حالت تکثیر به طور پیشفرض روی service_node قرار میگیرد.
- name: رشته (باید در جدول یکتا باشد)
- نام نمادین برای سوئیچ منطقی.
- description: رشته
- توضیحات تکمیلی برای سوئیچ منطقی، مانند بنر ورود به سوئیچ.
هدف کلی این ستون تحت عنوان ستون مشترک در ابتدای این سند شرح داده شده است.
جدول Ucast_Macs_Local (Ucast_Macs_Local TABLE)
نگاشت آدرسهای MAC تکپخشی (unicast) به تونلها (مکانیابهای فیزیکی). این جدول توسط HSC نوشته میشود، بنابراین حاوی آدرسهای MAC است که روی درگاههای فیزیکی توسط یک VTEP یاد گرفته شدهاند.
خلاصه (Summary):
- MAC
- رشته
- logical_switch
- Logical_Switch
- locator
- Physical_Locator
- ipaddr
- رشته
جزئیات (Details):
- MAC: رشته
- یک آدرس MAC که توسط VTEP یاد گرفته شده است.
- logical_switch: Logical_Switch
- سوئیچ منطقی که این نگاشت برای آن اعمال میشود.
- locator: Physical_Locator
- مکانیاب فیزیکی که باید برای رسیدن به این آدرس MAC استفاده شود. در این جدول، مکانیاب فیزیکی یکی از آدرسهای IP تونل مربوط به VTEP مناسب خواهد بود.
- ipaddr: رشته
- آدرس IP که این MAC با آن مطابقت دارد. فیلد اختیاری به منظور فرونشانی ARP (یا ARP suppression).
جدول Ucast_Macs_Remote (Ucast_Macs_Remote TABLE)
نگاشت آدرسهای MAC تکپخشی (unicast) به تونلها (مکانیابهای فیزیکی). این جدول توسط NVC نوشته میشود، بنابراین شامل آدرسهای MAC است که NVC یاد گرفته است. اینها شامل آدرسهای MAC ماشینهای مجازی است که در این صورت مکانیابهای فیزیکی آدرسهای IP هایپروایزر خواهند بود. کنترلکننده NVC همچنین آدرسهای MAC را که از سایر HSCها در شبکه یاد گرفته است گزارش میدهد، که در این صورت مکانیابهای فیزیکی، آدرسهای IP تونل مربوط به VTEPهای متناظر خواهند بود.
خلاصه (Summary):
- MAC
- رشته
- logical_switch
- Logical_Switch
- locator
- Physical_Locator
- ipaddr
- رشته
جزئیات (Details):
- MAC: رشته
- یک آدرس MAC که توسط NVC یاد گرفته شده است.
- logical_switch: Logical_Switch
- سوئیچ منطقی که این نگاشت برای آن اعمال میشود.
- locator: Physical_Locator
- مکانیاب فیزیکی که باید برای دسترسی به این آدرس MAC استفاده شود. در این جدول، مکانیاب فیزیکی یا یک آدرس IP هایپروایزر یا یک آدرس IP تونل مربوط به یک VTEP دیگر خواهد بود.
- ipaddr: رشته
- آدرس IP که این MAC با آن مطابقت دارد. فیلد اختیاری به منظور فرونشانی ARP.
جدول Mcast_Macs_Local (Mcast_Macs_Local TABLE)
نگاشت آدرسهای MAC چندپخشی (multicast) به تونلها (مکانیابهای فیزیکی). این جدول توسط HSC نوشته میشود، بنابراین حاوی آدرسهای MAC است که روی درگاههای فیزیکی توسط یک VTEP یاد گرفته شدهاند. این موارد ممکن است به عنوان مثال از طریق IGMP snooping یاد گرفته شوند. این جدول همچنین نحوه مدیریت بستههای برودکست و تکپخشی ناشناخته را مشخص میکند.
خلاصه (Summary):
- MAC
- رشته
- logical_switch
- Logical_Switch
- locator_set
- Physical_Locator_Set
- ipaddr
- رشته
جزئیات (Details):
- MAC: رشته
- یک آدرس MAC که توسط VTEP یاد گرفته شده است.
- کلیدواژه unknown-dst به عنوان یک «آدرس اترنت» ویژه استفاده میشود که مکانهایی را مشخص میکند که بستهها در یک سوئیچ منطقی که آدرسهای مقصد آنها به شکل دیگری در Ucast_Macs_Local (برای آدرسهای تکپخشی) یا Mcast_Macs_Local (برای آدرسهای چندپخشی) ظاهر نمیشوند، باید به آنجا ارسال شوند.
- logical_switch: Logical_Switch
- سوئیچ منطقی که این نگاشت برای آن اعمال میشود.
- locator_set: Physical_Locator_Set
- مجموعه مکانیاب فیزیکی که باید برای دسترسی به این آدرس MAC استفاده شود. در این جدول، مجموعه مکانیاب فیزیکی شامل یک یا چند آدرس IP تونل مربوط به VTEP (یا VTEPهای) مناسب خواهد بود.
- ipaddr: رشته
- آدرس IP که این MAC با آن مطابقت دارد. فیلد اختیاری به منظور فرونشانی ARP.
جدول Mcast_Macs_Remote (Mcast_Macs_Remote TABLE)
نگاشت آدرسهای MAC چندپخشی (multicast) به تونلها (مکانیابهای فیزیکی). این جدول توسط NVC نوشته میشود، بنابراین شامل آدرسهای MAC است که NVC یاد گرفته است. این جدول همچنین نحوه مدیریت بستههای برودکست و تکپخشی ناشناخته را مشخص میکند.
تکثیر بستههای چندپخشی ممکن است توسط یک گره سرویس مدیریت شود که در این صورت مکانیابهای فیزیکی آدرسهای IP گرههای سرویس خواهند بود. اگر VTEP با استفاده از تکثیر گره مبدأ از تکثیر روی چندین تونل پشتیبانی کند، میتوان از آن برای تکثیر مستقیم روی تونلهای VTEP-hypervisor یا VTEP-VTEP استفاده کرد.
خلاصه (Summary):
- MAC
- رشته
- logical_switch
- Logical_Switch
- locator_set
- Physical_Locator_Set
- ipaddr
- رشته
جزئیات (Details):
- MAC: رشته
- یک آدرس MAC که توسط NVC یاد گرفته شده است.
- کلیدواژه unknown-dst به عنوان یک «آدرس اترنت» ویژه استفاده میشود که مکانهایی را مشخص میکند که بستهها در یک سوئیچ منطقی که آدرسهای مقصد آنها به شکل دیگری در Ucast_Macs_Remote (برای آدرسهای تکپخشی) یا Mcast_Macs_Remote (برای آدرسهای چندپخشی) ظاهر نمیشوند، باید به آنجا ارسال شوند.
- logical_switch: Logical_Switch
- سوئیچ منطقی که این نگاشت برای آن اعمال میشود.
- locator_set: Physical_Locator_Set
- مجموعه مکانیاب فیزیکی که باید برای دسترسی به این آدرس MAC استفاده شود. در این جدول، مجموعه مکانیاب فیزیکی یا مجموعهای از گرههای سرویس در زمان استفاده از تکثیر گره سرویس خواهد بود، یا مجموعهای از گرههای انتقال (تعریفشده به عنوان هایپروایزرها یا VTEPها) که در سوئیچ منطقی مرتبط مشارکت دارند، در زمان استفاده از تکثیر گره مبدأ. هنگامی که از تکثیر گره سرویس استفاده میشود، VTEP باید بستهها را به یک عضو از مجموعه مکانیاب که سالم و در دسترس بودن آن مشخص است (که میتواند توسط BFD تعیین شود) ارسال کند. هنگامی که از تکثیر گره مبدأ استفاده میشود، VTEP باید بستهها را به تمام اعضای مجموعه مکانیاب ارسال کند.
- ipaddr: رشته
- آدرس IP که این MAC با آن مطابقت دارد. فیلد اختیاری به منظور فرونشانی ARP.
جدول Logical_Router (Logical_Router TABLE)
یک مسیریاب منطقی یا VRF. یک مسیریاب منطقی ممکن است به یک یا چند سوئیچ منطقی متصل باشد. آدرسهای زیرشبکه و آدرسهای رابط را میتوان روی رابطها پیکربندی کرد.
خلاصه (Summary):
- switch_binding
- نگاشتی از
جفتهای
string-Logical_Switch
- static_routes
- نگاشتی از
جفتهای string-string
- acl_binding
- نگاشتی از
جفتهای string-ACL
- شناسایی (Identification):
- name
- رشته (باید
در جدول
یکتا باشد)
- description
- رشته
- اعلان خطا (Error Notification):
- LR_fault_status : invalid_ACL_binding
- هیچ (none)
- LR_fault_status : unspecified_fault
- هیچ (none)
- ستون مشترک (Common Column):
- other_config
- نگاشتی از جفتهای string-string
جزئیات (Details):
- switch_binding: نگاشتی از جفتهای string-Logical_Switch
- از یک پیشوند آدرس IPv4 یا IPv6 در نمادگذاری CIDR به یک سوئیچ منطقی نگاشت میشود. پیشوندهای متعدد ممکن است به یک سوئیچ نگاشت شوند. با نوشتن یک آدرس ۳۲ بیتی (یا ۱۲۸ بیتی برای v6) با طول پیشوند N/، هم آدرس رابط مسیریاب و هم پیشوند زیرشبکه قابل پیکربندی هستند. به عنوان مثال، 192.68.1.1/24 یک زیرشبکه 24/ برای سوئیچ منطقی متصل به رابط ایجاد میکند و آدرس 192.68.1.1 را به رابط مسیریاب اختصاص میدهد.
- static_routes: نگاشتی از جفتهای string-string
- یک یا چند مسیر ایستا که پیشوندهای IP را به آدرسهای IP گام بعدی (next hop) نگاشت میکند.
- acl_binding: نگاشتی از جفتهای string-ACL
- فهرستهای ACL را به رابطهای مسیریاب منطقی نگاشت میکند. رابطهای مسیریاب با استفاده از نمادگذاری آدرس IP مشخص میشوند و باید همان رابطهای ایجاد شده در ستون switch_binding باشند. به عنوان مثال، یک ACL میتواند با رابط مسیریاب منطقی با آدرس 192.68.1.1 مطابق با مثال تعریفشده در بالا مرتبط شود.
- name: رشته (باید در جدول یکتا باشد)
- نام نمادین برای مسیریاب منطقی.
- description: رشته
- توضیحات تکمیلی برای مسیریاب منطقی.
یک ورودی در این ستون به NVC نشان میدهد که HSC در پیکربندی وضعیت مربوط به مسیریاب منطقی با خطا مواجه شده است.
- LR_fault_status : invalid_ACL_binding: هیچ
- نشان میدهد که خطایی در مرتبط کردن یک ACL با یک درگاه مسیریاب منطقی رخ داده است.
- LR_fault_status : unspecified_fault: هیچ
- نشان میدهد که خطایی در پیکربندی مسیریاب منطقی رخ داده است اما اطلاعات دقیقتری در دسترس نیست.
هدف کلی این ستون تحت عنوان ستون مشترک در ابتدای این سند شرح داده شده است.
جدول Arp_Sources_Local (Arp_Sources_Local TABLE)
آدرس MAC مورد استفاده هنگامی که یک VTEP از طرف یک مسیریاب منطقی درخواستهای ARP ارسال میکند.
یک مسیریاب منطقی توزیعشده توسط مجموعهای از VTEPها (هم VTEPهای سختافزاری و هم vswitchها) پیادهسازی میشود. برای اینکه یک VTEP مشخص حافظه نهان ARP محلی را برای یک مسیریاب منطقی پر کند، درخواستهای ARP را با یک آدرس MAC مبدأ که برای آن VTEP یکتا است ارسال میکند. یک آدرس MAC تک به ازای هر VTEP میتواند در تمام شبکههای منطقی دوباره استفاده شود. این جدول حاوی MACهایی است که توسط VTEPهای یک HSC مشخص استفاده میشوند. این جدول نگاشت از MAC به مکانیاب فیزیکی را برای هر VTEP فراهم میکند تا پاسخهای مربوط به درخواستهای ARP بتوانند با استفاده از مکانیاب فیزیکی مناسب به VTEP درست ارسال شوند.
خلاصه (Summary):
جزئیات (Details):
- src_mac: رشته
- آدرس MAC مبدأ که باید توسط یک VTEP مشخص استفاده شود.
- locator: Physical_Locator
- عنصر Physical_Locator که باید برای پاسخ به درخواستهای ARP از این آدرس MAC استفاده شود.
جدول Arp_Sources_Remote (Arp_Sources_Remote TABLE)
آدرس MAC مورد استفاده هنگامی که یک VTEP دوردست از طرف یک مسیریاب منطقی درخواستهای ARP ارسال میکند.
این جدول همتای دوردست Arp_sources_local است. کنترلکننده NVC این جدول را مینویسد تا HSC را از آدرسهای MAC که توسط VTEPهای دوردست هنگام ارسال درخواستهای ARP از طرف یک مسیریاب منطقی توزیعشده استفاده میشوند، مطلع کند.
خلاصه (Summary):
جزئیات (Details):
- src_mac: رشته
- آدرس MAC مبدأ که باید توسط یک VTEP مشخص استفاده شود.
- locator: Physical_Locator
- عنصر Physical_Locator که باید برای پاسخ به درخواستهای ARP از این آدرس MAC استفاده شود.
جدول Physical_Locator_Set (Physical_Locator_Set TABLE)
مجموعهای از یک یا چند Physical_Locator.
این جدول فقط به این دلیل وجود دارد که OVSDB راهی برای بیان نوع «نگاشت از رشته به یک یا چند رکورد Physical_Locator» ندارد.
خلاصه (Summary):
- locators
- مجموعه تغییرناپذیر از ۱ یا چند Physical_Locator
جزئیات (Details):
جدول Physical_Locator (Physical_Locator TABLE)
یک نقطه پایانی را مشخص میکند که ترافیک سوئیچ منطقی ممکن است کپسولهسازی شده و به آن هدایت شود.
کپسولهسازی vxlan_over_ipv4، تنها کپسولهسازی تعریفشده تاکنون، میتواند از هر یک از مدلهای کلید تونل شرح دادهشده در بخش «کلید تونل به ازای هر سوئیچ منطقی» در جدول Logical_Switch استفاده کند. هنگامی که مدل کلید تونل به ازای هر Logical_Switch در حال استفاده است، ستون tunnel_key در جدول Logical_Switch با یک VNI پر میشود و ستون tunnel_key در این جدول خالی است؛ در مدل کلید به ازای هر تونل، عکس این موضوع صادق است. مدل اول قدیمیتر است و در نتیجه احتمالاً به طور گستردهتری پشتیبانی میشود. برای بررسی بیشتر مدل، بخش «کلید تونل به ازای هر سوئیچ منطقی» را در جدول Logical_Switch ببینید.
خلاصه (Summary):
- encapsulation_type
- رشته
تغییرناپذیر،
باید vxlan_over_ipv4
باشد
- dst_ip
- رشته
تغییرناپذیر
- tunnel_key
- عدد صحیح اختیاری
جزئیات (Details):
- encapsulation_type: رشته تغییرناپذیر، باید vxlan_over_ipv4 باشد
- نوع کپسولهسازی تونلزنی.
- dst_ip: رشته تغییرناپذیر
- برای کپسولهسازی vxlan_over_ipv4، آدرس IPv4 نقطه پایانی تونل VXLAN.
- ما انتظار داریم که این ستون بتواند برای آدرسهای IPv4 یا IPv6 در کپسولهسازیهایی که بعداً معرفی میشوند استفاده شود.
- tunnel_key: عدد صحیح اختیاری
- این ستون تنها در مدل «کلید تونل به ازای هر Logical_Switch+Physical_Locator» (به بالا مراجعه کنید) استفاده میشود.
- برای کپسولهسازی vxlan_over_ipv4، هنگامی که مدل Logical_Switch+Physical_Locator در حال استفاده است، این ستون همان VXLAN VNI است. مقدار آن باید در محدوده 0 تا 16,777,215 باشد.
جدول ACL_entry (ACL_entry TABLE)
ورودیهای تکی را که یک فهرست کنترل دسترسی (ACL) را تشکیل میدهند، توصیف میکند.
هر ورودی در جدول یک قانون واحد برای تطبیق روی فیلدهای هدر خاص است. در حالی که تعداد زیادی فیلد وجود دارد که میتوان روی آنها تطبیق انجام داد، اکثر سختافزارها نمیتوانند روی ترکیبات دلخواه از فیلدها تطبیق انجام دهند. تطبیق روی فیلدهای L2 (که در زیر در گروه ستونهای L2 شرح داده شده است) یا فیلدهای L3/L4 (گروه ستونهای L3/L4) و نه هر دو با هم، امری رایج است. در صورتی که یک ورودی ACL مستلزم تطبیق روی ترکیبی ناسازگار از فیلدها باشد، کنترلکننده سوئیچ سختافزاری ممکن است یک خطا را ثبت کند.
خلاصه (Summary):
- sequence
- عدد صحیح
- فیلدهای L2 (L2 fields):
- source_mac
- رشته
اختیاری
- dest_mac
- رشته
اختیاری
- ethertype
- رشته اختیاری
- فیلدهای L3/L4 (L3/L4 fields):
- source_ip
- رشته
اختیاری
- source_mask
- رشته
اختیاری
- dest_ip
- رشته
اختیاری
- dest_mask
- رشته
اختیاری
- protocol
- عدد صحیح
اختیاری
- source_port_min
- عدد صحیح
اختیاری
- source_port_max
- عدد صحیح
اختیاری
- dest_port_min
- عدد صحیح
اختیاری
- dest_port_max
- عدد صحیح
اختیاری
- tcp_flags
- عدد صحیح
اختیاری
- tcp_flags_mask
- عدد صحیح
اختیاری
- icmp_type
- عدد صحیح
اختیاری
- icmp_code
- عدد صحیح اختیاری
- acle_fault_status : invalid_acl_entry
- هیچ (none)
- acle_fault_status : unspecified_fault
- هیچ (none)
جزئیات (Details):
- sequence: عدد صحیح
- شماره ترتیب برای ورودی ACL به منظور مرتبسازی ورودیها در یک ACL. ورودیهای با شماره کمتر قبل از ورودیهای با شماره بالاتر تطبیق داده میشوند.
- source_mac: رشته اختیاری
- آدرس MAC مبدأ، به فرمت xx:xx:xx:xx:xx:xx
- dest_mac: رشته اختیاری
- آدرس MAC مقصد، به فرمت xx:xx:xx:xx:xx:xx
- ethertype: رشته اختیاری
- نوع Ethertype در مبنای شانزده، به فرمت 0xAAAA
- source_ip: رشته اختیاری
- آدرس IP مبدأ، به فرمت xx.xx.xx.xx برای IPv4 یا نمادگذاری هگزادسیمال مناسب جداشده با دونقطه برای IPv6.
- source_mask: رشته اختیاری
- ماسک مشخصکننده اینکه کدام بیتهای source_ip باید تطبیق داده شوند، به فرمت xx.xx.xx.xx برای IPv4 یا نمادگذاری هگزادسیمال مناسب جداشده با دونقطه برای IPv6.
- dest_ip: رشته اختیاری
- آدرس IP مقصد، به فرمت xx.xx.xx.xx برای IPv4 یا نمادگذاری هگزادسیمال مناسب جداشده با دونقطه برای IPv6.
- dest_mask: رشته اختیاری
- ماسک مشخصکننده اینکه کدام بیتهای dest_ip باید تطبیق داده شوند، به فرمت xx.xx.xx.xx برای IPv4 یا نمادگذاری هگزادسیمال مناسب جداشده با دونقطه برای IPv6.
- protocol: عدد صحیح اختیاری
- شماره پروتکل در هدر IPv4، یا مقدار فیلد «next header» در هدر IPv6.
- source_port_min: عدد صحیح اختیاری
- حد پایین بازه مقادیر درگاه مبدأ. مقدار مشخصشده در بازه گنجانده میشود.
- source_port_max: عدد صحیح اختیاری
- حد بالای بازه مقادیر درگاه مبدأ. مقدار مشخصشده در بازه گنجانده میشود.
- dest_port_min: عدد صحیح اختیاری
- حد پایین بازه مقادیر درگاه مقصد. مقدار مشخصشده در بازه گنجانده میشود.
- dest_port_max: عدد صحیح اختیاری
- حد بالای بازه مقادیر درگاه مقصد. مقدار مشخصشده در بازه گنجانده میشود.
- tcp_flags: عدد صحیح اختیاری
- عدد صحیحی که مقدار پرچمهای TCP را برای تطبیق نشان میدهد. به عنوان مثال، پرچم SYN دومین بیت کمارزش در پرچمهای TCP است. از این رو مقدار 2 نشان میدهد که پرچم «SYN» باید تنظیم شده باشد (با فرض یک ماسک مناسب).
- tcp_flags_mask: عدد صحیح اختیاری
- عدد صحیحی که ماسک مورد اعمال هنگام تطبیق پرچمهای TCP را نشان میدهد. به عنوان مثال، مقدار 2 به این معنی است که پرچم «SYN» باید تطبیق داده شود و سایر پرچمها نادیده گرفته شوند.
- icmp_type: عدد صحیح اختیاری
- نوع ICMP برای تطبیق.
- icmp_code: عدد صحیح اختیاری
- کد ICMP برای تطبیق.
- direction: رشته، یا egress یا ingress
- جهت ترافیک برای تطبیق روی درگاه مشخصشده، یا «ingress» (به سمت سوئیچ یا مسیریاب منطقی) یا «egress» (در حال خروج از سوئیچ یا مسیریاب منطقی).
- action: رشته، یا deny یا permit
- عملی که باید برای این قانون انجام شود، یا «permit» یا «deny».
یک ورودی در این ستون به NVC نشان میدهد که ACL طبق درخواست پیکربندی نشده است. سوئیچ باید هنگام برطرف شدن خطا این ستون را پاک کند.
- acle_fault_status : invalid_acl_entry: هیچ
- نشان میدهد که یک ورودی ACL درخواستشده توسط کنترلکننده نتوانسته توسط سوئیچ نمونهسازی شود، به عنوان مثال به این دلیل که نیازمند ترکیب پشتیبانینشدهای از فیلدها برای تطبیق است.
- acle_fault_status : unspecified_fault: هیچ
- نشان میدهد که خطایی در پیکربندی ورودی ACL رخ داده است اما اطلاعات دقیقتری در دسترس نیست.
جدول ACL (ACL TABLE)
جدول فهرست کنترل دسترسی (ACL). هر ACL به عنوان مجموعهای از ورودیها از جدول ACL_entry ساخته میشود. بستههایی که با هیچ ورودی در ACL مطابقت نداشته باشند، به طور پیشفرض مجاز دانسته میشوند.
خلاصه (Summary):
- acl_entries
- مجموعهای
از ۱ یا چند
ACL_entry
- acl_name
- رشته (باید
در جدول
یکتا باشد)
- اعلان خطا (Error Notification):
- acl_fault_status : invalid_acl
- هیچ (none)
- acl_fault_status : resource_shortage
- هیچ (none)
- acl_fault_status : unspecified_fault
- هیچ (none)
جزئیات (Details):
- acl_entries: مجموعهای از ۱ یا چند ACL_entry
- مجموعهای از ارجاعات به ورودیها در جدول ACL_entry.
- acl_name: رشته (باید در جدول یکتا باشد)
- یک نام خوانا برای انسان برای ACL که ممکن است (برای مثال) در CLI سوئیچ نمایش داده شود.
یک ورودی در این ستون به NVC نشان میدهد که ACL طبق درخواست پیکربندی نشده است. سوئیچ باید هنگام برطرف شدن خطا این ستون را پاک کند.
- acl_fault_status : invalid_acl: هیچ
- نشان میدهد که یک ACL درخواستشده توسط کنترلکننده نتوانسته توسط سوئیچ نمونهسازی شود، به عنوان مثال به این دلیل که نیازمند ترکیب پشتیبانینشدهای از فیلدها برای تطبیق است.
- acl_fault_status : resource_shortage: هیچ
- نشان میدهد که یک ACL درخواستشده توسط کنترلکننده به دلیل کمبود منابع (مانند فضای TCAM) نتوانسته توسط سوئیچ نمونهسازی شود.
- acl_fault_status : unspecified_fault: هیچ
- نشان میدهد که خطایی در پیکربندی ACL رخ داده است اما اطلاعات دقیقتری در دسترس نیست.
| DB Schema 1.7.0 | Open vSwitch 4.0.0 |