Настроить сеть нынче плевое дело. Набросал витухи 5 категории, воткнул в коммутаторы, поставил маршрутизатор, настроил клиентов, и все готово. Втыкаешь куда влазит, и оно сразу работает без лишних вопросов. А вот в стародавние времена все было немного по-другому. В частности был выбор. Необъятного разнообразия выбор.

Надо было выбрать кабель (10BASE-T? Type-1? DIN?), топологию (Token Ring? Ethernet?), протокол (AppleTalk? TCP/IP? IPX/SPX?) и, в общем-то, практически все остальное. Если вам повезло, то в сети все работало одинаково. Но обычно все же приходилось выдумывать способы заставить несовместимые компьютеры и сети понимать друг друга. Именно этим и занимался Г.Р.Г. много лет назад.

В организации, на которую работал Г.Р.Г., его начальник отвечал за установку мостов LocalTalk-Ethernet, или как все их называли, большие Пурпурные Ящики. Компания выстраивала свою сеть постепенно, таким же образом ее и поддерживала. Как только какому-то отделу был нужен Пурпурный Ящик, начальник заказывал его, давал одному из своих подручных указание притащить его на место и воткнуть в сеть, а затем добавлял в конфигурационный файл строки, говоря Пурпурному Ящику, как ему жить дальше.

Эти Пурпурные Ящики славились четырьмя вещами. Перво-наперво, они прикольно выглядели. В конце концов, они были пурпурными! Во-вторых, они стоили бешеных бабок. Тогда все стоило бешеных бабок, но эти по каким-то причинам стоили гораздо дороже. В-третьих, они умирали примерно каждые три месяца, или через несколько недель после окончания гарантийного срока. Наконец Пурпурные Ящики настраивались посредством самых длинных в мире конфигурационных строк.

Насколько помнит Г.Р.Г., в конфигурационный файл каждого Пурпурного Ящика надо было ввести строчку шизофренического бреда. Она был похожа на эту:

$BRIDGE$ 00:05:FD:34:12:99 $reboot$ $Idle$ $LW3_4$ {$UNSIGGER::CPU$,$UNSIGGER::ETHER$,$UNSIGGER::AT$} $GW$ ==> 124.84.150.001 <== $GW$ $NS$ ^124.84.155.001*3:: @@124.84.150.001@@ $IDENT$ $YOUDENT$ $ETHER$ 124.84.150.126 $MTU_AT$ 557 $TTL_AT$ 100 $AT$ 73.000 $FLOW$ $BUF$:::3 $TCP$::-ON- $ATP$::-COMP- $EXIT$ $EXIT$ $EXIT$ $BOOT$

Еще крайне важно было, чтобы строчки оставались корректными. Для каждой подсети AppleTalk не должно было быть разных объявлений одного IP адреса, а для каждой записи требовался уникальный номер сети AppleTalk. Немаловажным было умение вводить все правильно с первого раза, потому что поиск источника проблем был нетривиальной задачей. Не было ни диагностических сообщений, ни чего-либо подобного, и если вы пропустили одну единственную запятую, точку, знак доллара, или символ @, просто ничего не работало.

Начальник горевал, большое количество сбоев, многодневный процесс конфигурирования и утомительная отладка уже начинали его донимать. Когда Пурпурных Ящиков было немного, он мог с одного взгляда проанализировать конфигурационный файл и выявить конфликты, но по мере установки новых, в нем появлялось все больше и больше строчек, в которых было все труднее и труднее разбираться. А то, что отделам зачастую приходилось после получения Ящика, потом несколько дней просто любоваться им, пока он его конфигурировал, вообще повергало его в глубокую депрессию. Г.Р.Г. ничем не мог ему помочь кроме сострадания. И из сострадания он написал 15-строчный скрипт на awk, который добавлял новую строчку (и она работала с первого раза), выбирая для каждого Ящика уникальный адрес. При отладке Г.Р.Г. даже удалось отыскать несколько дублирующихся адресов в существующем файле.

Надеясь на благодарность, или даже, чем черт не шутит, на повышение, Г.Р.Г. показал этот скрипт своему начальнику. Но его лицо окрасилось в цвет пурпурного ящика, и Г.Р.Г. был выставлен за дверь.

Оригинал:http://worsethanfailure.com/Articles/The-Big-Purple-Boxes.aspx
Перевод:Евгений Виговский