Новый эсминец ВМС США работает под управлением Linux



    Сегодня ВМС США планирует спустить на воду эскадренный миноносец с управляемым ракетным оружием USS Zumwalt (DDG 1000) — первый корабль класса Zumwalt. Мощнейший эсминец УРО нового поколения необычен во многих отношениях. Он комплектуется ракетами, пушками и зенитными установками, так что сможет атаковать цели на море и на берегу, сбивать самолеты и оказывать огневую поддержку войскам. Но самое необычное, что корабль работает полностью под Linux.

    Управление всей бортовой техникой осуществляется из корабельного дата-центра.



    Для этого эсминца написано 6 млн строк кода программного обеспечения. Стоимость постройки корабля составила $3,5 млрд, небольшая часть этих денег пошла на оплату труда программистов. Многое из написанного ПО используют в компьютерных системах других кораблей класса Zumwalt. Второй эсминец этого класса USS Michael Monsoor уже начали собирать. Проект ведёт один из крупнейших военных подрядчиков — корпорация Raytheon.

    Большинство серверов в дата-центре — стандартные серверы производства IBM под Red Hat Linux, но прорезиненные контейнеры (Electronic Modular Enclosure) с антивибрационной системой, электромагнитной защитой и водяным охлаждением разработала и изготовила Raytheon. В дата-центре установлено 16 контейнеров под 235 с лишним серверных стоек (в сумме).

    Журналист сайта Ars Technica посетил корабль с экскурсией и написал отличный репортаж по итогам поездки. Он также упомянул любопытный факт: капитана корабля зовут Джеймс Кирк, это его настоящее имя.

    Корабль буквально нашпигован компьютерной техникой, везде тачскрины. Командная рубка напоминает центр управления полётами НАСА. На фотографии внизу экраны отображают запуск ракеты.


    Увеличенная версия картинки, можно почитать надписи на экранах

    Вот схема оперативного центра USS Zumwalt.



    Почти все коммуникации на эсминце осуществляются по VoIP, кроме нескольких экстренных телефонов, работающих на энергии голоса. Многие модули корабля подключены к корабельной локальной сети, которая частично проложена оптоволокном, частично медными кабелями. К сети подключены и сенсоры, и вооружение, всё работает по стандартным интернет-протоколам. То есть команда на запуск ракет отправляется по TCP или UDP.



    На корабле есть и беспроводная связь, но это секретная информация.

    Подключение к сети ракетных шахт, зенитных пушек и прочего оборудование осуществляется через адаптеры — одноплатные компьютеры под управлением Lynx OS, операционной системы реального времени.

    Теоретически, управление кораблем можно осуществлять в удаленном режиме, если установить спутниковый канал связи с корабельным центром управления. Но неизвестно, предусмотрена ли такая функциональность на этом конкретном эсминце.
    Support the author
    Share post
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 120

      +36
      Отличный ДЦ готов арендовать стойку :)
        0
        Там вроде стойки не совсем стандартные
        AD2010_Paper_McWhite_Brennan_Fontes.pdf
        Сам сначала удивился количеству, но причина вроде в дублировании (как минимум) всех систем.
          0
          Представители server4you уже довольно потирают руки
            +7
            Главное, с анти ДДос ракетами ;)
              +15
              И торренты оттуда раздавать. Пусть попробуют изъять серверы.
                +10
                Корабль пиратов.
              –1
              $3,5 млрд,

              Ясен пень, что им приходится потом мочить людей тысячами по всему миру, такие вклады надо окупать.
                +76
                Подумаешь, на эти деньги даже половину дороги для Олимпиады не построишь :)
                  –20
                  А что не так с дорогой для Олимпиады? Не пытались прикинуть смету? Она примерно столько и стоит, увы такие цены. Если же вас интересуют действительно дорогие дороги, вот гораздо более завораживающий в этом плане пример: news.yahoo.com/carmageddon-warnings-pay-off-los-angeles-195224354.html миллиард баксов на расширение мостика (перекрыли 16км для того чтобы все подъезды к мосту для техники оставить, расширяли только мост что на фото)
                    +3
                    А можно поподробнее — где там написано про миллиард? В статье ни слова об этом. Но исходя из суммы штрафов и бонусов сложилось впечатление что речь идет о миллионах долларов, но никак не о миллиарде.
                  +21
                  Вы не правы. Во первых — это достаточно небольшие деньги в масштабах США.
                  Во вторых — это наоборот хорошо, что они показывают своему народу что они разрабатывают, сколько это стоит и проводят подобные фотосессии. Как будущий налогоплательщик США я рад видеть достаточную степень прозрачности. У нас же мало того что не показывают и не рассказывают, так еще и закрытая часть бюджета в 2 раза больше чем в США (вдумайтесь, в США ВВП в разы больше, и при этом закрытый бюджет меньше).
                    –3
                    Зачем им скрывать бюджет если все равно кто — нибудь опять проболтается?
                      +2
                      Будущий налогоплательщик США?
                        +1
                        Ну да. Я будущий налогоплательщик Канады. Что тут такого?
                          +1
                          Да нет, ничего. Не правильно понял.
                        –8
                        Большие не бельшие, а оправдывать его надо. то есть моить людей
                          0
                          Не могу согласиться. Годичный бюджет ВМФ США — $13,6 млрд. В этом году предполагалось сокращение на $1,2 млрд, которое приведет к консервированию проекта атомного авианесущего крейсера, прочих проектов.
                          Для эсминца это немалые деньги, просто огромные. Строился он не один год и в следующем году второй такой заложен не будет. Это образцово-показательный корабль, его создание направлено на проверку и отработку новых технологий в вооружении, маскировке, системах управления. И с этим связана публичность его постройки.
                            +1
                            Простите, откуда вы взяли цифру годового бюджета ВМС США в $13,6 млрд?
                            Вот цитата из первоисточника:
                            And I want to emphasize, starting there at '13 you can see is that the budget is for $155.9 billion in the base and approximately $14 billion in OCO [overseas contingency operations]

                            ссылка

                            Ваша цифра в 13.6 млрд соответствует overseas contingency operations (то есть на текущие военные и антитеррористические операции), а общий бюджет на порядок больше.
                              +1
                              Дополнение:
                              Структуру бюджета ВМС США можно посмотреть в этой презентации на 5-ой странице, где видно, что общий бюджет на 2013 год составляет $155-170 млрд
                                0
                                Да. Источник был сомнительный и подвёл. Я не проверил, признаю. Конечно при флоте в 597 действующих единиц, сумма должна быть внушительней, можно было интуитивно приметить подвох.
                                При подобных спорах на специальных форумах обычно используют эту картинку u.to/32DNBA. Это бюджет США за 2010 год. Конечно цифры поменялись (в меньшую сторону на сей момент), но пропорции в военных бюджетах верны.
                                Интересует в первую очередь не общий бюджет ВМФ — $171.1 млрд и не Overseas Contingency Operations а Procurement (Снабжение) — $46.89 млрд. Из них более $3,5 млрд выделялось только на одну статью — JSF — Joint Strike Fighter — Программа единого ударного истребителя. На корабли приходятся меньшие суммы.
                                А инфографика интересная.
                              –3
                              Такие небольшие, что правительство США решило отменить экскурсии по Белому Дому в рамках сокращения расходов и в очередной раз будет поднимать потолок госдолга. В долгах как в шелках а живем на широкую ногу. У меня сосед так жил — плохо кончил.

                              Вдумайтесь как будущий американский налогоплатильщих куда будут уходить Ваши деньги.
                                +6
                                Вы не верно понимаете что такое гос. долг. Грубо говоря, представьте, у вас есть деньги, как вы их будете хранить? Можно под подушкой, но тогда они обесценятся. Можно открыть бизнес — но вы не такой хороший бизнесмен. А можно положить в банк, под проценты. И вроде в этой ситуации банк вам должен, да и денег у него, выплатить все долги разом -нет и никогда не было. Но банк тем не менее регулярно выплачивает вам проценты и сам имеет доход. Т.е. это выгодно и вам и банку. Так что пока у США растет ВВП — все у них хорошо с долгом.
                                  –2
                                  Уж действительно, в случае с США черное становится белым а долг — это вовсе не долг. Смысл привычных нам понятий теряют свое значение.

                                  То что Вы описали называется финансовая пирамида.

                                  США могу печатать деньги и платить по процентам — не большая новость. Другой вопрос что имея несбалансированый бюджет дефицит которого исчисляется сотнями миллиардов долларов (бюджет 2013 года имеет около 900 миллиардов дефицита) выплаты по процентам будут рости как снежный ком. Это в том случае если зарубежные инвесторы продолжат скупать долг США.

                                  Многие страны уже переводят свои резервы в мультивалютные корзины. Китай как основной кредитор США в этом году снизил кредитный рейтинг США с А на А-. И то что он будет и дальше скупать казначейские облигации США большой вопрос.

                                  Так что Вы можете и дальше — как будущий американский налогоплатильщик — себя тешить мыслью о том, что деньги бесконечно долго можно делать из воздуха и что проблем с долгом нет.

                                  Прочтите эту статью: cnsnews.com/news/article/terence-p-jeffrey/roll-over-plan-treasury-needed-pay-record-75t-maturing-debt-fy-2013
                                  и комментарии рядовых американцев к ней — у них уже давно спали розовые очки.
                                    0
                                    До тех пор, пока растет экономика — они могут без проблем печатать деньги.
                                0
                                Его деньги будут уходить туда же, куда уходят все деньги американских налогоплательщиков — на дороги, образование, медицину, науку, защиту и т.п. Лучше задумайтесь, куда уходят Ваши деньги, если, конечно, у Вас белая зарплата и есть вообще смысл говорить о налогах )
                              +1
                              На самом деле это копейки для военного бюджета США.

                              К тому же эти деньги в основном потрачены на разработки новых технологий, которые когда-нибудь будут полезны и гражданке
                                0
                                Судя по статье выше технологии там гражданские как раз, которые как оказалось пригодились и в военке (tcp/p, linux, тачскрины и прочее).
                              0
                              На корабле есть и беспроводная связь, но это секретная информация.
                              ;-)
                                +36
                                hidden ssid
                                +35
                                А Россия тем временем преследует секс-меньшинства, борется с иммигранатами и атеистами…
                                  +21
                                  С иммигрантами не борется, с пиратами борется…
                                    +5
                                    На российских кораблях используется ОС МСВС, которая основана на GNU/Linux
                                    ru.wikipedia.org/wiki/Мобильная_система_Вооружённых_Сил
                                      0
                                      А она точно на кораблях используется?
                                      • UFO just landed and posted this here
                                          +11
                                          На виртуалочке
                                          +1
                                          Не только на кораблях, но и в других местах, где нужно производить разные вычисления и управлять современным оборудованием — например станции связи и прочее. По умолчанию юзеры работают под рутом. Правда там есть какие-то ограничения прав, но как-то уж слишком криво. Ставить её на новые ноуты и чтобы оно хотя бы заработало сравнимо с СМ и игрой в рулетку. Зачастую приходится связываться с разработчиками с просьбой добавить поддержку такого-то чипсета или такой-то сетвеой карты такого-то ноутбука и ждать у моря погоды. Ну или допиливать своими ручками.
                                          Ну а если кому-то не хватает острых ощущений и захочет захочет пощупать её своими ручками — то без проблем найдут её в сети.
                                            +1
                                            По умолчанию юзеры работают под рутом. Правда там есть какие-то ограничения прав, но как-то уж слишком криво.


                                            Нет там подобных умолчаний. Как настроите, так и будет работать. Ничего в этом плане от RHEL или centos не отличается. И по документации к системе работа под рутом категорически запрещена.
                                              0
                                              Нуу… Значит так было там, где я наблюдал использование данной ОС. Я глубоко внутрь не влазил. Спрашивал почему «под рутом?» — в ответ получил «все по инструкции».
                                        +27
                                        обижаете, флот у нас тоже развивается.
                                        Плавучий храм «Святой Владимир»
                                          +1
                                          Плавает только алтарём на восток?
                                            +5
                                            Чтобы решить эту проблему, достаточно разместить алтарь в поворотной башне.
                                        • UFO just landed and posted this here
                                            +1
                                            «борется с иммигранатами» — они как ни странно тоже борятся. Попробуйте въехать в США без визы.
                                              +1
                                              1. Преследования со стороны государства нет. Просто нет и общественного одобрения, как в странах Запада. Запрет на пропаганду среди несовершеннолетних есть, но преследованием его называть не стоило бы.
                                              2. Не заметил никаких особенных закрытий границ в последние годы.
                                              3. Я атеист, прожил в России 23 года, никто меня за это не преследовал.
                                              Странно, что ваш комментарий набрал столько плюсов. Жаль видеть, что такие голословные и оторванные от реальности заявления вызывают положительный отклик среди пользователей хабра.
                                              +1
                                              Интересно, что будет когда его взломают через «спутниковый канал связи»? :)))
                                                +1
                                                А как же боевая устойчивость, весь корабль алюминиевый, одна маленькая ракета в боевую рубку и все пропало?
                                                  +1
                                                  Вы не дооцениваете US NAVY, это корабль ордера, скорее всего он будет входить в состав АУГ, и выполнять свои функции. Да и куча всего на нем как раз для того, чтобы сбить ракеты на подлете к цели
                                                    +2
                                                    Вы неправы, я хорошо себе представляю себе возможности US NAVY

                                                    Но даже прикрытие не отменяет того факта, что в этом помещении даже пукнуть нельзя, чтобы не парализовать всю боевую работу корабля =)
                                                    +1
                                                    Напомнило -> image
                                                      0
                                                      то есть алюминиевый эсминец ВМФ США вас таки пугает, а отечественные алюминиевые БМД и БМП-3 или американскиеже танки M551 Шеридан не смущают?
                                                        0
                                                        Нужно заметить, что БМП (по крайней мере 1 и 2) не все алюминиевые. Когда я служил (начало двухтысячных) было так — передний радиатор — «ребристый» и лавочки скручивались по ночам самыми голодными солдатами и продавались как цвет.мет. «Пробоину» потом закрывали обычным жестяным листом. Лавочки заменялись на деревянные.
                                                          0
                                                          я про первую и вторую и не говоил — у них алюмиевые только кожухи над гусеницами и мелкие части. Тогда как БМД и БМП3 имеют алюминиевую броню
                                                        +1
                                                        Пепел HMS Sheffield стучит, конечно, в алюминиевые сердца :) Тем более, что попавшая в него Exocet даже не взорвалась, горел он весьма нарядно :)



                                                        Но, справедливости ради, следует отметить, что начиная с конца второй мировой брони на кораблях, в общем-то нет. Эпоха линкоров, бронепоясов на крейсерах и прочего закончилась быстро. Хоть Iowa class и постреливали и во Вьетнаме, и в Ливане в 80-ых, и даже в Персидский залив ходили в 1991 на усмирение Ирака…

                                                        • UFO just landed and posted this here
                                                            0
                                                            Как это относится к тому, что брони на нем не было? И, будь он из дюралюминия, то не исключено, что сгорел бы быстрее, чем затонул :)
                                                            • UFO just landed and posted this here
                                                                0
                                                                Начнём с того, что ему и попало не в надстройку, уже это показывает, насколько Вы внимательный читатель :)

                                                                А я к тому, что горел он весьма нарядно из-за остатков ракетного топлива, не глядя, что стальной. Был бы алюминиевый, сгорел бы еще быстрее. К началу Фолклендской войны уже переболели алюминиевыми конструкциями. После того, как у владычицы морей морей в 1977 бодро сгорел HMS Amazone, а у её бывшей колонии в 1975 целый авианосец USS John F. Kennedy столкнулся с крейсером USS Belknap с печальными последствиями для алюминиевых надстроек второго (фото прилагается). После чего все Arleigh Burke, например, снова стали стальными :)



                                                                Кстати, значительная часть погибших на Sheffield была в computer room — те самые «бородатые админы в красных свитерах», о которых чуть ниже в комментариях так мило шутят.
                                                        +2
                                                        так этот James A. Kirk, а тот был James T. Kirk, так что не совсем идентичны :)
                                                          +7
                                                          да вобще враньё, у этого и корабль не летает…
                                                            +9
                                                            or so they want you to think…
                                                            +25
                                                            Это первая версия. Потом будет James B. Kirk, James C. Kirk и так до космоса.
                                                            +1
                                                            Как уже писали выше, я сомневаюсь в надёжности размещения системы управления кораблём на «стандартных серверах». После прочтения описаний разных образцов современно военной техники с их многократным дублированием важных управляющих каналов и использование специальных микросхем, серверная стойка на военном корабле выглядит как-то… странно, как минимум.
                                                            P.S. Бородатые админы в свитерах идут в стандартную комплектацию, или их вместе с боеприпасами подвозят? =) По мере расхода…
                                                              +7
                                                              Они в специальных свитерах, исключительно красных.
                                                                0
                                                                Только не в красных! На высадку идти в любом свитере, но не в красном!
                                                                  0
                                                                  Научный и медицинский персонал в синих же :)
                                                                  –1
                                                                  Да? А вот в некоторых боевых системах дублирования цирфи совсем не предусмотрено, только переход на старую добрую оптику. И ничего, живет и воюет эта техника. Причем цифровые системы испытывают Очень сильные перегрузки во время использования данных систем.
                                                                  –5
                                                                  Судя по фотографиям спускать на воду его не собираются. Что работает хорошо, но в следующий раз лучше сделать так, чтоб еще и плавал.
                                                                    –1
                                                                    Вот бы на нем торрент трекер запустить!
                                                                    Цены бы ему не было
                                                                      +9
                                                                      Отправка команд запуска ракет по UDP? OMG.

                                                                      Переиначиваю анекдот:

                                                                      — А вот у нас в России…
                                                                      — П… ц вашей России, кто-то nmap запустил.
                                                                        +10
                                                                        Лучше сразу использовать icmp. Делать ping of death ракетами.
                                                                          +4
                                                                          Зато есть шанс что пакет на запуск ракеты не дойдет :-)
                                                                            0
                                                                            Отправка команд запуска ракет по UDP? OMG.


                                                                            А в чем именно Вы видите проблему?
                                                                              +1
                                                                              Гарантия доставки где?
                                                                                0
                                                                                Ну во-1, в исходной статье написано TCP и UDP.

                                                                                Во-2, у нас в подобных системах как раз именно UDP и используется осмысленно. Гарантия доставки осуществляется встречным UDP-пакетом от получателя (с контрольной суммой и т.п.). Если отправитель (управляющая система) не получает контрольный обратный пакет — выдает ошибку. Это позволяет на уровне прикладного протокола взаимодействия контролировать доставку, не полагаясь, например, на таймауты TCP.
                                                                                  +3
                                                                                  Иными словами, главная проблема TCP состоит в том, что его придумали не тут. TCP решает ровно эту задачу — гарантированной доставки. Выбирая между самопальным протоколом и TCP, имхо выбор очевидно ложится на TCP. А вопрос «таймауты большие», вообще говоря, лечится тюнингом таймаутов под свойства сети и систем.
                                                                                    +1
                                                                                    Я видел техническое решение о выборе UDP вместо TCP и общался с людьми, которые непосредственно это техническое решение писали. Возможно они конечно что-то не поняли, но выглядело все вполне убедительно. Я по началу тоже удивлялся из-за выбора, если честно.
                                                                                    Документы эти будут доступны только в будни, но на память проблема в том, что TCP проектировался все-таки для глобальных сетей и в нем нет возможности обеспечить гарантированную задержку с точностью в десятков миллисекунд.
                                                                                    Может быть конечно это особенности сборки ядра в МСВС, так что если вы укажете на конкретные опции ядер времен RHEL5 (или как конкретно тюнить данные параметры TCP) — родина Вас не забудет.
                                                                                      +1
                                                                                      Вы меня извините, но RHEL 5 — это 2.6.18, который вышел в 2006 году. Сейчас — конец 2013 и на дворе 3.11 из свежих и 3.8 из стабильных.

                                                                                      Из того, что сходу нашлось, не знаю, имеет отношение к топику или нет, вот:

                                                                                      net.ipv4.tcp_early_retrans = 3
                                                                                      net.ipv4.tcp_orphan_retries = 0
                                                                                      net.ipv4.tcp_retrans_collapse = 1
                                                                                      net.ipv4.tcp_retries1 = 3
                                                                                      net.ipv4.tcp_retries2 = 15
                                                                                      net.ipv4.tcp_syn_retries = 6
                                                                                      net.ipv4.tcp_synack_retries = 5
                                                                                      net.netfilter.nf_conntrack_tcp_max_retrans = 3
                                                                                      net.netfilter.nf_conntrack_tcp_timeout_max_retrans = 300
                                                                                      net.ipv4.tcp_congestion_control = cubic
                                                                                      net.ipv4.tcp_fin_timeout = 60
                                                                                      net.ipv4.tcp_keepalive_time = 7200
                                                                                      net.ipv4.tcp_thin_linear_timeouts = 0
                                                                                      


                                                                                      Если вопрос интересный, можем продолжить копать.
                                                                                        +3
                                                                                        Вы меня тоже извините, но в военное время, как известно число пи может достигать четырех, а последний поступивший на вооружение МСВС, как раз основан на ядре из RHEL5. МСВС на 2.6.32 еще пока что на стадии беты и не прошел сертификации.

                                                                                        И мне бы все-таки конкретику, если Вас не затруднит. В знании параметров tcp протокола я Вам явно уступаю.
                                                                                        Условия следующие (реально существующая система):
                                                                                        — сеть на гигабитном оптоволокне (военные любят оптоволокно, его сложнее прослушивать удаленно).
                                                                                        — сервер на МСВС, раздающий управляющие команды, предположим в одном локальном сегменте. Команды пусть будут на старт ракеты.

                                                                                        Вопрос. Как мы можем сделать так, чтоб быть уверенными, что через 40 ms после посылки пакета с командой на пуск ракет, в управляющей системе будет информация о том, что команда принята к выполнению или что возникла ошибка?

                                                                                        ЗЫ: Вопрос не только интересный, а вполне прикладной. В достаточно большом пласте наших военных систем используется логика обмена, описанная мной. Если мы с Вами сможем понять, как сделать лучше — у меня есть возможность попытаться изменить ситуацию.
                                                                                          0
                                                                                          Проблемы сертификации высосаны из пальца сертификаторами, я как технарь их за серьёзные принять не могу.

                                                                                          Вообще, я не слишком большой спец по TCP (мой предел — игры с разными congestion алгоритмами в условиях fat networks). Не буду выпендриваться, решить задачу с полпинка я не могу.

                                                                                          Но любая аргументация за «мы изобретём свой протокол с блекджеком и таймаутами на базе UDP» должна сопровожаться развёрнутым объяснением, почему TCP «нет».

                                                                                          Из того, что я вижу, у linux'а есть настройки таймаутов для каждой стадии и количества попыток на каждой стадии. Если их минимизировать, то можно получить быстрый broken pipe. Утверждать, что настолько быстрый, что меньше 40 мс не скажу, но судя по тому, что таймауты задаются в тиках, при тике в 100Гц получить 40мс вполне возможно.
                                                                                            +7
                                                                                            Но любая аргументация за «мы изобретём свой протокол с блекджеком и таймаутами на базе UDP» должна сопровожаться развёрнутым объяснением, почему TCP «нет».
                                                                                            И оно вам было дано.

                                                                                            Из того, что я вижу, у linux'а есть настройки таймаутов для каждой стадии и количества попыток на каждой стадии. Если их минимизировать, то можно получить быстрый broken pipe. Утверждать, что настолько быстрый, что меньше 40 мс не скажу, но судя по тому, что таймауты задаются в тиках, при тике в 100Гц получить 40мс вполне возможно.
                                                                                            Угу. Есть только один вопрос: зачем? Если задача формулируется как «получить информацию о том, что команда принята к исполнению или получить информацию о том, что у нас проблемы», то это уже не TCP, тут другие протоколы нужны.

                                                                                            Как вы верно заметили TCP — это pipe. Если вам не нужно передавать много данных, то никакой TCP вам нафиг не нужен. Времчя на установление соединения не окупится повышением гибкости.

                                                                                            Засилье TCP в современном интернете возникло не потому, что он удобен для решения разных задач, а потому что он хорошо NAT'ится. Если у вас в сети NAT не используется, то диапазон применимости TCP резко снижается.
                                                                                          +1
                                                                                          Ах да. Со стыдом за нашу оборонку вынужден напомнить, что иногда приходится и винду использовать, например, когда покупается железо за бугром, к которому проприетарные виндовые драйвера. Поэтому на другом конце управляющего сервера может быть и винда (к счастью, не win2k и не winXP, что в моем сегменте стоило мне не одного будущего седого волоса, а вполне даже win7).
                                                                                          Но для начала давайте существовать в мире розовых пони и МСВС везде.
                                                                                            0
                                                                                            Вы же понимаете, что в зависимости от типа удаленнного оборудования, таймаут должен быть разный. Величина тайматуа фактически должна быть привязана даже не к отдельному приложению, а должна быть возможность задать величину таймута непосредственно из кода в приложении.
                                                                                          +2
                                                                                          Выбирая между самопальным протоколом и TCP, имхо выбор очевидно ложится на TCP.

                                                                                          Есть такая штука как TFTP. Архаизм, но многими любимый архаизм, так как прост и надежен как кувалда.

                                                                                          TCP слишком абстрагирован от приложения и слишком самоволен. Вы сильно ограниченны в возможностях по его доработке, а с UDP можно делать что угодно, не касаясь сетевого стека ОС и не рискуя получить нерабочий велосипед.

                                                                                          Гипотетическая задача: с управляющего компьютера передать ракете команду на запуск. Как можно скорее, как можно надежнее. Я бы сделал это на UDP: одновременно выплюнуть в сторону ракеты десяток одинаковых пакетов с командой на запуск. Приложение на ракете увидит хотя бы часть из них, какими-то своими средствами аутентифицирует запрос и отправит назад подтверждение. Задержка выполнения команды равна задержке пакета в одну сторону. Никаких оверхедов кроме избыточной отправки пакетов (довольно стандартный подход, например — критические мультикастовые потоки резервируют по схеме live-live, когда к получателю приходят разными маршрутами два совершенно одинаковых потока, и в случае потери пакета на одном из них можно мгновенно переключиться на другой).

                                                                                          В случае TCP задержка — пакет туда, пакет обратно, снова пакет туда. Рост в три раза.
                                                                                          Или постоянно держать сокеты открытыми?

                                                                                          Что бы вы ни предложили (например, передавать данные сразу в SYN) — это все равно будет переписывание стандартного TCP, противоречащее его идеологии.
                                                                                            0
                                                                                            Кстати, держать tcp постоянно активным — это хорошая идея. И мониторинг заодно. При коротком keepalive (в секунду, например), наличие коннекта будет означать, что всё работает.
                                                                                              +3
                                                                                              Вот уж чем кипалайвить — совсем не проблема.

                                                                                              На TCP кипалайвы отвечает сетевой стек ОС. Не может ли быть такого, что приложение раскорячило, но сокет остался открытым? В этом плане кипалайвы, работающие на уровне приложения, надежнее будут. Тут мы говорим о тех системах, в которых задержки и сбои в прямом смысле угрожают жизням людей, а деньги на разработку оптимально работающих в данном конкретном случае протоколов имеются. TCP универсален, спору нет, но из универсальности следует неудовлетворительная работа в условиях жесточайших требований.

                                                                                              Опять же — не надо относиться к TCP vs UDP как к «надежно» vs «ненадежно». В случае второго контроль доставки и многое другое переложено на уровень приложения, и можно выкинуть множество разнообразных излишеств, оставшись лишь с самым необходимым.
                                                                                            0
                                                                                            Да там не в гарантии доставки дело. Просто проследите логику описанного протокола: он состоит из запроса и ответа (это физически всего два пакета), а в tcp тоже самое это 4 пакета, ибо необходима установка соединения. Более того, UDP там всего лишь один из транспортов, и данные передаются глубже, до конечной железки, а на конечную железку данные вообще могут идти через COM порт, к примеру, и уже эта конечная железка генерирует ответ. Если всё именно так — то как раз UDP там лучший выбор, собственно выбор основан на том же, что и для uTp в торррентах — гораздо меньшие накладные расходы, и особенно задержка, со стороны протокола.
                                                                                            +1
                                                                                            Я тоже люблю в свободное время превращать UDP в TCP.
                                                                                      0
                                                                                      И никто не вспомнил, что по лицензии Linux запрещается использовать в системах вооружения, не?
                                                                                        +8
                                                                                        А можно ссылочку?
                                                                                        Вроде уже была снайперская винтовка с Linux на борту. И о таком пункте лицензии не вспоминали.
                                                                                          +7
                                                                                          Это по какой же лицензии?
                                                                                          Можно пунктик GPLv2 в студию?
                                                                                            +3
                                                                                            Опровержением этого факта является то, что DFSG запрещает такие ограничения, а в Debian ядро Linux вполне себе используется.
                                                                                              0
                                                                                              Да ладно вам? Или вы уже забыли про знаменитые акулы с лазерами, про которые несколько лет назад рассуждал Торвальдс???
                                                                                              +20
                                                                                              Переводчик жертва копипасты. Lynx — это не линукс. Автора на сайте Ars Technica(собственно откуда новость) приложили в комментариях.
                                                                                              www.reddit.com/r/technology/comments/1oq5p0/the_navys_newest_warship_is_powered_by_linux/ccuof9m Lynx или Linux, какая разница.
                                                                                                0
                                                                                                RHEL тоже не линукс? O_o
                                                                                                Большинство серверов в дата-центре — стандартные серверы производства IBM под Red Hat Linux,
                                                                                                0
                                                                                                Command, Control & Intelligence в центре блок-схемы мой мозг первые 100ms по привычке распознавал как Command & Conquer
                                                                                                  0
                                                                                                  А это нормально, что прекрасные, надёжные и защищённые продукты СПО используются всякими сомнительными политическими режимами для создания оружия? Я за GPLv3
                                                                                                    +2
                                                                                                    Почему нет? Не поймите меня неправильно, война — это ужасно, но ПО свободное, а значит любой волен его использовать так, как захочет, это же и есть основная идея.
                                                                                                      –2
                                                                                                      И это сказал «Инженер по специальности „ракетостроение“».
                                                                                                        +2
                                                                                                        Ракеты есть и мирного назначения :)
                                                                                                          +1
                                                                                                          Тут хочу комментария от автора. А то окажется что он спонсирует сирийский и прочие режими разработкой поставляемого тиранам оружия. Двуличненько получится.
                                                                                                            +1
                                                                                                            Я никогда не занимался непосредственно разработкой оружия или ракет и не собираюсь.
                                                                                                              –6
                                                                                                              Ок. Но я бы в первую очередь тогда обратил бы ваше внимание на гораздо более близкий сомнительный политический режим (на порядки более сомнительный чем в США), который сделал свою МСВС на базе OpenSource.
                                                                                                        0
                                                                                                        Ну если вы такой фанат GPLv3 то должны бы знать, что она ни разу такую деятельность не запрещает. Или вы из тех, кто «не читал, но одобряет»?
                                                                                                      +5
                                                                                                      make love, not war.
                                                                                                      0
                                                                                                      А тем временем в Питере набирают желающих на альфа-тест World of Warships. Поуправлять эсминцем может любой желающий. =)
                                                                                                      0
                                                                                                      А у нас зато Буран сам летал и полностью автоматически приземлился. Всё ПО занимало 16 килобайт. Вот это программисты были! :-)
                                                                                                        0
                                                                                                        Соврал, это объем ПЗУ такой. А ПО около 100 мегабайт занимало.
                                                                                                        0
                                                                                                          0
                                                                                                          Мда, этот код убивает.
                                                                                                            +1
                                                                                                            А потом будут говорить, что Linux убивает людей)
                                                                                                            –1
                                                                                                            Не взлетит.
                                                                                                              0
                                                                                                              Новый эсминец ВМС США работает под управлением Linux

                                                                                                              А под управлением чего раньше эсминцы работали? Windows?
                                                                                                                +1
                                                                                                                Было и такое. Однажды из-за 3.11 на 2 часа он был беззащитен.
                                                                                                                  +1
                                                                                                                  Это была Windows NT, время простоя 2 часа 45 минут.
                                                                                                                    0
                                                                                                                    Да, весёленькая история… Достаточно ввести ноль куда следует :)

                                                                                                              Only users with full accounts can post comments. Log in, please.