Slide 1

Slide 1 text

This is your spooky presentation title

Slide 2

Slide 2 text

TCP/IP: what the hell is this?

Slide 3

Slide 3 text

INTRODUCTION Основы основ

Slide 4

Slide 4 text

В чем, собственно, сложность?

Slide 5

Slide 5 text

Сложности сетевого взаимодействия  Разнообразие устройств  Многозадачность каждого устройства  Непредсказуемость среды передачи  Угрозы безопасности  (впиши своё)

Slide 6

Slide 6 text

ДЕЛЕНИЕ НА УРОВНИ - ОСНОВА УСПЕХА ДЕКОМПОЗИЦИИ

Slide 7

Slide 7 text

OSI Open System Interconnection Справочная модель сетевого взаимодействия

Slide 8

Slide 8 text

OSI model  Создавалась 7 лет: с 1977 по 1984 годы  Описывает 7 уровней взаимодействия  Не содержит описаний реализации протоколов  Каждый уровень добавляет заголовки

Slide 9

Slide 9 text

7 LEVELS OF OSI MODEL 1. Прикладной 2. Представления 3. Сеансовый 4. Транспортный 5. Сетевой 6. Канальный 7. Физический

Slide 10

Slide 10 text

OSI terminology  Уровень – единица декомпозиции сетевого стека  Протокол – язык общения между одинаковыми уровнями на одном этаже  Интерфейс – язык общения между разными уровнями на соседних этажах

Slide 11

Slide 11 text

Разница между интерфейсом и протоколом

Slide 12

Slide 12 text

Инкапсуляция заголовков и передача данных в OSI

Slide 13

Slide 13 text

TCP/IP Популярнейшая имплементация модели OSI

Slide 14

Slide 14 text

REALITY IS DIFFERENT Даже самая продуманная теоретическая модель может оказаться бессильной перед реальной практикой

Slide 15

Slide 15 text

 Самый распространенный сетевой стек на Земле  Включает только 4 уровня:  Прикладной  Транспортный  Сетевой  Сетевых интерфейсов (физический) TCP/IP: 45+ YEARS OF SCALABILITY Не регламентирует конкретные протоколы

Slide 16

Slide 16 text

Разница между уровнями: TCP/IP vs OSI

Slide 17

Slide 17 text

TCP/IP: ADDRESSES  В TCP/IP используется 3 вида адресов:  Локальные (аппаратные, MAC)  Сетевые (IP)  Доменные (символьные, DNS) ARP DNS

Slide 18

Slide 18 text

TCP/IP ADDRESS RESOLUTION

Slide 19

Slide 19 text

TCP/IP TERMINOLOGY

Slide 20

Slide 20 text

IP protocol Основной житель сетевого уровня TCP/IP

Slide 21

Slide 21 text

“Система адресации, не зависящая от способов адресации узлов в отдельных сетях”

Slide 22

Slide 22 text

 В каждом IP-пакете 2 IP-адреса: получателя и отправителя  IP-адрес – адрес сетевого интерфейса, а не всего узла  В каждом IP-адресе 32 бита (если это не IPv6)  Разбиение на 4 байта условно и делается для удобства  Реально в адресе всего 2 части: номер сети и номер узла  Между частями нет универсальной границы IP ADDRESS (192.168.0.1)

Slide 23

Slide 23 text

 Фиксированная граница  Маска подсети (применяется к адресу через AND): 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0  Классы подсетей (по первым битам адреса):  Индивидуальные: A, B, C  Групповые: D  Зарезервированные: E Способы разбиения адреса на номер сети и узла

Slide 24

Slide 24 text

Особые адреса IP 0.0.0.0 Алиас для всех сетевых адресов узла, но только при прослушивании. 255.255.255.255 Широковещательный адрес. Соответствует отправке всем узлам сети. 127.x.x.x Группа петлевых адресов. Соответствует отправке самому себе.

Slide 25

Slide 25 text

Вручную Администратор в настройках каждого сетевого интерфейса прописывает его IP и другие параметры. Способы назначения сетевых адресов Автоматически Сетевой интерфейс сам получает IP и другие параметры из сети по протоколу DHCP.

Slide 26

Slide 26 text

DOMAIN NAME SERVICE Преобразует доменные адреса (DNS) в сетевые адреса (IP)

Slide 27

Slide 27 text

DNS серверы составляют иерархию  На каждом узле есть файл hosts:  %SYSTEM32%/drivers/etc/hosts  /etc/hosts  Пример содержимого файла hosts: # 127.0.0.1 localhost 127.0.0.1 megacorp

Slide 28

Slide 28 text

DNS клиенты встроены в каждую ОС  Называются «резольверами»  Имеют собственный кэш  Не требуют явного вызова из прикладного кода

Slide 29

Slide 29 text

