Это не потому, что TCP идеален, или потому, что компьютерные ученые не смогли придумать возможные альтернативы; это потому, что эти альтернативы слишком сложно протестировать. Маршрутизаторы в сетях центров обработки данных имеют встроенные протоколы управления трафиком. Тестирование нового протокола свидетельствует замену существующего сетевого оборудования либо реконфигурируемыми микросхемами, каковые сложно программировать, либо программно-управляемыми маршрутизаторами, каковые так медленны, что делают крупномасштабное тестирование непрактичным.На симпозиуме Usenix по проектированию и внедрению сетевых совокупностей в конце этого месяца исследователи из Лаборатории компьютерных наук и искусственного интеллекта Массачусетского технологического университета представят совокупность для тестирования новых протоколов управления трафиком, которая не требует изменении сетевого оборудования, но наровне с этим трудится с реалистичной скоростью — 20 раз. так же не так долго осталось ждать, как сети программно управляемых маршрутизаторов.
Совокупность поддерживает компактную и действенную вычислительную модель сети, в которой трудится новый протокол, с виртуальными пакетами данных, каковые передаются между виртуальными маршрутизаторами. На базе модели он планирует передачи в настоящей сети для тех же шаблонов трафика.
Так, исследователи имели возможность запускать настоящие веб-приложения на сетевых серверах и покупать верное представление о том, как новый протокол повлияет на их производительность.«Это трудится так: в то время, в то время, когда конечная точка хочет отправить пакет [данных], она вначале отправляет запрос этому централизованному эмулятору», — говорит Эми Остерхаут, аспирантка в области электротехники и информатики (EECS) и первый создатель книги. новая бумага. «Эмулятор программно эмулирует схему, с которой вы хотите поэкспериментировать в собственной сети. Затем он информирует конечной точке, в то время, в то время, когда отправлять пакет, чтобы он прибыл в пункт назначения, как если бы он прошел через сеть, трудящуюся по запрограммированной схеме».К Остерхаут в статье присоединились ее советник Хари Балакришнан, электротехники наук и доктор информатики Fujitsu; Джонатан Перри, аспирант EECS; и Петр Лапухов из Facebook.
Контроль дорожного перемещенияЛюбой пакет данных, отправляемый по компьютерной сети, складывается из двух частей: заголовка и полезной нагрузки. Необходимая нагрузка содержит эти, каковые интересуют получателя — эти изображения, аудиоданные, текстовые эти и т. Д. Заголовок содержит адрес отправителя, другую данные и адрес получателя, которую маршрутизаторы и конечные пользователи смогут использовать для управления передачей.
В то время, в то время, когда пара пакетов достигают маршрутизатора одновременно, они помещаются в очередь и обрабатываются последовательно. При применении TCP, если очередь делается слишком продолжительной, последующие пакеты ; они никогда не достигают собственных получателей.
В то время, в то время, когда передающий компьютер осознаёт, что его пакеты отбрасываются, он снижает скорость передачи вдвое, а затем медлительно восстанавливает ее.Более действенный протокол может дать маршрутизатору поменять биты в заголовках пакетов, чтобы конечные пользователи знали, что сеть перегружена, чтобы они имели возможность снизить скорость передачи перед тем, как пакеты будут отброшены. Или он может назначать разным типам пакетов разные приоритеты и поддерживать скорость передачи, пока высокоприоритетный трафик все еще проходит. Это типы стратегий, каковые компьютерные ученые хотят опробовать в настоящих сетях.
Стремительное моделированиеВ новой совокупности исследователей Массачусетского технологического университета, названной Flexplane, эмулятор, моделирующий сеть, в которой трудится новый протокол, использует только эти заголовков пакетов, что снижает вычислительную нагрузку. Фактически, он не обязательно использует все сведенья заголовка — только поля, каковые имеют отношение к реализации нового протокола.В то время, в то время, когда сервер в настоящей сети хочет передать эти, он отправляет запрос эмулятору, что отправляет фиктивный пакет по виртуальной сети, управляемой новым протоколом.
В то время, в то время, когда фиктивный пакет достигает места назначения, эмулятор информирует настоящему серверу, что он может продолжить и отправить личный настоящий пакет.Если при прохождении через виртуальную сеть у фиктивного пакета кое-какие биты заголовка перевернуты, настоящий сервер переворачивает соответствующие биты в настоящем пакете перед его отправкой. Если забитый маршрутизатор в виртуальной сети отбрасывает фиктивный пакет, соответствующий настоящий пакет никогда не отправляется.
И если в виртуальной сети фиктивный пакет с более высоким приоритетом достигает маршрутизатора по окончании пакета с более низким приоритетом, но опережает его в очереди, то в настоящей сети пакет с более высоким приоритетом отправляется первым.Так, серверы в сети видят однообразные пакеты в той же последовательности, что и в случае, если бы настоящие маршрутизаторы использовали новый протокол. Существует маленькая задержка между первым запросом, отправленным первым сервером, и первой инструкцией передачи, выпущенной эмулятором.
Но после этого серверы выдают пакеты с простой сетевой скоростью.Возможность использовать настоящие серверы, на которых выполняются настоящие веб-приложения, дает громадное преимущество перед вторым популярным методом тестирования новых схем управления сетью: программным моделированием, которое как правило использует статистические шаблоны для линии поведения приложений с вычислительной эффективностью.