Принципы работы в сети. Сетевая модель

Содержание

Слайд 2

Сетевая модель Для единого представления данных в сетях с неоднородными устройствами

Сетевая модель

Для единого представления данных в сетях с неоднородными устройствами и

программным обеспечением международная организация по стандартам ISO (International Standardization Organization) разработала базовую модель связи открытых систем OSI (Open System Interconnection)
Слайд 3

Сетевая модель OSI

Сетевая модель OSI

Слайд 4

Сетевое приложение Вся сеть состоит из отдельных элементов - хостов, которые

Сетевое приложение

Вся сеть состоит из отдельных элементов - хостов, которые представляют

собой компьютеры и другие подключенные устройства. Между собой они соединены каналами связи (кабели Ethernet, Wi-Fi и т.д.) и маршрутизаторами. Маршрутизаторы объединяют компьютеры в подсети и контролируют передачу данных между ними.
Слайд 5

Сетевое приложение Для взаимодействия компьютеры применяют протоколы. Протокол представляет собой соглашения

Сетевое приложение

Для взаимодействия компьютеры применяют протоколы.
Протокол представляет собой соглашения о том,

как пакеты данных будут передаваться по каналам коммуникации.
Слайд 6

Сетевое приложение Существует множество различных протоколов. Протоколы, которые используются для передачи

Сетевое приложение

Существует множество различных протоколов. Протоколы, которые используются для передачи данных

по сети, составляют семейство протоколов TCP/IP. Основные из них: Internet Protocol (IP), Transmission Control Protocol (TCP) и User Datagram Protocol (UDP).
Слайд 7

Сетевое приложение Существует множество различных протоколов. Протоколы, которые используются для передачи

Сетевое приложение

Существует множество различных протоколов. Протоколы, которые используются для передачи данных

по сети, составляют семейство протоколов TCP/IP. Основные из них: Internet Protocol (IP), Transmission Control Protocol (TCP) и User Datagram Protocol (UDP).
Слайд 8

Условная схема работы сетевого приложения

Условная схема работы сетевого приложения

Слайд 9

Сетевое приложение IP представляет сетевой уровень. Он использует нижележащие уровни, которые

Сетевое приложение

IP представляет сетевой уровень. Он использует нижележащие уровни, которые представляют

физические каналы коммуникации - кабели Ethernet и т.д., для передачи пакетов с данными другому хосту.
Выше IP располагается транспортный уровень, который образуют протоколы TCP и UDP.
Слайд 10

Протоколы Протоколы используют определенные порты для передачи данных. TCP позволяет отследить

Протоколы

Протоколы используют определенные порты для передачи данных.
TCP позволяет отследить потерю

пакетов и их дублирование при передаче.
UDP подобного не позволяет сделать и нацелен на простую передачу данных.
Слайд 11

Сокеты Приложение взаимодействует с уровнем TCP / UDP не напрямую, а

Сокеты

Приложение взаимодействует с уровнем TCP / UDP не напрямую, а через

специальный API, который предоставляют сокеты.
Т.е. сокеты – это интерфейс для создания сетевых приложений, который опирается на встроенные возможности операционной системы.
Слайд 12

Виды сокетов потоковые сокеты (stream socket) дейтаграммные сокеты (datagram socket). Потоковые

Виды сокетов

потоковые сокеты (stream socket)
дейтаграммные сокеты (datagram socket).
Потоковые сокеты

используют протокол TCP, дейтаграммные - протокол UDP.
Слайд 13

Службы DNS выполняют сопоставление между интернет-адресами в формате IPv4 или IPv6

Службы DNS

выполняют сопоставление между интернет-адресами в формате IPv4 или IPv6 и

доменными названиями.
Пример:
"www.microsoft.com", ему соответствует адрес в формате IPv4 2.23.143.150
Слайд 14

Порт Кроме адреса при сетевых взаимодействиях используются порты. Порт представляет 16-битное

Порт

Кроме адреса при сетевых взаимодействиях используются порты. Порт представляет 16-битное число в

диапазоне от 1 до 65 535. Использование портов позволяет разграничить несколько запущенных приложений на одном хосте.
Слайд 15

IPAddres свойсва и методы Метод Parse(): преобразует строковое представление адреса в

IPAddres свойсва и методы

Метод Parse(): преобразует строковое представление адреса в IPAddress
IPAddress ip

= IPAddress.Parse("127.0.0.1"); // ip указывает на локальный адрес
Статическое свойство Loopback: возвращает объект IPAddress для адреса 127.0.0.1. Аналогично вышеприведенному коду
Статическое свойство Any: возвращает объект IPAddress для адреса 0.0.0.0
Статическое свойство Broadcast: возвращает объект IPAddress для адреса 255.255.255.255
Слайд 16

IPHostEntry Также для получения адреса в сети используется класс IPHostEntry. Он

IPHostEntry

Также для получения адреса в сети используется класс IPHostEntry. Он содержит информацию

об определенном компьютере-хосте.
С помощью свойства HostName этот класс возвращает имя хоста, а с помощью свойства AddressList - все ip-адреса хоста, так как один компьютер может иметь в сети несколько ip-адресов.
Для взаимодействия с dns-сервером и получения ip-адреса применяется класс Dns. Для получения информации о хосте компьютера и его адресах у него имеется метод GetHostEntry()
Слайд 17

Пример

Пример

Слайд 18

Загрузка файлов WebClient Самый простой способ загрузки предоставляет метод DownloadFile(). Например,

Загрузка файлов WebClient

Самый простой способ загрузки предоставляет метод DownloadFile(). Например, загрузим файл

с какого-нибудь сайта:
WebClient client = new WebClient();
client.DownloadFile("http://somesite.com/book.pdf", "myBook.pdf");
Console.WriteLine("Файл загружен");
Слайд 19

Загрузка файлов WebClient

Загрузка файлов WebClient

Слайд 20

Отправка запросов WebRequest и WebResponse Класс WebRequest служит для отправки запроса.

Отправка запросов WebRequest и WebResponse 

Класс WebRequest служит для отправки запроса.
Класс

WebResponse  служит для получения ответа.
Слайд 21

Отправка запросов WebRequest и WebResponse Принцип работы сводится к Создание объекта

Отправка запросов WebRequest и WebResponse 

Принцип работы сводится к
Создание объекта WebRequest с

помощью метода Create(), в который передается адрес ресурса с виде строки или объекта Uri
Отправка запроса и получение ответа
Получение потока ответа и манипуляции с ним