Занятие 8. Работа с адресами, создание сокетов



Мы поможем в написании ваших работ!


Мы поможем в написании ваших работ!



Мы поможем в написании ваших работ!


ЗНАЕТЕ ЛИ ВЫ?

Занятие 8. Работа с адресами, создание сокетов



План занятия:

· Особенности реализации стека TCP/IP в Windows

· Обзор стека TCP/IP

· Утилиты и сервисы TCP/IP в Windows

· Программный интерфейс сокетов Беркли

· Блокирующие и неблокирующие сокеты

 

Особенности реализации стека TCP/IP в Windows

Так как большинство операционных систем поддерживают протоколы TCP/IP, они могут использовать этот стек протоколов как средство взаимодействия. Используя TCP/IP, Windows может общаться со многими операционными системами, включая:

1. хосты сети Internet;

2. системы Apple;

3. системы на базе Unix;

4. мэйнфреймы IBM;

5. компьютеры сетей DEC Pathworks;

6. принтеры с сетевыми адаптерами, непосредственно подключенные к сети.

Обзор стека TCP/IP

Transmission Control Protocol/Internet Protocol (TCP/IP) - это промышленный стандарт стека протоколов, разработанный для глобальных сетей.

Стандарты TCP/IP опубликованы в серии документов, названных Request for Comment (RFC). Документы RFC описывают внутреннюю работу сети Internet. Некоторые RFC описывают сетевые сервисы или протоколы и их реализацию, в то время как другие обобщают условия применения. Стандарты TCP/IP всегда публикуются в виде документов RFC, но не все RFC определяют стандарты.

Реализация стека TCP/IP в ОС Windows NT дает следующие преимущества:

  • Это стандартный корпоративный сетевой протокол, который представляет собой наиболее завершенный и популярный сетевой протокол. Все современные операционные системы поддерживают TCP/IP, а почти все большие сети передают основную часть своего трафика с помощью протокола TCP/IP.
  • Это метод получения доступа к сети Internet.
  • Это технология для соединения разнородных систем. Стек предоставляет многие стандартные средства взаимодействия для доступа и передачи данных между разнородными системами, включая протокол передачи файлов FTP и протокол эмуляции терминала Telnet. Некоторые из этих стандартных средств включены в состав Windows NT.
  • Это устойчивая масштабируемая межплатформенная среда для приложений клиент-сервер. Microsoft TCP/IP предлагает интерфейс Windows Sockets, который представляет собой очень удобное средство для разработки приложений клиент-сервер. Эти приложения могут работать на стеках других производителей с интерфейсом Windows Sockets. Приложения для Windows Sockets могут также использоваться другими сетевыми протоколами такими как Microsoft NWLink или NetBIOS.

Стек TCP/IP в среде Windows содержит:

  • Базовые протоколы - TCP, IP, UDP, ARP, ICMP.
  • Прикладные программные интерфейсы - Windows NT Sockets для сетевого программирования, RPC - для взаимодействия между компьютерами, NetBIOS для использования логических имен и сессий в сети, сетевую версию DDE для разделения информации, встроенной в документы, по сети.
  • Сервисы прикладного уровня, включая Finger, FTP, RCP, REXEC, RSH, Telnet, TFTP. Эти сервисы позволяют пользователям Windows NT Server использовать ресурсы компьютеров с ОС, разработанными отличными от Microsoft компаниями, например, Unix.
  • Диагностические средства TCP/IP, включающие ARP, HOSTNAME, IPCONFIG, NBTSTAT, NETSTAT, PING, ROUTE. Эти утилиты используются для обнаружения и устранения сетевых проблем при работе со стеком TCP/IP.
  • SNMP - агент протокола TCP/IP. Эта компонента позволяет управлять компьютером Windows NT по сети, используя такие средства, как Sun Net Manager или HP Open View.

Утилиты и сервисы TCP/IP в Windows

