Информатика / Лекция 16 Топология сетей, протоколы
.docТопология локальных сетей
Очень важным является вопрос топологии локальной сети.
Под топологией компьютерной сети обычно понимают физическое расположение компьютеров сети относительно друг друга и способ соединения их коммуникационными линиями.
Топология определяет:
требования к сетевому оборудованию;
тип используемого кабеля;
методы управления обменом информацией;
надежность работы системы в целом;
возможность расширения сети.
Существует три основных вида топологии сети:
общая шина (bus, common bus);
звезда (star)
кольцо (ring).
Шина
(bus), при которой все компьютеры
параллельно подключаются к одной линии
связи, и информация от каждого компьютера
одновременно передается ко всем остальным
компьютерам. Согласно этой топологии
создается одноранговая сеть. При таком
с
оединении
компьютеры могут передавать информацию
только по очереди, так как линия связи
единственная.
Достоинства:
простота добавления новых узлов в сеть (это возможно даже во время работы сети);
сеть продолжает функционировать, даже если отдельные компьютеры вышли из строя;
недорогое сетевое оборудование за счет широкого распространения такой топологии.
Недостатки:
сложность сетевого оборудования;
сложность диагностики неисправности сетевого оборудования из-за того, что все адаптеры включены параллельно;
обрыв кабеля влечет за собой выход из строя всей сети;
ограничение на максимальную длину линий связи из-за того, что сигналы при передаче ослабляются и никак не восстанавливаются.
З
везда
(star), при которой к одному
центральному компьютеру присоединяются
остальные периферийные компьютеры,
причем каждый из них использует свою
отдельную линию связи. Весь обмен
информацией идет исключительно через
центральный компьютер, на который
ложится очень большая нагрузка, поэтому
он предназначен только для обслуживания
сети.
Достоинства:
выход из строя периферийного компьютера никак не отражается на функционировании оставшейся части сети;
простота используемого сетевого оборудования;
все точки подключения собраны в одном месте, что позволяет легко контролировать работу сети, локализовать неисправности сети путем отключения от центра тех или иных периферийных устройств;
не происходит затухания сигналов.
Недостатки:
выход из строя центрального компьютера делает сеть полностью неработоспособной;
жесткое ограничение количества периферийных компьютеров;
значительный расход кабеля.
Кольцо
(ring), при котором каждый комп
ьютер
передает информацию всегда только
одному компьютеру, следующему в цепочке,
а получает информацию только от
предыдущего в цепочке компьютера, и эта
цепочка замкнута. Особенностью кольца
является то, что каждый компьютер
восстанавливает приходящий к нему
сигнал, поэтому затухание сигнала во
всем кольце не имеет никакого значения,
важно только затухание между соседними
компьютерами.
Достоинства:
легко подключить новые узлы, хотя для этого нужно приостановить работу сети;
большое количество узлов, которое можно подключить к сети (более 1000);
высокая устойчивость к перегрузкам.
Недостатки:
выход из строя хотя бы одного компьютера нарушает работу сети;
обрыв кабеля хотя бы в одном месте нарушает работу сети.
В отдельных случаях при конструировании сети используют комбинированную топологию. Например, дерево (tree) - комбинация нескольких звезд.
Сетевые протоколы и связанные с ним понятия логической модели взаимодействия открытых систем
Обработка информации в вычислительных сетях требует согласованного выполнения операций в разных узлах сети. Такой распределенный алгоритм называется протоколом. Более формально это понятие определяется так:
Протокол – совокупность правил, регламентирующих формы и процедуры обмена информацией между двумя или несколькими устройствами или процессами.
{ Так устройства или процессы? Обмен информацией происходит между обрабатывающими ее процессами посредством устройств. Между устройствами происходит обмен сигналами, несущими информацию. Но обмен этот, в свою очередь, организуется посредством процессов! Так что и устройства, и процессы. }
Формы и процедуры. Как правило, протокол регламентирует некие структуры данных, чаще всего именуемые кадрами, пакетами и т.д., посредством которых осуществляется обмен, и правила их интерпретации и обработки.
Можно провести аналогию, например, с математическими понятиями, когда определяются, например, числа (натуральные, целые, рациональные, действительные, комплексные), и операции над ними (4 основных арифметических, функции). Продолжая аналогию, вспомним, что из чисел можно формировать более сложные объекты, например, векторы, матрицы и т.д. Эти сложные объекты в свою очередь имеют свои операции, применимые к ним. В свою очередь, эти сложные объекты могут представлять, например, некую систему уравнений, которая имеет некую физическую интерпретацию (токи в участках электрической цепи, координаты небесного тела, распределение электронной плотности около атомов в сложной молекуле, или вероятность наступления беременности у самки носорога), и соответствующий процесс подчинен своим специфическим законам. При этом электронщика, астронома, химика и биолога интересуют в первую очередь законы и свойства объектов своей предметной области, а не то, как складываются комплексные числа или перемножаются матрицы – для этого имеется готовый математический аппарат.
Аналогичным образом, процесс обмена информацией имеет ряд иерархических уровней, на которых взаимодействуют устройства и процессы. Общепринятым языком описания такого взаимодействия является 7-уровневая эталонная логическая модель взаимодействия открытых систем (ЭМ ВОС, OSI – Open System Interface).
В общем случае ЭМ ВОС выделяет следующие уровни взаимодействия:
Физические связи между элементами (механические, электрические, преобразование сигналов) – физический уровень (управление каналом связи).
Установление, поддержание, разъединение соединений (каналов) – канальный уровень (управление каналом передачи данных).
Маршрутизация, коммутация, адресация информации – сетевой уровень (управление потоками данных).
Управление передачей данных от системы – источника к системе – потребителю (без обработки в промежуточных узлах) – транспортный уровень.
Первые 4 уровня образуют транспортную службу.
Организация и проведение сеансов связи между отдельными процессами – сеансовый уровень.
Первые 5 уровней в совокупности составляют сетевой метод доступа.
Интерпретация и преобразование передаваемых между процессами данных к виду, удобному для обработки процессами – уровень представления данных.
Выполнение прикладных программ, управление терминалами, административное управление сетью – прикладной уровень.
Некоторые уровни или их элементы в конкретной системе могут отсутствовать, если в силу ее специфики соответствующие функции не востребованы. Напротив, в силу той же специфики, уровень может быть разделен на ряд подуровней. В некоторых случаях возможно даже повторное применение того же самого протокола1.
Физический уровень и связанные с ним протоколы реализуются аппаратной частью компьютера и аппаратуры передачи данных.
Канальный уровень реализуется также аппаратной частью под управлением программ операционной системы (MS-DOS – Interlnk/Intersvr; MS Windows – Удаленный доступ и прямое соединение, драйверы устройств и т.д.).
Эти уровни обычно считаются частью базовой сетевой технологии. Различные базовые сетевые технологии подробно рассматриваются в курсе “современные телекоммуникационные технологии для компьютерных сетей” (СТТ).
Вышестоящие уровни, начиная с сетевого, реализуются программным обеспечением и составляют стек телекоммуникационных протоколов.
В данном курсе мы подробно рассмотрим только один такой стек, получивший в настоящее время наибольшее распространение, как в корпоративных сетях, так и в глобальной сети Internet – стек протоколов TCP/IP. К остальным мы будем обращаться только эпизодически, для иллюстрации возможных альтернативных решений.
Система протоколов Internet, известная как стек TCP/IP, разрабатывалась исследовательским подразделением DARPA Министерства Обороны США с 1969 года, и в первом приближении сложилась к началу 1980-х годов.
Изначально она предназначалась для объединения разнородных сетей военного ведомства США, и должна была обеспечить их согласованное функционирование, в том числе и в случае нанесения по США массированного ядерного удара. Отдельные элементы (в том числе целые сети) могут выйти из строя, но оставшаяся сеть должна функционировать. Можно констатировать, таким образом, что создание этой системы протоколов, а на их основе – глобальной сети Internet – один из немногих (если не единственный) положительный результат Холодной войны.
Протоколы сети Internet
Структура стека протоколов TCP/IP несколько отличается от модели OSI. В нем выделяется 4 уровня – сетевых интерфейсов, межсетевого взаимодействия(Internet), транспортный и уровень приложений.
Уровень сетевых интерфейсов отвечает за то, как именно IP-пакеты передаются сетями разных базовых технологий, называемых в терминологии стека TCP/IP локальными. Термин “локальная” в этом контексте означает только то, что данная технология применяется в отдельной сети, и не имеет отношения к понятиям “локальная сеть”(LAN)/”глобальная сеть”(WAN), как они применяются к базовым сетевым технологиям. Internet изначально создавался как “сеть сетей”, он объединяет на базе единого сетевого протокола сети самых разных базовых технологий, в этом смысле технологии, на которых построены отдельные объединяемые сети – локальные. В первом приближении можно считать, что он соответствует двум нижним уровням модели OSI – физическому и канальному. Но следует учитывать, что базовые технологии, на которых построены отдельные сети, сами могут быть достаточно сложными, например, ATM включает сетевой уровень и даже элементы транспортного. Уровень сетевых интерфейсов в это не вникает, он определяет инкапсуляцию пакетов в кадры или пакеты самого высокого уровня базовой технологии и пользуется ей как технологией уровня канала данных.
Межсетевой уровень обеспечивает объединение разнородных сетей в единую сеть под управлением протокола IP (Internet Protocol). Соответствует сетевому уровню модели OSI. Реализуется средствами как ПК, так и сети (маршрутизаторами). Межсетевой уровень отвечает, в частности, за адресацию, т.е. гарантирует, что маршрутизатор знает, что делать с вашими данными, когда они поступят. Единица данных, с которой оперирует протокол IP, называется пакетом. Адресная информация приводится в начале каждого пакета, в его заголовке. Она даёт сети достаточно сведений для доставки пакета данных по назначению. Каждый пакет перемещается по сети независимо от других пакетов, принадлежащих тому же соединению, и, в общем случае, пакеты одного сообщения могут доставляться по разным маршрутам.
Internet-адреса имеют единый формат для всей сети, независимо от систем адресов локальных сетей. 32-битный IP-адрес обычно записывается в виде четырёх десятичных чисел, каждое из которых не превышает 255. Каждое число представляет один из 4-х байт адреса. В годы становления протоколов стека TCP/IP термин «байт» не был общепринятым, поэтому в документах Internet байт часто называется октетом. При записи числа отделяются одно от другого точками, например:
192.112.36.5
128.174.5.6
Адрес фактически состоит из нескольких частей. Поскольку Internet – это сеть сетей, то начало адреса содержит информацию для маршрутизаторов о том, к какой сети относится Ваш компьютер. Правая часть адреса служит для того, чтобы сообщить сети, какой компьютер должен получить этот пакет. Каждый компьютер в Internet имеет свой уникальный адрес. Internet выполнила свою задачу, когда ее маршрутизаторы направили данные в соответствующую сеть, а эта локальная сеть – в соответствующий компьютер. В документах Internet маршрутизатор обычно называется шлюзом (Gateway), поскольку изначально ставилась задача объединения разнородных сетей. В настоящее время термин «шлюз» обычно используется для обозначения устройства, объединяющего совсем разнородные сети, например «шлюз IP-телефонии» – телефонную сеть с коммутацией каналов и IP-сеть с коммутацией пакетов. Поэтому мы будем пользоваться термином «маршрутизатор», но помнить о таком употреблении термина «шлюз» следует.
Для решения этой задачи маршрутизатор (и конечный узел тоже) должен, таким образом, во-первых, знать, кому (конечному узлу, либо следующему маршрутизатору) направить поступивший пакет. Во вторых, поскольку пакеты передаются через локальную сеть, имеющую свою, отличную от Internet, систему адресации, он должен знать, как преобразовать Internet-адрес в локальный адрес. Решение первой задачи обеспечивают протоколы обмена маршрутной информацией, часто называемые просто протоколами маршрутизации (на рисунке они не показаны, поскольку их много). Вторая задача решается протоколом разрешения адресов ARP, а протокол RARP решает обратную задачу – отыскание сетевого адреса по известному локальному адресу. Кроме того, к межсетевому уровню относится протокол контрольных сообщений ICMP, который служит для информирования узлов и маршрутизаторов о различных нештатных ситуациях в сети. Следует учесть, что поскольку протокол IP является универсальным “транспортным средством” сети Internet, ICMP сообщения, как и сообщения протоколов маршрутизации, передаются по сети в IP-пакетах, таким образом, формально они выглядят как протоколы более высокого, чем IP, уровня, хотя фактически они обеспечивают функционирование протокола IP.
Информация, посылаемая по локальным сетям, составляющим IP-сеть, разбивается на порции, называемые кадрами или пакетами. По целому ряду технических причин (в основном это аппаратные ограничения), максимальный размер кадра или пакета в разных сетях может быть различным. Поскольку в общем случае отправителю неизвестно, через какие сети будет передаваться пакет, может случиться, что размер отправленного пакета превосходит максимально возможную длину кадра какой-либо из транзитных сетей. В этом случае маршрутизатор использует динамическую фрагментацию, то есть разборку пакета на меньшие по размеру пакеты - фрагменты. Каждый фрагмент при этом снабжается информацией, которая позволит получателю правильно собрать исходный пакет из фрагментов.
Транспортный Уровень реализуется протоколом TCP (Transmission Control Protocol), «протокол управления передачей» который часто упоминают вместе с протоколом IP, в том числе в названии стека, и протоколом UDP (user datagram protocol) «протокол пользовательских дейтаграмм».
Протокол TCP обеспечивает надежную доставку потока пользовательских данных. Информацию, которую Вы хотите передать, ТСР разбивает на порции, называемые в терминологии TCP сегментами. Каждая порция нумеруется, чтобы можно было проверить, вся ли информация получена, и расположить данные в правильном порядке. Сегмент ТСР, в свою очередь, помещается в пакет IP и передается в сеть.
На принимающей стороне программное обеспечение протокола ТСР собирает сегменты, извлекает из них данные и располагает их в правильном порядке. Если каких-нибудь сегментов нет, программа просит отправителя передать их еще раз. После размещения всей информации в правильном порядке эти данные передаются той прикладной программе, которая использует услуги ТСР.
В реальной жизни пакеты не только теряются, но и претерпевают изменения по дороге ввиду кратковременных отказов в линиях связи. Не все локальные технологии проверяют правильность переданных данных средствами канального или сетевого уровня. Протокол IP проверяет только корректность заголовка пакета, но не поля данных. ТСР решает и эту проблему. При помещении данных в сегмент производится вычисление контрольной суммы, а на приеме контрольная сумма вычисляется повторно, при несовпадении пакет считается принятым с ошибкой и отбрасывается.
Более простой «протокол пользовательских дейтаграмм» (User Datagram Protocol, UDP) также используется в некоторых прикладных программах. Вместо вкладывания Ваших данных в “конверт” TCP и помещения этого конверта в пакет IP прикладная программа вкладывает данные в “конверт” UDP, называемый обычно датаграммой, который и помещается в пакет IP. В отличии от ТСР, передающего поток данных, каждая датаграма составляет законченное сообщение. UPD проще ТСР, потому что этот протокол не заботится о пропавших пакетах, расположении данных в правильном порядке и других тонкостях. Если это требуется, то это дело приложения, использующего UDP. UDP используется для программ, которые посылают только короткие сообщения, и могут повторить передачу данных, если ответ задерживается, либо нечувствительны к потерям отдельных датаграмм. Кроме того, протокол TCP ориентирован на соединение «один к одному», и непригоден поэтому для посылки данных по схеме «один к многим», в этом случае также используется протокол UDP.
Транспортный уровень, таким образом, соответствует транспортному уровню модели OSI.
Высшие уровни модели OSI реализуются прикладными программами, и образуют уровень приложений. Сюда относятся и известные всем протоколы обмена гипертекстовой информацией HTTP, электронной почты POP3 и SMTP, пересылки файлов FTP. Сюда же относятся и менее известные, как протокол удаленного управления Telnet, либо остающиеся “в тени”, как протокол преобразования символьных имен в адреса DNS, и многие другие. Полный список протоколов этого уровня весьма обширен и все время пополняется.
Стандарты стека TCP/IP доступны в сети Internet как документы RFC (Request For Comments). Такое название обусловлено процедурой их принятия. Предложение в виде RFC размещается в Internet, обсуждается, уточняется, затем становится стандартом. Возможен, разумеется, и другой вариант – после обсуждения предложение отвергается и соответствующий RFC удаляется из Internet. В некоторых случаях, зависящих от руководящих органов Internet, RFC, хотя бы и ставшее стандартом de facto, не приобретает юридический статус стандарта Internet. Общее число RFC в настоящее время превышает 4000. Следует учесть, что хотя все стандарты TCP/IP являются RFC, не каждый RFC является стандартом TCP/IP. Часто RFC используются, например, для того, чтобы обратить внимание на какую-то проблему, не предлагая варианта ее разрешения. Список протоколов и соответствующих им RFC (неполный), приведен в таблице.
Стандартные протоколы стека TCP/IP.
Протокол |
Описание |
RFC |
ARP |
Address Resolution Protocol |
826 |
BFTP |
Background File Transfer Protocol |
1068 |
BGP |
Border Gateway Protocol (внешний протокол маршрутизации) |
1105,1265-68, 1397, 1654-56 |
BOOTP |
Bootstrap Protocol (протокол загрузки) |
951,1048,1084 |
CIDR |
Classless Inter-Domain Routing protocol |
1519,1520 |
CLNP |
Connection Less Network Protocol (ISO-8474) |
1526,1561,1575 |
CLOCK |
DCNET Time Server Protocol |
778 |
CMOT |
Common Management Information Service and Protocol over TCP/IP |
1095 |
DNS |
Domain Name Service (система распознавания имен доменов) |
1713, 1712, 1612, 1611, 1383 |
DOMAIN |
Domain Name System (DNS) |
1034, 1035, 1032, 974 |
DVMRP |
Distance Vector Multicast Routing Protocol |
1075 |
ECHO |
Эхо протокол |
862 |
EGP |
Exterior Gateway Protocol |
904, 911, 1092, 1093 |
FINGER |
Finger-протокол |
1288,724 |
FTP |
File Transfer Protocol (протокол пересылки файлов) |
959 |
HEMP |
High level Entity Management Protocol |
1022 |
HEMS |
High level Entity Management System |
1021 |
HMP |
Host Monitoring Protocol |
869 |
GGP |
Gateway to Gateway Protocol |
823 |
ICMP |
Internet Control Message Protocol |
792,950,1256 |
IDRP |
Inter-Domain Routing Protocol |
1477,1479 |
IGMP |
Internet Group Multicast Protocol |
1112 |
IGP |
Interior Gateway Protocol |
1074,1371 |
IP |
Internet протокол |
791 |
|
IP субсети |
950 |
|
IP широковещательные дейтограммы |
919 |
|
то же для субсетей |
922 |
IP-ARC |
Internet протокол для Arcnet |
1051 |
IP-E |
Internet протокол для Ethernet |
895 |
IP-FDDI |
Передача IP через FDDI |
|
IPM |
Internet-протокол для сообщений |
759 |
IRC |
Internet Relay Chat |
1459 |
IS-IS |
OSI-междоменный протокол маршрутизации |
1195,1142 |
Формат сообщений электронной почты |
822, 821, 1351,1352 |
|
MIB-II |
Management Information Base-II |
1213 |
MIME |
Multipurpose Internet Mail Extensions |
1521,1522 |
NETBIOS |
NetBIOS Service Protocols |
1001,1002 |
NETRJE |
Network Remote Job Entry Program |
740,725 |
NETRJS |
Network Remote Job Service |
477,436 |
NFS |
Network File System (сетевая файловая система) |
1094 |
NNTP |
Network News Transfer Protocol |
977 |
NTP |
Network Time Protocol |
1119,1128-29 |
NUMBERS |
Assigned Numbers |
1700 |
OSPF |
Open Shortest Pass First Protocol (внутренний протокол маршрутизации) |
1131, 1245 -48, 1253, 1370, 1583-87 |
PCMAIL |
PVmail Transport Protocol |
1056 |
POP |
Post Office Protocol |
937, 1081, 1082, 1460 |
RAP |
Router-Access Protocol |
1476 |
PPP |
Point-to-Point Protocol |
1134 |
RARP |
Reverse Address Resolution Protocol |
903 |
RDP |
Reliable Data Protocol |
908 |
RIP |
Routing Information Protocol (внутренний протокол маршрутизации) |
1058, 1387, 1389, 1581, 1582,1388 |
RLP |
Resource Location Protocol |
887 |
RPC |
Remote Procedure Call Protocol |
1057,1050 |
SFTP |
Simple File Transfer Protocol |
913 |
SLIP |
Serial Line IP (IP по последовательной линии) |
1055 |
SMI |
Structure of Management Information |
1155 |
SMTP |
Simple Mail Transfer Protocol SMTP через X.25 |
821, 1090 |
SNMP |
Simple Network Management Protocol SNMP в Ethernet |
1157, 1089 |
TCP |
Transmission Control Protocol |
793 |
TELNET |
Протокол удаленного доступа |
854,856-861, 885, 927, 933, 946, 1041, 1043, 1053, 1073, 1079, 1093, 1096, 1097, 1143, 1184, 1205, 1372, 1411, 1412, 1416, 1571, 1572 |
TFTP |
Trivial File Transfer Protocol |
1350 |
UDP |
User Datagram Protocol |
768 |
USERS |
Протокол активных пользователей |
866 |
UUCP |
Электронная почта под UNIX |
976 |
VFIP |
Voice File Interchange Protocol |
978 |
VMTP |
Versatile Message Transfer Protocol |
1045 |
XDR |
EXternal Data Representation |
1014 |
X-Windows |
Системный протокол X-Windows |
1198,1013 |
