Стандартизация сетей: Таненбаум, 1.6

Предыдущие посты по теме:

Collapse )

Прочел раздел 1.6 «Стандартизация сетей» главы 1 «Введение».

Про стандарты в области компьютерных сетей и в предыдущих разделах книги много написано. Но в этом разделе тема раскрыта более широко и системно.

Раздел состоит из довольно большого вступления и трех подразделов: кто есть кто в мире 1) стандартизации телекоммуникаций, 2) международных стандартов, 3) стандартов интернета.

Во вступлении рассказано, зачем вообще нужны стандарты. Что представляет из себя стандарт, что он определяет и чем он не является (стандарт не определяет конкретные способы сделать что-либо, как можно подумать, он лишь определяет то, что требуется для совместимости, не больше и не меньше).

Иногда над определением соответствия (совместимости оборудования) стандарту работает целая специально созданная организация. В качестве примера приведена организация «Wi-Fi Alliance», тестирующая оборудование на соответствие стандарту IEEE 802.11 (беспроводные локальные сети).

Рассказано про существование стандартов де-юре (принятых каким-либо органом стандартизации) и де-факто (новая технология из некоего продукта, очень быстро подхваченная большинством участников рынка и в отсутствие формальных стандартов занявшая их место).

Кто есть кто в мире стандартизации телекоммуникаций. (Тут, кстати, нужно подчеркнуть, что термин «телекоммуникации» считается синонимом термина «электросвязь». В русской википедии при поиске статьи «телекоммуникации» настроено перенаправление на статью «электросвязь». Электросвязь в зависимости от среды передачи подразделяется на проводную связь, волоконно-оптическую (оптоволоконную) связь и радиосвязь.)

Рассказано, что в разных странах управление телекоммуникациями устроено по-разному. Есть две крайности: коммуникациями заправляет множество конкурирующих между собой частных компаний (например, в США) и коммуникациями управляет государственный орган (министерство). Многие страны находятся посередине между этих двух крайностей.

Естественно, разным странам понадобилось прокладывать телекоммуникации между собой, а поэтому возникла необходимость в международных стандартах телекоммуникаций, чтобы обеспечить совместимость телекоммуникаций разных стран. Нужен был международный орган для стандартизации телекоммуникаций, и он был создан в 1865 году. Сейчас этот орган известен под названием ITU (International Telecommunication Union, по-русски «международный телекоммуникационный союз» или «международный союз электросвязи» или МСЭ).

ITU состоит из трех подразделений, которые называют «секторами»: ITU-T (сектор стандартизации телекоммуникаций), ITU-R (сектор радиокоммуникаций), ITU-D (сектор развития телекоммуникаций).

Сектор ITU-T создает стандарты, которые называются «техническими рекомендациями», потому что эта международная организация имеет право лишь рекомендовать что-то правительствам стран, а не приказывать им. Понятно, что любая страна практически вынуждена принимать рекомендации как стандарты, если эти рекомендации принимает абсолютное большинство других стран. В противном случае страна не сможет наладить телекоммуникации с другими странами, ведь между телекоммуникациями не будет совместимости.

Для работы над конкретными темами ITU-T создает «Study Groups» (SG, по-русски «исследовательская группа»), которые делятся на «Working Parties» (рабочие группы), которые делятся на «Expert Teams» (команды экспертов), которые делятся на «ad hoc groups» (группы по отдельным задачам).

Кто есть кто в мире международных стандартов. Рассказано про ISO (International Standards Organization, по-русски «международная организация по стандартизации»), созданную в 1946 году. По вопросам стандартизации телекоммуникаций ISO и ITU-T сотрудничают (ISO является членом ITU-T).

Для работы над конкретными темами ISO создает «Technical Committees» (TC, по-русски «технический комитет»). Существует также один «Joint Technical Committee» (JTC, по-русски «объединенный технический комитет»; «объединенный» потому, что в этот комитет объединены эксперты, работающие в разных организациях по стандартизации, то есть в данном случае — не только эксперты из ISO). Технические комитеты делятся на «subcommittees» (SC, по-русски «подкомитеты»), которые делятся на «working groups» (WG, по-русски «рабочие группы»).

В рабочих группах работают «добровольцы». Кавычки здесь потому, что часть этих «добровольцев» является сотрудниками разнообразных корпораций, которые таким образом продвигают свои интересы. Другая часть «добровольцев» — государственные чиновники разных стран, которые тоже продвигают свои интересы. Оставшиеся участники рабочих групп — научные эксперты, часто присланные из разных научных организаций и университетов.

