Компьютерные сети. Введение — различия между версиями
Avalanche (обсуждение | вклад) (Кто-то должен был это прочитать...) |
Ipodsoft (обсуждение | вклад) (→Введение) |
||
(не показано 19 промежуточных версий 3 участников) | |||
Строка 3: | Строка 3: | ||
===Базовые понятия=== | ===Базовые понятия=== | ||
'''Компьютерная сеть''' — это совокупность компьютеров, которые могут обмениваться между собой информацией. | '''Компьютерная сеть''' — это совокупность компьютеров, которые могут обмениваться между собой информацией. | ||
+ | |||
+ | |||
+ | '''Source(s):''' [http://www.downloadranking.com Компьютерные сети] | ||
+ | |||
'''Компоненты компьютерной сети''': | '''Компоненты компьютерной сети''': | ||
Строка 17: | Строка 21: | ||
Клиенты бывают '''толстыми''', '''тонкими''' и '''сверхтонкими'''. | Клиенты бывают '''толстыми''', '''тонкими''' и '''сверхтонкими'''. | ||
+ | |||
+ | |||
+ | '''Source(s):''' [http://www.downloadranking.com Компьютерные сети] | ||
+ | |||
<div style="text-align: center;"> | <div style="text-align: center;"> | ||
Строка 39: | Строка 47: | ||
|} | |} | ||
− | При доступе к почте через почтовую программу, например, Mozilla Thunderbird (данные хранятся на сервере, а интерфейс обеспечивается почтовой программой-клиентом) можно сказать, что интерфейс строится программой-клиентом на клиенте. В случае же доступа к почте через веб-интерфейс (данные хранятся на сервере и интерфейс (веб-странички) генерируются сервером) интерфейс строится на сервере и передается программе-клиенту. | + | |
+ | '''Source(s):''' [http://www.downloadranking.com Компьютерные сети] | ||
+ | |||
+ | |||
+ | При доступе к почте через почтовую программу, например, Mozilla Thunderbird по протоколу IMAP (данные хранятся на сервере, а интерфейс обеспечивается почтовой программой-клиентом) можно сказать, что интерфейс строится программой-клиентом на клиенте. Если используется протокол POP3 — речь идет уже о толстом клиенте. В случае же доступа к почте через веб-интерфейс (данные хранятся на сервере и интерфейс (веб-странички) генерируются сервером) интерфейс строится на сервере и передается программе-клиенту. | ||
+ | |||
+ | |||
+ | '''Source(s):''' [http://www.downloadranking.com Компьютерные сети] | ||
+ | |||
'''Протокол''' определяет: | '''Протокол''' определяет: | ||
Строка 47: | Строка 63: | ||
'''Пропускная способность канала связи''' (bandwidth) — наибольшая скорость передачи информации по каналу связи. Измеряется числом передаваемых двоичных символов в 1 с. Скорость передачи зависит от физических свойств канала связи, статистических свойств помех, способа передачи, приема сигналов и др.. | '''Пропускная способность канала связи''' (bandwidth) — наибольшая скорость передачи информации по каналу связи. Измеряется числом передаваемых двоичных символов в 1 с. Скорость передачи зависит от физических свойств канала связи, статистических свойств помех, способа передачи, приема сигналов и др.. | ||
+ | |||
+ | |||
+ | '''Source(s):''' [http://www.downloadranking.com Компьютерные сети] | ||
+ | |||
+ | |||
+ | <u>Например:</u> | ||
+ | * EDGE - до 474 кбит/с | ||
+ | * ADSL - 8 Mbit/s | ||
+ | * FastEthernet - 100 Mbit/s | ||
+ | * WiFi 802.11g - 54 Mbit/s | ||
+ | * Gigabit Ethernet - 1000 Mbit/s | ||
+ | |||
+ | <xh4> Особенности терминологии </xh4> | ||
+ | '''Internet''' – Интернет <br /> | ||
+ | '''<u>i</u>nternet''' - несколько локальных сетей (сетевой комплекс) <br /> | ||
+ | '''intr<u>a</u>net''' – частная ceть организации, использующие механизмы Интернета <br /> | ||
+ | '''extranet''' – объединение intranet-сетей различных компаний через Интернет <br /> | ||
+ | '''Ethernet''' – технология локальных сетей <br /> | ||
+ | |||
+ | '''Интранет''' (англ. Intranet) — в отличие от сети Интернет, это внутренняя частная ceть организации. Как правило, Интранет — это Интернет в миниатюре, который построен на использовании протокола IP для обмена и совместного использования некоторой части информации внутри этой организации. Intranet допускает использование публичных каналов связи, входящих в Internet, (VPN — Virtual Private Network), но при этом обеспечивается защита передаваемых данных и меры по пресечению проникновения извне на корпоративные узлы. | ||
+ | |||
+ | |||
+ | '''Source(s):''' [http://www.downloadranking.com Компьютерные сети] | ||
+ | |||
===Классификация компьютерных сетей=== | ===Классификация компьютерных сетей=== | ||
Строка 56: | Строка 96: | ||
'''Пример 1.''' Пользователи Spark объединены в локальную сеть, которую можно назвать городской (MAN). | '''Пример 1.''' Пользователи Spark объединены в локальную сеть, которую можно назвать городской (MAN). | ||
+ | |||
'''Пример 2.''' Рунет — региональная сеть. | '''Пример 2.''' Рунет — региональная сеть. | ||
+ | |||
'''Пример 3.''' Интернет, сети магистральных Интернет провайдеров, сети организаций с филиалами по всему миру относятся к глобальным сетям. | '''Пример 3.''' Интернет, сети магистральных Интернет провайдеров, сети организаций с филиалами по всему миру относятся к глобальным сетям. | ||
+ | |||
+ | |||
+ | '''Source(s):''' [http://www.downloadranking.com Компьютерные сети] | ||
+ | |||
====Классификация компьютерных сетей по топологии==== | ====Классификация компьютерных сетей по топологии==== | ||
Строка 88: | Строка 134: | ||
|content = | |content = | ||
}} | }} | ||
+ | |||
+ | |||
+ | '''Source(s):''' [http://www.downloadranking.com Компьютерные сети] | ||
+ | |||
====Классификация компьютерных сетей по типу среды передачи==== | ====Классификация компьютерных сетей по типу среды передачи==== | ||
Строка 98: | Строка 148: | ||
** инфракрасная связь; | ** инфракрасная связь; | ||
** СВЧ-связь (Bluetooth). | ** СВЧ-связь (Bluetooth). | ||
+ | |||
+ | |||
+ | '''Source(s):''' [http://www.downloadranking.com Компьютерные сети] | ||
+ | |||
{{Hider | {{Hider | ||
Строка 104: | Строка 158: | ||
<br clear="both" /> | <br clear="both" /> | ||
}} | }} | ||
+ | |||
+ | |||
+ | '''Source(s):''' [http://www.downloadranking.com Компьютерные сети] | ||
+ | |||
===Файлообменные P2P сети=== | ===Файлообменные P2P сети=== | ||
Строка 111: | Строка 169: | ||
Современные файлообменные сети позволяют скачивать один файл сразу с нескольких источников (так быстрее и надёжнее). Чтобы убедиться, что этот файл у всех источников одинаковый, производится сравнение не по названию файла, а по контрольным суммам или хэшам типа MD4, TTH, SHA-1. Во время (и после) скачивания файла пользователем, этот файл у него могут скачивать и другие клиенты сети, в результате чего файлы могут в итоге быть доступными для скачивания со многих источников одновременно. | Современные файлообменные сети позволяют скачивать один файл сразу с нескольких источников (так быстрее и надёжнее). Чтобы убедиться, что этот файл у всех источников одинаковый, производится сравнение не по названию файла, а по контрольным суммам или хэшам типа MD4, TTH, SHA-1. Во время (и после) скачивания файла пользователем, этот файл у него могут скачивать и другие клиенты сети, в результате чего файлы могут в итоге быть доступными для скачивания со многих источников одновременно. | ||
+ | [[Изображение:P2P-сети с централизованным каталогом.gif|300px|thumb|left|Схема работы P2P-сети с централизованным каталогом]] | ||
+ | |||
+ | |||
+ | '''Source(s):''' [http://www.downloadranking.com Компьютерные сети] | ||
+ | |||
===P2P-сети с централизованным каталогом. Napster=== | ===P2P-сети с централизованным каталогом. Napster=== | ||
Когда '''пир''' (пользователь P2P-сети) подключается к серверу, он сообщает свой IP и имеющиеся файлы. На сервере собираются не сами файлы, а информация о них. Пользователи посылают запросы на поиск какого-либо файла центральному серверу, который им говорит у кого искомые файлу есть. | Когда '''пир''' (пользователь P2P-сети) подключается к серверу, он сообщает свой IP и имеющиеся файлы. На сервере собираются не сами файлы, а информация о них. Пользователи посылают запросы на поиск какого-либо файла центральному серверу, который им говорит у кого искомые файлу есть. | ||
− | Самый | + | Самый известный пример P2P-сети с централизованным каталогом является сеть Napster. |
{{Hider | {{Hider | ||
|title=Историческая справка. Napster | |title=Историческая справка. Napster | ||
Строка 121: | Строка 184: | ||
Napster — служба обмена mp3-файлами, созданная Шоном Фаннингом (Shawn Fanning) – 18-летним студентом ( Napster – это его ник). Она использовалась в основном студентами для обмена музыкой и стала очень популярной (80% интернет трафика). Она проработала с 1999 по 2001. В июле 2001 центральный каталог на сервере был закрыт по решению суда, несмотря на то, что файлов на сервере не было. Иск подавала Recording Industry Association of America (RIAA) - Американская ассоциация звукозаписывающих компаний. | Napster — служба обмена mp3-файлами, созданная Шоном Фаннингом (Shawn Fanning) – 18-летним студентом ( Napster – это его ник). Она использовалась в основном студентами для обмена музыкой и стала очень популярной (80% интернет трафика). Она проработала с 1999 по 2001. В июле 2001 центральный каталог на сервере был закрыт по решению суда, несмотря на то, что файлов на сервере не было. Иск подавала Recording Industry Association of America (RIAA) - Американская ассоциация звукозаписывающих компаний. | ||
}} | }} | ||
+ | |||
+ | |||
+ | '''Source(s):''' [http://www.downloadranking.com Компьютерные сети] | ||
+ | |||
===Частично децентрализованные сети=== | ===Частично децентрализованные сети=== | ||
Чтобы сеть не была уязвима, необходимо иметь несколько центральных серверов. В сетях второго поколения реализована частичная децентрализация, когда серверов много и подключиться можно к любому из них. Если закроют большинство центральных узлов, то сеть продолжит функционирование, юзеры будут пользоваться альтернативными серверами. Но чем больше будет закрыто центральных (координирующих) серверов, тем меньше становится сеть. | Чтобы сеть не была уязвима, необходимо иметь несколько центральных серверов. В сетях второго поколения реализована частичная децентрализация, когда серверов много и подключиться можно к любому из них. Если закроют большинство центральных узлов, то сеть продолжит функционирование, юзеры будут пользоваться альтернативными серверами. Но чем больше будет закрыто центральных (координирующих) серверов, тем меньше становится сеть. | ||
Примерами децентрализованных сетей могут служить eDonkey и BitTorrent. | Примерами децентрализованных сетей могут служить eDonkey и BitTorrent. | ||
+ | |||
+ | |||
+ | '''Source(s):''' [http://www.downloadranking.com Компьютерные сети] | ||
+ | |||
====eDonkey==== | ====eDonkey==== | ||
Строка 132: | Строка 203: | ||
Принцип работы: клиент Z имеет все части файла (символы строчных букв представляют части файла). Клиенты W, X, и Y хотят загрузить Файл. Клиенты X и Y имеют различные части файла, они могут не только получить файл от клиенты Z, но могут и посылать файл друг другу. Это позволяет файлу быть распределённо распространённым намного быстрее без того, чтобы использовать большее количество ширины канала клиента Z. Клиент W может запустить загрузку файла, даже если источник файла (Z) больше не имеет достаточной ширины канала для отсылки. | Принцип работы: клиент Z имеет все части файла (символы строчных букв представляют части файла). Клиенты W, X, и Y хотят загрузить Файл. Клиенты X и Y имеют различные части файла, они могут не только получить файл от клиенты Z, но могут и посылать файл друг другу. Это позволяет файлу быть распределённо распространённым намного быстрее без того, чтобы использовать большее количество ширины канала клиента Z. Клиент W может запустить загрузку файла, даже если источник файла (Z) больше не имеет достаточной ширины канала для отсылки. | ||
+ | |||
+ | |||
+ | '''Source(s):''' [http://www.downloadranking.com Компьютерные сети] | ||
+ | |||
{{Hider | {{Hider | ||
Строка 140: | Строка 215: | ||
Закрытие eDonkey вызвало большой ажиотаж по очень простой причине — этот файлообменник в последние годы был одним из крупнейших. Им пользовались 2-3 миллиона человек, которые чувствовали себя в относительной безопасности. Среди этих пользователей нашлись такие, которые еще в 2002 году решили создать альтернативный клиент, который бы использовал сеть eDonkey и развитие которого при этом не зависело бы от существования компании MetaMachine. Этот клиент называется eMule и очень популярен, в частности, у российских интернетчиков. Он, в отличие от eDonkey, умирать не собирается. Более того, сторонники eMule считают, что поддерживаемый eMule протокол Kad (вариант протокола Kademlia) обеспечивает достаточную анонимность для безнаказанного получения любых файлов. Свежая версия eMule к тому же умеет маскировать обмен файлами от провайдеров. | Закрытие eDonkey вызвало большой ажиотаж по очень простой причине — этот файлообменник в последние годы был одним из крупнейших. Им пользовались 2-3 миллиона человек, которые чувствовали себя в относительной безопасности. Среди этих пользователей нашлись такие, которые еще в 2002 году решили создать альтернативный клиент, который бы использовал сеть eDonkey и развитие которого при этом не зависело бы от существования компании MetaMachine. Этот клиент называется eMule и очень популярен, в частности, у российских интернетчиков. Он, в отличие от eDonkey, умирать не собирается. Более того, сторонники eMule считают, что поддерживаемый eMule протокол Kad (вариант протокола Kademlia) обеспечивает достаточную анонимность для безнаказанного получения любых файлов. Свежая версия eMule к тому же умеет маскировать обмен файлами от провайдеров. | ||
}} | }} | ||
+ | |||
+ | |||
+ | '''Source(s):''' [http://www.downloadranking.com Компьютерные сети] | ||
+ | |||
====BitTorrent==== | ====BitTorrent==== | ||
Строка 148: | Строка 227: | ||
Услугами BitTorrent воспользовались такие компании, как Red Hat и Mandrake, выложив в сеть новые версии своих операционных систем с одновременной публикацией на сайте torrent-файлов. Дистрибутивы представляли собой три ISO-файла объемом около 700 МВ каждый, т. е. в итоге любители Linux были вынуждены загружать около 2 GB, что в былые времена "убивало" FTP-серверы. По словам представителей Red Hat, после запуска дистрибутивов в сеть BitTorrent нагрузка на центральный FTP-сервер компании упала на 99%. Более того, присутствие tracker-сервера позволило Red Hat отследить статистику загрузок в режиме реального времени. Подробная информация редко доступна или принципиально невозможна в других пиринговых сетях. | Услугами BitTorrent воспользовались такие компании, как Red Hat и Mandrake, выложив в сеть новые версии своих операционных систем с одновременной публикацией на сайте torrent-файлов. Дистрибутивы представляли собой три ISO-файла объемом около 700 МВ каждый, т. е. в итоге любители Linux были вынуждены загружать около 2 GB, что в былые времена "убивало" FTP-серверы. По словам представителей Red Hat, после запуска дистрибутивов в сеть BitTorrent нагрузка на центральный FTP-сервер компании упала на 99%. Более того, присутствие tracker-сервера позволило Red Hat отследить статистику загрузок в режиме реального времени. Подробная информация редко доступна или принципиально невозможна в других пиринговых сетях. | ||
}} | }} | ||
+ | |||
+ | |||
+ | '''Source(s):''' [http://www.downloadranking.com Компьютерные сети] | ||
+ | |||
===Полностью децентрализованные сети=== | ===Полностью децентрализованные сети=== | ||
Gnutella — это пример полностью децентрализованные сети. | Gnutella — это пример полностью децентрализованные сети. | ||
+ | |||
+ | |||
+ | '''Source(s):''' [http://www.downloadranking.com Компьютерные сети] | ||
+ | |||
====Gnutella==== | ====Gnutella==== | ||
Строка 175: | Строка 262: | ||
Апгрейд: | Апгрейд: | ||
To address the problems of bottlenecks, Gnutella developers implemented a tiered system of ultrapeers and leaves. Instead of all nodes being considered equal, nodes entering into the network were kept at the 'edge' of the network as a leaf, not responsible for any routing, and nodes which were capable of routing messages were promoted to ultrapeers, which would accept leaf connections and route searches and network maintenance messages. This allowed searches to propagate further through the network, and allowed for numerous alterations in the topology which have improved the efficiency and scalability greatly. | To address the problems of bottlenecks, Gnutella developers implemented a tiered system of ultrapeers and leaves. Instead of all nodes being considered equal, nodes entering into the network were kept at the 'edge' of the network as a leaf, not responsible for any routing, and nodes which were capable of routing messages were promoted to ultrapeers, which would accept leaf connections and route searches and network maintenance messages. This allowed searches to propagate further through the network, and allowed for numerous alterations in the topology which have improved the efficiency and scalability greatly. | ||
+ | |||
+ | |||
+ | '''Source(s):''' [http://www.downloadranking.com Компьютерные сети] | ||
+ | |||
===Полностью децентрализованные сети=== | ===Полностью децентрализованные сети=== | ||
DHT (Distributed hash table) — децентрализованная распределенная система для объединения большого количества постоянно исчезающих и появляющихся узлов и эффективной передачи сообщений между ними. Она использует 160-битные хэши для идентификации узлов, файлов и имен файлов (ключевых слов). Каждый узел содержит информацию о месторасположении файлов с хешами, близкими к его хешу. | DHT (Distributed hash table) — децентрализованная распределенная система для объединения большого количества постоянно исчезающих и появляющихся узлов и эффективной передачи сообщений между ними. Она использует 160-битные хэши для идентификации узлов, файлов и имен файлов (ключевых слов). Каждый узел содержит информацию о месторасположении файлов с хешами, близкими к его хешу. | ||
+ | [[Изображение:Поиск в Kad.gif|450px|thumb|right|Поиск в Kad. Кружочками отмечены узлы.]] | ||
+ | |||
+ | |||
+ | '''Source(s):''' [http://www.downloadranking.com Компьютерные сети] | ||
+ | |||
====Kad==== | ====Kad==== | ||
Сеть Kad — это реализация DHT. Узлы, файлы и имена файлов (ключевые слова) кодируются алгоритмом SHA-1 160-битными числами. Если узел хочет расшарить файл, он обрабатывает его, получая хэш, который идентифицирует этот файл в сети. Затем узел ищет несколько узлов, ID которых близки к хэшу файла и его имени (размеры хешей файлов и узлов совпадают, расстояние вычисляется применением операции XOR к хешам). На эти узлы отдается информация об адресе узла, на котором хранится файл. | Сеть Kad — это реализация DHT. Узлы, файлы и имена файлов (ключевые слова) кодируются алгоритмом SHA-1 160-битными числами. Если узел хочет расшарить файл, он обрабатывает его, получая хэш, который идентифицирует этот файл в сети. Затем узел ищет несколько узлов, ID которых близки к хэшу файла и его имени (размеры хешей файлов и узлов совпадают, расстояние вычисляется применением операции XOR к хешам). На эти узлы отдается информация об адресе узла, на котором хранится файл. | ||
− | |||
− | |||
− | Поиск очень похож на DNS-запросы. | + | '''Source(s):''' [http://www.downloadranking.com Компьютерные сети] |
− | Каждый узел (как и каждый DNS-сервер) знает адреса всех узлов в своей ветке, расположенных рядышком (на этом же уровне или ниже (зон следующего уровня или дочерних зон в DNS )) и адреса некоторых узлов «высокого уровня». | + | |
− | Когда узел хочет найти файл, он сравнивает хеш имени с хешами известных ему узлов, | + | |
− | Тогда наш узел посылает запрос тому новому узлу, и получает от него адрес следующего узла, чей хеш ещё ближе и т.д.. Таким образом, запросы постепенно стекаются к узлам, чьи хеши наиболее похожи на искомый. А эти узлы уже знают, где находится файл. | + | =====Поиск в Kad===== |
− | «Стоимость» такого поиска логарифмически зависит от количества узлов в сети | + | В соответствии с хешами узлы можно разместить в двоичном дереве. |
+ | |||
+ | Поиск очень похож на DNS-запросы. Каждый узел (как и каждый DNS-сервер) знает адреса всех узлов в своей ветке, расположенных рядышком (на этом же уровне или ниже (зон следующего уровня или дочерних зон в DNS)) и адреса некоторых узлов «высокого уровня». | ||
+ | |||
+ | Когда узел хочет найти файл, он сравнивает хеш имени с хешами известных ему узлов, затем посылает запрос тому узлу, чей хеш наиболее близок к искомому. Тот узел возвращает ему адрес узла, чей хеш ещё ближе к искомому. Тогда наш узел посылает запрос тому новому узлу, и получает от него адрес следующего узла, чей хеш ещё ближе и т.д.. Таким образом, запросы постепенно стекаются к узлам, чьи хеши наиболее похожи на искомый. А эти узлы уже знают, где находится файл. Запросы итеративные. «Стоимость» такого поиска логарифмически зависит от количества узлов в сети и, если количество узлов удвоится, количество запросов возрастет на 1. | ||
+ | |||
+ | |||
+ | '''Source(s):''' [http://www.downloadranking.com Компьютерные сети] | ||
+ | |||
===Другие приложения P2P-сетей=== | ===Другие приложения P2P-сетей=== | ||
− | + | * мобильный P2P; | |
− | + | * распределенные вычисления SETI@home; | |
− | + | * совместное работа ( Groove ); | |
− | Skype | + | * [[Конспект_лекций_«Компьютерные_сети»#Skype|Skype]]. |
===Структура сети Интернет=== | ===Структура сети Интернет=== | ||
Строка 208: | Строка 310: | ||
[[Изображение:Структура сети Интернет.gif|450px|thumb|right]] | [[Изображение:Структура сети Интернет.gif|450px|thumb|right]] | ||
− | Ядро Интернета (или Core Backbone Network) составляют сети так называемых провайдеров первого уровня (Network Server Provider Tier-1) или магистральных провайдеров, наиболее крупными из которых являются UUNET(куплен Verizon), AT&T(в Америке), MCI (куплен Verizon), GTE/BBN (вместе с AT&T в SBC) и Sprint. | + | '''Ядро Интернета''' (или Core Backbone Network) составляют сети так называемых провайдеров первого уровня (Network Server Provider Tier-1) или магистральных провайдеров, наиболее крупными из которых являются UUNET(куплен Verizon), AT&T(в Америке), MCI (куплен Verizon), GTE/BBN (вместе с AT&T в SBC) и Sprint (названия часто меняются, из-за того что одни фирмы объединяются, другие кого-то покупают или входят в состав более крупных фирм, третьи переименовываются). |
− | Эти сети построены в основном на базе технологий ATM | + | Эти сети построены в основном на базе технологий SONET/SDH, DWDM, ATM. Для их магистралей характерны каналы 622 и 2488 Мбит/с соответственно. Иногда встречаются каналы 9952 Мбит/с и даже более. <br /> |
+ | Сети ''магистральных провайдеров первого уровн''я свободно обмениваются между собой трафиком через IXP – Internet Exchange Point точки обмена трафиком. | ||
+ | Страны получают доступ к ядру Интернета либо благодаря магистральным провайдерам первого уровня, имеющим точки присутствия (POP-Point of Presence) по всему миру, либо ''локальным магистральным провайдерам первого уровня''. | ||
Сети NSP Tier-1 свободно обмениваются между собой трафиком, причем основная часть этого обмена сосредоточена в двух зонах (Metropolian Exchange Area,MAE), расположенных в Нью-Йорке и Сан-Франциско. Хотя наибольшая концентрация NSP первого уровня приходится на США, "ареал распространения" этих сетей не ограничивается только этой страной. Другие страны получают доступ к ядру Интернета либо благодаря NSP первого уровня, имеющим точки присутствия (POP-Point of Presence) по всему миру (например, UUNET "дотягивается" и до Европы, и до Юго-Восточной Азии), либо локальным NSP первого уровня (эта практика распроcтранена в Азии). | Сети NSP Tier-1 свободно обмениваются между собой трафиком, причем основная часть этого обмена сосредоточена в двух зонах (Metropolian Exchange Area,MAE), расположенных в Нью-Йорке и Сан-Франциско. Хотя наибольшая концентрация NSP первого уровня приходится на США, "ареал распространения" этих сетей не ограничивается только этой страной. Другие страны получают доступ к ядру Интернета либо благодаря NSP первого уровня, имеющим точки присутствия (POP-Point of Presence) по всему миру (например, UUNET "дотягивается" и до Европы, и до Юго-Восточной Азии), либо локальным NSP первого уровня (эта практика распроcтранена в Азии). | ||
− | Ниже магистральных провайдеров по иерархии расположены сетевые провайдеры следующего уровня | + | Ниже магистральных провайдеров по иерархии расположены сетевые провайдеры следующего уровня - ''региональные'', соединенные между собой высокоскоростными каналами передачи данных, которые, в свою очередь предоставляют доступ к Интернету ''местным'' (''локальным'') провайдерам (Internet Service Privider, ISP). Индивидуальные пользователи и компании-клиенты получают доступ к ресурсам Интернета именно при помощи ISP. |
− | Соединение между ISP и пользователями (частными или корпоративными) обычно осуществляется при помощи коммутируемых линий (обычных телефонных или ISDN), или посредством так называемых выделенных линий, | + | Соединение между ISP и пользователями (частными или корпоративными) обычно осуществляется при помощи: коммутируемых линий (обычных телефонных или ISDN), спутниковой связи, ADSL, VDSL, WiMAX, мобильной связи (2G, 2.5G, 3G) или посредством так называемых выделенных линий: FTTH (Fiber to the Home), ETTH (Ethernet to the Home). |
+ | |||
Таким образом, путь между произвольным Web-сервером и компьютером пользователя состоит из трех основных частей — участка между Web-сервером и скоростной магистралью, участка скоростной магистрали и участка, связывающего пользователя с магистралью. | Таким образом, путь между произвольным Web-сервером и компьютером пользователя состоит из трех основных частей — участка между Web-сервером и скоростной магистралью, участка скоростной магистрали и участка, связывающего пользователя с магистралью. | ||
Строка 221: | Строка 326: | ||
Недостаточная скорость передачи данных может создать неприятности как на первой, так и на последней миле. Однако проблемы первой мили решаются довольно просто — надо перевести сервер из офиса компании в серверный центр, который непосредственно подключен к магистрали. Эта услуга называется collocation. | Недостаточная скорость передачи данных может создать неприятности как на первой, так и на последней миле. Однако проблемы первой мили решаются довольно просто — надо перевести сервер из офиса компании в серверный центр, который непосредственно подключен к магистрали. Эта услуга называется collocation. | ||
− | Проблема последней мили гораздо серьезнее. Ее решение состоит в распространении систем высокоскоростного доступа, использующих технологию xDSL (в первую | + | Проблема последней мили гораздо серьезнее. Ее решение состоит в распространении систем высокоскоростного доступа, использующих технологию xDSL (в первую очередь, ADSL), систем кабельного телевидения. В таких системах скорости передачи данных легко достигают несколько мегабит в секунду, что для большинства приложений достаточно. |
'''Point Of Presence (POP), точка присутствия''' – место расположения оборудования оператора связи (провайдера), к которому возможно подключение клиентов. | '''Point Of Presence (POP), точка присутствия''' – место расположения оборудования оператора связи (провайдера), к которому возможно подключение клиентов. | ||
Строка 238: | Строка 343: | ||
Создаются для беспрепятственного пропускания трафика между различными провайдерами без загрузки внешних магистральных каналов. | Создаются для беспрепятственного пропускания трафика между различными провайдерами без загрузки внешних магистральных каналов. | ||
В местах, где дальняя связь плохо развита, местные региональные операторы оплачивают трафик во много раз дороже, чем операторы в США или Европе. Поэтому они организовывают точки обмена трафиком, через которые и пропускают крайне дешёвый трафик между своими клиентами. | В местах, где дальняя связь плохо развита, местные региональные операторы оплачивают трафик во много раз дороже, чем операторы в США или Европе. Поэтому они организовывают точки обмена трафиком, через которые и пропускают крайне дешёвый трафик между своими клиентами. | ||
+ | |||
+ | |||
+ | '''Source(s):''' [http://www.downloadranking.com Компьютерные сети] | ||
+ | |||
===Коммутация каналов и коммутация пакетов=== | ===Коммутация каналов и коммутация пакетов=== | ||
Строка 243: | Строка 352: | ||
В 60-х годах основным средством связи были телефонные линии, использующие принцип коммутации каналов. | В 60-х годах основным средством связи были телефонные линии, использующие принцип коммутации каналов. | ||
[[Изображение:Телефонные линии.gif|400px|thumb|right]][[Изображение:Коммутация пакетов.gif|400px|thumb|right]]Они имели существенный недостатотк: нельзя освободить канал в период простоя. Под каждый сеанс разговора между двумя абонентами выделяется отдельный канал на всем протяжении линии. Он устанавливается в момент соединения и занят, пока есть соединение. Если нет свободных каналов, то линия становится перегруженной. | [[Изображение:Телефонные линии.gif|400px|thumb|right]][[Изображение:Коммутация пакетов.gif|400px|thumb|right]]Они имели существенный недостатотк: нельзя освободить канал в период простоя. Под каждый сеанс разговора между двумя абонентами выделяется отдельный канал на всем протяжении линии. Он устанавливается в момент соединения и занят, пока есть соединение. Если нет свободных каналов, то линия становится перегруженной. | ||
− | Основные способы организации каналов, по которым могут разговаривать много пользователей: частотное мультиплексирование (разделение) | + | Основные способы организации каналов, по которым могут разговаривать много пользователей: |
+ | * '''частотное мультиплексирование''' (разделение) — для каналов выделяются частотные поддиапазоны. Например, этот метод используется в технологии X-DSL. По кабелю передаются сигналы различной частоты: телефонный разговор-0,3-3,4 Кгц а для передачи данных используется полоса от 28 до 1300 Кгц. | ||
+ | * '''временное мультиплексирование'''мультиплексирование — используются все частоты, но в определенное время, т.е. канал используется попеременно каждым абонентом. Вся пропускная способность выходного канала предоставляется в течение фиксированных интервалов времени каждому входному каналу. Недостаток: даже если какой-то входной канал не использует для передачи выделенный ему интервал, другие каналы не могут передавать данные в это время. | ||
+ | |||
+ | |||
+ | '''Source(s):''' [http://www.downloadranking.com Компьютерные сети] | ||
+ | |||
+ | |||
====Коммутация пакетов==== | ====Коммутация пакетов==== | ||
Строка 257: | Строка 373: | ||
Alohanet — первая радиосеть с коммутацией пакетов. | Alohanet — первая радиосеть с коммутацией пакетов. | ||
+ | |||
+ | '''Request for Comments, RFC''' — документ из серии пронумерованных информационных документов Интернета, содержащих технические спецификации и стандарты, широко применяемые во всемирной сети. | ||
+ | Формат RFC появился в 1969 году при обсуждении проекта ARPANET. RFC 1 был опубликован 7 апреля 1969 г. и назывался «Host Software». Первые RFC распространялись в печатном виде на бумаге в виде обычных писем, но уже с декабря 1969 г., когда заработали первые сегменты ARPANET, документы начали распространяться в электронном виде. | ||
+ | Несмотря на название, запросы комментариев RFC сейчас рассматриваются как стандарты Интернета (а рабочие версии стандартов обычно называют драфтами, от англ. draft здесь — черновик). | ||
+ | <u>Примеры</u> популярных стандартов: | ||
+ | IP, UDP, TCP, HTTP, SMTP, FTP, DNS, URL, NAT… | ||
+ | Есть первоапрельские RFC, например, RFC 1149 «Internet Protocol посредством почтовых голубей» (между прочим, реализованный на практике). | ||
+ | |||
+ | В '''ARPAnet''' взаимодействие между компьютерами было многосоставным: модемы (IMP) общались между собой по своим правилам, использующим маршрутизацию пакетов, контроль потока и осуществляющим надежную передачу пакетов; существовало ПО для передачи информации между модемом и компьютером; поверх этих программ работала NCP - Network-Control Program (RFC 001) — программа для обмена информацией между компьютерами. Адреса в NCP включали в себя идентификатор пользователя, компьютера и соединения между программами (прообраз сокетов). | ||
+ | В марте 1972г с использованием функций NCP были написаны первые сетевые программы электронной почты SNDMSG and READMAIL (электронная почта между пользователями мейнфреймов на самом деле родилась раньше) | ||
+ | В июле 1972 вышел стандарт RFC 354 службы передачи файлов FTP, используемой повсеместно и сегодня. | ||
+ | |||
+ | '''ALOHAnet''' | ||
+ | Одним из первых обитателей будущей Кремниевой Долины, увлекшимся созданием сетей, оказался профессор из Стэнфорда Норм Абрамсон. Так оказалось, что он был еще и заядлым серфингистом. Совместить две области интересов ему удалось на Гавайских островах, где, как известно, одно из лучших в мире мест для катания на доске, а компьютеры, находившиеся в ведении местного университета, были разбросаны по нескольким островам архипелага. Так вот, Абрамсон предложил связать их сетью с использованием радиоканалов. Это было сделано в 1970 году. На решение о создании сети в немалой степени повлияло личное знакомство Абрамсона с Робертсом. Впоследствии Абрамсон смог получить процессоры IMP и по радио подключить созданную им сеть Alohanet к ARPAnet. | ||
+ | Сеть, названная по имени самого крупного из островов, оказалась первой радиосетью с коммутацией пакетов. Но самое большое достижение Абрамсона состояло в том, что он открыл возможность совместного использования эфира независимыми узлами сети. В первой версии протокола идея Абрамсона была интригующе простой: «Если у вас есть данные для передачи — передавайте, а если обнаружите, что частота занята… то подождите и пошлите позже». Суть идеи заключена именно в формулировке «пошлите позже»; сегодня о ней мало кто задумывается, а тогда она надолго захватила умы инженеров. В последующем схема был доведена до совершенства Робертом Меткалфом, автором Ethernet, и получила название «множественный доступ к среде с контролем несущей и обнаружением коллизий» (Carrier Sense Multiple Access with Collision Detection, CSMA/CD). Непосредственными преемниками Alohanet стали протокол Slotted Aloha, а позже — протоколы популярных беспроводных сетей передачи данных ARDIS, Mobitex, CDPD и даже GSM. | ||
'''1970-1980 гг. Возникновение новых компьютерных сетей и Интернета''' | '''1970-1980 гг. Возникновение новых компьютерных сетей и Интернета''' | ||
− | Параллельно с развитием ARPAnet появлялись другие компьютерные сети: ALOHAnet (радио сеть Гавайского университета, Telenet, Cyclades (во Франции), SNA и др. | + | Параллельно с развитием ARPAnet появлялись другие компьютерные сети: '''ALOHAnet''' (радио сеть Гавайского университета, Telenet, Cyclades (во Франции), SNA и др. |
− | Возникла задача о соединении сетей с различной архитектурой. | + | Возникла задача о соединении сетей с различной архитектурой. Нужно было придумать новую систему адресации компьютеров, которая бы работала для объединенной сети - Интернета. |
− | Роберт Канн совместно с Уинтоном Серфом разработал новую версию протокола, которая впоследствии была названа TCP/IP (Transmission Control Protocol, протокол управления передачей данных; IP — Internet Protocol). | + | Старый протокол NCP был больше похож на драйвер устройства. |
+ | |||
+ | Роберт Канн совместно с Уинтоном Серфом разработал новую версию протокола, которая впоследствии была названа '''TCP/IP''' (Transmission Control Protocol, протокол управления передачей данных; IP — Internet Protocol). | ||
Изначально это был один протокол TCP, который осуществлял маршрутизацию и надежную доставку пакетов, использовал глобальную адресацию компьютеров. | Изначально это был один протокол TCP, который осуществлял маршрутизацию и надежную доставку пакетов, использовал глобальную адресацию компьютеров. | ||
Эксперименты с пакетной передачей голосовых сообщений показали, что иногда требуется, чтобы протокол допускал потерю некоторых пакетов при передаче информации. Это привело к появлению протокола IP, несущего транспортные функции и протоколов TCP и UDP (User Datagram Protocol) для надежной и ненадежной передачи данных. | Эксперименты с пакетной передачей голосовых сообщений показали, что иногда требуется, чтобы протокол допускал потерю некоторых пакетов при передаче информации. Это привело к появлению протокола IP, несущего транспортные функции и протоколов TCP и UDP (User Datagram Protocol) для надежной и ненадежной передачи данных. | ||
+ | |||
+ | Еще одним выходцем из «могучей кучки» МТИ был француз Луи Пуссен. В середине 60-х он участвовал в разработке операционной системы Multics; ему принадлежит авторство термина shell для обозначения языка управления, используемого сегодня во многих операционных системах. А в начале 70-х с группой коллег он снова побывал в США и ознакомился с состоянием дел ARPAnet. Итогом этого визита стали несколько отчетов, стимулировавших французское правительство к финансированию работ по созданию собственной сети, получившей название '''Cyclades Packet Switching Network'''. Тогда во Франции активно развивались собственные сетевые решения, приведшие в частности к созданию уникальной телефонной сети с терминалами minitel, предоставлявшимися абонентам бесплатно. | ||
+ | Под натиском Internet сеть Cyclades в середине 80-х прекратила свое существование, однако ее, как и Alohanet, нельзя рассматривать как тупиковые ветви. Из проекта Cyclades непосредственным образом вырос протокол TCP/IP. Сеть Cyclades была многоуровневой: первый уровень — уровень передачи данных (Data Transmission), второй — транспортный (Transport), третий — прикладной (Application). Авторы TCP/IP, Винт Серф и Роберт Канн ссылаются на Пуссена, как на своего предшественника. | ||
+ | |||
'''1980-1990 гг. Распространение компьютерных сетей''' | '''1980-1990 гг. Распространение компьютерных сетей''' | ||
Строка 283: | Строка 420: | ||
}} | }} | ||
− | ===Многоуровневые сетевые модели=== | + | === Многоуровневые сетевые модели === |
− | Глобальные сети объединяют в себе огромное количество географически распределённых узлов. Множество вариантов программно-технической реализации передачи информации породили необходимость создания открытых стандартов | + | Глобальные сети объединяют в себе огромное количество географически распределённых узлов. Множество вариантов программно-технической реализации передачи информации породили необходимость создания открытых стандартов — стандартов, официально опубликованных и доступных для разработчиков программно-аппаратных компонентов. |
− | [[ | + | [[Файл:Одноуровневое взаимодействие.gif|275px|thumb|right|Взаимодействие уровней]] |
− | Взаимодействие приложений через сеть очень сложно. Разделение его на уровни позволяет понизть сложность. Каждый уровень взаимодействует через сеть с одноименным уровнем. Для этого уровень пользуется услугами нижележащего уровня и каждый уровень предоставляет услуги вышележащему уровню.[[ | + | Взаимодействие приложений через сеть очень сложно. Разделение его на уровни позволяет понизть сложность. Каждый уровень взаимодействует через сеть с одноименным уровнем. Для этого уровень пользуется услугами нижележащего уровня и каждый уровень предоставляет услуги вышележащему уровню. <br /> |
+ | Благодаря такой структуре совместная работа сетевого оборудования и программного обеспечения становится гораздо проще и понятнее.[[Файл:Сетевая модель.gif|275px|thumb|left|Сетевая модель]] | ||
Сетевая модель определяет: | Сетевая модель определяет: | ||
− | * '''службы''' | + | * '''службы''' — то, ''что'' делается на данном уровне; |
− | * '''интерфейсы''' (API) | + | * '''интерфейсы''' (API) — как обращаться к другим уровням; |
− | * '''протоколы''' | + | * '''протоколы''' — набор правил общения с одноуровневым компонентом на другом узле сети. |
− | ====Как устроена сетевая модель==== | + | |
+ | '''Source(s):''' [http://www.downloadranking.com Компьютерные сети] | ||
+ | |||
+ | |||
+ | ==== Как устроена сетевая модель ==== | ||
Каждый сетевой уровень подчиняется определенному сетевому протоколу, определяющему набор сетевых служб, присущих данному уровню. | Каждый сетевой уровень подчиняется определенному сетевому протоколу, определяющему набор сетевых служб, присущих данному уровню. | ||
− | '''Сетевая служба''' | + | '''Сетевая служба''' — это набор функций, которыми обладает определенный сетевой уровень, выполняемых для вышележащего уровня (например, коррекция ошибок). |
Каждый сетевой уровень запрашивает определенную сетевую службу от нижележащего уровня. Протокол уровня определяет структуру данных и формат пакета для выполнения запрашиваемой сетевой службы. | Каждый сетевой уровень запрашивает определенную сетевую службу от нижележащего уровня. Протокол уровня определяет структуру данных и формат пакета для выполнения запрашиваемой сетевой службы. | ||
− | '''Протокол''' | + | '''Протокол''' — это правила, которым должен следовать уровень, чтобы реализовать сетевую службу. |
− | Сетевой протокол описывает формат данных или пакетов данных, | + | Сетевой протокол описывает формат данных или пакетов данных, то есть правила оформления, которым данные должны подчиняться, чтобы программное обеспечение выполняло ту или иную функцию или сетевую службу (для случая коррекции ошибок протокол описывает какие ошибки сетевая служба должна исправлять). |
− | ====Пример трехуровневой модели==== | + | <u>Пример</u>. Почтовая служба. Чтобы отправить кому-либо письмо, мы пишем адрес на кон-верте. Таким образом, функция адреса заключается в обеспечении правильной доставки. Формат, в котором пишется адрес, строго определен: |
+ | 1-я строка – кому, | ||
+ | 2-я строка – улица, дом, | ||
+ | 3-я строка – город. | ||
+ | Почтовые работники ожидают, что на второй строке будет указана улица, а за ней – номер дома. Формат адреса на конверте следует определенному протоколу. | ||
+ | [[Файл:Пример трехуровневой модели.GIF |400px|thumb|right|Пример трехуровневой модели. Архитектура «философ — переводчик — почта»]] | ||
+ | |||
+ | |||
+ | '''Source(s):''' [http://www.downloadranking.com Компьютерные сети] | ||
+ | |||
+ | |||
+ | ==== Пример трехуровневой модели ==== | ||
Философы используют функции нижележащих уровней: переводчиков и почты. Они непосредственно общаются с переводчиками. Переводчики переводят сообщение, затем оно отправляется по почте. | Философы используют функции нижележащих уровней: переводчиков и почты. Они непосредственно общаются с переводчиками. Переводчики переводят сообщение, затем оно отправляется по почте. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | ====Эталонная модель OSI==== | + | '''Source(s):''' [http://www.downloadranking.com Компьютерные сети] |
+ | |||
+ | |||
+ | ==== Передача сообщения ==== | ||
+ | [[Файл:Передача сообщения.gif|300px|thumb|left|Передача сообщения]] | ||
+ | При передаче, информация делится на пакеты. Фактически, передаваемая информация формируется на самом верхнем уровне — уровне работающего приложения (прикладном). Далее пакет «спускается» по уровням модели и на каждом из них получает свой заголовок и концевик. Этот заголовок содержит функционально-специфичную для данного уровня информацию о пакете (например, адрес). При получении информации узлом-получателем большой (с заголовками всех уровней) блок информации начинает обрабатываться в обратной, восходящей, последовательности уровней, причём на каждом уровне происходит анализ и отщепление соответствующего заголовка. Таким образом, до процесса-получателя доходит исходный передаваемый блок. | ||
+ | На уровнях зачастую сообщение M вместе с заголовками от верхних уровней подвергается изменениям: шифрованию, сжатию, разбиению на части,…, поэтому изображенная картинка с одной и той же часть M, вообще говоря, не совсем правильная (зато понятная). | ||
+ | |||
+ | <u>Пример</u>. Вспомним беседу философов. Переводчик хинди-английский переводит исход-ное сообщение философа, дополнительно делая пометки о значениях слов. Далее, на почте это письмо запечатывается в конверт, на конверте пишется соответствующая информация (об отправителе и получателе). На почте в Голландии конверт распечатывается, и письмо передается переводчику английский-голландский. Используя сделанные коллегой помет-ки, переводчик восстанавливает на голландском содержимое письма. Письмо передается голландскому философу. | ||
+ | |||
+ | '''Модель OSI''' имеет семиуровневую структуру, и можно говорить о взаимодействии узла-отправителя и узла-получателя на каждом уровне модели. | ||
+ | |||
+ | |||
+ | '''Source(s):''' [http://www.downloadranking.com Компьютерные сети] | ||
+ | |||
+ | |||
+ | ==== Функции уровней ==== | ||
+ | В компьютерной сети каждый уровень может выполнять одну или несколько функций, перечисленных ниже. | ||
+ | * адресация, | ||
+ | * правила переноса данных: направление переноса (например, только в одном направлении или в любом направлении), логические каналы (например, специальный канал для «срочных» данных), | ||
+ | * контроль ошибок, | ||
+ | * соблюдение последовательности пакетов, | ||
+ | * управление потоком сообщений (быстрый не зафладит медленного), | ||
+ | * мультиплексирование: объединение несвязанных пакетов для совместной передачи на одном из уровней (например, на физическом уровне мультиплексирование чаще всего неизбежно, так как вся связь осуществляется по ограниченному числу контуров), | ||
+ | * маршрутизация. | ||
+ | |||
+ | |||
+ | '''Source(s):''' [http://www.downloadranking.com Компьютерные сети] | ||
+ | |||
+ | |||
+ | ==== Эталонная модель OSI ==== | ||
Эталонная модель взаимодействия открытых систем, Open Systems Interconnection Reference Model (OSI), создавалась как единый международный стандарт сетевых технологий. | Эталонная модель взаимодействия открытых систем, Open Systems Interconnection Reference Model (OSI), создавалась как единый международный стандарт сетевых технологий. | ||
− | Набор протоколов называется '''открытым''', если описание и детали протоколов опубликованы. | + | Набор протоколов называется '''открытым''', если описание и детали протоколов опубликованы. |
Система, реализующая открытые протоколы называется '''открытой системой''', несмотря на то, что код программ может быть закрыт. | Система, реализующая открытые протоколы называется '''открытой системой''', несмотря на то, что код программ может быть закрыт. | ||
− | '''ISO''' | + | '''ISO''' — международная организация по стандартизации. |
'''OSI ISO''' — абстрактная модель для сетевых коммуникаций и разработки сетевых протоколов. Представляет уровневый подход к сети. Каждый уровень обслуживает свою часть процесса взаимодействия. Благодаря такой структуре совместная работа сетевого оборудования и программного обеспечения становится гораздо проще и понятнее. | '''OSI ISO''' — абстрактная модель для сетевых коммуникаций и разработки сетевых протоколов. Представляет уровневый подход к сети. Каждый уровень обслуживает свою часть процесса взаимодействия. Благодаря такой структуре совместная работа сетевого оборудования и программного обеспечения становится гораздо проще и понятнее. | ||
Строка 335: | Строка 513: | ||
|content = | |content = | ||
Преобразует биты в исходящие сигналы, передает сигналы и, затем, преобразует входящие сигналы в биты. | Преобразует биты в исходящие сигналы, передает сигналы и, затем, преобразует входящие сигналы в биты. | ||
− | |||
Определяет: | Определяет: | ||
* характеристики сигналов; | * характеристики сигналов; | ||
Строка 347: | Строка 524: | ||
<li>Канальный (уровень передачи данных) (Data Link Layer) | <li>Канальный (уровень передачи данных) (Data Link Layer) | ||
− | + | Передаёт ''кадры'' (наборов битов) между двумя узлами сети, непосредственно связанными между собой. | |
{{Hider | {{Hider | ||
|title = Подробнее | |title = Подробнее | ||
|content = | |content = | ||
− | Передает '''кадры''' (frames) | + | Передает '''кадры''' (frames) — наборы битов — между двумя узлами сети, непосредственно связанными между собой |
Функции канального уровня: | Функции канального уровня: | ||
* взаимодействие со средой передачи данных (протокол MAC); | * взаимодействие со средой передачи данных (протокол MAC); | ||
Строка 377: | Строка 554: | ||
<li>Сетевой (Network Layer) | <li>Сетевой (Network Layer) | ||
− | + | Осуществляет управление '''подсетью''', то есть совокупностью коммуникационного оборудования. Определяет маршруты следования данных. Соединяет разнородные сети. | |
{{Hider | {{Hider | ||
|title = Подробнее | |title = Подробнее | ||
Строка 403: | Строка 580: | ||
<li>Транспортный (Transport Layer) | <li>Транспортный (Transport Layer) | ||
− | + | Доставляет данные непосредственно от программы-отправителя к программе-получателю с определёнными гарантиями (на сохранность информации, порядок передачи ''сообщений'' и др.), не имеет дела с узлами сети. | |
{{Hider | {{Hider | ||
|title = Подробнее | |title = Подробнее | ||
Строка 426: | Строка 603: | ||
<li>Сеансовый (Session layer) | <li>Сеансовый (Session layer) | ||
− | + | Организует '''сеансы связи''', то есть долговременного взаимодействия между абонентами. Определяет, порядок передачи сообщений. Решает задачу синхронизации между абонентами. | |
{{Hider | {{Hider | ||
|title = Подробнее | |title = Подробнее | ||
Строка 441: | Строка 618: | ||
<li>Уровень предоставления данных (Presentation layer) | <li>Уровень предоставления данных (Presentation layer) | ||
− | Занимается | + | Занимается согласованием синтаксиса и семантики данных, передающихся по сети. |
{{Hider | {{Hider | ||
|title = Подробнее | |title = Подробнее | ||
Строка 456: | Строка 633: | ||
<li>Прикладной (Application layer) | <li>Прикладной (Application layer) | ||
− | + | Предоставляет службы для специфических потребностей пользователей (электронная почта, передача файлов и др.) | |
{{Hider | {{Hider | ||
|title = Подробнее | |title = Подробнее | ||
Строка 473: | Строка 650: | ||
</ol> | </ol> | ||
− | =====Общие замечания относительно OSI ISO===== | + | |
+ | '''Source(s):''' [http://www.downloadranking.com Компьютерные сети] | ||
+ | |||
+ | |||
+ | ===== Общие замечания относительно OSI ISO ===== | ||
* Избыточность и низкая функциональность верхних уровней. | * Избыточность и низкая функциональность верхних уровней. | ||
Строка 482: | Строка 663: | ||
Сегодня это референтная (ссылочная) модель. | Сегодня это референтная (ссылочная) модель. | ||
− | Хотя поддержка этого стека на правительственном уровне (США, Германия, Россия, | + | Хотя поддержка этого стека на правительственном уровне (США, Германия, Россия,…) продолжается, это маргинальное течение в современных сетевых технологиях. |
− | ====Эталонная модель TCP/IP==== | + | ==== Эталонная модель TCP/IP ==== |
− | [[ | + | [[Файл:Эталонные модели OSI и TCP.gif|350px|thumb|right|Эталонные модели OSI и TCP]] |
− | Согласно терминологии TCP/IP элементы сетевого уровня называются '''подсетями''' (subnetworks). Идеология TCP/IP допускает, чтобы в качестве | + | Согласно терминологии TCP/IP элементы сетевого уровня называются '''подсетями''' (subnetworks). Идеология TCP/IP допускает, чтобы в качестве «подсетей» выступали реальные сети с их собственными стеками протоколов, узлами, шлюзами и т. п. |
Реализация протоколов TCP/IP оказалась наиболее удачной в версиях BSD4.2 и BSD4.3 операционной системы UNIX. Эта реализация является эталоном для всех последующих. | Реализация протоколов TCP/IP оказалась наиболее удачной в версиях BSD4.2 и BSD4.3 операционной системы UNIX. Эта реализация является эталоном для всех последующих. | ||
Строка 495: | Строка 676: | ||
Поскольку Министерство обороны беспокоилось, что ценные хосты, маршрутизаторы и межсетевые шлюзы могут быть мгновенно уничтожены, другая важная задача состояла в том, чтобы добиться способности сети сохранять работоспособность при возможных потерях подсетевого оборудования, так, чтобы при этом связь не прерывалась. Другими словами, Министерство обороны требовало, чтобы соединение не прерывалось, пока функционируют приемная и передающая машины, даже если некоторые промежуточные машины или линии связи внезапно вышли из строя. Кроме того, от архитектуры нужна была определенная гибкость, поскольку предполагалось использовать приложения с различными требованиями, от переноса файлов до передачи речи в реальном времени. | Поскольку Министерство обороны беспокоилось, что ценные хосты, маршрутизаторы и межсетевые шлюзы могут быть мгновенно уничтожены, другая важная задача состояла в том, чтобы добиться способности сети сохранять работоспособность при возможных потерях подсетевого оборудования, так, чтобы при этом связь не прерывалась. Другими словами, Министерство обороны требовало, чтобы соединение не прерывалось, пока функционируют приемная и передающая машины, даже если некоторые промежуточные машины или линии связи внезапно вышли из строя. Кроме того, от архитектуры нужна была определенная гибкость, поскольку предполагалось использовать приложения с различными требованиями, от переноса файлов до передачи речи в реальном времени. | ||
+ | |||
+ | |||
+ | '''Source(s):''' [http://www.downloadranking.com Компьютерные сети] | ||
+ | |||
===Стеки протоколов=== | ===Стеки протоколов=== | ||
Строка 517: | Строка 702: | ||
Приведены основные используемые в сетях Windows 2000 стеки протоколов. Для функционирования Windows 2000 достаточно стека TCP/ IP — стандарта передачи в сети Интернет. Поддерживаются также стек IPX/SPX — стек маршрутизируемых протоколов, появившийся в сетях NetWare, Microsoft — версия которого называется NWLink, а также NetBIOS/SMB — стек небольших и быстрых, но немаршрутизируемых протоколов. | Приведены основные используемые в сетях Windows 2000 стеки протоколов. Для функционирования Windows 2000 достаточно стека TCP/ IP — стандарта передачи в сети Интернет. Поддерживаются также стек IPX/SPX — стек маршрутизируемых протоколов, появившийся в сетях NetWare, Microsoft — версия которого называется NWLink, а также NetBIOS/SMB — стек небольших и быстрых, но немаршрутизируемых протоколов. | ||
+ | |||
+ | |||
+ | '''Source(s):''' [http://www.downloadranking.com Компьютерные сети] | ||
+ | |||
===Принципы работы служб прикладного уровня=== | ===Принципы работы служб прикладного уровня=== | ||
Строка 532: | Строка 721: | ||
По сетевому номеру сообщения, полученного по сети, ОС узнает какому процессу его передать. | По сетевому номеру сообщения, полученного по сети, ОС узнает какому процессу его передать. | ||
+ | |||
+ | |||
+ | '''Source(s):''' [http://www.downloadranking.com Компьютерные сети] | ||
+ | |||
===Cетевое взаимодействие процессов=== | ===Cетевое взаимодействие процессов=== |
Текущая версия на 09:08, 29 марта 2013
Содержание
- 1 Введение
- 1.1 Базовые понятия
- 1.2 Классификация компьютерных сетей
- 1.3 Файлообменные P2P сети
- 1.4 P2P-сети с централизованным каталогом. Napster
- 1.5 Частично децентрализованные сети
- 1.6 Полностью децентрализованные сети
- 1.7 Полностью децентрализованные сети
- 1.8 Другие приложения P2P-сетей
- 1.9 Структура сети Интернет
- 1.10 Коммутация каналов и коммутация пакетов
- 1.11 Многоуровневые сетевые модели
- 1.12 Стеки протоколов
- 1.13 Принципы работы служб прикладного уровня
- 1.14 Cетевое взаимодействие процессов
Введение
Базовые понятия
Компьютерная сеть — это совокупность компьютеров, которые могут обмениваться между собой информацией.
Source(s): Компьютерные сети
Компоненты компьютерной сети:
- компьютер;
- линии связи (коммуникационное оборудование) — техника, которая реализует возможность обмена информацией (провода, устройства, иногда — компьютер, выполняющий функцию коммуникационного оборудования);
- операционная система, в особенности, модули ОС, реализующие сетевое взаимодействие;
- распределенные приложения — программы, которые работают одновременно на разных компьютерах, например, WWW.
Сервер — компьютер или программа, предоставляющая некоторые услуги.
Выделенный сервер — это компьютер, служащий только для обслуживания клиентских машин. Доступ к нему обычно получают администраторы системы для выполнения задач управления, мониторинга и поддержки работоспособности. Часто они выполняют только какую-то одну задачу.
Клиент — это компьютер или программа, запрашивающая услуги.
Клиенты бывают толстыми, тонкими и сверхтонкими.
Source(s): Компьютерные сети
Сравнительные характристики клиентов
толстый клиент | тонкий клиент | сверхтонкий клиент |
---|---|---|
Данные хранятся на сервере
| ||
Программа-«сервер» хранится и работает на сервере
| ||
Программа-«клиент» (стандартное ПО, например, браузер) хранится и выполняется на клиенте
| ||
Данные перекачиваются с сервера на клиент и обрабатываются программой -«клиентом» на клиенте | Данные обрабатываются на сервере
| |
Интерфейс строится программой-«клиентом» на клиенте
|
Интерфейс строится на сервере и передается программе-клиенту |
Source(s): Компьютерные сети
При доступе к почте через почтовую программу, например, Mozilla Thunderbird по протоколу IMAP (данные хранятся на сервере, а интерфейс обеспечивается почтовой программой-клиентом) можно сказать, что интерфейс строится программой-клиентом на клиенте. Если используется протокол POP3 — речь идет уже о толстом клиенте. В случае же доступа к почте через веб-интерфейс (данные хранятся на сервере и интерфейс (веб-странички) генерируются сервером) интерфейс строится на сервере и передается программе-клиенту.
Source(s): Компьютерные сети
Протокол определяет:
- формат сообщений;
- очередность сообщений;
- действия, которые необходимо выполнять при получении, приеме сообщений или при наступлении иных событий.
Пропускная способность канала связи (bandwidth) — наибольшая скорость передачи информации по каналу связи. Измеряется числом передаваемых двоичных символов в 1 с. Скорость передачи зависит от физических свойств канала связи, статистических свойств помех, способа передачи, приема сигналов и др..
Source(s): Компьютерные сети
Например:
- EDGE - до 474 кбит/с
- ADSL - 8 Mbit/s
- FastEthernet - 100 Mbit/s
- WiFi 802.11g - 54 Mbit/s
- Gigabit Ethernet - 1000 Mbit/s
<xh4> Особенности терминологии </xh4>
Internet – Интернет
internet - несколько локальных сетей (сетевой комплекс)
intranet – частная ceть организации, использующие механизмы Интернета
extranet – объединение intranet-сетей различных компаний через Интернет
Ethernet – технология локальных сетей
Интранет (англ. Intranet) — в отличие от сети Интернет, это внутренняя частная ceть организации. Как правило, Интранет — это Интернет в миниатюре, который построен на использовании протокола IP для обмена и совместного использования некоторой части информации внутри этой организации. Intranet допускает использование публичных каналов связи, входящих в Internet, (VPN — Virtual Private Network), но при этом обеспечивается защита передаваемых данных и меры по пресечению проникновения извне на корпоративные узлы.
Source(s): Компьютерные сети
Классификация компьютерных сетей
Классификация компьютерных сетей по территории
- Local Area Network (LAN) — сети одной квартиры, дома, организации.
- Metropolian Area Network (MAN), городские — высокоскоростные каналы связи в пределах большого города.
- Региональные — объединяют компьютеры географической области.
- Wide Area Network (WAN), глобальные.
Пример 1. Пользователи Spark объединены в локальную сеть, которую можно назвать городской (MAN).
Пример 2. Рунет — региональная сеть.
Пример 3. Интернет, сети магистральных Интернет провайдеров, сети организаций с филиалами по всему миру относятся к глобальным сетям.
Source(s): Компьютерные сети
Классификация компьютерных сетей по топологии
Source(s): Компьютерные сети
Классификация компьютерных сетей по типу среды передачи
- Проводные
- витая пара;
- коаксильный кабель;
- оптоволокно.
- Беспроводные
- радиосвязь (WiFi, WiMAX);
- инфракрасная связь;
- СВЧ-связь (Bluetooth).
Source(s): Компьютерные сети
Source(s): Компьютерные сети
Файлообменные P2P сети
При клиент-серверной организации обмена данными (файлами) есть сервер, на котором хранится вся информация, клиенты подключаются к серверу и запрашивают определенные ресурсы.
В случае пиринговой (peer to peer — от равного к равному) организации обмена данными такого сервера нет. В P2P-сети пользователи скачивают информацию друг у друга, а не у выделенного сервера. Выглядит это так: пользователи сети выкладывают какие-либо файлы в «расшаренную» (англ. share, делиться) папку, т. е. папку, файлы из которой доступны для скачивания другим клиентам. Какой-нибудь другой пользователь сети посылает запрос на поиск какого-либо файла. Программа ищет у клиентов сети файлы, соответствующие запросу, и показывает результат. После этого пользователь может скачать файлы у найденных источников.
Современные файлообменные сети позволяют скачивать один файл сразу с нескольких источников (так быстрее и надёжнее). Чтобы убедиться, что этот файл у всех источников одинаковый, производится сравнение не по названию файла, а по контрольным суммам или хэшам типа MD4, TTH, SHA-1. Во время (и после) скачивания файла пользователем, этот файл у него могут скачивать и другие клиенты сети, в результате чего файлы могут в итоге быть доступными для скачивания со многих источников одновременно.
Source(s): Компьютерные сети
P2P-сети с централизованным каталогом. Napster
Когда пир (пользователь P2P-сети) подключается к серверу, он сообщает свой IP и имеющиеся файлы. На сервере собираются не сами файлы, а информация о них. Пользователи посылают запросы на поиск какого-либо файла центральному серверу, который им говорит у кого искомые файлу есть.
Самый известный пример P2P-сети с централизованным каталогом является сеть Napster.
Napster — служба обмена mp3-файлами, созданная Шоном Фаннингом (Shawn Fanning) – 18-летним студентом ( Napster – это его ник). Она использовалась в основном студентами для обмена музыкой и стала очень популярной (80% интернет трафика). Она проработала с 1999 по 2001. В июле 2001 центральный каталог на сервере был закрыт по решению суда, несмотря на то, что файлов на сервере не было. Иск подавала Recording Industry Association of America (RIAA) - Американская ассоциация звукозаписывающих компаний.
Source(s): Компьютерные сети
Частично децентрализованные сети
Чтобы сеть не была уязвима, необходимо иметь несколько центральных серверов. В сетях второго поколения реализована частичная децентрализация, когда серверов много и подключиться можно к любому из них. Если закроют большинство центральных узлов, то сеть продолжит функционирование, юзеры будут пользоваться альтернативными серверами. Но чем больше будет закрыто центральных (координирующих) серверов, тем меньше становится сеть. Примерами децентрализованных сетей могут служить eDonkey и BitTorrent.
Source(s): Компьютерные сети
eDonkey
eDonkey (eDonkey2000, eD2k, осел, ослик) была создана Джедом Мак Калебом, вышла в сентябре 2000 г. По сравнению с Napster у нее появилось несколько нововведений: множественная закачка (когда клиент может закачивать файл по частям, причем разные части у разных пиров). У Napster серверы, на которых хранится централизованный каталог, не связываются между собой. В последних версиях eDonkey200 0 серверы формируют поисковую сеть (каждый сначала ищет у себя, потом у других). Вместо имен файлов у Napster в eDonkey для идентификации используются хэш-суммы . Таким образом, один и тот же файл, имеющий разные имена у пиров, трактуется сервером как один файл.
Каждый клиент связан с одним из серверов сети. Клиент сообщает серверу, какие файлы он предоставляет в общий доступ. Каждый сервер поддерживает список всех общих файлов клиентов, подключенных к нему. Когда клиент что-то ищет, он посылает поисковый запрос своему основному серверу. Периодически серверы связываются друг с другом на короткое время. Во время этого сеанса связи сервер, объявляя о своём существовании, посылает список всех других известных ему серверов. Таким образом, серверы поддерживают список других активных серверов. Когда клиент подключается к серверу, сервер может выдать ему список известных ему серверов.
Принцип работы: клиент Z имеет все части файла (символы строчных букв представляют части файла). Клиенты W, X, и Y хотят загрузить Файл. Клиенты X и Y имеют различные части файла, они могут не только получить файл от клиенты Z, но могут и посылать файл друг другу. Это позволяет файлу быть распределённо распространённым намного быстрее без того, чтобы использовать большее количество ширины канала клиента Z. Клиент W может запустить загрузку файла, даже если источник файла (Z) больше не имеет достаточной ширины канала для отсылки.
Source(s): Компьютерные сети
В феврале 2006 прекратил работу самый популярный сервер сети eD2k — Razorback, и была прекращена разработка коммерческого клиента EDonkey2000. Причиной «закрытия» сети послужил иск RIAA на 30 миллионов долларов.
Закрытие eDonkey вызвало большой ажиотаж по очень простой причине — этот файлообменник в последние годы был одним из крупнейших. Им пользовались 2-3 миллиона человек, которые чувствовали себя в относительной безопасности. Среди этих пользователей нашлись такие, которые еще в 2002 году решили создать альтернативный клиент, который бы использовал сеть eDonkey и развитие которого при этом не зависело бы от существования компании MetaMachine. Этот клиент называется eMule и очень популярен, в частности, у российских интернетчиков. Он, в отличие от eDonkey, умирать не собирается. Более того, сторонники eMule считают, что поддерживаемый eMule протокол Kad (вариант протокола Kademlia) обеспечивает достаточную анонимность для безнаказанного получения любых файлов. Свежая версия eMule к тому же умеет маскировать обмен файлами от провайдеров.
Source(s): Компьютерные сети
BitTorrent
Отличия от eDonkey: более централизованный. Протокол BitTorrent требует фиксирования каждой такой загрузки на tracker-сервере, даже если сервер в транзакции не участвует. В случае отсутствия в сети tracker-сервера файл загрузить нельзя. Внедрение tracker-сервера позволяет проследить за статистикой загрузок (что немаловажно для софтверных компаний).
Услугами BitTorrent воспользовались такие компании, как Red Hat и Mandrake, выложив в сеть новые версии своих операционных систем с одновременной публикацией на сайте torrent-файлов. Дистрибутивы представляли собой три ISO-файла объемом около 700 МВ каждый, т. е. в итоге любители Linux были вынуждены загружать около 2 GB, что в былые времена "убивало" FTP-серверы. По словам представителей Red Hat, после запуска дистрибутивов в сеть BitTorrent нагрузка на центральный FTP-сервер компании упала на 99%. Более того, присутствие tracker-сервера позволило Red Hat отследить статистику загрузок в режиме реального времени. Подробная информация редко доступна или принципиально невозможна в других пиринговых сетях.
Source(s): Компьютерные сети
Полностью децентрализованные сети
Gnutella — это пример полностью децентрализованные сети.
Source(s): Компьютерные сети
Gnutella
Эту сеть началa создавать America Online с корыстными целями. Собрали одних из лучших сетевых программистов, которые придумали непобедимое чудо сетевых технологий. Но, так получилось, что AOL объединился со звукозаписывающей компанией и понял, какую собаку он себе подложил. Сеть попытались закрыть, но она оказалась непобедимой, плюс, непосредственно создатели сопротивлялись. От AOL они ушли, и стали строить эту сеть сами. Вот так AOL навредил самому себе.
Gnutella построена по собственной особой технологии без центральных узлов gPulp. Узлами здесь служат сами пользователи, а саму программу вывести из строя невозможно. Работа сети: 1 шаг: To envision how Gnutella originally worked, imagine a large circle of users (called nodes), who each have Gnutella client software. On initial startup, the client software must bootstrap and find at least one other node. далее: Once connected, the client will request a list of working addresses. The client will try to connect to the nodes it was shipped with as well as nodes it receives from other clients until it reaches a certain quota. It will only connect to that many nodes, locally cache the addresses it has not yet tried and discarding addresses it tried which were invalid. поиск: Пользователь вводит запрос (например, название mp3-файла). Программа рассылает запрос на поиск файла всем узлам в списке, а далее просто ждет входящих сообщений. Каждый узел, получивший запрос на поиск, ищет в своем фонде указанный файл. Если файл не найден, то узел просто не отвечает. Если файл найден, узел отсылает инициатору запроса ответ с информацией о файле и о себе (IP-адрес). Получив ряд ответов, программа выбирает один из узлов, устанавливает с ним стандартное HTTP-соединение и загружает файл. При этом все сообщения (от Ping-запроса до скачивания файла) посылаются по HTTP, что затрудняет их отслеживание и блокировку.
При этом зависимость загрузки каналов от числа узлов экспоненциальная. Действительно, пусть компьютер хочет опросить все компьютеры в сети. Он посылает запрос 10 известным ему компьютерам. Каждый из них отправит по 10 запросов известным им компьютерам и т.д.. Итого получится 10+100+1000+..+10^d запросов, где d-расстояние до самого далекого компьютера. Таким образом, если количество компьютеров в сети увеличится в 2 раза, то увеличится количество запросов, примерно, возведётся в квадрат.
Now, when the user wanted to do a search, the client would send the request to each node it is actively connected to. The number of actively connected nodes for a client was usually quite small (around 5), so each node then forwards the request to all the nodes it is connected to, and they in turn forward the request, and so on, until the packet was a predetermined number of «hops» (прыжков) from the sender.
If a search request turns up a result, the node that had the result needs to contact the searcher. In the classic Gnutella protocol response messages were always sent back along the route the query came in through, as the query itself did not contain identifying information of the node. This scheme was later revised, so that search results are delivered over UDP directly to the node which initiated the search, respectively a proxying peer, usually an ultrapeer of the node. The queries do therefore carry the IP address and port number of either node. This lowers the amount of traffic routed through the Gnutella network, making it significantly more scalable.
In practice, this method of searching on the Gnutella network was often unreliable. Each node is a regular computer user; as such, they are constantly connecting and disconnecting, so the network is never completely stable. Also, the bandwidth cost of searching on Gnutella would grow exponentially to the number of connected users, often saturating connections rendering slower nodes useless. Therefore, search requests would often be dropped, and most queries reached only a very small percentage of the network. This observation identified the Gnutella network as an unscalable distributed system, and inspired the development of distributed hash tables, which are much more scalable but support only exact-match, rather than keyword, search.
Апгрейд: To address the problems of bottlenecks, Gnutella developers implemented a tiered system of ultrapeers and leaves. Instead of all nodes being considered equal, nodes entering into the network were kept at the 'edge' of the network as a leaf, not responsible for any routing, and nodes which were capable of routing messages were promoted to ultrapeers, which would accept leaf connections and route searches and network maintenance messages. This allowed searches to propagate further through the network, and allowed for numerous alterations in the topology which have improved the efficiency and scalability greatly.
Source(s): Компьютерные сети
Полностью децентрализованные сети
DHT (Distributed hash table) — децентрализованная распределенная система для объединения большого количества постоянно исчезающих и появляющихся узлов и эффективной передачи сообщений между ними. Она использует 160-битные хэши для идентификации узлов, файлов и имен файлов (ключевых слов). Каждый узел содержит информацию о месторасположении файлов с хешами, близкими к его хешу.
Source(s): Компьютерные сети
Kad
Сеть Kad — это реализация DHT. Узлы, файлы и имена файлов (ключевые слова) кодируются алгоритмом SHA-1 160-битными числами. Если узел хочет расшарить файл, он обрабатывает его, получая хэш, который идентифицирует этот файл в сети. Затем узел ищет несколько узлов, ID которых близки к хэшу файла и его имени (размеры хешей файлов и узлов совпадают, расстояние вычисляется применением операции XOR к хешам). На эти узлы отдается информация об адресе узла, на котором хранится файл.
Source(s): Компьютерные сети
Поиск в Kad
В соответствии с хешами узлы можно разместить в двоичном дереве.
Поиск очень похож на DNS-запросы. Каждый узел (как и каждый DNS-сервер) знает адреса всех узлов в своей ветке, расположенных рядышком (на этом же уровне или ниже (зон следующего уровня или дочерних зон в DNS)) и адреса некоторых узлов «высокого уровня».
Когда узел хочет найти файл, он сравнивает хеш имени с хешами известных ему узлов, затем посылает запрос тому узлу, чей хеш наиболее близок к искомому. Тот узел возвращает ему адрес узла, чей хеш ещё ближе к искомому. Тогда наш узел посылает запрос тому новому узлу, и получает от него адрес следующего узла, чей хеш ещё ближе и т.д.. Таким образом, запросы постепенно стекаются к узлам, чьи хеши наиболее похожи на искомый. А эти узлы уже знают, где находится файл. Запросы итеративные. «Стоимость» такого поиска логарифмически зависит от количества узлов в сети и, если количество узлов удвоится, количество запросов возрастет на 1.
Source(s): Компьютерные сети
Другие приложения P2P-сетей
- мобильный P2P;
- распределенные вычисления SETI@home;
- совместное работа ( Groove );
- Skype.
Структура сети Интернет
Локальные, региональные, магистральные провайдеры
Локальный (местный) провайдер (ISP – Internet Service Provider) – поставщик услуг Интернета, работающий (как правило) в пределах одного города (ЮГИНФО, ЦТС, Интеркабель).
Региональный провайдер – одной страны, области, округа (ТрансТелекомКавказ, ЮТК, ЦТС).
Магистральный провайдер – страны, континента, земного шара (Global one Orange), Голден Телеком, Ростелеком, Verizon, Cogent)
Точки присутствия (POP), точки обмена трафиком (IX)
Ядро Интернета (или Core Backbone Network) составляют сети так называемых провайдеров первого уровня (Network Server Provider Tier-1) или магистральных провайдеров, наиболее крупными из которых являются UUNET(куплен Verizon), AT&T(в Америке), MCI (куплен Verizon), GTE/BBN (вместе с AT&T в SBC) и Sprint (названия часто меняются, из-за того что одни фирмы объединяются, другие кого-то покупают или входят в состав более крупных фирм, третьи переименовываются).
Эти сети построены в основном на базе технологий SONET/SDH, DWDM, ATM. Для их магистралей характерны каналы 622 и 2488 Мбит/с соответственно. Иногда встречаются каналы 9952 Мбит/с и даже более.
Сети магистральных провайдеров первого уровня свободно обмениваются между собой трафиком через IXP – Internet Exchange Point точки обмена трафиком.
Страны получают доступ к ядру Интернета либо благодаря магистральным провайдерам первого уровня, имеющим точки присутствия (POP-Point of Presence) по всему миру, либо локальным магистральным провайдерам первого уровня.
Сети NSP Tier-1 свободно обмениваются между собой трафиком, причем основная часть этого обмена сосредоточена в двух зонах (Metropolian Exchange Area,MAE), расположенных в Нью-Йорке и Сан-Франциско. Хотя наибольшая концентрация NSP первого уровня приходится на США, "ареал распространения" этих сетей не ограничивается только этой страной. Другие страны получают доступ к ядру Интернета либо благодаря NSP первого уровня, имеющим точки присутствия (POP-Point of Presence) по всему миру (например, UUNET "дотягивается" и до Европы, и до Юго-Восточной Азии), либо локальным NSP первого уровня (эта практика распроcтранена в Азии).
Ниже магистральных провайдеров по иерархии расположены сетевые провайдеры следующего уровня - региональные, соединенные между собой высокоскоростными каналами передачи данных, которые, в свою очередь предоставляют доступ к Интернету местным (локальным) провайдерам (Internet Service Privider, ISP). Индивидуальные пользователи и компании-клиенты получают доступ к ресурсам Интернета именно при помощи ISP. Соединение между ISP и пользователями (частными или корпоративными) обычно осуществляется при помощи: коммутируемых линий (обычных телефонных или ISDN), спутниковой связи, ADSL, VDSL, WiMAX, мобильной связи (2G, 2.5G, 3G) или посредством так называемых выделенных линий: FTTH (Fiber to the Home), ETTH (Ethernet to the Home).
Таким образом, путь между произвольным Web-сервером и компьютером пользователя состоит из трех основных частей — участка между Web-сервером и скоростной магистралью, участка скоростной магистрали и участка, связывающего пользователя с магистралью.
На связистком жаргоне первый участок обычно называют "первой милью", а третий — "последней милью".
Недостаточная скорость передачи данных может создать неприятности как на первой, так и на последней миле. Однако проблемы первой мили решаются довольно просто — надо перевести сервер из офиса компании в серверный центр, который непосредственно подключен к магистрали. Эта услуга называется collocation.
Проблема последней мили гораздо серьезнее. Ее решение состоит в распространении систем высокоскоростного доступа, использующих технологию xDSL (в первую очередь, ADSL), систем кабельного телевидения. В таких системах скорости передачи данных легко достигают несколько мегабит в секунду, что для большинства приложений достаточно.
Point Of Presence (POP), точка присутствия – место расположения оборудования оператора связи (провайдера), к которому возможно подключение клиентов.
Обычно, POP – это узел связи или датацентр, возможно, отдельная единица коммуникационного оборудования, вынесенная ближе к месту концентрации потенциальных клиентов, например, в офисное здание. Данный термин применяется при планировании сетей передачи данныхм и расчёте их стоимости. Обычно провайдер, оказывающий услуги по подключению к сети или передаче данных, указывает стоимость своих услуг именно в точке присутствия. Для определения же полной стоимости следует учесть построение (аренду) и эксплуатацию канала связи от точки присутствия до оборудования клиента (так называемой, последней мили). Поэтому при планировании сетей территориальное расположение точек присутствия различных провайдеров имеет не меньшее значение, чем стоимость и технические характеристики их услуг.
Например, при предоставлении услуги подключения к сети Интернет последняя миля — участок от порта коммутатора провайдера на его узле связи до порта маршрутизатора клиента в его офисе. Для услуг коммутируемого (dial-up, диалапного) подключения последняя миля — это участок между модемом пользователя и модемом (модемным пулом) провайдера. В последнюю милю обычно не включается разводка проводов внутри здания. К технологиям последней мили обычно относят xDSL, Wi-Fi, WiMax. К оборудованию последней мили можно отнести xDSL-модемы, мультиплексоры доступа, оптоволоконные модемы и преобразователи, радиомультиплексоры. Есть специализированные компании и подразделения крупных компаний связи, которые занимаются исключительно построением последней мили.
В России и многих других странах именно последняя миля сдерживает расширение аудитории Интернета, внедрение новых технологий, предоставление новых телекоммуникационных услуг. Дело в том, что последняя миля, как правило, является самым «узким» участком канала от пользователя до поставщика услуг. Расширить же этот канал стоит достаточно дорого из-за рассредоточенности пользователей.
IXPnternet eXchange Point (IXP), точка обмена трафиком – инфраструктура, которая позволяет различным провайдерам обмениваться трафиком.
Создаются для беспрепятственного пропускания трафика между различными провайдерами без загрузки внешних магистральных каналов. В местах, где дальняя связь плохо развита, местные региональные операторы оплачивают трафик во много раз дороже, чем операторы в США или Европе. Поэтому они организовывают точки обмена трафиком, через которые и пропускают крайне дешёвый трафик между своими клиентами.
Source(s): Компьютерные сети
Коммутация каналов и коммутация пакетов
Коммутация каналов
В 60-х годах основным средством связи были телефонные линии, использующие принцип коммутации каналов.
Они имели существенный недостатотк: нельзя освободить канал в период простоя. Под каждый сеанс разговора между двумя абонентами выделяется отдельный канал на всем протяжении линии. Он устанавливается в момент соединения и занят, пока есть соединение. Если нет свободных каналов, то линия становится перегруженной.Основные способы организации каналов, по которым могут разговаривать много пользователей:
- частотное мультиплексирование (разделение) — для каналов выделяются частотные поддиапазоны. Например, этот метод используется в технологии X-DSL. По кабелю передаются сигналы различной частоты: телефонный разговор-0,3-3,4 Кгц а для передачи данных используется полоса от 28 до 1300 Кгц.
- временное мультиплексированиемультиплексирование — используются все частоты, но в определенное время, т.е. канал используется попеременно каждым абонентом. Вся пропускная способность выходного канала предоставляется в течение фиксированных интервалов времени каждому входному каналу. Недостаток: даже если какой-то входной канал не использует для передачи выделенный ему интервал, другие каналы не могут передавать данные в это время.
Source(s): Компьютерные сети
Коммутация пакетов
Сообщение разбивается на пакеты, которые могут идти независимо друг от друга (по разным маршрутам). В случае когда пакетов много, организуются очереди. Исключение: в сетях с режимом асинхронной передачи (Asynchronous Transfer Mode, ATM) коммутация каналов сочетается с коммутацией пакетов (см. главу 5 Куроуза и Росса).
1969 г. Рождение ARPAnet
Леонард Клейнрок — один из авторов технологии коммутации пакетов. Он открыл возможность совместного использования эфира независимыми узлами сети.Alohanet — первая радиосеть с коммутацией пакетов.
Request for Comments, RFC — документ из серии пронумерованных информационных документов Интернета, содержащих технические спецификации и стандарты, широко применяемые во всемирной сети. Формат RFC появился в 1969 году при обсуждении проекта ARPANET. RFC 1 был опубликован 7 апреля 1969 г. и назывался «Host Software». Первые RFC распространялись в печатном виде на бумаге в виде обычных писем, но уже с декабря 1969 г., когда заработали первые сегменты ARPANET, документы начали распространяться в электронном виде. Несмотря на название, запросы комментариев RFC сейчас рассматриваются как стандарты Интернета (а рабочие версии стандартов обычно называют драфтами, от англ. draft здесь — черновик). Примеры популярных стандартов: IP, UDP, TCP, HTTP, SMTP, FTP, DNS, URL, NAT… Есть первоапрельские RFC, например, RFC 1149 «Internet Protocol посредством почтовых голубей» (между прочим, реализованный на практике).
В ARPAnet взаимодействие между компьютерами было многосоставным: модемы (IMP) общались между собой по своим правилам, использующим маршрутизацию пакетов, контроль потока и осуществляющим надежную передачу пакетов; существовало ПО для передачи информации между модемом и компьютером; поверх этих программ работала NCP - Network-Control Program (RFC 001) — программа для обмена информацией между компьютерами. Адреса в NCP включали в себя идентификатор пользователя, компьютера и соединения между программами (прообраз сокетов). В марте 1972г с использованием функций NCP были написаны первые сетевые программы электронной почты SNDMSG and READMAIL (электронная почта между пользователями мейнфреймов на самом деле родилась раньше) В июле 1972 вышел стандарт RFC 354 службы передачи файлов FTP, используемой повсеместно и сегодня.
ALOHAnet Одним из первых обитателей будущей Кремниевой Долины, увлекшимся созданием сетей, оказался профессор из Стэнфорда Норм Абрамсон. Так оказалось, что он был еще и заядлым серфингистом. Совместить две области интересов ему удалось на Гавайских островах, где, как известно, одно из лучших в мире мест для катания на доске, а компьютеры, находившиеся в ведении местного университета, были разбросаны по нескольким островам архипелага. Так вот, Абрамсон предложил связать их сетью с использованием радиоканалов. Это было сделано в 1970 году. На решение о создании сети в немалой степени повлияло личное знакомство Абрамсона с Робертсом. Впоследствии Абрамсон смог получить процессоры IMP и по радио подключить созданную им сеть Alohanet к ARPAnet. Сеть, названная по имени самого крупного из островов, оказалась первой радиосетью с коммутацией пакетов. Но самое большое достижение Абрамсона состояло в том, что он открыл возможность совместного использования эфира независимыми узлами сети. В первой версии протокола идея Абрамсона была интригующе простой: «Если у вас есть данные для передачи — передавайте, а если обнаружите, что частота занята… то подождите и пошлите позже». Суть идеи заключена именно в формулировке «пошлите позже»; сегодня о ней мало кто задумывается, а тогда она надолго захватила умы инженеров. В последующем схема был доведена до совершенства Робертом Меткалфом, автором Ethernet, и получила название «множественный доступ к среде с контролем несущей и обнаружением коллизий» (Carrier Sense Multiple Access with Collision Detection, CSMA/CD). Непосредственными преемниками Alohanet стали протокол Slotted Aloha, а позже — протоколы популярных беспроводных сетей передачи данных ARDIS, Mobitex, CDPD и даже GSM.
1970-1980 гг. Возникновение новых компьютерных сетей и Интернета
Параллельно с развитием ARPAnet появлялись другие компьютерные сети: ALOHAnet (радио сеть Гавайского университета, Telenet, Cyclades (во Франции), SNA и др. Возникла задача о соединении сетей с различной архитектурой. Нужно было придумать новую систему адресации компьютеров, которая бы работала для объединенной сети - Интернета. Старый протокол NCP был больше похож на драйвер устройства.
Роберт Канн совместно с Уинтоном Серфом разработал новую версию протокола, которая впоследствии была названа TCP/IP (Transmission Control Protocol, протокол управления передачей данных; IP — Internet Protocol). Изначально это был один протокол TCP, который осуществлял маршрутизацию и надежную доставку пакетов, использовал глобальную адресацию компьютеров. Эксперименты с пакетной передачей голосовых сообщений показали, что иногда требуется, чтобы протокол допускал потерю некоторых пакетов при передаче информации. Это привело к появлению протокола IP, несущего транспортные функции и протоколов TCP и UDP (User Datagram Protocol) для надежной и ненадежной передачи данных.
Еще одним выходцем из «могучей кучки» МТИ был француз Луи Пуссен. В середине 60-х он участвовал в разработке операционной системы Multics; ему принадлежит авторство термина shell для обозначения языка управления, используемого сегодня во многих операционных системах. А в начале 70-х с группой коллег он снова побывал в США и ознакомился с состоянием дел ARPAnet. Итогом этого визита стали несколько отчетов, стимулировавших французское правительство к финансированию работ по созданию собственной сети, получившей название Cyclades Packet Switching Network. Тогда во Франции активно развивались собственные сетевые решения, приведшие в частности к созданию уникальной телефонной сети с терминалами minitel, предоставлявшимися абонентам бесплатно. Под натиском Internet сеть Cyclades в середине 80-х прекратила свое существование, однако ее, как и Alohanet, нельзя рассматривать как тупиковые ветви. Из проекта Cyclades непосредственным образом вырос протокол TCP/IP. Сеть Cyclades была многоуровневой: первый уровень — уровень передачи данных (Data Transmission), второй — транспортный (Transport), третий — прикладной (Application). Авторы TCP/IP, Винт Серф и Роберт Канн ссылаются на Пуссена, как на своего предшественника.
1980-1990 гг. Распространение компьютерных сетей
Разработана система доменных имен DNS (Domain Name System), связавшая IP адреса компьютеров с их мнемоническими именами
Середина 80-х. Создание NFSnet (сеть национального научного фонда США (NFS)
Основой сети NFSNET стали пять очень мощных компьютеров, соединенных между собой сверхбыстрыми (на тот момент) линиями связи. Пользователи подключались к сети и использовали мощности этих компьютеров. NFSNЕТ унаследовала от ARPANET принципы построения, обеспечивающие высокую надежность, а также три уровня протоколов (под протоколом в данном случае понимается соглашение о способе передачи информации; понятно, что если разные части сети будут использовать разные способы передачи, то они друг друга просто не поймут) — сетевой, транспортный и протокол приложений, а также добавила к ним протокол межсетевого уровня под названием IP (интернет-протокол). Полученный комплект протоколов получил название TCP/IP — как раз на нем-то и базируется передача информации в Интернете.
Сеть NFSNET была более прогрессивной и предоставляла намного более мощные возможности по сравнению с ARPANET, поэтому ARPANET была ликвидирована в конце восьмидесятых. NFSNET заняла место прародительницы Интернета, а это потребовало ее умощнения и некоторой реорганизации, в результате чего был создан так называемый Бекбон NFSNET (от англ. backbone — хребет), который состоял уже из тринадцати компьютеров (точнее, компьютерных центров), соединенных друг с другом теми же высокоскоростными линиями связи. Центры располагались в разных городах США и, по сути, являлись одновременно центрами местных компьютерных сетей, так что NFSNET стала сетью, объединяющей другие сети.1990 г. Ликвидирована ARPAnet
90-е годы. WWW
Тим Бернерс-Ли вместе со своими ассистентами создает первоначальную версию языка разметки гипертекста HTML, протокола HTTP передачи HTML-документов, web-сервера и браузера.
Многоуровневые сетевые модели
Глобальные сети объединяют в себе огромное количество географически распределённых узлов. Множество вариантов программно-технической реализации передачи информации породили необходимость создания открытых стандартов — стандартов, официально опубликованных и доступных для разработчиков программно-аппаратных компонентов.
Взаимодействие приложений через сеть очень сложно. Разделение его на уровни позволяет понизть сложность. Каждый уровень взаимодействует через сеть с одноименным уровнем. Для этого уровень пользуется услугами нижележащего уровня и каждый уровень предоставляет услуги вышележащему уровню.
Сетевая модель определяет:
- службы — то, что делается на данном уровне;
- интерфейсы (API) — как обращаться к другим уровням;
- протоколы — набор правил общения с одноуровневым компонентом на другом узле сети.
Source(s): Компьютерные сети
Как устроена сетевая модель
Каждый сетевой уровень подчиняется определенному сетевому протоколу, определяющему набор сетевых служб, присущих данному уровню.
Сетевая служба — это набор функций, которыми обладает определенный сетевой уровень, выполняемых для вышележащего уровня (например, коррекция ошибок).
Каждый сетевой уровень запрашивает определенную сетевую службу от нижележащего уровня. Протокол уровня определяет структуру данных и формат пакета для выполнения запрашиваемой сетевой службы.
Протокол — это правила, которым должен следовать уровень, чтобы реализовать сетевую службу.
Сетевой протокол описывает формат данных или пакетов данных, то есть правила оформления, которым данные должны подчиняться, чтобы программное обеспечение выполняло ту или иную функцию или сетевую службу (для случая коррекции ошибок протокол описывает какие ошибки сетевая служба должна исправлять).
Пример. Почтовая служба. Чтобы отправить кому-либо письмо, мы пишем адрес на кон-верте. Таким образом, функция адреса заключается в обеспечении правильной доставки. Формат, в котором пишется адрес, строго определен: 1-я строка – кому, 2-я строка – улица, дом, 3-я строка – город. Почтовые работники ожидают, что на второй строке будет указана улица, а за ней – номер дома. Формат адреса на конверте следует определенному протоколу.
Source(s): Компьютерные сети
Пример трехуровневой модели
Философы используют функции нижележащих уровней: переводчиков и почты. Они непосредственно общаются с переводчиками. Переводчики переводят сообщение, затем оно отправляется по почте.
Source(s): Компьютерные сети
Передача сообщения
При передаче, информация делится на пакеты. Фактически, передаваемая информация формируется на самом верхнем уровне — уровне работающего приложения (прикладном). Далее пакет «спускается» по уровням модели и на каждом из них получает свой заголовок и концевик. Этот заголовок содержит функционально-специфичную для данного уровня информацию о пакете (например, адрес). При получении информации узлом-получателем большой (с заголовками всех уровней) блок информации начинает обрабатываться в обратной, восходящей, последовательности уровней, причём на каждом уровне происходит анализ и отщепление соответствующего заголовка. Таким образом, до процесса-получателя доходит исходный передаваемый блок. На уровнях зачастую сообщение M вместе с заголовками от верхних уровней подвергается изменениям: шифрованию, сжатию, разбиению на части,…, поэтому изображенная картинка с одной и той же часть M, вообще говоря, не совсем правильная (зато понятная).
Пример. Вспомним беседу философов. Переводчик хинди-английский переводит исход-ное сообщение философа, дополнительно делая пометки о значениях слов. Далее, на почте это письмо запечатывается в конверт, на конверте пишется соответствующая информация (об отправителе и получателе). На почте в Голландии конверт распечатывается, и письмо передается переводчику английский-голландский. Используя сделанные коллегой помет-ки, переводчик восстанавливает на голландском содержимое письма. Письмо передается голландскому философу.
Модель OSI имеет семиуровневую структуру, и можно говорить о взаимодействии узла-отправителя и узла-получателя на каждом уровне модели.
Source(s): Компьютерные сети
Функции уровней
В компьютерной сети каждый уровень может выполнять одну или несколько функций, перечисленных ниже.
- адресация,
- правила переноса данных: направление переноса (например, только в одном направлении или в любом направлении), логические каналы (например, специальный канал для «срочных» данных),
- контроль ошибок,
- соблюдение последовательности пакетов,
- управление потоком сообщений (быстрый не зафладит медленного),
- мультиплексирование: объединение несвязанных пакетов для совместной передачи на одном из уровней (например, на физическом уровне мультиплексирование чаще всего неизбежно, так как вся связь осуществляется по ограниченному числу контуров),
- маршрутизация.
Source(s): Компьютерные сети
Эталонная модель OSI
Эталонная модель взаимодействия открытых систем, Open Systems Interconnection Reference Model (OSI), создавалась как единый международный стандарт сетевых технологий.
Набор протоколов называется открытым, если описание и детали протоколов опубликованы.
Система, реализующая открытые протоколы называется открытой системой, несмотря на то, что код программ может быть закрыт.
ISO — международная организация по стандартизации.
OSI ISO — абстрактная модель для сетевых коммуникаций и разработки сетевых протоколов. Представляет уровневый подход к сети. Каждый уровень обслуживает свою часть процесса взаимодействия. Благодаря такой структуре совместная работа сетевого оборудования и программного обеспечения становится гораздо проще и понятнее.
Существует 7 уровней с помощью которых происходит сетевое взаимодействие. От нижнего уровня к верхнему:
- Физический (Physical Layer)
Передача битов данных по сети.
Подробнее
Преобразует биты в исходящие сигналы, передает сигналы и, затем, преобразует входящие сигналы в биты. Определяет:
- характеристики сигналов;
- среды передачи;
- физическую топологию среды передачи;
- механические и физические (электрические, оптические) спецификации среды передачи;
- интерфейсы (разъемы) оборудования.
Физический уровень занимается реальной передачей необработанных битов по каналу связи. При разработке сети необходимо убедиться, что когда одна сторона передает единицу, то принимающая сторона получает также единицу, а не нуль. Принципиальными вопросами здесь являются следующие: какое напряжение должно использоваться для отображения единицы, а какое — для нуля; сколько микросекунд длится бит; может ли передача производиться одновременно в двух направлениях; как устанавливается начальная связь и как прекращается, когда обе стороны закончили свои задачи; из какого количества проводов должен состоять кабель и какова функция каждого провода. Вопросы разработки в основном связаны с механическими, электрическими и процедурными интерфейсами и с физическим носителем, лежащим ниже физического уровня.
- Канальный (уровень передачи данных) (Data Link Layer)
Передаёт кадры (наборов битов) между двумя узлами сети, непосредственно связанными между собой.
Подробнее
Передает кадры (frames) — наборы битов — между двумя узлами сети, непосредственно связанными между собой Функции канального уровня:
- взаимодействие со средой передачи данных (протокол MAC);
- надежная доставка;
- управление потоком.
В протоколах канального уровня заложена определенная структура связей между компьютерами и способы их адресации. Для идентификации компьютеров на канальном уровне используются аппаратные адреса (MAC – адреса) в Ethernet. 802.Xx – номера описаний стандартов IEEE (институт инженеров по электротехнике и радиоэлектронике).
Технологии: Ethernet (802.3), WiFi (802.11), Token Ring (802.5) и РРР.
В программировании этот уровень представляет драйвер сетевой платы, в операционных системах имеется программный интерфейс взаимодействия канального и сетевого уровней между собой.
Протокол MAC (Media Access Control — управление доступом к носителю) определяет правила передачи кадра в линию. Для двухточечных линий с единственным отправителем на одном конце и единственным получателем на другом конце линии протокол MAC очень прост (или вообще отсутствует) — отправитель может передать кадр в любой момент, когда линия свободна. Более интересный случай представляет конфигурация, в которой несколько узлов совместно используют один широковещательный канал. В этом случае возникает так называемая проблема коллективного доступа, и протокол MAC призван координировать передачу кадров многих узлов.
Надежная доставка. Когда протокол канального уровня предоставляет услугу по надежной доставке, он гарантирует перемещение каждой дейтаграммы сетевого уровня по линии связи без ошибок. Вспомним, что некоторые протоколы транспортного уровня (например, TCP) также обеспечивают надежную доставку. Аналогично службе надежной доставки транспортного уровня, служба надежной доставки канального уровня поддерживается с помощью механизмов подтверждений и повторных передач (см. раздел «Принципы надежной передачи данных»). Служба надежной доставки транспортного уровня часто обслуживает линии связи с высокой вероятностью ошибок, характерной, например, для беспроводных линий связи. Таким образом, на канальном уровне ошибки исправляются локально — на той линии связи, на которой они возникают, что позволяет отказаться от повторной передачи данных протоколом транспортного или прикладного уровня. Однако в линиях с низкой вероятностью ошибок надежная доставка на канальном уровне может оказаться излишней. К таким линиям относятся волоконно-оптические и экранированные кабели, а также различные категории линий типа «витая пара», поэтому многие протоколы для кабельных линий не предоставляют услуги по надежной доставке.
Управление потоком. Узлы на каждой стороне линии связи обладают буферами для хранения кадров ограниченного размера. Это порождает потенциальную проблему, так как кадры могут поступать на получающий узел быстрее, чем этот узел способен их обрабатывать. Без управления потоком буфер получателя может переполниться, а кадры будут потеряны. Аналогично транспортному уровню протокол канального уровня может обеспечить управление потоком с целью предотвращения ситуации, когда передающий узел на одной стороне линии связи заваливает пакетами принимающий узел на другой стороне линии.
Обнаружение ошибок. Принимающий узел может неверно посчитать, что значение бита в кадре равно нулю, в то время как передавалась единица, и наоборот. Подобные битовые ошибки вызываются ослаблением сигнала и электромагнитными помехами. Поскольку нет смысла передавать дальше дейтаграмму, содержащую ошибки, многие протоколы канального уровня предоставляют услугу по обнаружению ошибок в кадре. Для этого передающий узел добавляет к кадру биты обнаружения ошибок (контрольную сумму), а получающий узел выполняет проверку контрольной суммы. Служба обнаружения ошибок очень распространена среди протоколов канального уровня. Транспортный и сетевой уровни в Интернете также предоставляют ограниченную услугу по обнаружению ошибок. На канальном уровне обнаружение ошибок сложнее и, как правило, реализуется аппаратно.
Исправление ошибок выполняет расширенная служба обнаружения ошибок. Такая служба способна не только обнаружить ошибку в кадре, но также определить, в каком именно разряде она произошла, и таким образом исправить некоторые ошибки. Услуга по исправлению ошибок предоставляется некоторыми протоколами канального уровня (например, ATM), но, как правило, не для всего пакета, а только для его заголовка.
Дуплексная и полудуплексная передача. При дуплексной передаче оба узла могут передавать друг другу пакеты одновременно. При полудуплексной передаче оба узла тоже могут передавать друг другу пакеты, но только поочередно.
- Сетевой (Network Layer)
Осуществляет управление подсетью, то есть совокупностью коммуникационного оборудования. Определяет маршруты следования данных. Соединяет разнородные сети.
Подробнее
Отвечает за передачу дейтаграмм между удаленными компьютерами. Функции сетевого уровня:
- адресация компьютеров во всей глобальной сети (IP-адреса);
- выбор маршрута доставки сообщений.
Не обеспечивает надежность доставки (искажения, потери, изменение порядка следования).
Протоколы: IP (Internet Protocol), ARP, RARP, ICMP, DHCP.
best-effort delivery – доставка пакетов с максимально возможной скоростью, без гарантии отсутствия задержек, потерь пакетов (при переполнении буферов на маршрутизаторах).
Сетевой уровень отвечает за передачу датаграмм между удаленными компьютерами. Важнейшим моментом здесь является определение маршрутов пересылки пакетов от источника к пункту назначения. Маршруты могут быть жестко заданы в виде таблиц и редко меняться. Кроме того, они могут задаваться в начале каждого соединения, например, терминальной сессии. Наконец, они могут быть в высокой степени динамическими, то есть вычисляемыми заново для каждого пакета с учетом текущей загруженности сети.
Если в подсети одновременно присутствует слишком большое количество пакетов, то они могут закрыть дорогу друг другу, образуя заторы в узких местах. Недопущение подобной закупорки также является задачей сетевого уровня. В более общем смысле сетевой уровень занимается предоставлением определенного уровня сервиса (это касается задержек, времени передачи, вопросов синхронизации).
При путешествии пакета из одной сети в другую также может возникнуть ряд проблем. Так, способ адресации, применяемый в одной сети, может отличаться от принятого в другой. Сеть может вообще отказаться принимать пакеты из-за того, что они слишком большого размера. Также могут различаться протоколы, и т. д. Именно сетевой уровень должен разрешать все эти проблемы, позволяя объединять разнородные сети. Для преобразования IP-адресов (адресов сетевого уровня) в MAC-адреса (адреса канального уровня) в сетях TCP/IP используется протоколы ARP (англ. Address Resolution Protocol — протокол разрешения адресов) и RARP (англ. Reverse Address Resolution Protocol — обратный протокол преобразования адресов).
Протоколы маршрутизации RIP (в локальных сетях) и BGP (в магистральный сетях) работают на прикладном уровне.
- Транспортный (Transport Layer)
Доставляет данные непосредственно от программы-отправителя к программе-получателю с определёнными гарантиями (на сохранность информации, порядок передачи сообщений и др.), не имеет дела с узлами сети.
Подробнее
Осуществляет надежную доставку данных от отправителя к получателю. Функции транспортного уровня:
- контроль ошибок: искажения пакетов, потери, изменение порядка следования, дублирование;
- контроль потока данных;
- сегментирует и повторно собирает данные в один поток;
- обеспечивает совместное использование канала различными программами (каждой присваивается число – «номер порта»)
Протоколы: TCP, UDP.
Обеспечивает передачу данных между любыми узлами сети с требуемым уровнем надежности. Для этого на транспортном уровне имеются средства установления соединения, нумерации, буферизации и упорядочивания пакетов. Изолирует более высокие уровни от каких-либо изменений в аппаратной технологии.
Транспортный уровень также определяет тип сервиса, предоставляемого сеансовому уровню и, в конечном счете, пользователям сети. Наиболее популярной разновидностью транспортного соединения является защищенный от ошибок канал между двумя узлами, поставляющий сообщения или байты в том порядке, в каком они были отправлены. Однако транспортный уровень может предоставлять и другие типы сервисов, например пересылку отдельных сообщений без гарантии соблюдения порядка их доставки или одновременную отправку сообщения различным адресатам по принципу широковещания. Тип сервиса определяется при установке соединения.
Транспортный уровень является настоящим сквозным уровнем, то есть доставляющим сообщения от источника адресату. Другими словами, программа на машине-источнике поддерживает связь с подобной программой на другой машине при помощи заголовков сообщений и управляющих сообщений. На более низких уровнях для поддержки этого соединения устанавливаются соединения между всеми соседними машинами, через которые проходит маршрут сообщений.
Основная функция транспортного уровня — принять данные от сеансового уровня, разбить их при необходимости на небольшие части, называемые сегментами, передать их сетевому уровню и гарантировать, что эти части в правильном виде прибудут по назначению.
- Сеансовый (Session layer)
Организует сеансы связи, то есть долговременного взаимодействия между абонентами. Определяет, порядок передачи сообщений. Решает задачу синхронизации между абонентами.
Подробнее
Позволяет двум сторонам поддерживать длительное взаимодействие (сеанс) по сети. Функции сеансового уровня:
- установление сеанcа;
- поддержка/управление сеансом;
- разрыв сеанса;
- синхронизация передачи данных (можно помещать контрольные точки в поток данных и возвращаться назад к определенной точке).
Отвечает за поддержание сеанса связи, позволяя приложениям взаимодействовать между собой длительное время. Уровень управляет созданием/завершением сеанса, обменом информацией, синхронизацией задач, определением права на передачу данных и поддержанием сеанса в периоды неактивности приложений. Синхронизация передачи обеспечивается помещением в поток данных контрольных точек, начиная с которых возобновляется процесс при нарушении взаимодействия.
- Уровень предоставления данных (Presentation layer)
Занимается согласованием синтаксиса и семантики данных, передающихся по сети.
Подробнее
Уровень отвечает за:
- преобразование форматов данных;
- кодирование/декодирование.
Примеры преобразования данных: форматирование, сжатие, перевод, кодирование, шифрование.
Отвечает за преобразование протоколов и кодирование/декодирование данных. Запросы приложений, полученные с уровня приложений, преобразует в формат для передачи по сети, а полученные из сети данные преобразует в формат, понятный приложениям. На этом уровне может осуществляться сжатие/распаковка или кодирование/декодирование данных, а также перенаправление запросов другому сетевому ресурсу, если они не могут быть обработаны локально. В отличие от более низких уровней, задача которых — достоверная передача битов и байтов, уровень представления занимается по большей части синтаксисом и семантикой передаваемой информации. Чтобы было возможно общение компьютеров с различными представлениями данных, необходимо преобразовывать форматы данных друг в друга, передавая их по сети в неком стандартизированном виде. Уровень представления занимается этими преобразованиями, предоставляя возможность определения и изменения структур данных более высокого уровня (например, записей баз данных).
- Прикладной (Application layer)
Предоставляет службы для специфических потребностей пользователей (электронная почта, передача файлов и др.)
Подробнее
Обеспечивает взаимодействие сети и пользователя. Протоколы этого уровня определяют совместно используемые сетевые службы, например, WWW, электронную почту, сетеваую печать, пересылку файлов через сеть.
Протоколы: HTTP, SMTP, POP3, IMAP, FTP.
Обеспечивает взаимодействие сети и пользователя. Уровень разрешает приложениям пользователя иметь доступ к сетевым службам, таким как обработчик запросов к базам данных, доступ к файлам, пересылке электронной почты. Также отвечает за передачу служебной информации, предоставляет приложениям информацию об ошибках и формирует запросы к уровню представления. Пример: HTTP, POP3, SMTP.
Содержит набор популярных протоколов, необходимых пользователям. Одним из наиболее распространенных является протокол передачи гипертекста HTTP (HyperText Transfer Protocol), который составляет основу технологии Всемирной Паутины. Когда браузер запрашивает веб-страницу, он передает ее имя (адрес) и рассчитывает на то, что сервер будет использовать HTTP. Сервер в ответ отсылает страницу. Другие прикладные протоколы используются для передачи файлов, электронной почты, сетевых рассылок.
На этом уровне передаваемые данные называются сообщениями.
Source(s): Компьютерные сети
Общие замечания относительно OSI ISO
- Избыточность и низкая функциональность верхних уровней.
- Учет в стандартах всех теоретически возможных ситуаций.
- Сложность спецификаций для реализации.
- Очень высокие требования к ресурсам сетевых компьютеров.
Сегодня это референтная (ссылочная) модель.
Хотя поддержка этого стека на правительственном уровне (США, Германия, Россия,…) продолжается, это маргинальное течение в современных сетевых технологиях.
Эталонная модель TCP/IP
Согласно терминологии TCP/IP элементы сетевого уровня называются подсетями (subnetworks). Идеология TCP/IP допускает, чтобы в качестве «подсетей» выступали реальные сети с их собственными стеками протоколов, узлами, шлюзами и т. п.
Реализация протоколов TCP/IP оказалась наиболее удачной в версиях BSD4.2 и BSD4.3 операционной системы UNIX. Эта реализация является эталоном для всех последующих.
Рассмотрим теперь эталонную модель, использовавшуюся в компьютерной сети ARPANET, которая является бабушкой нынешних сетей, а также в ее наследнице, всемирной сети Интернет.
ARPANET была исследовательской сетью, финансируемой Министерством обороны США. В конце концов она объединила сотни университетов и правительственных зданий при помощи выделенных телефонных линий. Когда впоследствии появились спутниковые сети и радиосети, возникли большие проблемы при объединении с ними других сетей с помощью имеющихся протоколов. Понадобилась новая эталонная архитектура. Таким образом, возможность объединять различные сети в единое целое являлась одной из главных целей с самого начала. Позднее эта архитектура получила название эталонной модели TCP/IP в соответствии со своими двумя основными протоколами.
Поскольку Министерство обороны беспокоилось, что ценные хосты, маршрутизаторы и межсетевые шлюзы могут быть мгновенно уничтожены, другая важная задача состояла в том, чтобы добиться способности сети сохранять работоспособность при возможных потерях подсетевого оборудования, так, чтобы при этом связь не прерывалась. Другими словами, Министерство обороны требовало, чтобы соединение не прерывалось, пока функционируют приемная и передающая машины, даже если некоторые промежуточные машины или линии связи внезапно вышли из строя. Кроме того, от архитектуры нужна была определенная гибкость, поскольку предполагалось использовать приложения с различными требованиями, от переноса файлов до передачи речи в реальном времени.
Source(s): Компьютерные сети
Стеки протоколов
Какие протоколы есть, где участвуют, какие функции нижележащих протоколов используют и какие функции предоставляют вышележащим:
IP — реализует обмен информации дейтаграммами (IP-пакетами), для адресации узлов сети используется адрес длиной 4 байта; обеспечивает в случае необходимости фрагментацию IP-сегментов; не гарантирует правильность доставки IP-сегментов адресату и, вообще, саму доставку; не имеет средств управления интенсивностью передачи IP-сегментов посылающей стороной (flow control); не гарантирует правильную последовательность IP-сегментов на принимающей стороне.
Пакеты сетевого протокола IP могут содержать код, указывающий, какой именно протокол следующего уровня нужно использовать, чтобы извлечь данные из пакета. Это число — уникальный IP-номер протокола. ICMP и IGMP имеют номера, соответственно, 1 и 2. Как система узнает, кому отдать пришедший пакет выше? Ведь на верхнем уровне может быть несколько протоколов. На межсетевом уровне эту проблему решает IP-код верхнего протокола, на транспортном – номер порта.
UDP (IP идентификатор 17) (служба ненадежной, но быстрой, передачи) – протокол передачи датаграмм без установления соединения. Также его называют протоколом «ненадёжной» передачи, в смысле невозможности удостовериться в доставке сообщения адресату, а также возможного перемешивания пакетов. Однако UDP-датаграммы имеют поле контрольная сумма сообщения, что гарантирует правильность доставки сообщения, в случае, если оно дошло до адресата.
TCP (IP идентификатор 6) (служба надежной передачи данных, устанавливающей логическое соединение) – «гарантированный» транспортный механизм с предварительным установлением соединения, предоставляющий приложению надёжный поток данных, дающий уверенность в безошибочности получаемых данных, перезапрашивающий данные в случае потери и устраняющий дублирование данных. TCP позволяет регулировать нагрузку на сеть, а также уменьшать время ожидания данных при передаче на большие расстояния. Более того, TCP гарантирует, что полученные данные были отправлены точно в такой же последовательности.
TCP и UDP используют для определения протокола верхнего уровня число, называемое портом. Существует список стандартных портов TCP и UDP.
HTTP – протокол TCP-порт 80 или 8080.
Важнейшим направлением стандартизации в области вычислительных сетей является стандартизация коммуникационных протоколов. В настоящее время в сетях используется большое количество стеков коммуникационных протоколов. Наиболее популярны следующие стеки: TCP/IP, IPX/SPX, NetBIOS/SM, DECnet, SNA, OSI.
Все эти стеки, кроме SNA на нижних уровнях — физическом и канальном, — используют одни и те же хорошо стандартизованные протоколы Ethernet, Token Ring, FDDI и ряд других, которые позволяют задействовать во всех сетях одну и ту же аппаратуру. Зато на верхних уровнях все стеки работают по своим протоколам. Эти протоколы часто не соответствуют рекомендуемому моделью OSI разбиению на уровни. В частности, функции сеансового и представительного уровня, как правило, объединены с прикладным уровнем. Такое несоответствие связано с тем, что модель OSI появилась как результат обобщения уже существующих и реально используемых стеков, а не наоборот.
Приведены основные используемые в сетях Windows 2000 стеки протоколов. Для функционирования Windows 2000 достаточно стека TCP/ IP — стандарта передачи в сети Интернет. Поддерживаются также стек IPX/SPX — стек маршрутизируемых протоколов, появившийся в сетях NetWare, Microsoft — версия которого называется NWLink, а также NetBIOS/SMB — стек небольших и быстрых, но немаршрутизируемых протоколов.
Source(s): Компьютерные сети
Принципы работы служб прикладного уровня
Сетевая служба – это набор функций, которые уровень выполняет для вышележащего уровня (например, коррекция ошибок).
Набор свойств и функций, которыми обладает определенный сетевой уровень, называется сетевой службой.
Каждый сетевой уровень запрашивает определенную сетевую службу от нижележащего уровня. Протокол уровня определяет структуру данных и формат пакета для выполнения запрашиваемой сетевой службы.
Номер порта – это целое число, которое используется для идентификации процесса, выполняющегося на данном компьютере.
Cетевой адрес процесса – это пара «IP адрес: номер порта» (например, 127.0.0.1: 80).
От 1 до 1023 – хорошо известные номера портов, от 1023 до 65 535 – другие.
По сетевому номеру сообщения, полученного по сети, ОС узнает какому процессу его передать.
Source(s): Компьютерные сети
Cетевое взаимодействие процессов
Процесс обращается к службам транспортного уровня: TCP и UDP.
Клиентская сторона приложения (службы).
Серверная сторона приложения (службы).
Протокол.
Клиенты и серверы – программы, т.е. процессы.
На одном компьютере могут быть запущено несколько клиентов или несколько серверных процессов.
Клиентская программа формирует запрос, посылает его на сервер, сервер обрабатывает и возвращает ответ.
Примеры служб и протоколов. WWW (HTTP, 80), E-mail (SMTP, 25; POP3, 110; IMAP, 143), DNS (DNS, 53), FTP (FTP, 21,20), Telnet (Telnet, 23); SSH (SSH, 22), синхронизация часов (NTP, 123), передача мультимедиа (RTSP, 554), совместный доступ к файлам (SMB, 445 или NFS, 2049), DNS (Domain Name System), NTP (Network Time Protocol), RTSP (потоковый протокол реального времени (Real Time Streaming Protocol)), SMB (server message block) (см. Samba), NFS (network file system).