1 курс Сети Часть 1 М.М. Степанова,

advertisement
1 курс
Сети
Часть 1
М.М. Степанова,
каф. вычислительной физики,
2012
Литература:
1. Сидни Фейт. TCP/IP. 2-е изд. – М:Лори, 2003.
2. Т.Ли, Дж.Дэвис. Microsoft Windows 2000.TCP/IP.Протоколы и
службы.-М:ЭКОМ, 2003
3. Мэтью Ногл. TCP/IP. Иллюстрированный учебник. М: ДМК Пресс,
2001
4. В.Г. Олифер, Н.А. Олифер. Компьютерные сети. Принципы,
технологии, протоколы. 4 изд. - СПб.:Питер, 2010
5. Межсетевое взаимодействие. Ресурсы Microsoft Windows2000
Server– М:2001
6. Сети TCP/IP. Ресурсы Microsoft Windows 2000 Server. – М:2001
7. Стивенс Р. Протоколы TCP/IP. – СПб:БХВ, 2003
http://www.protocols.ru
http://book.itep.ru
http://www.citforum.ru/nets/ip/contents.shtml Введение в IP-сети
Введение
Сеть – совокупность узлов, объединенных линиями связи
Основное назначение: обеспечение пользователям доступа к
разделяемым ресурсам всех
компьютеров, объединенных в сеть
Современные сети – логический результат эволюции
компьютерных и телекоммуникационных
технологий.
Будущее – слияние не только технолгий WAN (Wide Are
Network) и LAN(Local Area Network), но и любых
информационных сетей – вычислительных,
телефонных, телевизионных..
Немного истории Интернет
•
1961 Leonard Kleinrock – статья по технологии коммутации пакетов
•
1969 в США создана первая сеть ARPANET
- интерактивная работа пользователя с удаленным узлом
- передача файлов между узлами
- электронная почта
- протокол NCP(NetworkControlProgram)
•
1970 протокол TCP, Vinton Cerf & Bob Kahn
ARPANET полностью переведена на TCP/IP в 1982г.
•
1972 появилась система электронной почты Email, Ray Tomlinson & Larry Roberts
•
1983 – разработана технология Ethernet
•
1984 создана DNS (Domain Name System) –система преобразования IP-адресов в имена
хостов и обратно
•
UC Berkeley implements TCP/IP into Unix 4.2BSD
•
1984 NSFNet – создана сеть Национального научного фонда США -> “Интернет”
В 1990г ARPANET прекратила существование.
•
1989 Tim Berners-Lee at CERN
– Протокол HTTP
– Язык разметки гипертекста HTML
– Опубликована первая web-страница 13 ноября 1990
– Первый web-браузер Mosaic, 1991
•
1998 – папа римский Иоанн Павел II утвердил всемирный День Интернета (30 сентября) :)
Get more info at: http://www.isoc.org/internet/history/
Организация инфраструктуры Интернет
С технической точки зрения ИНТЕРНЕТ - это объединение
компьютерных сетей, которые работают по различным протоколам и
используют для передачи данных все доступные типы линий связи от телефонных до оптоволокна и спутниковых каналов.
Структура: магистральная сеть (core backbone network)
+ автономные системы (autonomous systems, AS)
Internet Backbone Maps http://www.nthelp.com/maps.htm
Требования к современным сетям
Цель: обеспечение пользователям доступа к разделяемым
ресурсам всех компьютеров, объединенных в сеть
Производительность
- время реакции (отклика на запрос)
- пропускная способность (бит/с, pkt/s)
Надежность
- интенсивность отказов и время востановления
- отказоустойчивость в экстремальных условиях
Расширяемость и масштабируемость
Поддержка разных видов трафика
Управляемость
Безопасность
Networking Standards Organizations
Стандарты – документы, содержащие технические спецификации
или другие точные критерии, которые определяют, как должен быть
разработан программный или аппаратный продукт
Организации, которые занимаются разработкой стандартов:
•
ISO (International Organization for Standardization) ассоциация ведущих
национальных организаций разных стран
•
IAB (Internet Architecture Board) технический контроль и координация работ
•
IESG (Internet Engineering Steering Group ) + IETF (Internet Engineering Task
Force) + IRTF (Internet Research Task Force)
•
IEEE (Institute of Electrical and Electronic Engineers) крупнейшее инженернотехническое общество в области электротехники и построения сетей
- 802.3/CSMA/CD, 802.5/Token Ring, 802.2/LLC, etc.
•
EIA (Electronic Industries Alliance ) промышленно-торговая группа
производителей сетевого оборудования
•
TIA (Telecommunications Industry Association) - RS-232,EIA/TIA-568B etc.
Документы RFC
• RFCs – Request For Comments
– Большинство протоколов TCP/IP описаны в документах RFC
– RFC редактируются и утверждаются Internet Engineering Steering
Group (IESG)
– RFC публикуются для интернет-сообщества и свободно доступны
on-line.
http://www.ietf.org/rfc.html
+ http://www.protocols.ru
•
Предварительными версиями документов RFC являются проекты
(drafts), которые в дальнейшем могут быть утверждены в качестве
стандартов. Из тысяч RFC только несколько десятков являются
документами в статусе «стандарт Интернета».
Список всех RFC-стандартов содержится в RFC 3700.
Интернет – сеть с открытыми стандартами
Сетевое взаимодействие:
процессы + хосты + сети
Конечные объекты, между которыми происходит взаимодействие по сети –
процессы (или программы), работающие на разных узлах. Чтобы организовать
связь двух процессов, необходимо сформировать язык их общения и определить
согласованный набор правил взаимодействия (протокол).
Процессы выполняются на узлах (хостах), подключенных к сети, которые могут
быть расположенных далеко друг от друга. Для доставки данных между узлами
нужно обеспечить единую адресацию узлов и маршрутизацию пакетов. А узлы
должны выполнять доставку нужному процессу.
Узлы связаны сетью, причем могут иметь подключение к сегментам с разной
средой передачи. На уровне каждого физического сегмента требуется обеспечить
передачу пакетов между физическими интерфейсами узлов.
В целом задача организации надежной связи крайне сложна, т.к. сети содержат
много различных промежуточных компонент, кроме того возможны
коммуникационные проблемы (сбои, перегрузки и т.п.).
=> Нужна декомпозиция на подзадачи и реализация
отдельных модулей (уровней).
Общая концепция модели многоуровневого
сетевого взаимодействия
Каждый уровень несет собственную функциональную нагрузку.
Для каждого уровня определены:
•
Service: что делает уровень?
- функции уровня
•
Service interface: как получить доступ к уровню?
- интерфейс для выше/ниже лежащих уровней
•
Protocol (peer interface): как взаимодействуют одинаковые уровни разных узлов?
- набор правил и форматов сообщений, которые регулируют обмен данными
между двумя одинаковыми уровнями
Process
Process
Interface
Transport
Transport
Peer-to-peer
Protocols
Network
Network
Data Link
Data Link
Согласованный набор протоколов
разных уровней, достаточный для
организации межсетевого
взаимодействия, называется
стеком протоколов
OSI (Open Systems Interconnect)
Reference Model (ISO 7498)
• Модель OSI – опорная база для классификации и сопоставления стеков протоколов.
• Разработана в 1984г Международной Организацией по стандартам (ISO).
• Имеет 7 уровней. Уровни могут быть реализованы в программном, программноаппаратном и аппаратном виде.
• Инкапсуляция: При продвижении данных каждый уровень формирует пакет,
состоящий из данных вышележащего уровня + свой заголовок.
• Обработка: Обратная процедура – каждый уровень обрабатывает и удаляет свой
заголовок и передает пакет вышележащему уровню.
Data
Application
Application
Presentation
Presentation
Session
Session
Transport
Transport
Network
Network
Data Link
Data Link
Physical
Physical
Physical media
Функции уровней
Уровень
Функции
Application Layer
(Прикладной)
протоколы взаимодействия прикладных процессов
Presentation Layer
(Преставления)
• обеспечивает согласование представления (форматов, кодировок) данных
прикладных процессов;
• может выполнять шифрование/дешифрацию и сжатие данных
Session Layer
(Сеансовый)
установка, поддержка и закрытие логического сеанса связи между
удаленными процессами, поддержка сеанса во время неактивности.
*/ На практике этот уровень в явном виде реализуется редко.
Transport Layer
(Транспортный)
• обеспечивает обмен потоками данных между процессами с требуемой
степенью надежности доставки;
• два типа передачи: с предварительной установкой соединения и без
установки соединения
Network Layer
(Сетевой)
• служит для образования единой транспортной системы для
• сегментов с различными принципами передачи между узлами.
• адресация в сети;
• маршрутизация и передача дейтаграмм по сети;
• фрагментация и сборка передаваемых данных.
Data Link Layer
(Канальный)
• обеспечение связи между сетевым ПО и оборудованием;
• управление доступом к среде передачи;
• передача фреймов по каналу;
• обнаружение и коррекция ошибок в канале
Physical
(Физический)
• физический интерфейс с каналом передачи;
• определяет тип и характеристики среды передачи и сигналов;
• режим передачи (симплексный, полудуплескный или дуплексный)
Стек TCP/IP
OSI
TCP/IP
Application
Presentation
Application-Layer Protocols
Application
~ such as SNMP, telnet, FTP, HTTP, POP3, etc. ~
Session
Transport
Network
User Datagram Protocol
Transmission Control Protocol
(UDP)
(TCP)
RFC 768
~ connectionless transport ~
RFC 793
~ connection-oriented transport ~
Transport
Internet Protocol version 4 (IPv4)
Network
RFC 791
ARP
DataLink
Data Link
Internet Control
Messaging Protocol
(ICMP)
RFC 792
RARP
Media Access Control
Ethernet 802.3, Token Ring 802.5, Wireless 802.11, X.25, PPP, etc.
Physical
*/ Уровень доступа к среде передачи (DataLink), как и физический,
формально в TCP/IP не регламентируется, но в реализациях стека
поддерживаются все популярные технологии.
Инкапсуляция сетевых пакетов
Уровни адресации
Для однозначной доставки дейтаграммы требуется:
3
Адрес
Port (+ тип протокола tcp/udp)
транспортного -адресует конкретный удаленный процесс
уровня
на узле
443/tcp
2
Адрес
сетевого
уровня
IP узла-получателя
-обеспечивает маршрутизацию и передачу
в удаленные сети
195.18.70.222
1
Адрес
канального
уровня
MAC сетевого интерфейса
- обеспечивает доставку в рамках физического
сегмента (канала)
00:12:e3:7f:34:1a
*/ MAC адрес определяется автоматически на каждом
этапе пересылки между шлюзами
Формирование пакета стеком ТСP/IP
HTTP Data
GET / HTTP/1.1 \r\n
Host: www.my.ru
..other header lines..
+ TCP Header
Port_dst: 80
Port_src: 13298
+ IP Header
IP_dst: 128.143.71.21
IP_src: 10.20.20.12
Proto: 0x06(tcp)
+ Ethernet Header
MAC_dst: 00:e0:f9:23:a8:20
MAC_src: 00:12:e3:7f:34:1a
Type: 0x800(ip)
Как выглядит реальный пакет?
Dump (HEX):
00e0 f923 a820 00a0 2471 e444 0800 4500 002c 9d08 4000 8006 8bff 808f 8990
808f 4715 065b 0050 0009 465b 0000 0000 6002 2000 598e 0000 0204 05b4
Гораздо интереснее посмотреть живьем, например,
анализатором трафика Wireshark…
Next
О средах передачи, типах сетевого оборудования, технологиях канального уровня
LAN (Еthernet и др.) см. презентации
2.2-12-Ethernet+TokenRing.ppt
2.1-12-Media+HW.ppt
На канальном уровне обеспечивается передача между сетевыми
интерфейсами узлов, находящихся в одном физическом сегменте сети.
Для адресации интерфейса используется его 48-битный MAC-адрес.
Если пакет предназначен узлу, находящемуся в том же сегменте,
то используется MAC этого узла. Если пакет предназначен узлу из другой
сети, то пакет должен быть передан на маршрутизатор – соответственно,
используется MAC интерфейса маршрутизатора.
Отображение IP-адресов на MAC-адреса осуществляется с помощью
протокола ARP. ( Не обязательно, но при желании с деталями работы ARP можно
ознакомиться по ARP-2011-1.ppt )
Далее кратко рассматриваются основы работы сетевого и
транспортного уровня стека TCP/IP, а также назначение базовых
протоколов прикладного уровня.
Ключевые функции сетевого уровня
 Глобальная адресация
 Маршрутизация
 Фрагментация и сборка пакетов
