You are here: Home / Users / Sasha Shkrebets / SDN / 2024 / Бакалавриат / Dr. Nick Feamster - Software Defined Networking (Coursera) / Неделя 1 (Week 1) / От FORCES к Ethane: Control Plane Evolution (Субтитры)

От FORCES к Ethane: Control Plane Evolution (Субтитры)

by Sasha Shkrebets last modified Feb 06, 2023 10:36 PM

Plain Text icon forces.vtt.txt — Plain Text, 19 kB (20175 bytes)

File contents

WEBVTT

1
00:00:00.400 --> 00:00:03.660
Добро пожаловать на курс по программно-определяемым сетям.

2
00:00:03.660 --> 00:00:07.479
В этом уроке мы завершим обсуждение истории

3
00:00:07.479 --> 00:00:09.759
программно-определяемых сетей, и, в частности, мы

4
00:00:09.759 --> 00:00:13.450
рассмотрим историю управления сетями с коммутацией пакетов.

5
00:00:13.450 --> 00:00:16.250
Мы уже немного изучили историю

6
00:00:16.250 --> 00:00:18.714
управления центральной сетью, но большая часть этого была в контексте

7
00:00:18.714 --> 00:00:22.242
телефонной сети и сетей с коммутацией каналов, и сегодня мы

8
00:00:22.242 --> 00:00:25.220
рассмотрим, как развивалось управление пакетными коммутационными сетями.

9
00:00:26.340 --> 00:00:29.307
Я начну с напоминания о том, почему разделение

10
00:00:29.307 --> 00:00:31.377
управления сетью от простых данных является хорошей

11
00:00:31.377 --> 00:00:33.999
идеей, а затем мы рассмотрим различные способы

12
00:00:33.999 --> 00:00:38.340
, которые были разработаны для управления сетями с коммутацией пакетов.

13
00:00:38.340 --> 00:00:41.538
Начнем с рассмотрения протокола FORCES,

14
00:00:41.538 --> 00:00:46.010
который был разработан в инженерной группе Интернета.

15
00:00:46.010 --> 00:00:49.610
Который эффективно определил пользовательский отдельный

16
00:00:49.610 --> 00:00:53.640
канал управления для управления переключателями или элементами пересылки.

17
00:00:53.640 --> 00:00:56.856
Затем мы рассмотрим платформу управления маршрутизацией, которая

18
00:00:56.856 --> 00:01:01.144
использовала существующий протокол, в частности протокол пограничного шлюза,

19
00:01:01.144 --> 00:01:04.561
чтобы диктовать или контролировать решения маршрутизации, или решения о пересылке

20
00:01:04.561 --> 00:01:09.270
, которые были приняты маршрутизаторами, говорящими AGP в магистральной сети.

21
00:01:09.270 --> 00:01:14.625
Затем мы рассмотрим, как появление открытого оборудования обеспечило гораздо более

22
00:01:14.625 --> 00:01:20.089
широкое внедрение раздельного управления сетями с коммутацией пакетов.

23
00:01:21.600 --> 00:01:24.820
Итак, сначала напомним себе, почему раздельный контроль - хорошая идея.

24
00:01:26.040 --> 00:01:28.308
Во-первых, это обеспечивает более быстрые инновации, так как

25
00:01:28.308 --> 00:01:31.610
логика управления напрямую не связана с оборудованием.

26
00:01:31.610 --> 00:01:36.362
Во-вторых, он позволяет контроллеру потенциально видеть общесетевое представление,

27
00:01:36.362 --> 00:01:41.450
тем самым упрощая вывод и объяснение поведения сети.

28
00:01:41.450 --> 00:01:43.990
Наконец, наличие отдельного канала управления

29
00:01:43.990 --> 00:01:46.200
позволяет иметь отдельный программный

30
00:01:46.200 --> 00:01:49.410
контроллер, что