Создание стандарта проходит через довольно сложную процедуру. По инициативе одной из национальных организаций по стандартизации в случае необходимости создания стандарта формируется рабочая группа, которая вырабатывает «Committee Draft» (CD, по-русски «черновик комитета»; как я понял, это первый черновик текста будущего стандарта). Этот черновик отправляют всем членам ISO для рассмотрения и внесения правок, на это выделяется срок в 6 месяцев. После этого из первого черновика формируется второй черновик, написанный с учетом всех замечаний от членов ISO, он называется «Draft International Standard» (DIS, по-русски «черновик международного стандарта»). Этот черновик опять отправляется членам ISO, теперь уже для комментирования и голосования. После этого пишется окончательный вариант стандарта — International Standard (IS, по-русски «международный стандарт»), который затем публикуется. Вся процедура может занимать годы.

Рассказано про NIST (National Institute of Standards and Technology, по-русски «Национальный институт стандартов и технологий»), он является частью Министерства торговли США.

Рассказано про IEEE (Institute of Electrical and Electronics Engineers, по-русски «Институт инженеров электротехники и электроники»). В частности, сказано про комитет 802 этой организации, который занимается стандартами в области локальных сетей. Приведена табличка со списком 22 рабочих групп комитета 802, самые известные из которых 802.3 (Ethernet), 802.11 (беспроводные локальные сети, они же «Wi-Fi»), 802.15 (персональные сети, «Bluetooth»), 802.16 (широкополосные беспроводные локальные сети, «WiMAX»).

Кто есть кто в мире стандартов интернета. Автор книги считает мир стандартов интернета более неформальным. По его словам, на встречах ISO и ITU собираются люди в костюмах, а на встречах по стандартизации интернета — люди в джинсах и футболках.

Рассказано про создание IAB (с 1983 года — Internet Activities Board, позже — Internet Architecture Board, по-русски «Совет по архитектуре интернета»), который изначально был основан Министерством обороны США для наблюдения за технической стороной работы своего детища — ARPANET. Члены IAB формируют стандарты в виде текстовых документов, которые называются RFC (Request For Comments, по-русски дословно «заявка на отзывы», подразумевается «тема для обсуждения» или «рабочее предложение»). Они доступны любому человеку по адресу:
https://www.ietf.org/rfc/

В 1989 году IAB был реорганизован в очередной раз. Была создана дочерняя для IAB организация IRTF (Internet Research Task Force, по-русски «Группа исследования интернета»). В нее перевели часть исследователей. Другую часть перевели в IETF (Internet Engineering Task Force, по-русски «Инженерный совет интернета»).

В 1992 году была создана организация ISOC (Internet Society, по-русски «Общество интернета»).

По задумке организаторов разделения IAB организация IRTF должна заниматься долгосрочными исследованиями интернета, а IETF — возникающими здесь и сейчас инженерными проблемами.

Для стандартизации WWW (World Wide Web, по-русски «веб» или «всемирная паутина») существует организация W3C (World Wide Web Consortium, по-русски «Консорциум Всемирной паутины»), созданная в 1994 году Тимом Бернерсом-Ли.

Примеры сетей: Таненбаум, 1.5

Предыдущие посты по теме:Collapse )

Прочел раздел 1.5 «Примеры сетей» главы 1 «Введение».

Раздел разбит на четыре подраздела, посвященных отдельным видам сетей: интернет, мобильные телефонные сети 3G (третьего поколения), беспроводные ЛВС («локальная вычислительная сеть» или просто «локальная сеть»; по-английски — LAN — «local area network») стандарта 802.11 (более известные под названием «Wi-Fi», по-русски произносится «вайфай»), сети по технологии RFID и сенсорные сети.

Подраздел, посвященный интернету, начинается с краткой истории интернета. Откуда взялось агентство «ARPA» и как оно создало сеть «ARPANET», прародителя современного интернета. Идеи Пола Бэрана (Paul Baran) по перестройке телефонной сети и превращению ее в более надежную распределенную систему с коммутацией цифровых пакетов. Как эти идеи были отвергнуты монополистом в сфере телефонных сетей, компанией «AT&T». На каком аппаратном и программном обеспечении была построена сеть «ARPANET». Как не нашлось специалиста по программному обеспечению «ARPANET» и за написание программ пришлось взяться вчерашним студентам-аспирантам. Схема развития сети «ARPANET» в первые годы ее существования: 1969-1972. Создание модели TCP/IP и ее протоколов. Включение модели TCP/IP в очередной релиз операционной системы UNIX университета Беркли, создание программного интерфейса под названием «сокеты». Распространение модели TCP/IP, появление DNS.