Все эти функции реализуются в протоколе IPv4
Introduction to TCP/IP Addresses
Host
Host
Internet
Company A
Company B
Уникальная адресация узлов допускает связь между
конечными станциями:
 Выбор пути следования пакета определяется адресом узла назначения.
 Каждый роутер выполняет маршрутизацию пакетов на основе таблицы
маршрутизации, в которой всем IP-сетям/адресам cопоставлен свой
маршрут и интерфейс для передачи.
IP Addresses
• IP адрес – логический адрес (не физический, как MAC!)
• Каждый узел должен иметь уникальный IP адрес
• Выделением IP адресов в глобальном адресном пространстве занимается
ICАNN (Internet Corporation for Assigned Names and Numbers), в регионах RIR
(Regional Internet Registry, существует 5 штук).
Россия относится к региону RIPE NCC - независимая некоммерческая
организация для Европы, которая поддерживает инфраструктуру Интернет
посредством технической координации.
Подробнее http://ipgeobase.ru/Help.html
Адрес IPv4: 32 bits
Decimal:
195. 19 . 40 . 56
Binary: 11000011 . 00010011 . 00011110 . 00101000
HEX:
C3 . 13 . 1Е . 28
• IP адрес включает net ID и host ID
IP Address Classes
Range of
first octet:
1 – 127
128 -191
192-223
224-239
240-247
Special adresses
• network address
Network
0 0 0 ................ 0
(адрес сети)
• limited broadcast
1 1 1 1 .............................. 1
(пакет с таким адресом назначения должен рассылаться всем
узлам, находящимся в той же сети, что и источник этого пакета)
• broadcast
Network
1 1 1 ................ 1
(пакет, имеющий такой адрес рассылается всем узлам сети с
заданным номером)
• Loopback interface:
127.0.0.0 – 127.255.255.255
Broadcast Addresses
172.16.3.0
172.16.4.0
172.16.1.0
172.16.2.0
172.16.3.255
(Directed broadcast)
255.255.255.255
(Local network broadcast)
X
Private networks
Эти адреса не маршрутизируются на уровне Интернет и предназначены
для использования только в пределах локальной сети:
A: 10.0.0.0 - 10.255.255.255
B: 172.16.0.0 – 172.31.255.255
C: 192.168.0.0 – 192.168.255.255
Эти адреса зарезервированы для автоматического назначения
динамических приватных адресов (DHCP):
169.254.0.0 – 169.254.255.255
NAT: Network Address Translation
Сетевая трансляция адресов – удобный способ обеспечить доступ
к Интернет узлам LAN с приватными адресами.
• Обоснование: локальная сеть использует один внешний адрес для
работы с внешним миром:
– Нет необходимости в аренде большого количества адресов у
провайдера для каждого устройства
– Можно легко переходить на работу с другим провайдером, без
переконфигурирования LAN
– Безопасность: устройства внутренней сети не адресуются (не
видимы) снаружи.
NAT: Принцип работы
NAT translation table
WAN side addr
LAN side addr
1: host 10.0.0.1
2: NAT router
sends datagram to
changes datagram
138.76.29.7, 5001 10.0.0.1, 3345
128.119.40, 80
source addr from
……
……
10.0.0.1, 3345 to
138.76.29.7, 5001,
S: 10.0.0.1, 3345
updates table
D: 128.119.40.186, 80
2
S: 138.76.29.7, 5001
D: 128.119.40.186, 80
138.76.29.7
S: 128.119.40.186, 80
D: 138.76.29.7, 5001
3: Reply arrives
dest. address:
138.76.29.7, 5001
3
1
10.0.0.1
10.0.0.4
S: 128.119.40.186, 80
D: 10.0.0.1, 3345
4
10.0.0.2
10.0.0.3
4: NAT router
changes datagram
dest addr from
138.76.29.7, 5001 to 10.0.0.1, 3345
Бесклассовая адресация.
Subnetting. Mask.
 Причина перехода к бесклассовой адресации – неравномерность