31
00:01:49.410 --> 00:01:51.620
значительно облегчает внедрение новых сервисов в сеть.

32
00:01:53.000 --> 00:01:55.211
Давайте рассмотрим три различных способа

33
00:01:55.211 --> 00:01:59.560
, которые были разработаны для управления сетями с коммутацией пакетов.

34
00:01:59.560 --> 00:02:02.464
Первый экземпляр отдельного канала управления для

35
00:02:02.464 --> 00:02:07.630
сетей с коммутацией пакетов вышел из рабочей группы по разработке Интернета.

36
00:02:07.630 --> 00:02:10.080
В виде протокола СИЛС.

37
00:02:10.080 --> 00:02:12.440
Протокол был впервые стандартизирован в 2003 году.

38
00:02:12.440 --> 00:02:17.165
И было три реализации этого конкретного стандарта.

39
00:02:17.165 --> 00:02:21.066
Стандартные по существу определяемые протоколы,

40
00:02:21.066 --> 00:02:26.170
позволяющие нескольким элементам управления управлять элементами пересылки.

41
00:02:26.170 --> 00:02:29.870
Которая, по сути, отвечала бы за пересылку пакетов

42
00:02:29.870 --> 00:02:35.230
, измерение, формирование, классификацию трафика и так далее.

43
00:02:35.230 --> 00:02:39.090
Таким образом, идея заключалась в том, что переключатели или элементы пересылки могут управляться. По

44
00:02:39.090 --> 00:02:43.910
стандартному каналу управления, называемому интерфейсом FORCES.

45
00:02:43.910 --> 00:02:46.460
И, может быть несколько таких контроллеров,

46
00:02:46.460 --> 00:02:49.080
контролирующих поведение пересылки, этих элементов пересылки.

47
00:02:50.120 --> 00:02:51.130
Итак, это все хорошо и хорошо.

48
00:02:51.130 --> 00:02:55.300
И, в некоторых случаях это выглядит очень похоже на стандарт открытого потока, который мы знаем сегодня.

49
00:02:55.300 --> 00:02:58.410
Но проблема, связанная с этим подходом, заключалась в том

50
00:02:58.410 --> 00:03:03.230
, что он требовал стандартизации, принятия поставщиками и развертывания нового оборудования.

51
00:03:03.230 --> 00:03:09.270
И эти конкретные препятствия были теми же препятствиями, которые были мотивацией для некоторых

52
00:03:09.270 --> 00:03:13.840
из предыдущих работ, таких как активные сетевые проекты, которые мы рассматривали.

53
00:03:17.290 --> 00:03:19.942
Другой подход заключался в том, чтобы по существу использовать

54
00:03:19.942 --> 00:03:23.608
существующие протоколы в качестве каналов управления, главным образом

55
00:03:23.608 --> 00:03:26.806
перехватывая существующие протоколы маршрутизации, для отправки

56
00:03:26.806 --> 00:03:29.961
управляющих сообщений элементам пересылки.

57
00:03:29.961 --> 00:03:34.740
Такой подход был принят платформой управления маршрутизацией.

58
00:03:34.740 --> 00:03:39.745
Идея заключалась в том, что каждая автономная система или независимая сеть

59
00:03:39.745 --> 00:03:44.211
может иметь платформу управления маршрутизацией или RCP, которая будет вычислять

60
00:03:44.211 --> 00:03:47.830
маршруты от имени маршрутизаторов, а затем использовать существующие

61
00:03:47.830 --> 00:03:53.050
протоколы BGP для передачи этих маршрутов маршрутизаторам, так что идея.

62
00:03:53.050 --> 00:03:56.110
Было ли, что вычисления произойдут здесь, в RCP.

63
00:03:57.280 --> 00:04:02.784
Но после вычисления маршрутов результаты этих вычислений будут

64
00:04:02.784 --> 00:04:08.370
перенесены в таблицы пересылки маршрутизаторов стандартными протоколами маршрутизации.

