Рис.8. Структура протокольных модулей в узле сети TCP/IP
Потоки данных
Драйвер – это программа, непосредственно взаимодействующая с сетевым адаптером. Модуль – это программа, взаимодействующая с драйвером, сетевыми прикладными программами или другими модулями. Драйвер сетевого адаптера и, возможно, другие модули, специфичные для физической сети передачи данных, предоставляют сетевой интерфейс для протокольных модулей семейства TCP/IP.
Название блока данных, передаваемого по сети, зависит от того, на каком уровне стека протоколов он находится. Блок данных, с которым имеет дело сетевой интерфейс, называется кадром; если блок данных находится между сетевым интерфейсом и модулем IP, то он называется IP-пакетом; если он – между модулем IP и модулем UDP, то – UDP-датаграммой; если между модулем IP и модулем TCP, то – TCP-сегментом (или транспортным сообщением); наконец, если блок данных находится на уровне сетевых прикладных процессов, то он называется прикладным сообщением.
Эти определения, конечно, несовершенны и неполны. К тому же они меняются от публикации к публикации.
Рассмотрим потоки данных, проходящие через стек протоколов, изображенный на рис.8.
В случае использования протокола 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.
Когда Ethernet-кадр попадает в драйвер сетевого интерфейса Ethernet, он может быть направлен либо в модуль ARP (Address Resolution Protocol адресный протокол), либо в модуль IP (Internet Protocol – межсетевой протокол). На то, куда должен быть направлен Ethernet-кадр, указывает значение поля типа в заголовке кадра.Если IP-пакет попадает в модуль IP, то содержащиеся в нем данные могут быть переданы либо модулю TCP, либо UDP, что определяется полем ―протокол‖ в заголовке IP-пакета. Если UDP-датаграмма попадает в модуль UDP, то на основании значения поля ―порт‖ в заголовке датаграммы определяется прикладная программа, которой должно быть передано прикладное сообщение. Если TCP-сообщение попадает в модуль TCP, то выбор прикладной программы, которой должно быть передано сообщение, осуществляется на основе значения поля ―порт‖ в заголовке TCP-сообщения. Передача данных в обратную сторону осуществляется довольно просто, так как из каждого модуля существует только один путь вниз. Каждый протокольный модуль добавляет к пакету свой заголовок, на основании которого машина, принявшая пакет, выполняет демультиплексирование. Данные от прикладного процесса проходят через модули TCP или UDP, после чего попадают в модуль IP и оттуда – на уровень сетевого интерфейса. Хотя технология internet поддерживает много различных сред передачи данных, здесь мы будем предполагать использование Ethernet, так как именно эта среда чаще всего служит физической основой для IP-сети.
Удаленный доступ (telnet)
Трафик, относящийся к этому виду работы в сети, в среднем составляет около 19% всего сетевого трафика. Начать сеанс удаленного доступа можно в UNIX, подав команду telnet и указав имя машины, с которой предстоит работа. Если номер порта опустить, то работающий компьютер по умолчанию эмулирует терминал той машины и осуществляется вход в систему как обычно. Указание номера порта позволяет связываться с нестандартными серверами, интерфейсами. telnet - протокол эмуляции терминала, который обеспечивает поддержку удаленного доступа в Internet . telnet - так же называется программа в UNIX, которая обслуживает эти сеансы работы; telnet имеет и свой собственный набор команд, которые управляют собственно этой программой, т.е. сеансом связи, его параметрами, открытием новых, закрытием и т.д.; эти команды подаются из командного режима telnet, в который можно перейти, нажав так называемую escape-последовательность клавиш, которая сообщается при достижении удаленной машины.
Сеанс обеспечивается совместной работой программного обеспечения удаленной ЭВМ и работающей. Они устанавливают TCP-связь и общаются через TCP и UDP пакеты. Взаимодействие это очень не простое, но результат замечателен. Сидя, например, в Швейцарии, можно работать на машине в США так, как если бы она стояла рядом.
Для пользования этой замечательной возможностью сети необходимо иметь доступ в Internet класса не ниже dial-up доступа. Передача файлов (ftp)
ftp - File Transfer Protocol - протокол передачи файлов - протокол, определяющий правила передачи файлов с одного компьютера на другой. ftp - также название программы из прикладного обеспечения. Использует протокол ftp для того, чтобы пересылать файлы.
В аспекте применения программа ftp во многом аналогична telnet. Т.е. для работы с ftp нужно иметь доступ на ту удаленную машину, с которой необходимо перекачать файлы, т.е. иметь входное имя и знать соответствующий пароль. Доступ должен быть как минимум типа dial-up (по вызову). Для использования ftp, нужно подать команду ftp с указанием имени рабочей машины, на которой будет проведен сеанс. ftp также позволяет (у него свой набор команд) производить поиск файла на удаленной машине, то есть переходить из директории в директорию, просматривать содержимое этих директорий, файлов. Позволяет пересылать как файлы, так и их группы, а также целиком директории, можно вместе со всеми вложенными на любую глубину поддиректориями. Позволяет пересылать данные в файлах либо как двоичную информацию, либо как ASCII (т.е. текст). ASCII-пересылка дает возможность автоматического перекодирования данных при пересылке текста на компьютер с другой кодировкой алфавита и т.д., что сохраняет прежний читаемый вид текста. Имеется возможность сжимать данные при пересылке и затем их разжимать в прежний вид.
Имеет место подвид ftp, так называемое анонимное ftp. Анонимность заключается в том, что если на ftp, вообще говоря, требуется для начала работы правильно идентифицировать себя, ввести входное имя и, возможно, пароль, то на машинах, поддерживающих этот вид ftp, для входа и начала работы этого не требуется. ftp протоколы делятся на протоколы команд и самих перекачиваемых данных. Данные занимают в среднем около 40% всего сетевого трафика, в то время как команды - только 4%. Имеется также возможность использования ftp в пакетном режиме по e-mail на некоторых серверах, но отсутствие прямого диалога очень неудобно и сильно замедляет работу.
Электронная почта (e-mail)
Это самое популярное на сегодня использование Internet у нас в стране. Оценки говорят, что в мире имеется более 50 миллионов пользователей электронной почты. В целом же в мире трафик электронной почты (протокол smtp) занимает только 3.7% всего сетевого. Популярность ее объясняется, как насущными требованиями, так и тем, что большинство подключений - подключения класса ``доступ по вызову'' (с модема), а в России, вообще, в подавляющем большинстве случаев - доступ UUCP. E-mail доступна при любом виде доступа к Internet .
E-mail (Electronic mail) - электронная почта (простонародн. - электронный аналог обычной почты. С ее помощью можно посылать сообщения, получать их в свой электронный почтовый ящик, отвечать на письма корреспондентов автоматически, используя их адреса, исходя из их писем, рассылать копии письма сразу нескольким получателям, переправлять полученное письмо по другому адресу, использовать вместо адресов (числовых или доменных имен) логические имена, создавать несколько подразделов почтового ящика для разного рода корреспонденции, включать в письма текстовые файлы, пользоваться системой ―отражателей почты‖ для ведения дискуссий с группой корреспондентов и т.д. Из Internet можно посылать почту в сопредельные сети, если известен адрес соответствующего шлюза, формат его обращений и адрес в той сети.
Используя e-mail, можно пользоваться ftp в асинхронном режиме. Существует множество серверов, поддерживающих такие услуги. В адрес такой службы посылается e-mail, содержащий команду этой системы, например, дать листинг какой-то директории, или переслать файл, и приходит автоматически ответ по e-mail с этим листингом или нужным файлом. В таком режиме возможно использование почти всего набора команд обычного ftp. Существуют серверы, позволяющие получать файлы по ftp не только с них самих, но с любого ftp-сервера, который указан в послании e-mail.
E-mail дает возможность проводить телеконференции и дискуссии. Для этого используются, установленные на некоторых узловых рабочих машинах, mail reflector-ы. Вы посылаете туда сообщение с указанием подписать вас на такой-то рефлектор (дискуссию, конференцию, etc.), и вы начинаете получать копии сообщений, которые туда посылают участники обсуждения. Рефлектор почты просто по получении электронных писем рассылает их копии всем подписчикам.
E-mail дает возможность использования в асинхронном режиме не только ftp, но и других служб, имеющих подобные сервера, предоставляющие такие услуги. Например, сетевых новостей, Archie, Whois.
Пересылать по e-mail можно и двоичные файлы, не только текстовые. В UNIX, например, для этого используется программы UUENCODE и UUDECODE. Использование анонимного ftp по e-mail