Windows Server включает дополнительные утилиты и сервисы TCP/IP:

  • DHCP - обеспечивает автоматическое конфигурирование параметров стека TCP/IP в средах Windows NT Server, Windows NT Workstation, Windows for Workgroups и сетевых клиентов производства компании Microsoft.
  • WINS - динамически регистрирует имена компьютеров и поддерживает их соответствие IP-адресам.
  • LPDSVC - обеспечивает доступ к принтерам работающим в среде Unix.
  • Функция наблюдения для сервера FTP позволяет регистрировать все FTP-операции.

Кроме того, к Windows Server добавлен ряд дополнительных простых TCP/IP-протоколов, к которым относятся:

  • ECHO - возвращает любые получаемые данные назад источнику.
  • DISCARD - отбрасывает любые получаемые данные.
  • CHARGER - это генератор символов, который отправляет данные, не обращая внимания на получаемые данные. Хотя эти данные могут быть любыми, рекомендуется использовать некоторые образцы.
  • QUOTE - отсылает короткую цитату дня. Эта цитата может извлекаться из пользовательского файла цитат или из файла цитат, который поставляется вместе с данным сервисом.
  • DAYTIME - отсылает текущее значение даты и времени в виде символьной строки, без учета получаемых данных.

В качестве основного протокола сетевого уровня (в терминах модели OSI) в стеке используется протокол IP, который изначально проектировался как протокол передачи пакетов в составных сетях, состоящих из большого количества локальных сетей, объединенных как локальными, так и глобальными связями. Поэтому стек TCP/IP хорошо работает в сетях со сложной топологией, рационально используя наличие в них подсистем и экономно расходуя пропускную способность низкоскоростных глобальных линий связи.

Основные функции протокола IP - маршрутизация пакетов, а также сборка и разборка пакетов. Последняя функция необходима в том случае, когда пакеты формируются в одной сети и передаются через другую сеть, максимальная длина пакета в которой меньше. Протокол IP является дейтаграммным протоколом.

Программный интерфейс сокетов Беркли

 

Программный интерфейс сокетов Беркли - это средство связи между прикладным уровнем сетевой архитектуры TCP/IP и транспортным уровнем. Причина такого расположения заключается в том, что это средство связи между кодом приложения (который выполняют на прикладном уровне) и реализацией стека протокола ОС (уровнем которой является транспортный). Фактически этот интерфейс представляет собой набор системных вызовов ОС.

Интерфейс сокета Беркли — API, позволяющий реализовывать взаимодействие между компьютерами или между процессами на одном компьютере. Данная технология может работать со множеством различных устройств ввода-вывода и драйверов, несмотря на то, что их поддержка зависит от реализации операционной системы. Подобная реализация интерфейса лежит в основе TCP/IP, благодаря чему считается одной из фундаментальных технологий, на которых основывается Интернет. Технология сокетов впервые была разработана в Калифорнийском университете Беркли для применения на Юникс-системах. Все современные операционные системы имеют ту или иную реализацию интерфейса сокетов Беркли, так как это стало стандартным интерфейсом для подключения к сети Интернет.

Программисты могут получать доступ к интерфейсу сокетов на трёх различных уровнях, наиболее мощным и фундаментальным из которых является уровень сырых сокетов. Довольно небольшое число приложений нуждается в ограничении контроля над исходящими соединениями, реализуемыми ими, поэтому поддержка сырых сокетов задумывалась быть доступной только на компьютерах, применяемых для разработки на основе технологий, связанных с Интернет. Впоследствии в большинстве операционных систем была реализована их поддержка, включая Windows XP.

Блокирующие и неблокирующие сокеты

 

Сокеты Беркли могут работать в одном из двух режимов: блокирующем или неблокирующем. Блокирующий сокет не возвращает контроль, пока не отошлет (или пока не получит) все данные, указанные для операции. Это верно лишь для Linux-систем. В других системах, например во FreeBSD, вполне естественно для блокирующего сокета посылать не все данные. Приложение должно проверять возвращаемое значение для отслеживания того, сколько байт было послано/получено и, соответственно, перепосылать необработанную на данный момент информацию. Это может привести к проблемам, если сокет продолжает «слушать»: программа может повиснуть из-за того, что сокет ждет данных, которые могут никогда не прибыть.

 



Последнее изменение этой страницы: 2016-04-08; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.237.178.91 (0.007 с.)