История интернета продолжается с созданием сети NSFNET, детища научного фонда NSF. NSFNET открыла доступ к рождающемуся интернету для любого университета США, а не только тем, у кого есть контракт с агентством «ARPA». Передача этой сети в руки коммерсантов (до этого этой сетью можно было пользоваться только на некоммерческой основе). Появление точек доступа к сети, которые назывались NAP (network access point). Появление WWW.

От истории интернета переходим к его современному устройству (архитектуре интернета). Дана упрощенная схема его архитектуры. Кто такие ISP (провайдеры интернета, internet service provider). Способы присоединения к сети провайдера: 1) устаревший «диалап» (калька с английского «dial-up», что по-русски означает «набор телефонного номера» или «дозвон»), 2) с помощью технологии DSL по той же телефонной линии, 3) по дорогостоящему оптоволокну, 4) через малораспространенные в России сети кабельного телевидения, 5) через мобильные телефонные сети.

Технология DSL (digital subscriber line), цифровая передача данных по телефонной линии. Модем DSL со стороны пользователя. Устройство DSLAM (мультиплексор) со стороны провайдера.

Интернет через сеть кабельного телевидения. Кабельный модем со стороны пользователя, устройство CMTS со стороны провайдера.

Скорости передачи данных. Широкополосный интернет. Дизайн прокладки оптоволокна до дома пользователя — FTTH (fiber to the home).

Что такое «точка присутствия» в сети провайдера (POP — point of presence). Что такое магистральная (базовая) линия в сети провайдера (по-английски «backbone»). Что такое IXP (internet exchange point), точка обмена интернет-трафиком между сетями провайдеров. Виды провайдеров: мелкие, крупные и провайдеры первого уровня. Плата за транзит. Датацентры. Серверные фермы. Услуги хостинга и колокации. Услуга предоставления виртуальных машин.

Что такое «интранет» (локальная корпоративная сеть, работающая по технологиям интернета).

Подраздел, посвященный мобильным телефонным сетям 3G (третьего поколения). История поколений мобильных телефонных сетей. Одна из популярнейших таких сетей первого поколения (1G) в США — AMPS (advanced mobile phone system) — была развернута в 1982 году. Второе поколение (2G) таких сетей отметилось переходом на передачу голосового вызова в цифровой форме. Популярнейшим примером такой сети стала GSM (Global System for Mobile communications), развернутая в 1991 году.

Третье поколение (3G) начало развертываться в 2001 году и предлагало уже цифровую передачу и голоса, и других данных. Популярнейший пример этого поколения — UMTS (Universal Mobile Telecommunications System) с технологией WCDMA.

Торговля на аукционах государственными лицензиями на полосы частот. Почему для архитектуры мобильных телефонных сетей был выбран сотовый дизайн. Устройство сотового дизайна. Ячейки и базовые станции.

Современное устройство сотовых сетей из двух частей: сеть радиодоступа, базовая сеть. Что такое RNC (контроллер радиосети). Противоборство сетей без установления соединения (пакетных) против сетей с установлением соединения (с коммутацией каналов), то есть война технологий интернета против технологий телефона.

Что такое передача мобильного устройства от одной базовой станции к другой (handover) при движении этого мобильного устройства. Мягкая передача (soft handover) против жесткой передачи (hard handover). Что такое HSS (Home Subscriber Server) и как в нем хранятся данные об абонентах и их местонахождении в любой момент времени.

Что такое SIM-карта («симка»), и как и для чего она появилась. Разработка сетей четвертого поколения (4G): технологии LTE и WiMAX.

Подраздел, посвященный беспроводным локальным сетям стандарта 802.11 (Wi-Fi или «вайфай»). Почему появились такие сети (люди хотели приходить в какое-либо помещение со своим ноутбуком и сразу же (мгновенно) получать доступ к местному интернету без всяких усилий по подключению кабелей и настройке программ).

Чем вайфай отличается от мобильных телефонных сетей (у вайфая меньше охват, потому такие сети и называются локальными; для начала работы вайфая не требуется покупать на аукционе за громадные деньги лицензию на полосу частот у государства, так как для файфая используются так называемые полосы частот из группы ISM («industrial, scientific, medical», по-русски «для промышленных, научных и медицинских целей»; это специальные полосы частот, выделенные для бесплатного использования в указанных целях)).

Устройство таких сетей. Точки доступа (AP, access point) или базовые станции. Два вида таких сетей: с точками доступа и без них (последние еще называют «ad hoc network»).

Замирания сигнала из-за многолучевого распространения (multipath fading). Разнесение путей (path diversity). Что такое OFDM (Orthogonal Frequency Division Multiplexing, мультиплексирование с ортогональным частотным разделением сигналов). Метод CSMA (Carrier Sense Multiple Access) для недопущения коллизий. Сеть «ALOHANET» на Гавайях. Проблема мобильности. Проблема безопасности.