DNS протокол  В качестве транспорта обычно использует UDP  За службой DNS зарезервирован порт 53  Может заполняться как по запросу, так и в фоне  Основная утилита: nslookup

Slide 30

Slide 30 text

ICMP is your friend Протокол сетевого уровня стека TCP/IP

Slide 31

Slide 31 text

ping Проверяет сетевую доступность узла путем отправки специального эхо- запроса. Не проверяет доступность TCP-портов. ICMP призван сообщать о проблемах на пути IP-пакета tracert/traceroute Прокладывает маршрут к целевому узлу путем последовательного увеличения TTL сетевых пакетов.

Slide 32

Slide 32 text

Системные утилиты ping & tracert в действии

Slide 33

Slide 33 text

ICMP протокол зачастую запрещён  Некоторые известные атаки посредством ICMP:  Перенаправление трафика  Smurf  Ping Flood  Поэтому проверять нужно через ещё и через telnet

Slide 34

Slide 34 text

НЕ СПИ - ЗАМЁРЗНЕШЬ

Slide 35

Slide 35 text

IP version 6 От создателей IPv4

Slide 36

Slide 36 text

fe80::250:56ff:fe83:5bde Пример адреса в IPv6. Жуть, не правда ли? 127.0.0.1 <=> ::1

Slide 37

Slide 37 text

Системные утилиты ipconfig & ifconfig в действии

Slide 38

Slide 38 text

TCP protocol Основной житель транспортного уровня TCP/IP

Slide 39

Slide 39 text

Порт – способ мультиплексирования процессов на узле  Позволяет разруливать трафик разных процессов на одном хосте  Может быть либо входящим, либо исходящим  У TCP и UDP раздельные множества портов  Нумеруется от 0 до 65 535:  От 0 до 1023 – фиксированные  От 1024 до 65 535 – динамические

Slide 40

Slide 40 text

Некоторые фиксированные порты  80 – HTTP  443 – HTTPS  53 – DNS  20-21 – FTP  35 – Delta Force

Slide 41

Slide 41 text

Сокет – связка порта и IP-адреса  Socket (Connect) Timeout Exception Это когда ответный сетевой пакет не получен. Чаще всего значит, что к узлу нет доступа.  Connection Refused Это когда узел сознательно отвергает сетевой пакет. Чаще всего значит, что доступ есть, но запрашиваемый порт никем не слушается.

Slide 42

Slide 42 text

Transport Control Protocol Он же TCP. Основной транспортный протокол WWW (по мнению моей бабушки)

Slide 43

Slide 43 text

Transport Control Protocol (TCP)  Поддерживает логическое соединение (SYN/ACK)  Обеспечивает гарантированную доставку данных  Оперирует сегментами, нарезанными из потока байтов

Slide 44

Slide 44 text

Transport Control Protocol (TCP)  Соединения обходятся дорого по ресурсам узла:  буферы/таймеры/счетчики  В каждом соединении участвуют только 2 узла (дуплекс)  На одном порту может быть много соединений  Мультиплексирование работает на основе пар сокетов

Slide 45

Slide 45 text

Системная утилита telnet в действии

Slide 46

Slide 46 text

Above TCP/IP Адресация на прикладном уровне

Slide 47

Slide 47 text

URI Идентификатор ресурса. Указывает, как называется ресурс. Но не обязан сообщать, где ресурс находится. Пример: myfile.txt Ресурсы в сети обозначаются с помощью URI & URL URL Локатор ресурса. Указывает не только имя ресурса, но и где ресурс находится. Является подмножеством URI.

Slide 48

Slide 48 text

Схема составления URI

Slide 49

Slide 49 text

Примеры URI  https://ru.wikipedia.org:443/wiki/URI  ftp://ftp.is.co.za/rfc/rfc1808.txt  file://C:\UserName.HostName\Projects\URI.xml  ldap://[2001:db8::7]/c=GB?objectClass?one  mailto:[email protected]  tel:+1-816-555-1212

Slide 50

Slide 50 text

Как правильно читать URL? http://angara.ftc.ru:8081/artifactory/home.html?id=1&v=2 1. Адрес хоста – angara.ftc.ru 2. Порт – 8081 3. Протокол – http 4. Путь к ресурсу – artifactory/home.html 5. Параметры – id=1&v=2

Slide 51

Slide 51 text

CONCLUSION Краткая суть предыдущих 50 слайдов

Slide 52

Slide 52 text

Резюме  Сетевое взаимодействие имеет несколько уровней  На каждом уровне работают свои протоколы  Понять, на каком уровне сетевая проблема – залог успеха в её решении

Slide 53

Slide 53 text

Happy Halloween! Есть вопросы? Задавайте Слайды: https://www.slidescarnival.com/halloween-2017-free-presentation-template/2072 Картинки: https://unsplash.com/