Локальные и глобальные сети

ЛОКАЛЬНЫЕ СЕТИ – характеризуются следующими моментами:

1) Канал локальной сети находится в монопольной собственности организации её эксплуатирующей.

2) Расстояние между рабочими станциями составляет от нескольких десятков до нескольких тысяч метров.

3) Пропускная способность локальной сети гораздо выше чем в глобальной около 100 Мбит/c, если оптимизация прижимистая..

4) Количество ошибок гораздо ниже, чем в глобальных.

 

Как правило, в сетях данного типа, используется стандарт передачи данных ETHERNET

 

ГЛОБАЛЬНЫЕ СЕТИ

Характеризуется значительным удалением станций друг от друга. Ранее для построения таких сетей использовался стандарт X25. В последнее время всё большую популярность приобретают сети на основе протокола TCP/IP. Стандарт X25 предназначен для построения сетей на основе низкоскоростных каналов связи – медной пары, при наличии большой вероятности ошибок в передаче данных. На основе этого протокола были построены такие сети, как Sprint, Compuserve. Такие сети имели свои шлюзы в Internet.

 

ВИРТУАЛЬНЫЕ ЧАСТНЫЕ СЕТИ (VPN)

Эта технология появилась и стала популярна с 2000 года. Смысл технологии в том, что несколько офисов компании объединяются между собой, используя в качестве среды передачи данных Internet, тем более канал передачи данных Шифруется. С точки зрения пользователя и сетевого оборудования, выглядит, как будто офисы соединены выделенными каналами связи. Канал связи организует определённое устройство. Плюсы такой технологии в том, что пользователи не заботятся о том, что данные могут перехватить, т.к. технология подразумевает принудительное шифрование данных. На сегодняшний день канал можно организовывать либо с помощью аппаратных средств, либо с помощью программных, либо приобретать соответствующую услугу у провайдеров Internet. Сети VPN могут организовывать соединения на разных уровнях этой модели. Есть возможность организовать её на втором уровне. НА верхних уровнях есть реализация VPN например HTTPS (Защищённый вариант Гипертекста.)

 

3) Межсетевое взаимодействие. Протоколы маршрутизации в сетях TCP/ IP

Проблемы взаимодействия сетей с разными протоколами.

1) Использование Шлюзов.

Преимущества: Простота реализации, пользователю (Администратору) предоставляется некий чёрный ящик, который выполняет всю работу по переводу протокола А в протокол Б и обратно. Так же на рабочих станциях пользователей ничего настраивать не надо.

Недостатки: При отказе такого шлюза связь между сетями нарушается. А так же скорость работы ниже из за того, что существует промежуточное устройство, которое преобразовывает сигнал.

2) Мультиплексирование стеков определённых протоколов. На компьютере устанавливается дополнительный стэк протоколов, например IPX/SPX , при этом сама операционная система выбирает, какой протокол использовать при подсоединении к том , или иному компьютеру. От того, в какой комбинации будут установлены стэки протоколов, будет зависеть в каком режиме будет организовываться связь. В данном подходе есть один недостаток – на рабочих станциях и серверах нужно устанавливать несколько стэков протоколов, это может быть трудоёмко. Преимущества в том, что скорость выше, чем в предыдущем способе и как правило, дополнительные стеки протоколов поставляются вместе с ОС, не следует ничего приобретать.

 

Объединение сетей с одинаковыми протоколами.

В этом случае никаких технических проблем не возникает. Разработаны и продаются устройства, которые позволяют сопрягать сети на основе различных сред передачи данных.

4) Сетевые службы и протоколы (См. в Распечатке)

5) Программирование сетевого взаимодействия

 

Используется понятие Сокета. Сокет – конечная точка сетевого взаимодействия. Это комбинация Ip-адрес – порт на устройстве, которое однозначно определяет отдельный сетевой процесс в глобальной сети Интернет. Соответственно два сокета. Первый – отправитель, второй – получатель определяют соединение между узлами. С точки зрения реализации, Сокеты – некая абстракция, аналогичная понятию ФАЙЛ, созданная для того, чтобы упростить работу с сетью.

 

Для работы с сокетами определены несколько системных вызовов, поразному используя которые, можно создать лидо сокет – отправитель, либо сокет – получатель.

 

Sockaddr_in – структура описывает порт для работы с протоколом TCP/IP.

 

Sin_port – указывается номер порта, который должен использовать процесс, если значение равно нулю, система выделяет любой свободный

 

Sin_addr – содержит IP адрес, к которому будет привязан сокет, при этом можно указать, чтобы использовались все адреса локального узла.

 

 

Системные вызовы:

 

1) Socket – использует для создания сокета, у него нет ни IP адреса ни порта. Пример: S=Socket(AF_INET,SOCK_STREAM,0)

2) Bind – Привязка сокета к локальным именам (к IP адресу и порту). В некоторых случаях привязка осуществляется автоматически и этот системный вызов можно не использовать.

3) Connect – Установление связи- вызов необходимо использовать на сокете – отправителе (компьютере - клиенте).

4) Close – команда на закрытие сокета (разрыв соединения). В этом случае передаются все оставшиеся данные и соединение закрывается.

5) На компьютере – сервере необходимо использовать системный вызов Listen, который переводит сокет в режим ожидания входящих соединений. И системный вызов Accept для получения сокета для каждого соединения.

6) Write

7) Read – Системные вызовы используются для записи и чтения информации из сокета.

8) Send

9) Recv – Отличаются от 67 тем, что добавляется дополнительный атрибут флага.

 

 

ПЛАН СОЗДАНИЯ СЕТЕВЫХ ПРИЛОЖЕНИЙ.

 

Дя начала необходимо дать системный вызов Socket для создания сокета, далее пути расходятся:

1) Приложения – сервер: Необходимо выполнить системный вызов bind для того, чтобы привязать сокет к требуемым IP адресу и порту, затем вызывается команда Listen- для перехода в режим ожидание входящих сообщений и команда Accept для приёма сообщения, необходимо при этом предусмотреть некое зацикливание при обработке всех входящих соединений.

2) Приложения – клиент: Команда Bind здесь не обязательно, системный вызов Connect делает это автоматически.

 

Далее после установления соединения передача данных осуществляется используя команды Send, Recv, Write, Read. Последняя команда закрывает сокет – CLOSE.

 

Обработанным считается соединение, которое получено системным вызовом Accept

 

При программировании под Windows в Visual C пользователю предоставляются не только сокеты , но и классы, основанные на сокетах: CSocket и т.д. Эти классы больше упрощают работу с сетью.