Подраздел, посвященный сетям по технологии RFID и сенсорным сетям. RFID — radio frequency identification (радиочастотная идентификация). Метки RFID представляют из себя микрочипы. Считыватель таких меток, соответственно, считывает информацию с них. Такие метки призваны заменить штрихкоды и не только.

Метки RFID бывают пассивными (не имеют своего источника питания, получают энергию от считывателя меток через радиоволны) и активными (есть свой источник питания, но такие метки используются гораздо реже пассивных). Виды технологии RFID: ультравысокочастотная, высокочастотная, низкочастотная. Проблема безопасности. Вирусы в сетях RFID.

Сенсорные сети — это шаг вперед от технологии RFID. Здесь каждый сенсор (метка) обладает кучей датчиков (температуры, вибраций, движения), большими вычислительными возможностями, может самостоятельно получать энергию от вибраций или от солнца. Сенсоры могут самоорганизовываться в сеть, в которой каждый сенсор может быть ретранслятором. В итоге данные передаются в точку сбора информации.

Сенсорные сети используются для изучения птичьих стай и мест их поселения, миграции диких животных, а в торговле, например, можно отслеживать состояние и пройденный путь для различных скоропортящихся товаров (и не только скоропортящихся).

Переводчик-антигосударственник

Переводчик книги Таненбаума, видимо, противник государства в принципе. Про его предыдущий ляп я писал в прошлом посте.

После того раза он не унялся и несколькими абзацами позже получилось следующее.

Оригинал:
«Many people like to criticize the Federal Government for not being innovative, but in the area of networking, it was DoD and NSF that created the infrastructure that formed the basis for the Internet and then handed it over to industry to operate.»

Официальный перевод:
«Многие любят критиковать государственные структуры США за их консерватизм, а между тем, не кто иной, как Министерство обороны и государственный Национальный научный фонд создали все необходимые условия для развития Интернета, а затем передали свои закрытые разработки массовому пользователю.»

Должно быть примерно так:
«Многие любят критиковать федеральное правительство за то, что оно слабо продвигает инновации, но в сфере организации работы в сетях не кто иной, как Минобороны и NSF, создали инфраструктуру, которая сформировала основу интернета, а затем передали ее индустрии в работу.»

Во-первых, ругают именно федеральное правительство, а не просто государственные структуры. Но это, в общем, мелочь.

Еще одна мелочь — передали не «массовому пользователю», а коммерсантам из сетевой индустрии, которые затем начали продавать услугу интернета массовому пользователю.

Главное тут — две вещи. Первое: Минобороны и NSF создали не просто «условия для развития» интернета, а его работающую базовую инфраструктуру, которую затем и передали бизнесу. Причем, не просто передали, а еще и искусственно создали конкуренцию среди коммерсантов путем создания пунктов доступа к сети (NAP, Network Access Point):
https://en.wikipedia.org/wiki/Network_access_point

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

Второе: почему это переводчик решил, что разработки государства были закрытыми? Я думаю, это результат шаблонного мышления антигосударственника. Не были эти разработки закрытыми: модель TCP/IP с ее протоколами свободно распространялась в составе операционной системы UNIX, компьютеры, служившие в качестве маршрутизаторов, свободно продавались компаниями «DEC» и «IBM». Доступ к NSFNET предлагался любому университету. Ничего закрытого, ничего секретного. И об этом рассказывалось немного ранее в книге.

Создание интернета: государство VS бизнес

Читаю сейчас про историю создания интернета в книжке Таненбаума. Это увлекательнейшее чтиво! По этой истории можно было бы заснять великолепный художественный сериал (вместо той бесконечной дряни, которая сегодня выходит на экраны).

В жежешечке (как и на других площадках) ведутся бесконечные дурацкие споры по нескольким темам. Например, коммунизм против капитализма, условные либералы против «ватников» и тому подобные. Одна из таких тем — государство против свободного рынка (то есть условные чиновники против условных бизнесменов).

Почему эти споры дурацкие? Потому что, как известно, истина всегда лежит где-то посередине.

В случае создания интернета именно государство (США) «родило» новую область для бизнеса. Нашему государству можно поучиться на этом примере, что и как следует делать.

Вот несколько интересных фактов из истории создания интернета.

В конце 1950-х Минобороны США искало способ повысить надежность своих коммуникаций, например, в случае ядерного удара (СССР, как видим, подтолкнул США к созданию интернета). Минобороны заключило контракт с «RAND Corporation», чтобы там нашли решение этой проблемы. Один из сотрудников «RAND Corporation», Пол Бэран (Paul Baran), в 1964 году предложил создать распределенную сеть на базе существующей телефонной сети, а вместо аналогового сигнала использовать цифровую технологию с коммутацией пакетов.

