- •Основы создания сетевых приложений
- •План лекции
- •Модель OSI
- •Инкапсуляция пакета
- •Передача сообщения по сети
- •Transmission Control Protocol
- •User Datagram Protocol
- •Основные характеристики TCP и UDP
- •Модель «Клиент-сервер»
- •Понятие порта
- •Понятие порта
- •Интерфейс сокетов
- •Связь с файловой системой
- •Проблемы сетевого ввода/вывода
- •Абстракция сокета
- •Абстракция сокета
- •Абстракция сокета
- •А что же на Java?
- •Пакет java.net
- •Адресация
- •Методы класса InetAddress
- •Общая схема соединения
- •Класс Socket
- •Порядок работы с клиентским сокетом
- •Пример клиента
- •Пример клиента
- •Класс ServerSocket
- •Создание серверного сокета
- •Сервер параллельной обработки запросов
- •Дейтаграммы
- •Класс DatagramPacket
- •Класс DatagramSocket
- •Передача дейтаграмм
- •Uniform Resource Locator
- •Прямое чтение из URL
- •Чтение из URL-соединения
- •Запись в URL-соединение
- •Запись в URL-соединение
- •Спасибо за внимание!
- •Дополнительные источники
Основы создания сетевых приложений
© Составление, Будаев Д.С., Гаврилов А.В., Попов С.Б., 2013
Лекция 8
УНЦ «Инфоком» Самара
2013
План лекции
Протоколы транспортного уровня
Сокеты
Использование сокетов на Java
Класс URL и его использование
2
Модель OSI
Уровень приложений
Уровень представления
Сеансовый уровень
Транспортный уровень
Сетевой уровень
Уровень соединения
Физический уровень
(layer 7, data) (layer 6, data) (layer 5, data)
(layer 4, segment) (layer 3, packet) (layer 2, frame) (layer 1, bit)
3
Инкапсуляция пакета
Уровень
приложений
Уровень
представления
Сеансовый
уровень
Транспортный
уровень
Сетевой
уровень
Уровень
соединения
Физический
уровень
data 7
data 6
data 5
data 4
data 3
|
data |
|
|
|
|
2 |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
data |
7 |
6 |
|
5 |
4 |
3 |
|
2 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 служебная информация
data полезные данные
4
Передача сообщения по сети
Сообщение состоит из заголовка и данных
Для каждого следующего уровня сообщение предыдущего уровня представляется как единое целое
На физическом уровне сообщение содержит информацию всех семи уровней, кодируется и передается получателю
5
Transmission Control Protocol
TCP – основанный на соединениях протокол, обеспечивающий надежную передачу данных между двумя компьютерами, с сохранением порядка следования данных
Используется в: HTTP, FTP, Telnet и др.
6
User Datagram Protocol
UDP – не основанный на соединениях протокол, реализующий пересылку независимых пакетов данных, называемых дейтаграммами, от одного компьютера к другому без гарантии их доставки
7
Основные характеристики TCP и UDP
TCP |
UDP |
Для работы устанавливает |
Работает без установления |
соединение |
соединения |
Гарантированная доставка |
Гарантий доставки нет |
Передача сообщения |
Передает сообщения целиком |
отдельными сегментами |
в виде датаграмм |
При получении сообщение |
Принимаемые сообщения не |
собирается из сегментов |
объединяются |
Пересылает заново |
Подтверждений о доставке |
потерянные сегменты |
нет |
Контроль потока сегментов |
Без контроля потока |
|
датаграмм |
8
Модель «Клиент-сервер»
Порядок работы
Каждая из сторон виртуального соединения называется «сокет» (socket)
Приложение-сервер инициализируется при запуске и далее бездействует, ожидая поступления запроса от клиента
Процесс-клиент посылает запрос на установление соединения с сервером, требуя выполнить для него определенную функцию
Виды приложений-серверов
Сервер последовательной обработки запросов
Сервер параллельной обработки запросов
9
Понятие порта
Компьютер (обычно) имеет только одно физическое соединение с сетью
Соединение описывается, например, IP- адресом (32 бита на нынешний момент)
Как различать информацию для различных приложений?
10