Хелпикс

Главная

Контакты

Случайная статья





Уровни модели OSI



 

Цель: изучить программы-клиенты. Программы-серверы

 

Оборудование:лекция и ПК.

Ход работы:

Задача  заключается    в передаче   зашифрованного     сообщения    по прослушиваемой сети.

Две стороны заранее договариваются о ключе шифрования методом Цезаря. На стороне клиента сообщение должно шифроваться и передаваться по сети серверу, на стороне сервера должно происходить дешифрование сообщения и вывод его на экран.

Интерфейс работы с программой на стороне клиента:

 

 

 

Пользователь вводит сообщение, которое хочет передать по сети, указывает ключ шифрования. Программа выводит на экран зашифрованное сообщение и отправляет его серверу.

Интерфейс работы с программой на стороне сервера:

 

 

 

 

>>>

На экране пользователя со стороны сервера в первую очередь выводится сообщение о том, что установлена связь с клиентом. Далее указывается ключ шифрования и выводятся зашифрованный и открытый тексты.

 

 

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

Каждый сетевой интерфейс IP-сети имеет уникальный в этой сети адрес (IP- адрес). Упрощенно можно считать, что каждый компьютер в сети Интернет имеет собственный IP-адрес. При этом в рамках одного сетевого интерфейса может быть несколько сетевых портов. Для установления сетевого соединения приложение клиента должно выбрать свободный порт и установить соединение с серверным приложением, которое слушает (listen) порт с определенным номером на удаленном сетевом интерфейсе. Пара IP- адрес и порт характеризуют сокет (гнездо) - начальную (конечную) точку сетевой коммуникации. Для создания соединения TCP/IP необходимо два сокета: один на локальной машине, а другой - на удаленной. Таким образом, каждое сетевое соединение имеет IP-адрес и порт на локальной машине, а также IP-адрес и порт на удаленной машине.

Модуль socket в Python обеспечивает доступ к интерфейсу BSD сокетов и обеспечивает возможность работать с сокетами из Python. Сокеты используют транспортный уровень согласно семиуровневой модели OSI (Open Systems Interconnection, взаимодействие открытых систем).

 

 

Уровни модели OSI

 

 

 

 

 


 


 

Рисунок. Модель взаимодействия открытых систем ISO/OSI.

 

Каждый сокет относится к одному из коммуникационных доменов. Модуль socket поддерживает домены UNIX и Internet. Каждый домен подразумевает свое семейство протоколов и адресацию. Данное изложение будет затрагивать только домен Internet, а именно протоколы TCP/IP и UDP/IP, поэтому для указания коммуникационного домена при создании сокета будет указываться константа socket.AF_INET socket.SOCK_STREAM для надежной потокоориентированной службы).

 

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

 

 



  

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