Чиновникам в Минобороны эта идея понравилась и они обратились к тогдашнему монополисту (в США) в сфере телефонных коммуникаций, компании «AT&T», с предложением создать прототип предложенной Полом Бэраном системы. «AT&T» отвергла идеи Бэрана, оттуда сообщили, что такой проект невозможно реализовать. Таненбаум считает, что «AT&T» не захотела позволить «какому-то молодому сопляку» (в книге — «some young whippersnapper») указывать им, как строить телефонную систему.

Пометим себе, что свободный рынок в данном случае выступил тормозом прогресса. Идеи Пола Бэрана были реализованы десятилетием спустя другими людьми.

4 октября 1957 года СССР запустил в космос первый искусственный спутник Земли. Это событие послужило для США еще одним импульсом к созданию интернета. Тогдашний президент США, Дуайт Эйзенхауэр, после запуска Союзом спутника начал разбираться, кто в Минобороны «заснул за рулем» (в книге — «who was asleep at the switch») и был потрясен, обнаружив, что армия, флот и военно-воздушные силы ссорятся по пустякам, посвящая огромное количество времени дележу бюджета, отпущенного на исследования. Чтобы прекратить этот балаган, в 1958 году была создана единая для всех родов войск оборонная исследовательская организация — «ARPA» («Advanced Research Projects Agency»).

Эта самая «ARPA» в конце 1960-х и создала знаменитую сеть «ARPANET», прародителя современного интернета. «ARPANET» соединяла университеты и исследовательские лаборатории, с которыми у агентства «ARPA» были контракты. Без такого контракта присоединиться к этой сети было нельзя, а множество университетов таких контрактов не имело. Решать эту проблему в конце 1970-х взялась другая американская правительственная организация — «NSF» («National Science Foundation», национальный научный фонд).

Фонд «NSF» профинансировал создание другой глобальной сети в США — «NSFNET». Эта сеть была открыта для любых исследовательских групп любого университета США. Она была соединена и с «ARPANET». После взрывного роста этой сети у нее тоже появилась проблема. Коммерсанты хотели принять участие в развитии сетей и урвать свой кусок пирога, но не могли, потому что фонд «NSF» — это некоммерческая организация и ее устав не позволяет получать прибыль от ее разработок (ее деятельность направлена на финансирование развития науки в США). Чтобы решить эту проблему, сеть «NSFNET» в 1990 году передали во владение другой некоммерческой организации — «ANS», сформированной компаниями «MERIT», «MCI» и «IBM». Через пять лет эту сеть купил знаменитый в США интернет-провайдер «AOL».

В этом месте в книге Таненбаума в оригинале написано:
«But by then, various companies were offering commercial IP service and it was clear the government should now get out of the networking business.»

Официальный перевод:
«Но к тому времени уже появилось множество коммерческих фирм, предлагающих свои услуги в области IP-коммуникаций. Стало понятно, что государству не удастся выдержать конкуренцию с ними и оно должно уйти из этого бизнеса.»

Переводчик высосал из пальца мысль о том, что государство должно уйти, потому что не выдержало конкуренции. В оригинале речь совсем не про это. Человек переводит текст, но такое впечатление, будто он вообще не читал то, что было изложено несколькими абзацами ранее.

Государство создало новую область для бизнеса, а когда в дело включились коммерсанты, стало понятно, что они теперь справятся сами и можно сворачивать финансовую поддержку от государства и направить ее на другие полезные дела.

Эталонные модели сетей: Таненбаум, 1.4

Начало тут:
1. Компьютерные сети, книга, Таненбаум и Уэзеролл
2. Применение компьютерных сетей: Таненбаум, 1.1
3. Сетевое оборудование: Таненбаум, 1.2
4. Сетевое ПО: Таненбаум, 1.3

Раздел 1.4 «Эталонные модели» (по-английски «reference model») главы 1 «Введение».

В науке есть такое понятие — «эталонная модель». Ученые конструируют модель некоего сложного понятия, описывая это понятие в максимально абстрактных терминах, стараясь учесть при этом все возможные ошибки, подстелить соломки в тонких местах. Получается модель-эталон, по образцу которой практики позже разрабатывают системы для конкретных практических применений.

В этом разделе автор кратко описывает две самые популярные эталонные модели в области конструирования компьютерных сетей: модель OSI и модель TCP/IP.

Каждая из этих моделей построена на идее многоуровневой коммуникации, описанной в предыдущем разделе. Каждая из этих моделей описывает набор уровней и их функции. Вообще в эталонную модель не входит набор (стек) конкретных протоколов, так как это уже область ответственности практиков. Для модели вкупе с набором соответствующих поуровневых протоколов существует понятие «архитектура сети».