65
00:04:08.370 --> 00:04:11.117
Таким образом, эти маршрутизаторы

66
00:04:11.117 --> 00:04:13.730
были под впечатлением, они просто разговаривали с любым старым маршрутизатором, но на

67
00:04:13.730 --> 00:04:15.941
самом деле они разговаривали с умным боксом

68
00:04:15.941 --> 00:04:20.150
, который фактически вычислял маршруты от их имени.

69
00:04:20.150 --> 00:04:25.470
Использование существующих протоколов In-Band для управления сетью с коммутацией пакетов

70
00:04:25.470 --> 00:04:30.350
эффективно облегчает переход от статус-кво.

71
00:04:30.350 --> 00:04:35.580
В то, где все управление централизовано, в определенной сети.

72
00:04:36.810 --> 00:04:40.172
RCP эффективно использовал BGP в качестве канала управления

73
00:04:40.172 --> 00:04:44.518
, так что элементы пересылки думали, что они

74
00:04:44.518 --> 00:04:47.798
разговаривают только с другим маршрутизатором, но

75
00:04:47.798 --> 00:04:51.920
на самом деле все смарты для сети были централизованы в одной точке.

76
00:04:53.810 --> 00:04:58.520
Этот подход несколько упрощает развертывание, так как он не

77
00:04:58.520 --> 00:05:03.420
требует стандартизации на новом наборе протоколов управления.

78
00:05:03.420 --> 00:05:07.350
Однако проблема, связанная с этим подходом, заключается в том, что контроль

79
00:05:07.350 --> 00:05:13.660
над сетью ограничен тем, что могут поддерживать существующие протоколы, такие как BGP.

80
00:05:13.660 --> 00:05:17.659
Таким образом, RCP был ограничен, потому что все, что

81
00:05:17.659 --> 00:05:21.286
он мог сделать, это контролировать решения о маршрутизации BGP

82
00:05:21.286 --> 00:05:24.727
, когда на самом деле сетевой оператор может

83
00:05:24.727 --> 00:05:28.210
захотеть управлять гораздо более широким диапазоном поведения.

84
00:05:29.670 --> 00:05:32.760
В конечном счете, архитектура все еще оказалась полезной.

85
00:05:32.760 --> 00:05:36.819
И версия RCP в настоящее время работает

86
00:05:36.819 --> 00:05:41.670
по крайней мере в одной большой сети back bone сегодня, чтобы сделать такие вещи, как

87
00:05:41.670 --> 00:05:48.600
автоматическое перенаправление трафика для инцидентов безопасности или очистки трафика, но

88
00:05:48.600 --> 00:05:56.170
тем не менее, спектр приложений, которые могут поддерживать что-то вроде RCP.

89
00:05:56.170 --> 00:06:00.440
По-прежнему несколько относительно ограничен по сравнению с тем, что

90
00:06:00.440 --> 00:06:04.870
может быть возможно с общей отдельной плоскостью управления.

91
00:06:08.010 --> 00:06:12.784
Настройка оборудования в плоскости данных потенциально упрощает

92
00:06:12.784 --> 00:06:17.289
поддержку гораздо более широкого спектра приложений в плоскости управления.

93
00:06:18.750 --> 00:06:21.368
Первым проектом, который реализовал это, был

94
00:06:21.368 --> 00:06:25.603
проект Ethane, который представил сетевую архитектуру для

95
00:06:25.603 --> 00:06:29.530
предприятия, что позволило прямое применение единой

96
00:06:29.530 --> 00:06:34.320
мелкозернистой политики сети на так называемом контроллере домена.

97
00:06:35.500 --> 00:06:39.130
Контроллер домена будет вычислять таблицы потока. Он

98
00:06:39.130 --> 00:06:43.365
должен быть установлен в каждом из коммутаторов предприятия

99
00:06:43.365 --> 00:06:48.120
на основе политик контроля доступа, определенных на контроллере домена.