распределения IP-адресов. Потребность в небольших сетях (класса С)
оказалась гораздо больше, чем предполагалось.
 Граница подсети может приходиться на любой из 32 бит в IP адресе
 Задается маской подсети
В маске сетевая часть адреса заполнена единицами, узловая нулями,
пример: 255 . 255 . 255 . 224
Другой способ записи: адрес_сети / число_бит_net_ID,
пример: 140.192 . 9. 63 /27
Маска: 11111111 11111111 11111111 1111 0000
Неизменяемая часть (подсеть)
Изменяемая
часть (узел)
<=> в десятичной форме: 255.255.255.240
<=>
Количество
единиц в маске
/ 28
Маршрутизация (routing)
Для доставки дейтаграммы по назначению обычно требуется передать ее
через несколько промежуточных узлов по тому или иному маршруту. Задача
определения маршрута решается модулем IP.
Процедура маршрутизации состоит в определении следующего узла в
пути следования и пересылке ему дейтаграммы.
! Задачу маршрутизации решает каждый узел (не только роутер). Разница между обычным
компьютером и роутером лишь в том, что последний может передавать
чужие
дейтаграммы с одного интерфейса на другой !
Модуль IP, на узле получившем дейтаграмму, анализирует IP-адрес назначения
• если этот адрес совпадает с собственным адресом узла, то дейтаграмма
передается на обработку транспортному уровню;
• если адрес чужой, и он не попадает под правила фильтрации (firewall), то
просматривается таблица маршрутизации (routing table). Из нее определяется
а) следующий узел следования, которому будет передана дейтаграмма;
интерфейс, через который она будет отправлена.
б)
Далее выясняется MAC-адрес следующего узла (с помощью ARP-протокола)
и дейтаграмма передается канальный уровень для отправки.
Обработка дейтаграмм IP-модулем
IP Fragmentation & Reassembly
MTU
Ethernet
Hader
IP Header
TCP Header
DATA
Eternet
Trailer
MSS
•
Разные сети имеют различный
максимальный размер передаваемого
блока данных MTU (Max.Transfer Unit).
Он определяется средой передачи и
технологией канального уровня, которая
используется в конкретной сети.
•
При передаче из среды с большим MTU
в среду с меньшим MTU может
потребоваться фрагментация –
разбиение исходного пакета на
несколько мелких.
•
Такие фрагменты передаются дальше
независимо, сборка осуществляется на
узле-получателе.
fragmentation:
in: one large datagram
out: 3 smaller datagrams
reassembly
Протокол IPv6
•
IPv6 – следующее поколение протокола IP.
•
Основная мотивация для его создания - 32-битное адресное
пространство почти исчерпано.
В IPv6 используются 128-битные адреса, что с избытком закрывает
вопрос дефицита адресов
•
Дополнительные изменения:
– изменен формат заголовка, что существенно ускоряет обработку и
маршрутизацию пакетов;
– не будет использоваться фрагментация пакетов по пути следования –
на основании алгоритма Path MTU Discovery отправитель будет
изначально выяснять минимальный MTU и отправлять пакеты
соответствующего размера;
– Протокол содержит встроенные средства безопасности, а именно в
него интегрированы AH и IPSec, что позволяет использовать
механизмы аутентификации и шифрования.
См. далее 2-12.ppt
Download