Хоть стек конкретных протоколов не входит в понятие «модель сети», при создании моделей OSI и TCP/IP описывались и конкретные протоколы. Как показала практика, обе указанные модели оказались неидеальны. Стек протоколов, описанных с моделью TCP/IP, приобрел широкую популярность, а стек протоколов, описанных с моделью OSI, не выдержал конкуренцию и не применяется. Однако, эталонная модель OSI имеет перед эталонной моделью TCP/IP несколько серьезных преимуществ (так же, как и недостатков).

Например, модель OSI четко разделяет понятия «служба», «интерфейс» и «протокол» в отличие от модели TCP/IP. Эти понятия часто сравнивают с принципами объектно-ориентированного программирования: для объекта набор служб (сервисов) — это аналог методов, интерфейсы — это совокупность параметров методов и возвращаемого методом результата, а протокол — это то, как метод написан внутри — программный код в теле метода.

Пользователи классов пользуются «службами» (методами) объектов классов с помощью «интерфейсов» (задавая параметры методов и получая от методов результат их работы) и не имеют доступа к «протоколам» объектов классов (скрытый от пользователей классов программный код в теле методов объектов классов). Разработчик класса может постоянно менять и улучшать «протоколы» (код методов классов), не мешая работе пользователей классов. Это работает, пока не меняется состав «служб» (методов класса) и «интерфейсов» (параметры методов классов и результат работы методов классов). Аналогично службы, интерфейсы и протоколы работают для компьютерных сетей.

В итоге автор книги предлагает свою собственную эталонную модель, полученную соединением преимуществ моделей OSI и TCP/IP.

В разделе есть шесть подразделов: эталонная модель OSI; эталонная модель TCP/IP; модель, используемая в этой книге; сравнение эталонных моделей OSI и TCP/IP; критика модели и протоколов OSI; критика эталонной модели TCP/IP.

Наука и фундамент образования

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

Я нарисовал для иллюстрации своих представлений такую картинку:

Наука и образование

На производствах, в услугах, торговле и прочих бизнесах работают «практики». Многие из них не только работают, а еще и пишут узкоспециальные книги по своей области, в которой они практикуют. На рисунке практики и их знания в виде книг изображены в своем «облачке».

Ученые с помощью одного из приемов науки — обобщения — делают из сотен узкоспециальных книг в некой области знаний своеобразную «выжимку» («фундамент», он же — теоретические основы в некой области знаний). В результате этого из сотен книг получается всего несколько теоретических книжек-учебников. На рисунке этот процесс изображен большой стрелкой с пунктирными границами. Эта стрелка имеет широкое основание (множество практиков с сотнями узкоспециализированных книг) и она сужается к своему указующему концу. Это сужение символизирует получение из сотен практических книг несколько теоретических.

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

Из этого рисунка можно догадаться, откуда взялись понятия «фундаментальная наука» (такая наука создает теоретический фундамент для обучения) и «фундаментальное образование» (такое образование строится по принципу «от теоретического фундамента к узкоспециальным практикам»).

Недостатки и достоинства этой системы

Про недостатки и достоинства можно развернуться на целую книгу, тут-то и идут все споры. Я не смогу полноценно раскрыть тему в этом маленьком посте, поэтому просто изложу пару мыслей для затравки.

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

Одно из достоинств. «Можно прочитать такую-то узкоспециальную книгу (пройти курс) и начать работать уже через полгода, а не тратить на высшее образование пять лет», — так говорят некоторые противники фундаментального образования. И это действительно так. Однако, вы можете потерять ту узкоспециализированную работу, ради которой вы учились полгода. Чтобы получить другую узкоспециализированную работу, вы потратите еще полгода. В то же время выпускника вуза сразу берут на другую работу и он дообучается уже в процессе работы.

Еще одно достоинство. Кроме этого, выпускнику вуза легче вести какой-то высокотехнологичный собственный бизнес (понятно, что для того, чтобы (условно) торговать помидорами на рынке, вуз заканчивать не обязательно). Почему? Бизнесмен рассуждает так: «Наберу специалистов, они всё сделают». Однако, на практике бизнесмену в большинстве случаев приходится и самому вникать в работу специалистов, а для этого хорошо бы иметь хотя бы теоретический фундамент в нескольких смежных областях знаний (это дает вуз), иначе придется самому штудировать учебники, то есть самостоятельно пытаться получить то, что дают в вузе.

Сетевое ПО: Таненбаум, 1.3

Начало:
1. Компьютерные сети, книга, Таненбаум и Уэзеролл
2. Применение компьютерных сетей: Таненбаум, 1.1
3. Сетевое оборудование: Таненбаум, 1.2

