Понятие компьютерной сети
Компьютерная сеть (Computer Network) – это множество компьютеров, соединенных линиями связи и работающих под управлением специального программного обеспечения.
Под линией связи обычно понимают совокупность технических устройств, и физической среды, обеспечивающих передачу сигналов от передатчика к приемнику. В реальной жизни примерами линий связи могут служить участки кабеля и усилители, обеспечивающие передачу сигналов между коммутаторами телефонной сети. На основе линий связи строятся каналы связи.
Каналом связи обычно называют систему технических устройств и линий связи, обеспечивающую передачу информации между абонентами. Соотношение между понятиями "канал" и "линия" описывается следующим образом: канал связи может включать в себя несколько разнородных линий связи, а одна линия связи может использоваться несколькими каналами
Линии и каналы связи
Главной целью объединения компьютеров в сеть является предоставление пользователям возможности доступа к различным информационным ресурсам (например, документам, программам, базам данных и т.д.), распределенным по этим компьютерам и их совместного использования.
Важной характеристикой любой компьютерной сети является широта территории, которую она охватывает. Широта охвата определятся взаимной удаленностью компьютеров, составляющих сеть и, следовательно, влияет на технологические решения, выбираемые при построении сети. Классически выделяют два типа сетей: локальные сети и глобальные сети.
Локальные сети
К локальным сетям (Local Area Network, LAN) обычно относят сети, компьютеры которых сосредоточены на относительно небольших территориях (как правило, в радиусе до 1-2 км). Классическим примером локальных сетей является сеть одного предприятия, расположенного в одном или нескольких стоящих рядом зданиях. Небольшой размер локальных сетей позволяет использовать для их построения достаточно дорогие и высококачественные технологии, что обеспечивает высокую скорость обмена информацией между компьютерами.
Локальная сеть
Глобальные сети
Глобальные сети (Wide Area Network, WAN) – это сети, предназначенные для объединения отдельных компьютеров и локальных сетей, расположенных на значительном удалении (сотни и тысячи километров) друг от друга. Поскольку организация специализированных высококачественных каналов связи большой протяженности является достаточно дорогой, то в глобальных сетях нередко используются уже существующие и изначально не предназначенные для построения компьютерных сетей линии (например, телефонные или телеграфные). В связи с этим скорость передачи данных в таких сетях существенно ниже, чем в локальных.
Глобальная сеть
Городские сети
Не так давно к двум указанным типам сетей добавился еще один – так называемые городские сети (Metropolitan Area Network, MAN). Такие сети предназначены для обеспечения взаимодействия компьютеров и/или локальных сетей, рассредоточенных на территории крупного города (как правило, в радиусе до 100 км), а также для подключения локальных сетей к глобальным. Для построения таких сетей используются достаточно качественные цифровые линии связи, позволяющие осуществлять взаимодействие на относительно высоких по сравнению с глобальными сетями скоростях.
Городская сеть
Интернет
Независимо от того, какую территорию покрывает сеть, какие технологические решения лежат в основе ее организации, существуют общие принципы сетевого взаимодействия, которым должно подчиняться функционирование сети. Именно выработка таких общих принципов способствовала в свое время появлению Интернет (Internet) как объединенной сети (иногда даже используется термин "гиперсеть"), собравшей в своем составе локальные, городские и глобальные сети всей планеты.
Интернет как объединенная сеть
В следующих разделах освещены современные концепции сетевого взаимодействия, а также их практические реализации, технически обеспечивающие функционирование сети Интернет.
Принципы уровневого взаимодействия
При уровневой организации процесса взаимодействия должны соблюдаться следующие требования:
-
компоненты одного уровня одной системы могут взаимодействовать с компонентами только того же уровня другой системы;
-
в рамках одной системы компоненты какого-либо уровня могут взаимодействовать только с компонентами смежных (вышележащего и нижележащего) уровней.
Порядок уровневого взаимодействия
Набор правил, определяющих порядок взаимодействия средств, относящихся к одному и тому же уровню и функционирующих в разных системах, называется протоколом (protocol). Правила взаимодействия между собой средств, относящихся к смежным уровням и функционирующих в одной системе, называются интерфейсом (interface).
Уровни взаимодействия
При описании практически любого взаимодействия можно выделять различные уровни. Например, представьте себе, что двум людям, проживающим в разных населенных пунктах, необходимо обмениваться какой-либо информацией, и они используют для этого традиционный способ посылки писем. Уже во взаимодействии такого рода можно выделить несколько уровней:
-
уровень пользователей, обменивающихся письмами, и использующих для этой цели почтовую службу;
-
уровень почтовой службы, осуществляющей пересылку корреспонденции между почтовыми отделениями населенных пунктов и использующей для работы услуги транспортной сети;
-
уровень транспортной сети, обеспечивающий доставку грузов по путям сообщения между населенными пунктами;
-
уровень путей сообщения, обеспечивающий возможность физической доставки грузов между населенными пунктами.
В случае, если не существует прямых путей сообщения между населенными пунктами, к этой схеме между уровнями почтовой службы и транспортной сети добавляется еще один уровень – уровень отделений по перевозке почты, обеспечивающих правильную перегрузку почтовых отправлений на транспортных узлах, а также выбор альтернативных путей пересылки в случае выхода из строя транспортных линий.
Пример уровневого взаимодействия
Разделение процесса взаимодействия на уровни позволяет функционально изолировать различные средства, участвующие в этом процессе по принципу - "каждый занимается своим делом". Это позволяет обеспечить достаточную гибкость при расширении функциональности этих средств. Так, например, выделение уровня транспортной сети, позволяет при необходимости обеспечить транспортировку между населенными пунктами не только почтовых грузов, но и пассажиров, не требуя для этого перестройки путей сообщения. Выделение почтовой службы обеспечивает возможность пересылки не только писем, но и посылок, переводов и т.п., используя стандартные средства транспортной сети и опосредованно – существующие пути сообщения.
Взаимодействие в компьютерных сетях также можно описывать с помощью уровней. В настоящее время для этих целей широко используется так называемая модель взаимодействия открытых систем (Open Systems Interconnection, OSI).
Модель ISO/OSI
В 1984 году Международной Организацией по Стандартизации (International Standard Organization, ISO) была разработана модель взаимодействия открытых систем (Open Systems Interconnection, OSI). Модель представляет собой международный стандарт для проектирования сетевых коммуникаций и предполагает уровневый подход к построению сетей. Каждый уровень модели обслуживает различные этапы процесса взаимодействия. Посредством деления на уровни сетевая модель OSI упрощает совместную работу оборудования и программного обеспечения. Модель OSI разделяет сетевые функции на семь уровней: прикладной, уровень представления, сессионный, транспортный, сетевой, канальный и физический.
Уровни модели OSI
Ниже дается краткая характеристика уровней модели:
-
Физический уровень (Physical layer) определяет способ физического соединения компьютеров в сети. Функциями средств, относящихся к данному уровню, являются побитовое преобразование цифровых данных в сигналы, передаваемые по физической среде (например, по кабелю), а также собственно передача сигналов.
-
Канальный уровень (Data Link layer) отвечает за организацию передачи данных между абонентами через физический уровень, поэтому на данном уровне предусмотрены средства адресации, позволяющие однозначно идентифицировать отправителя и получателя во всем множестве абонентов, подключенных к обще линии связи. В функции данного уровня также входит упорядочивание передачи с целью параллельного использования одной линии связи несколькими парами абонентов. Кроме того, средства канального уровня обеспечивают проверку ошибок, которые могут возникать при передаче данных физическим уровнем.
-
Сетевой уровень(Network layer) обеспечивает доставку данных между компьютерами сети, представляющей собой объединение различных физических сетей. Данный уровень предполагает наличие средств логической адресации, позволяющих однозначно идентифицировать компьютер в объединенной сети. Одной из главных функций, выполняемых средствами данного уровня, является целенаправленная передача данных конкретному получателю.
-
Транспортный уровень (Transport layer) реализует передачу данных между двумя программами, функционирующими на разных компьютерах, обеспечивая при этом отсутствие потерь и дублирования информации, которые могут возникать в результате ошибок передачи нижних уровней. В случае, если данные, передаваемые через транспортный уровень, подвергаются фрагментации, то средства данного уровня гарантируют сборку фрагментов в правильном порядке.
-
Сессионный (или сеансовый) уровень (Session layer) позволяет двум программам поддерживать продолжительное взаимодействие по сети, называемое сессией (session) или сеансом. Этот уровень управляет установлением сеанса, обменом информацией и завершением сеанса. Он также отвечает за идентификацию, позволяя тем самым только определенным абонентам принимать участие в сеансе, и обеспечивает работу служб безопасности с целью упорядочивания доступа к информации сессии.
-
Уровень представления (Presentation layer) осуществляет промежуточное преобразование данных исходящего сообщения в общий формат, который предусмотрен средствами нижних уровней, а также обратное преобразование входящих данных из общего формата в формат, понятный получающей программе.
-
Прикладной уровень (Application layer) предоставляет высокоуровневые функции сетевого взаимодействия, такие, как передача файлов, отправка сообщений по электронной почте и т.п.
Практическая реализация уровневого взаимодействия
На практике протоколы и интерфейсы регламентируют технические требования, предъявляемые к программным и аппаратным средствам. Программные (аппаратные) модули, предназначенные для обеспечения практического взаимодействия, определяемого тем или иным протоколом (или интерфейсом), обычно называют реализацией протокола (или интерфейса).
Хотя различные компоненты, относящиеся к различным уровням сетевой модели формально должны быть функционально независимыми друг от друга, при практической разработке протоколов такая независимость не всегда выдерживается. Это объясняется тем, что попытка добиться точного соответствия эталонной модели может привести к неэффективности работы программно-аппаратного обеспечения, реализующего протокол. В настоящее время наблюдается два типа отклонений, возникающих при реализации уровневого взаимодействия:
-
функции некоторых уровней могут объединяться одним протоколом и наоборот, – функции одного уровня могут делиться между различными протоколами;
-
функционирование протокола какого-либо уровня подразумевают использование только определенных протоколов нижележащего уровня.
Поэтому разработка практических методов сетевого взаимодействия, как правило, подразумевает разработку не отдельных протоколов, а целых наборов протоколов. Такие наборы обычно включают в себя протоколы, относящиеся к нескольким смежным уровням эталонной модели OSI, и называются стеками (или семействами, наборами) протоколов (protocol stack, protocol suite). Наиболее известным стеком протоколов, обеспечивающим взаимодействие в сети Интернет, является стек протоколов TCP/IP
Поскольку при реализации протоколов допускаются отклонения от эталонной модели, стеки протоколов могут предполагать собственную схему деления на уровни. В частности, стек протоколов TCP/IP разделяет весь процесс сетевого взаимодействия на четыре уровня. На предложенном ниже рисунке показано соответствие уровней модели OSI и уровней стека TCP/IP.
Уровни модели OSI |
Уровни стека TCP/IP |
прикладной представления сессионный |
уровень приложения |
транспортный |
транспортный уровень |
сетевой |
межсетевой уровень |
канальный физический |
уровень сетевого интерфейса |
Соответствие уровней модели OSI и уровней стека TCP/IP
Резюме
- Компьютеры могут обмениваться информацией по сети.
-
Отдельные сети можно объединять.
-
Интернет - это объединение многих сетей.
-
Взаимодействие компьютеров в сети описывают с помощью сетевых моделей.
-
Основной моделью описания взаимодействия является модель ISO/OSI
-
Взаимодействие компонентов различных уровней регламентируются специальными наборами правил – протоколами и интерфейсами.
-
На практике четкое следование принципу функциональной изолированности компонентов различных уровней модели оказывается не всегда удобным и эффективным, поэтому разрабатываются стеки взаимозависимых протоколов.