Компьютерные сети. Лекции_1_2. Введение в компьютерные сети 1 Основные понятия
Скачать 1.61 Mb.
|
На транспортном уровне используются адреса компьютеров, называемые физическими адресами или MAC-адресами (MAC: Media Access Control - управление доступом к среде (передачи данных)). В зависимости от конкретной технологии передачи данных длина значения MAC-адреса составляет от 48 бит (например, в технологии Ethernet ) до 60 бит (в уже не используемой технологи X.25). Для организации эффективной доставки пакетов адресату сетевым оборудованием (сетевыми картами компьютеров), во-первых, каждая сетевая карта должна “знать” свой собственный MAC- адрес (навечно “зашитый” в нее ее производителем), и, во-вторых MAC-адрес каждой сетевой карты должен быть уникальным вне зависимости от производителя этой карты. Уникальность значения MAC-адреса обеспечивается очень просто: диапазоны значений MAC- адресов распределяются между всеми производителями сетевых карт, а в рамках выделенного ему диапазона каждый производитель в состоянии обеспечить требуемую уникальность. Отметим, что при объединении сегментов через мосты и коммутаторы в памяти этих устройств ведутся таблицы, содержащие MAC-адреса всех сетевых картобъединенного сегмента. Уже одно это обстоятельство не позволяет расширить размер сетевого сегмента до размеров всего интернета и, поэтому интернет состоит из множества сегментов, осуществляющих пересылку информации между компьютерами входящими в разные сегменты средствами IP-уровня. Отметим также, что MAC-адресация не подходит для эффективного решения выполняемых IP-уровнем задач маршрутизации: значение MAC- адреса не содержит никакой информации, идентифицирующей сеть (сегмент или совокупность сегментов), к которой принадлежит адресуемый компьютер. На IP-уровне, предназначенном для решения задач маршрутизации, используются предназначенные для эффективного решения этой задачи IP-адреса. Для версии IPv4 протокола IP размер значений этих адресов составляет 4 байта. Но принципиально важным для решения задач маршрутизации является не это, а то что IP-адрес включает 2 поля: номер сети и номер компьютера в сети. Диапазоны IP-адресов (фактически диапазоны номеров сети) распределяются между операторами связи, которые, в свою очередь, оставляют определенные поддиапазоны выделенных IP-адресов для организации собственной сети и предоставляет другие поддиапазоны “вассальным” сетевым операторам а также - корпоративным и индивидуальным абонентам, которым этот оператор предоставляет доступ к интернету. С использованием рассмотренных IP-адресов, содержащих информацию о номерах сетей адресатов, и простых правил умолчания на каждом из маршрутизаторов (компьютеров, соединяющих сегменты) создаются достаточно компактные таблицы маршрутизации. Эти таблицы могут автоматически изменяться при изменении состояния (работоспособности) доступных в топологии сети каналов передачи данных. Эти изменения выполняются средствами специальных протоколов управления маршрутизацией, работающих на прикладном уровне. Отметим также, что при пересылке пакета данных сверху вниз по стеку протоколов TCP/IP для преобразования IP-адресов в MAC-адреса используется специальный протокол ARP (Address Resolution Protocol - протокол преобразования адресов), относящийся к канальному уровню, но для большей ясности картины рассматриваемый нами в главе, посвященной уровню IP. На транспортном уровне решается задача надежной передачи потока данных между парой программных процессов, работающих на одном и том же или разных компьютерах сети. Естественно, что для постановки решении такой задачи необходимо идентифицировать не только взаимодействующие компьютеры (для этого и на транспортном уровне используется IP-адресация), но и конкретные программные процессы, выполняемые на этих компьютерах. Эти процессы идентифицируются несколько непривычным для не сетевого программиста образом. С каждым сетевым процессом связывается номер специального псевдоустройства (виртуального устройства, реализуемого над оборудованием взаимодействия компьютера с сетью), используемого этим процессом для передачи информации через сеть и называемого портом. Для серверных процессов каждой из общеизвестных сетевых служб (Well Known Services - WKS ) такой номер порта по необходимости является фиксированным (однотипные серверные процессы, работающие на различных компьютерах должны идентифицироваться одинаково). Сведения о номерах портов всех WKS хранятся в специальном конфигурационном файле сетевой операционной системы. Для клиентского приложения номер используемого им порта выделяется ему динамически в процессе установления соединения между этим клиентским и соответствующим серверным процессом. Необходимость такого решения обусловлена тем простым фактом, что параллельно с одного и того же клиентского компьютера пользователь может при помощи различных экземпляров одной и той же клиентской программы взаимодействовать с несколькими работающими на разных компьютерах серверов. Поскольку на одном и том же серверном компьютере могут одновременно работать программные процессы серверов различных служб, а на одном и том же клиентском компьютере - различные экземпляры одной и той же или разных клиентских программ, для однозначной идентификации сетевого соединения между конкретной парой работающих в сети процессов необходимо задать четверку значений: IP-адрес и номер порта источника данных плюс IP-адрес и номер порта получателя данных. Указанная четверка задает полную информацию объектов транспортного уровня - соединений между процессами. Процессы прикладного уровня при обращении к функциям транспортного уровня передают им в числе своих параметров рассмотренную только что рассмотренную информацию об обрабатываемых сетевых соединениях. Между тем читатели, имеющие хотя бы минимальный опыт работы в интернете знают, что они задают используемым им приложениям адресную информацию о требуемых серверах в виде иерархически организованных обычно достаточно мнемоничных символьных имен, называемых доменными именами компьютеров. Преобразование таких имен в IP-адреса выполняется приложениями при помощи специальных функций, обращающейся к специальной распределенной службе обеспечения символического именования компьютеров сети - доменной службе имен (Domain Name Service - DNS). 1.9 Краткая характеристика основных источников о компьютерных сетях К числу основных источников о компьютерных сетях относятся литературные источники (книги), стандарты и содержимое информационной паутины ― веба. И хотя большинство источников первых двух типов в той или иной степени доступны через веб (иногда за определенную плату), именно они дают более систематизированное и, как правило, более полное (по сравнению с вебом) представление о принципах, методах реализации, протоколах и прикладных службах компьютерных сетей (т. е. дают целостную картину леса, а не плохо упорядоченный набор зарисовок отдельных деревьев, ветвей или просто листьев, встречающихся в этом лесу). Поэтому имеет смысл рассмотреть вкратце рекомендуемые книги, основные группы стандартов, а также особую роль веба в изучении компьютерных сетей. 1.9.1 Основные рекомендуемые книги по компьютерным сетям В качестве литературных источников, рекомендуемых авторами читателям настоящего учебника, приведем некоторые книги, которые в свое время использовались самими авторами для изучения компьютерных сетей, сопроводив библиографические ссылки на эти книги краткими аннотациями. 1. Клименко С., Уразметов В. INTERNET. Среда обитания информационного общества // Издательство Российского Центра Физико-технической информатики, Протвино, 1995. В этой книге ее авторы в увлекательной (почти как приключенческий роман :-), легкой и доступной для понимания самыми широкими кругами читателей форме (в своей книге мы воспользовались некоторыми их метафорами и выводами) раскрывают широкий круг тем, посвященных описанию безграничных возможностей интернета, рассмотрению общей организации интернета и методов реализации его сетевых протоколов, рассмотрению основных служб, включая достаточно детальное описание службы WWW и высочайшую оценку ее значимости, сделанную в начале вебовского периода истории интернета. 2. Олифер В.Г., Олифер Н.А. — Компьютерные сети. Принципы, технологии, протоколы. 5-е издание // С.-Петербург: Питер, 2016. Эта книга, “выдержавшая” 5 изданий (с 1999 по 2016 годы) на наш взгляд является лучшим учебником по компьютерным сетям, но, в силу своей глубины, ориентированной преимущественно на подготовку студентов в области связи и использование в качестве справочного пособия специалистами в области связи, не очень подходит в качестве основного учебника для коротких (1-3 семестра) курсов по компьютерным сетям для студентов других специальностей и для широкого круга других читателей, интересующихся методами построения интернета и многообразием предоставляемых интернетом сетевых служб. 3. Олифер В.Г., Олифер Н.А. Новые технологии и оборудование IP-сетей // С.- Петербург: BHV, 2000. Очередной великолепный учебник по дополнительным разделам курса (или дополнительного курса) по компьютерным сетям. Но хотелось бы, чтобы ряд тем этого учебника в том или ином объеме вошел в учебник для относительно короткого курса (1-3 семестра) по компьютерным сетям. 4. Куроуз Дж., Росс К. Компьютерные сети. Нисходящий подход. 6 издание // Город: издательство, 2016. Один из самых популярных учебников по компьютерным сетям от преподавателей этой дисциплины. Рассмотрение сетевых технологий ведется в обратном порядке: с прикладного уровня до физического. Такой подход выбран для того, чтобы теоретический материал лекций рассматривать одновременно с решением задач на лабораторных занятиях. Книга дополняется описанием новых технологий и переиздается с 2000 года. 5. Кульгин М.В. Коммутация и маршрутизация IP/IPX - трафика // Издательство: КомпьютерПресс, 1998, С. 320. Эта книга, на наш взгляд, является одним из лучших учебников по темам коммутации и маршрутизации. 6. Чан Т. Системное программирование на C++ для Unix // М: BHV, 1998. В этой книге рассматривается ряд современных технологий разработки сложных системных приложений для среды UNIX, включая технологию разработки сетевых приложений с использованием программных интерфейсов транспортного уровня Sockets. 1.9.2 Основные группы сетевых стандартов. Двумя основными группами сетевых стандартов являются стандарты IEEE, стандарты RFC и рекомендации ITU-T. Первая группа указанных стандартов касается реализуемых в аппаратуре технологий передачи данных физического и канального уровней, в то время как вторая определяет требования к реализации программных протоколов более высоких уровней. IEEE (произносится как “I triple E” - “Ай трипл и”) - это международная некоммерческая ассоциация специалистов в области техники с полным названием Institute of Electrical and Electronics Engineers (Институт инженеров электротехники и электроники. Названия стандартов, разрабатываемых IEEE имеют вид “IEEE код1.код2”, где цифровой “код1” идентифицирует семейство технологий, а буквенно-цифровой “код2” определяет конкретный стандарт или протокол из этого семейства. Так код1=802 определяет семейство технологий Ethernet, код2=11 соответствует стандарту технологии WiFi , принадлежащей семейству технологий Ethernet, таким образом, полным именем стандарта WiFi будет “IEEE 802.11”. Аббревиатура RFC, в отличие от IEEE соответствует не названию организации, а скорее характеризует тип стандарта. RFC является сокращением термина Request For Comments - запрос на получение комментария (по стандарту). Именно так с самого начала назывались стандарты по протоколам сети ARPANet и ее наследников. Стандарты RFC различных протоколов семейства TCP/IP идентифицируются своими номерами. Так, например, протокол IP (и связанный с ним протокол ICMP) определены в стандарте RFC 791. Рекомендации ITU-T (International Telecommunication Union - Telecommunication Sector , то есть Сектор телекоммуникаций международного союза по электросвязи - МСЭ- Т) относятся, в частности, к вопросам качества передачи данных, например, в системах передачи голоса через интернет, и к некоторым другим вопросам. 1.9.3 Значение веба в изучении компьютерных сетей При изучении компьютерных сетей веб может оказать фантастическую информационную поддержку этого процесса. Во первых, средствами веба можно получить доступ к любому источнику информации первых двух типов. И, во-вторых, он поможет найти ответы на вопросы, не найденные Вами в этих источниках. Все эти возможности реализуются с использованием поисковых серверов веба. Так, например, чтобы получить доступ к полному тексту той или иной книги достаточно ввести в поисковой строке на странице поискового сервера фамилии авторов и/или название интересующей Вас книги. Так набрав в поисковой строке текст “Клименко Уразметов” вы получите множество ссылок на pdf-файлы книги указанных авторов, на множество предложений по приобретению “бумажных” экземпляров книги и на станицу чтения книги в режиме on-line http://bookre.org/reader?file=1472349 Аналогично, при поиске стандартов. Вы можете запросить поиск “RFC 791” (стандарт протокола IP) и получить перечень ссылок на различные описания этого стандарта, от канонического https://tools.ietf.org/html/rfc791 до, стандарта, уже переведенного на русский язык http://rfc.com.ru/rfc791.htm Естественно, литературные источники и тексты известных читателю стандартов не отвечают на абсолютно все вопросы по тематике компьютерных сетей, возникающие у читателя. В этом случае читателю рекомендуется обратиться прямо к вебу с возникшими у него вопросами, например “поля IP-заголовка”, или “как сконфигурировать такую-то возможность для такой-то модели коммутатора. И всезнающий веб предложит читателю набор ответов на каждый из заданных вопросов. Если заданный вопрос касается деталей каких либо из протоколов семейства TCP/IP (как первый из вопросов”, то большая часть ответов будет содержать одну и ту же информацию (с возможными различиями в порядке и глубине изложения). И именно вопросы такого типа как правило возникают у читателей, использующих книгу в качестве учебника по курсу компьютерных сетей. Вопрос второго типа, может возникнуть у читателя, попытавшегося использовать книгу в качестве справочника по построению, например, достаточно сложного сегмента сети и не нашедшего в книге информации о конфигурировании коммутаторов. И в этой ситуации веб также с большой вероятностью поможет ему в решении его вопросов. Таким образом, при наличии у читателя некоторого объема базовых знаний о концепциях, методах, протоколах и средствах построения компьютерных сетей (надеемся почерпнутых главным образом из настоящего курса), веб поможет читателю углублять и конкретизировать эти знания в выбранном читателем направлении, иногда пополняя их актуальными знаниями, еще не созданными к моменту изучения настоящего курса . |