Прочел раздел 1.3 «Сетевое программное обеспечение» главы 1 «Введение».

Тут настоящее начало этой книги. Раздел состоит из пяти подразделов: иерархия протоколов, проблемы проектирования слоев (уровней), служба (сервис) на основе соединения и без установления соединения, примитивы служб, связь между понятиями службы и протокола.

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

Между слоями (уровнями) сетевого ПО есть некие интерфейсы. Интерфейс (он же — «служба» или «сервис») определяет набор примитивных операций (примитивов), обеспечиваемых нижним слоем (уровнем) сетевого ПО верхнему слою (уровню).

Дано определение архитектуры сети (с точки зрения программиста) как набора слоев (уровней) и протоколов. Дано определение стека протоколов как списка протоколов, используемых системой, упорядоченных по слоям (уровням) сетевого ПО.

Чтобы читатель понял идею многослойной (многоуровневой) коммуникации (общения), эта идея подробно расписана на примере (аналогии) общения двух философов. Эти философы находятся в разных странах и один из них говорит на английском языке, а другой — на французском.

Оба философа наняли переводчиков. Первый философ нанял переводчика, который знает английский и нидерландский языки. Второй философ нанял переводчика, знающего французский и нидерландский языки. То есть между собой эти переводчики могут общаться на нидерландском. Переводчики, в свою очередь, наняли личных секретарей. У каждого из секретарей есть факс.

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

Субъект каждого из слоев (уровней) в этой системе считает, что общается с субъектом того же слоя (уровня) противоположного узла (стороны) системы (сети). Например, секретарь общается по факсу с секретарем противоположной стороны (их протокол — правила передачи сообщений по факсу). Первый переводчик считает, что общается со своим коллегой противоположной стороны (их протокол — нидерландский язык). Философы считают, что общаются друг с другом (их протокол — язык, на котором они привыкли общаться).

На самом же деле, фактически, сообщение проходит от отправителя по слоям сверху вниз, затем по физической среде (факс), затем у получателя — по слоям снизу вверх. Переводчик предоставляет философу сервис (службу), состоящий из операций отправки и получения сообщения. Секретарь предоставляет переводчику сервис (службу), тоже состоящий из операций отправки и получения сообщения. Хоть названия этих операций у этих разных сервисов (служб) одинаковые, их реализация (протоколы) разная.

Такая организация сети позволяет менять реализацию (протоколы) операций (примитивов) служб, как захочется, если при этом набор операций, предоставляемых службой, не изменится. Например, переводчики для общения между собой могут использовать не нидерландский язык, а, скажем, японский или русский. Философы этого даже не заметят. Точно также, на другом слое (уровне) — секретари могут вместо факса использовать, скажем, электронную почту. Переводчики этого тоже не заметят. Изменение протокола на нижнем уровне не влияет на работу верхнего уровня сетевого ПО.

Проблемы проектирования слоев (уровней) сетевого ПО. Обеспечение надежности передачи информации по сети. Механизм обнаружения ошибок (пакет, переданный с ошибкой, передается повторно). Механизм коррекции ошибок (пакет, переданный с ошибкой, исправляется при получении, поэтому его повторная передача не требуется).

Еще одна проблема обеспечения надежности — маршрутизация («routing», нахождение оптимального пути к нужному узлу в сети, а при необходимости — обходного пути, если какой-то из промежуточных узлов неисправен).

Рассказано о сокрытии реализации операций, предоставляемых службами (сервисами) при разделении сетевого ПО на слои, каждый с собственным протоколом — protocol layering. Механизмы идентификации отправителей и получателей — адресация и именование (naming). Нумерация сообщений, ограничение максимального размера сообщений. Разборка и сборка сообщений (internetworking). Масштабируемость сетей.

Распределение ресурсов сети. Статистическое мультиплексирование. Что такое QoS («quality of service»). Безопасность сетей.

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

Служба без установления соединения создана по аналогии с почтой. Порядок пакетов в такой службе обычно не сохраняется: пакет, отправленный раньше, может прийти позже пакетов, отправленных после него. Коммутация с промежуточной буферизацией (store-and-forward switching). Сквозная передача (cut-through switching). Что такое надежная служба. Подтверждение доставки пакета. «Датаграммы» по аналогии с телеграммами. Служба вида «запрос-ответ».

Табличка с шестью видами служб. Службы на основе соединения: надежный поток сообщений (например, последовательность страниц), надежный поток байтов (загрузка фильма), ненадежное соединение (цифровая голосовая связь). Службы без установления соединения: ненадежная датаграмма (рассылка спама по электронной почте), подтверждаемая датаграмма (обмен текстовыми сообщениями по мобильному телефону), запрос-ответ (запрос к базе данных).

