Протоколы в локальных и глобальных сетях напримере TCP/IP



Протоколы в локальных и глобальных сетях напримере TCP/IP
Міністерство Освіти України
Київський Університет імені Тараса Шевченка
Факультет Кібернетики
Кафедра Теорії Програмування
Курсова робота
На тему
"Протоколи в локальних та глобальних
мережах на прикладі TCP/IP"
Виконавець:
Студент 3-го курсу
Групи ТП
Тягло О.О.
Науковий керівник
Доцент В.М. Волохов
Київ 1999р.
0. Постановка задачи и результаты
С развитием компьютерной техники широкое использование приобрели
компьютерные сети. По своему размеру, т.е. количеству машин и
расстоянию
между ними, они делятся на локальные и глобальные. Примерами
локальных
могут быть сети вуза, предприятия, нескольких фирм, находящихся
недалеко
друг от друга, глобальных – Internet.
Для передачи данных в сети используются сетевые протоколы передачи
данных. Некоторое время назад существовало несколько протоколов
несовместимых между собой, что зачастую создавало большие проблемы
при
объединении сетей. Примером же универсального протокола является
семейство TCP/IP. История его возникновения связана с задачей,
поставленной после второй мировой войны правительством США.
Требовалось
создать единую сеть, которая бы могла своими средствами находить
маршруты передачи их, а также в случае повреждения некоторых каналов
связи перенаправлять поток информации по другим каналам. При
реализации
этого проекта были созданы отдельные представители семейства
протоколов
TCP/IP. Сама сеть через некоторое время разрослась до необычайных
размеров, её представление сейчас известно всем как Internet.
В работе рассмотрены основные моменты функционирования протоколов
семейства TCP/IP.
В связи с особенностями протоколов TCP/IP - широкая используемость
как в локальных, так и глобальных сетях, реализация практически во
всех
современных операционных системах, можно смело говорить об их
универсальности.
1. Введение
Семейство протоколов TCP/IP широко применяется во всем мире для
объединения компьютеров в сеть Internet, реализации обмена данными
межу
машинами. Основное внимание уделено примерам, основанным на
реализации
TCP/IP в ОС UNIX. Однако основные положения применимы ко всем
реализациям TCP/IP.
2. Основы TCP/IP
Термин "TCP/IP" обычно обозначает все, что связано с протоколами
TCP и IP. Он охватывает целое семейство протоколов, прикладные
программы
и даже саму сеть. В состав семейства входят протоколы UDP, ARP,
ICMP,
TEL-NET, FTP и многие другие. TCP/IP - это технология межсетевого
взаимодействия, технология internet. Сеть, которая использует
технологию
internet, называется "internet". Если речь идет о глобальной сети,
объединяющей множество сетей с технологией internet, то ее называют
Internet.
2.1. Модуль IP создает единую логическую сеть
Архитектура протоколов TCP/IP предназначена для объединенной сети,
состоящей из соединенных друг с другом шлюзами отдельных разнородных
пакетных подсетей, к которым подключаются разнородные машины. Каждая
из
подсетей работает в соответствии со своими специфическими
требованиями и
имеет свою природу средств связи. Однако предполагается, что каждая
подсеть может принять пакет информации (данные с соответствующим
сетевым
заголовком) и доставить его по указанному адресу в этой конкретной
подсети. Не требуется, чтобы подсеть гарантировала обязательную
доставку
пакетов и имела надежный сквозной протокол. Таким образом, две
машины,
подключенные к одной подсети, могут обмениваться пакетами.
Когда необходимо передать пакет между машинами, подключенными к
разным подсетям, то машина-отправитель посылает пакет в
соответствующий
шлюз (шлюз подключен к подсети также как обычный узел). Оттуда пакет
направляется по определенному маршруту через систему шлюзов и
подсетей,
пока не достигнет шлюза, подключенного к той же подсети, что и
машина-
получатель; там пакет направляется к получателю. Объединенная сеть
обеспечивает датаграммный сервис.
Проблема доставки пакетов в такой системе решается путем реализации
во всех узлах и шлюзах межсетевого протокола IP. Межсетевой уровень
является по существу базовым элементом во всей архитектуре
протоколов,
обеспечивая возможность стандартизации протоколов верхних уровней.
2.2. Структура связей протокольных модулей
Логическая структура сетевого программного обеспечения,
реализующего протоколы семейства TCP/IP в каждом узле сети internet,
изображена на рис.1. Прямоугольники обозначают обработку данных, а
линии, соединяющие прямоугольники, - пути передачи данных.
Горизонтальная линия внизу рисунка обозначает кабель сети Ethernet,
которая используется в качестве примера физической среды; "o" - это
трансивер. Знак "*" – обозначает IP-адрес, а "@" - адрес узла в сети
Ethernet (Ethernet-адрес). Понимание этой логической структуры
является
основой для понимания всей технологии internet. В дальнейшем мы
будем
часто ссылаться на эту схему.
Рисунок 1
2.3. Терминология
Введем ряд базовых терминов, которые мы будем использовать в
дальнейшем.
Драйвер - это программа, непосредственно взаимодействующая с
сетевым адаптером.
Модуль - это программа, взаимодействующая с драйвером, сетевыми
прикладными программами или другими модулями.
Драйвер сетевого адаптера и, возможно, другие модули, специфичные
для физической сети передачи данных, предоставляют сетевой интерфейс
для
протокольных модулей семейства TCP/IP.
Название блока данных, передаваемого по сети, зависит от того, на
каком уровне стека протоколов он находится. Блок данных, с которым
имеет
дело сетевой интерфейс, называется кадром; если блок данных
находится
между сетевым интерфейсом и модулем IP, то он называется IP-пакетом;
если он между модулем IP и модулем UDP, то - UDP-датаграммой; если
между
модулем IP и модулем TCP, то - TCP-сегментом (или транспортным
сообщением); наконец, если блок данных находится на уровне сетевых
прикладных процессов, то он называется прикладным сообщением.
2.4. Потоки данных
Рассмотрим потоки данных, проходящие через стек протоколов,
изображенный на рис.1. В случае использования протокола TCP
(Transmission Control Protocol - протокол управления передачей),
данные
передаются между прикладным процессом и модулем TCP. Типичным
прикладным
процессом, использующим протокол TCP, является модуль FTP (File
Transfer
Protocol - протокол передачи файлов). Стек протоколов в этом случае
будет FTP/TCP/IP/ENET. При использовании протокола UDP (User
Datagram
Protocol - протокол пользовательских датаграмм), данные передаются
между
прикладным процессом и модулем UDP. Например, SNMP (Simple Network
Management Protocol - простой протокол управления сетью) пользуется
транспортными услугами UDP. Его стек протоколов выглядит так:
SNMP/UDP/IP/ENET.
Модули TCP, UDP и драйвер Ethernet являются мультиплексорами .
Действуя как мультиплексоры, они переключают несколько входов на
один
выход. Они также являются демультиплексорами . Как демультиплексоры,
они переключают один вход на один из многих выходов в соответствии с
полем тип