Дипломная работа: Проектирование и разработка сетевых броузеров на основе теоретико-графовых моделей
Основные протоколы передачи данных высокого уровня :
WWW (World Wide Web) – важнейший ресурс Internet, обеспечивающий гипертекстовое представление информации и гипертекстовые ссылки для единого представления и доступа во всемирной глобальной сети.
Gopher – усовершенствованная система передачи файлов. Позволяет, используя систему меню, просматривать списки ресурсов, пересылать нужный материал, просматривать данные. Компьютеры, использующие Gopher, можно представить соединенными в единую информационно-поисковую систему GopherSpace.
WAIS – индексная поисковая система глобального информационного сервера.
SNMP (Simple Network Management Protocol) – протокол сети Internet для мониторинга сети и сетевых компонентов.
FTP (File Transfer Protocol) – протокол сети Internet для передачи файлов. Поддерживает процесс передачи файлов между локальным и удаленным компьютером. Имеет ряд команд, которые реализуют двунаправленную передачу двоичных и ASCII-файлов между компьютерами.
Telnet – протокол сети Internet для регистрации на удаленных хостах и обработки данных на них.
SMTP (Simple Mail Transfer Protocol) – протокол сети Internet для обмена электронной почтой.
TCP (Transmission Control Protocol) – TCP/IP – протокол для гарантированной доставки данных, разбитых на последовательность фрагментов.
IP (Internet Protocol) – протокол сетевого уровня из набора протоколов Internet, обеспечивающий правильную передачу пакетов. IP является базовым элементом технологии Internet. Его центральная часть – таблица маршрутов. Этот протокол использует таблицу маршрутов при принятии всех решений о маршрутизации IP-пакетов.
OSPF (Open Shortest Path First) – алгоритм маршрутизации, использующий состояние каналов, в его основе лежит алгоритм Дейкстры. OSPF вычисляет маршруты, учитывая количество маршрутизаторов, через которые пакет пройдет на пути к получателю, пропускную способность линии, трафик и стоимость.
Набор протоколов IPX/SPX и NWlink (Internetwork Packet Exchange / Sequenced Packet Exchange) – стэк протоколов, используемых в сетях Novell. Это относительно небольшой и быстрый протокол, поддерживающий маршрутизацию. NWlink – реализация IPX/SPX фирмой Microsoft для использования в качестве транспортного маршрутизируемого протокола.
Концепция сокетов
Сетевой сокет (network socket) во многом напоминает электрическую розетку. В сети имеется множество сокетов, причем каждый из них выполняет стандартные функции. Все, что поддерживает стандартный протокол, можно «подключить» к сокету и использовать для коммуникаций. Для электрической розетки не имеет значения, что именно вы подключаете – лампу или тостер, поскольку оба прибора рассчитаны на напряжение 220 Вольт и частоту 50 Герц. Несмотря на то, что электричество свободно распространяется по сети, все розетки в доме имеют определенное место. Подобным образом работают и сетевые сокеты, за исключением того, что электроны и почтовые адреса заменены на пакеты TCP/IP и IP-адреса. Internet Protocol (IP) является низкоуровневым протоколом маршрутизации, который разбивает данные на небольшие пакеты и рассылает их по различным сетевым адресам, что не гарантирует доставку вышеупомянутого пакета адресату. Transmission Control Protocol (TCP) является протоколом более высокого уровня, собирающим пакеты в одну строку, сортирующим и перетранслирующим их по мере необходимости, поддерживая надежную рассылку данных. Третий протокол, UNIX Domain Protocol (UDP), используется вместе с TCP и может применяться для быстрой, но ненадежной передачи пакетов.
Клиент/сервер
Под термином сервер подразумевается любой объект с общедоступными ресурсами. Клиентом называется любой другой объект, желающий получить доступ к определенному серверу. Взаимодействие между клиентом и сервером во многом подобно взаимодействию лампы и розетки. Электрическая сеть является сервером, алампа является клиентом напряжения. Сервер постоянно предлагает свои «услуги», в то время как клиент волен в любое время отключиться от обслуживания.
В сокетах Berkley понятие сокета позволяет одному компьютеру обслуживать несколько различных клиентов одновременно, а также одновременно обрабатывать информацию различных типов. Это стало возможным после введения понятия порта, который является нумерованным сокетом на определенном компьютере. Серверу разрешено обслуживать несколько клиентов, подсоединенных к одному порту, но не одновременно. Для управления соединением нескольких клиентов процесс сервера должен быть многопоточным или иметь другие средства мультиплексирования одновременных операций ввода-вывода.
Зарезервированные сокеты
После физического подключения выбирается протокол высокого уровня, который зависит от используемого порта. Согласно спецификации протокола TCP/IP, первые 1024 порта резервируются для определенных задач. Порт номер 21 предназначен для протокола FTP, 23 – для Telnet, 25 – для электронной почты, 79 – дляпротокола finger, 80 – для HTTP, и т.д. Каждый протокол определяет, каким образом клиент должен взаимодействовать с портом. Например, протокол HTTP используется Web-броузерами и серверами для передачи гипертекстовых страниц и изображений. Работает он следующим образом. Когда клиент запрашивает файл от сервера HTTP (это действие известно под названием попадание – hit ), он просто записывает имя файла в специальном формате в определенный порт и получает обратно содержимое файла. Сервер также возвращает код состояния, сообщающий клиенту о возможности удовлетворения запроса, и причину отказа.. Вот пример запроса клиентом файла /index.html, в ответ на который сервер передает содержимое файла.
СЕРВЕР КЛИЕНТ
Опрашивает порт 80 Подключается к порту 80
Определяет подключение Записывает «GET /index.html к серверу HTTP/1.0\n\n»
Считывает до второго символа
новой строки (\n)
Определяет команду GET как
известную команду и протокол HTTP/1.0.
Считывает файл /index.html
Записывает «HTTP/1.0 200 OK\n\n» («200» означает «дальше идет содержимое файла»)
Копирует содержимое файла в сокет Считывает файл и выводит его