Примитивы служб. Сервис (служба) — набор операций (примитивов). В качестве примера набора примитивов приводится упрощенный набор примитивов интерфейса сокетов Беркли: LISTEN, CONNECT, ACCEPT, RECEIVE, SEND, DISCONNECT. Дан очень подробный пример работы этого набора операций при коммуникации клиента и сервера с использованием подтверждаемых датаграмм.

Связь между понятиями службы и протокола. Автор считает очень важным еще раз подчеркнуть разницу между этими понятиями и подробнее объяснить эти понятия.

Timing

Из книги Таненбаума. Очередная ошибка перевода.

Оригинал, стр. 39:

Of course, life is not so simple. Many things can go wrong here. The timing can be wrong (e.g., the CONNECT is done before the LISTEN), packets can get lost, and much more.

Официальный перевод, стр. 55:

Конечно, жизнь не настолько проста. Описанный выше алгоритм работы весьма схематичен, а кое-что просто неправильно (например, CONNECT на самом деле выполняется до LISTEN). При этом пакеты, бывает, теряются, возникают и другие проблемы.

Должно быть что-то вроде следующего:

Конечно, жизнь не так проста. Многие вещи здесь могут пойти неправильно. Синхронизация может быть неправильной (например, CONNECT будет выполнен перед LISTEN), пакеты могут теряться, могут возникать и другие проблемы. (Конец перевода.)

Автор официального перевода вводит читателя в заблуждение. В схеме на рисунке в книге всё показано правильно, несмотря на его схематичность.

Речь идет о том, что может пойти неправильно. И в скобках приводится пример: сервер еще не выполнил примитив LISTEN (еще не «слушает», то есть не ожидает входящих соединений), а клиент уже выполнил примитив CONNECT и послал серверу пакет с запросом на соединение. Естественно, серверный процесс не сможет принять этот пакет.

Видно, что переводчик сломался на слове «timing», которое означает «расчет времени» или «синхронизация». Когда применяется это слово, обычно речь идет о двух или более объектах (у нас — это сервер и клиент), каждый из которых должен выполнить некое действие четко в своё время, иначе взаимодействия не получится.

Я это слово часто встречаю в англоязычных передачах про волейбол. В этой игре «timing» очень важен.

Перевод терминов в технической литературе

Я никогда профессионально не занимался переводом, но немного общался с профессиональными переводчиками на предмет организации перевода технической литературы.

В технической литературе принято сначала давать определения терминов, а только затем использовать эти термины, и использовать именно их, а не искать синонимы. Это одно из отличий технической литературы от художественной.

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

Программы-ассистенты технического переводчика учитывают эту особенность. Для каждого перевода технического текста составляется свой словарик переводов терминов, встречающихся в тексте. Программа-ассистент при переводе выделяет словосочетания, уже имеющиеся в словаре терминов, и переводчику не нужно каждый раз вспоминать перевод термина.

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

Однако, во всей переводной технической литературе, которая мне попадалась, термины в разных главах одной и той же книги могут быть переведены абсолютно по-разному. Такое впечатление, что официальным переводом технической литературы у нас в стране занимаются люди, которые не имеют представления о приемах перевода технической литературы.

Приведу пример.

В книге Таненбаума в разделе 1.3.3 «Службы на основе соединений и без установления соединений» есть табличка со списком шести типов служб, в том числе следующих двух:
– reliable byte stream (перевод в книге: «надежный поток байт», мой вариант: «надежный поток байтов»);
– acknowledged datagram (перевод в книге: «дейтаграмма с подтверждениями», мой вариант: «подтверждаемая датаграмма»).

Кстати, интересная деталь. Если слово «байт» во множественном числе родительного падежа идет после числительного (счетная форма), то правильно писать, к примеру, «пять байт». А если слово «байт» во множественном числе родительного падежа идет не после числительного, то правильно писать, к примеру, «не хватает байтов» или «поток байтов». Источник:
http://new.gramota.ru/spravka/buro/search-answer?s=байтов

Так вот, в следующем же разделе 1.3.4 «Примитивы служб» мы видим следующее.

Оригинал 1:
a minimal example of the service primitives that might provide a reliable byte stream

Перевод 1:
минимальный набор примитивов, обеспечивающий надежную передачу битового потока

Оригинал 2:
we sketch a simple protocol that implements the service using acknowledged datagrams

Перевод 2:
мы покажем набросок простого протокола, который осуществляет службу, используя общепризнанные дейтаграммы

Вообще не в ту степь. Приходится читать оригинал и перевод параллельно, чтобы понимать, о чем речь.