100
00:06:49.690 --> 00:06:53.360
Ethane требовал развертывания пользовательских коммутаторов.

101
00:06:53.360 --> 00:06:56.363
И некоторые из

102
00:06:56.363 --> 00:07:00.510
них были реализованы на основе OpenWRT, NetFPGA и Linux.

103
00:07:00.510 --> 00:07:04.070
Проблема такого подхода, конечно, заключается в том, что

104
00:07:04.070 --> 00:07:08.320
он требует пользовательских коммутаторов, поддерживающих протокол Ethane.

105
00:07:10.250 --> 00:07:14.990
То, что мы ищем, так это то, что дает нам лучшее из обоих миров.

106
00:07:14.990 --> 00:07:17.650
Что-то, что может работать на существующих

107
00:07:17.650 --> 00:07:22.750
протоколах, но не потребует настройки оборудования.

108
00:07:22.750 --> 00:07:26.220
Ответ на этот вопрос был OpenFlow.

109
00:07:26.220 --> 00:07:29.080
И здесь идея заключалась в том, чтобы

110
00:07:29.080 --> 00:07:34.520
в основном использовать возможности существующего оборудования и открыть их.

111
00:07:34.520 --> 00:07:37.460
Таким образом, стандартный протокол управления

112
00:07:37.460 --> 00:07:40.440
может контролировать поведение этого оборудования.

113
00:07:42.890 --> 00:07:46.674
В OpenFlow отдельный контроллер взаимодействует

114
00:07:46.674 --> 00:07:49.842
с таблицей потока коммутатора, чтобы установить

115
00:07:49.842 --> 00:07:53.450
записи таблицы переадресации в коммутатор, которые

116
00:07:53.450 --> 00:07:57.200
контролируют поведение переадресации сети.

117
00:07:59.000 --> 00:08:05.305
Поскольку большинство коммутаторов уже реализовали таблицы потоков, единственное, что

118
00:08:05.305 --> 00:08:11.416
необходимо было для того, чтобы сделать OpenFlow реальностью, было убедить поставщиков коммутаторов

119
00:08:11.416 --> 00:08:17.236
открыть интерфейс для этих таблиц потока, чтобы отдельный программный

120
00:08:17.236 --> 00:08:23.290
контроллер мог диктовать, что будет заполнено в этих таблицах потока.

121
00:08:25.770 --> 00:08:29.130
Итак, что мы узнали об управлении сетью в этом уроке?

122
00:08:31.050 --> 00:08:34.762
Один из уроков заключается в том, что управление и плоскость данных обязательно должны быть

123
00:08:34.762 --> 00:08:38.090
разделены, потому что вертикально интегрированные коммутаторы

124
00:08:38.090 --> 00:08:41.470
очень затрудняют внедрение новых плоскостей управления.

125
00:08:41.470 --> 00:08:45.110
В некотором смысле FORCES выглядит очень похожим на OpenFlow.

126
00:08:45.110 --> 00:08:48.802
Но поскольку это потребовало новой стандартизации и принятия, а также

127
00:08:48.802 --> 00:08:53.330
изменений в аппаратном обеспечении, развертывание в конечном итоге стало очень сложным.

128
00:08:54.630 --> 00:08:59.990
Второй урок заключается в том, что использование существующих протоколов упрощает развертывание.

129
00:08:59.990 --> 00:09:03.240
Но это также ограничивает то, что можно сделать, и мы видели это в RCP.

130
00:09:05.150 --> 00:09:08.654
Наконец, мы увидели, что открытое оборудование может позволить

131
00:09:08.654 --> 00:09:11.939
развязать контроль и фактически может стимулировать принятие, и

132
00:09:11.939 --> 00:09:15.151
это потенциально одна из причин, которые сделали OpenFlow

133
00:09:15.151 --> 00:09:19.560
настолько невероятно успешным по сравнению с этими другими аналогичными предложениями.
Navigation