1 курс Сети Часть 1

32
1 курс Сети Часть 1 М.М. Степанова, каф. вычислительной физики, 2012

Upload: arden-glover

Post on 15-Mar-2016

43 views

Category:

Documents


0 download

DESCRIPTION

1 курс Сети Часть 1. М.М. Степанова, каф. вычислительной физики, 2012. Литература:. Сидни Фейт. TCP/IP. 2- е изд. – М : Лори , 2003. Т.Ли, Дж.Дэвис. Microsoft Windows 2000.TCP/IP. Протоколы и службы.-М : ЭКОМ, 2003 Мэтью Ногл . TCP / IP . Иллюстрированный учебник. М: ДМК Пресс, 2001 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 1 курс  Сети  Часть 1

1 курс Сети

Часть 1

М.М. Степанова,каф. вычислительной физики,

2012

Page 2: 1 курс  Сети  Часть 1

Литература:

1. Сидни Фейт. TCP/IP. 2-е изд. – М:Лори, 2003.2. Т.Ли, Дж.Дэвис. Microsoft Windows 2000.TCP/IP.Протоколы и

службы.-М:ЭКОМ, 20033. Мэтью Ногл. TCP/IP. Иллюстрированный учебник. М: ДМК Пресс,

2001 4. В.Г. Олифер, Н.А. Олифер. Компьютерные сети. Принципы,

технологии, протоколы. 4 изд. - СПб.:Питер, 2010 5. Межсетевое взаимодействие. Ресурсы Microsoft Windows2000

Server– М:2001 6. Сети TCP/IP. Ресурсы Microsoft Windows 2000 Server. – М:20017. Стивенс Р. Протоколы TCP/IP. – СПб:БХВ, 2003

http://www.protocols.ruhttp://book.itep.ru http://www.citforum.ru/nets/ip/contents.shtml Введение в IP-сети

Page 3: 1 курс  Сети  Часть 1

Сеть – совокупность узлов, объединенных линиями связи

Основное назначение: обеспечение пользователям доступа к разделяемым ресурсам

всех компьютеров, объединенных в сеть

Современные сети – логический результат эволюции компьютерных и телекоммуникационных технологий.

Будущее – слияние не только технолгий WAN (Wide Are Network) и LAN(Local Area Network), но и любых информационных сетей – вычислительных, телефонных, телевизионных..

Введение

Page 4: 1 курс  Сети  Часть 1

Немного истории Интернет• 1961 Leonard Kleinrock – статья по технологии коммутации пакетов

• 1969 в США создана первая сеть ARPANET- интерактивная работа пользователя с удаленным узлом- передача файлов между узлами- электронная почта- протокол NCP(NetworkControlProgram)

• 1970 протокол TCP, Vinton Cerf & Bob KahnARPANET полностью переведена на 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/

Page 5: 1 курс  Сети  Часть 1

Организация инфраструктуры Интернет

Internet Backbone Maps http://www.nthelp.com/maps.htm

С технической точки зрения ИНТЕРНЕТ - это объединение компьютерных сетей, которые работают по различным протоколам и используют для передачи данных все доступные типы линий связи - от телефонных до оптоволокна и спутниковых каналов.

Структура: магистральная сеть (core backbone network) + автономные системы (autonomous systems, AS)

Page 6: 1 курс  Сети  Часть 1

Требования к современным сетям

Производительность - время реакции (отклика на запрос) - пропускная способность (бит/с, pkt/s) Надежность

- интенсивность отказов и время востановления- отказоустойчивость в экстремальных условиях

Расширяемость и масштабируемостьПоддержка разных видов трафикаУправляемостьБезопасность

Цель: обеспечение пользователям доступа к разделяемым ресурсам всех компьютеров, объединенных в сеть

Page 7: 1 курс  Сети  Часть 1

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.

Стандарты – документы, содержащие технические спецификацииили другие точные критерии, которые определяют, как должен быть разработан программный или аппаратный продукт

Page 8: 1 курс  Сети  Часть 1

Документы 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.

Интернет – сеть с открытыми стандартами

Page 9: 1 курс  Сети  Часть 1

Сетевое взаимодействие:процессы + хосты + сети

=> Нужна декомпозиция на подзадачи и реализация отдельных модулей (уровней).

Конечные объекты, между которыми происходит взаимодействие по сети – процессы (или программы), работающие на разных узлах. Чтобы организовать связь двух процессов, необходимо сформировать язык их общения и определить согласованный набор правил взаимодействия (протокол). Процессы выполняются на узлах (хостах), подключенных к сети, которые могут быть расположенных далеко друг от друга. Для доставки данных между узлами нужно обеспечить единую адресацию узлов и маршрутизацию пакетов. А узлы должны выполнять доставку нужному процессу. Узлы связаны сетью, причем могут иметь подключение к сегментам с разной средой передачи. На уровне каждого физического сегмента требуется обеспечить передачу пакетов между физическими интерфейсами узлов. В целом задача организации надежной связи крайне сложна, т.к. сети содержат много различных промежуточных компонент, кроме того возможны коммуникационные проблемы (сбои, перегрузки и т.п.).

Page 10: 1 курс  Сети  Часть 1

Общая концепция модели многоуровневого сетевого взаимодействия

Каждый уровень несет собственную функциональную нагрузку. Для каждого уровня определены:

• Service: что делает уровень?- функции уровня

• Service interface: как получить доступ к уровню? - интерфейс для выше/ниже лежащих уровней

• Protocol (peer interface): как взаимодействуют одинаковые уровни разных узлов?- набор правил и форматов сообщений, которые регулируют обмен данными между двумя одинаковыми уровнями

Process

Transport

Network

Data Link

Process

Transport

Network

Data Link

Interface

Peer-to-peerProtocols Согласованный набор протоколов

разных уровней, достаточный для организации межсетевого взаимодействия, называется стеком протоколов

Page 11: 1 курс  Сети  Часть 1

OSI (Open Systems Interconnect) Reference Model (ISO 7498)

Application

Presentation

Session

Transport

Network

Data Link

Physical

Application

Presentation

Session

Transport

Network

Data Link

Physical

Data

Physical media

• Модель OSI – опорная база для классификации и сопоставления стеков протоколов. • Разработана в 1984г Международной Организацией по стандартам (ISO).• Имеет 7 уровней. Уровни могут быть реализованы в программном, программно-аппаратном и аппаратном виде.• Инкапсуляция: При продвижении данных каждый уровень формирует пакет, состоящий из данных вышележащего уровня + свой заголовок.• Обработка: Обратная процедура – каждый уровень обрабатывает и удаляет свой заголовок и передает пакет вышележащему уровню.

Page 12: 1 курс  Сети  Часть 1

Функции уровнейУровень Функции

Application Layer (Прикладной)

протоколы взаимодействия прикладных процессов

Presentation Layer (Преставления)

• обеспечивает согласование представления (форматов, кодировок) данных прикладных процессов; • может выполнять шифрование/дешифрацию и сжатие данных

Session Layer (Сеансовый)

установка, поддержка и закрытие логического сеанса связи между удаленными процессами, поддержка сеанса во время неактивности. */ На практике этот уровень в явном виде реализуется редко.

Transport Layer (Транспортный)

• обеспечивает обмен потоками данных между процессами с требуемойстепенью надежности доставки; • два типа передачи: с предварительной установкой соединения и безустановки соединения

Network Layer (Сетевой)

• служит для образования единой транспортной системы для• сегментов с различными принципами передачи между узлами. • адресация в сети;• маршрутизация и передача дейтаграмм по сети; • фрагментация и сборка передаваемых данных.

Data Link Layer (Канальный)

• обеспечение связи между сетевым ПО и оборудованием;• управление доступом к среде передачи;• передача фреймов по каналу;• обнаружение и коррекция ошибок в канале

Physical (Физический)

• физический интерфейс с каналом передачи; • определяет тип и характеристики среды передачи и сигналов;• режим передачи (симплексный, полудуплескный или дуплексный)

Page 13: 1 курс  Сети  Часть 1

Стек TCP/IP

Media Access ControlEthernet 802.3, Token Ring 802.5, Wireless 802.11, X.25, PPP, etc.

User Datagram Protocol(UDP)

RFC 768~ connectionless transport ~

Transmission Control Protocol(TCP)

RFC 793~ connection-oriented transport ~

Application-Layer Protocols~ such as SNMP, telnet, FTP, HTTP, POP3, etc. ~

Application

Transport

Network

Data Link

ARP

Internet ControlMessaging Protocol

(ICMP)RFC 792

Internet Protocol version 4 (IPv4)RFC 791

RARP

Application

Presentation

Session

Transport

Network

DataLink

Physical

OSI TCP/IP

*/ Уровень доступа к среде передачи (DataLink), как и физический, формально в TCP/IP не регламентируется, но в реализациях стека поддерживаются все популярные технологии.

Page 14: 1 курс  Сети  Часть 1

Инкапсуляция сетевых пакетов

Page 15: 1 курс  Сети  Часть 1

Уровни адресации

3 Адрес транспортного уровня

Port (+ тип протокола tcp/udp) -адресует конкретный удаленный процесс на узле 443/tcp

2 Адрес сетевого уровня

IP узла-получателя-обеспечивает маршрутизацию и передачу в удаленные сети 195.18.70.222

1 Адрес канального уровня

MAC сетевого интерфейса - обеспечивает доставку в рамках физического сегмента (канала)

00:12:e3:7f:34:1a

Для однозначной доставки дейтаграммы требуется:

*/ MAC адрес определяется автоматически на каждом этапе пересылки между шлюзами

Page 16: 1 курс  Сети  Часть 1

Формирование пакета стеком ТСP/IP

+ Ethernet HeaderMAC_dst: 00:e0:f9:23:a8:20MAC_src: 00:12:e3:7f:34:1aType: 0x800(ip)

+ IP HeaderIP_dst: 128.143.71.21IP_src: 10.20.20.12Proto: 0x06(tcp)

+ TCP HeaderPort_dst: 80Port_src: 13298

HTTP DataGET / HTTP/1.1 \r\nHost: www.my.ru..other header lines..

Page 17: 1 курс  Сети  Часть 1

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…

Dump (HEX):

Page 18: 1 курс  Сети  Часть 1

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, а также назначение базовых протоколов прикладного уровня.

Page 19: 1 курс  Сети  Часть 1

Ключевые функции сетевого уровня

Глобальная адресация

Маршрутизация

Фрагментация и сборка пакетов

Все эти функции реализуются в протоколе IPv4

Page 20: 1 курс  Сети  Часть 1

Уникальная адресация узлов допускает связь между конечными станциями:

Выбор пути следования пакета определяется адресом узла назначения. Каждый роутер выполняет маршрутизацию пакетов на основе таблицы

маршрутизации, в которой всем IP-сетям/адресам cопоставлен свой маршрут и интерфейс для передачи.

Introduction to TCP/IP Addresses

HostHost

Company A Company B

Internet

Page 21: 1 курс  Сети  Часть 1

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 . 00101000HEX: C3 . 13 . 1Е . 28

• IP адрес включает net ID и host ID

Page 22: 1 курс  Сети  Часть 1

IP Address Classes

1 – 127

Range of first octet:

128 -191

192-223

224-239

240-247

Page 23: 1 курс  Сети  Часть 1

Special adresses

• network address (адрес сети)

• limited broadcast (пакет с таким адресом назначения должен рассылаться всем

узлам, находящимся в той же сети, что и источник этого пакета)

• broadcast (пакет, имеющий такой адрес рассылается всем узлам сети с

заданным номером)

• Loopback interface: 127.0.0.0 – 127.255.255.255

1 1 1 1 .............................. 1

Network 1 1 1 ................ 1

Network 0 0 0 ................ 0

Page 24: 1 курс  Сети  Часть 1

Broadcast Addresses

172.16.1.0172.16.2.0

172.16.3.0

172.16.4.0

172.16.3.255(Directed broadcast)

255.255.255.255(Local network broadcast) XX

Page 25: 1 курс  Сети  Часть 1

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

Page 26: 1 курс  Сети  Часть 1

NAT: Network Address Translation

Сетевая трансляция адресов – удобный способ обеспечить доступ к Интернет узлам LAN с приватными адресами.

• Обоснование: локальная сеть использует один внешний адрес для работы с внешним миром:

– Нет необходимости в аренде большого количества адресов у провайдера для каждого устройства

– Можно легко переходить на работу с другим провайдером, без переконфигурирования LAN

– Безопасность: устройства внутренней сети не адресуются (не видимы) снаружи.

Page 27: 1 курс  Сети  Часть 1

NAT: Принцип работы

10.0.0.1

10.0.0.2

10.0.0.3

S: 10.0.0.1, 3345D: 128.119.40.186, 80

110.0.0.4

138.76.29.7

1: host 10.0.0.1 sends datagram to 128.119.40, 80

NAT translation tableWAN side addr LAN side addr138.76.29.7, 5001 10.0.0.1, 3345…… ……

S: 128.119.40.186, 80 D: 10.0.0.1, 3345

4

S: 138.76.29.7, 5001D: 128.119.40.186, 80

2

2: NAT routerchanges datagramsource addr from10.0.0.1, 3345 to138.76.29.7, 5001,updates table

S: 128.119.40.186, 80 D: 138.76.29.7, 5001

33: Reply arrives dest. address: 138.76.29.7, 5001

4: NAT routerchanges datagramdest addr from138.76.29.7, 5001 to 10.0.0.1, 3345

Page 28: 1 курс  Сети  Часть 1

Бесклассовая адресация.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

Неизменяемая часть (подсеть)Изменяемая часть (узел) Количество

единиц в маске

Page 29: 1 курс  Сети  Часть 1

Маршрутизация (routing)Для доставки дейтаграммы по назначению обычно требуется передать ее через несколько промежуточных узлов по тому или иному маршруту. Задача определения маршрута решается модулем IP.

Процедура маршрутизации состоит в определении следующего узла в пути следования и пересылке ему дейтаграммы.! Задачу маршрутизации решает каждый узел (не только роутер). Разница между обычным компьютером и роутером лишь в том, что последний может передавать чужие дейтаграммы с одного интерфейса на другой !

Модуль IP, на узле получившем дейтаграмму, анализирует IP-адрес назначения

• если этот адрес совпадает с собственным адресом узла, то дейтаграмма передается на обработку транспортному уровню;

• если адрес чужой, и он не попадает под правила фильтрации (firewall), то просматривается таблица маршрутизации (routing table). Из нее определяется

а) следующий узел следования, которому будет передана дейтаграмма; б) интерфейс, через который она будет отправлена. Далее выясняется MAC-адрес следующего узла (с помощью ARP-протокола) и дейтаграмма передается канальный уровень для отправки.

Page 30: 1 курс  Сети  Часть 1

Обработка дейтаграмм IP-модулем

Page 31: 1 курс  Сети  Часть 1

IP Fragmentation & Reassembly

• Разные сети имеют различный максимальный размер передаваемого блока данных MTU (Max.Transfer Unit). Он определяется средой передачи и технологией канального уровня, которая используется в конкретной сети.

• При передаче из среды с большим MTU в среду с меньшим MTU может потребоваться фрагментация – разбиение исходного пакета на несколько мелких.

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

fragmentation: in: one large datagramout: 3 smaller datagrams

reassembly

MTU

Ethernet Hader

IP Header TCP Header DATA EternetTrailer

MSS

Page 32: 1 курс  Сети  Часть 1

Протокол IPv6• IPv6 – следующее поколение протокола IP.

• Основная мотивация для его создания - 32-битное адресное пространство почти исчерпано.

В IPv6 используются 128-битные адреса, что с избытком закрывает вопрос дефицита адресов

• Дополнительные изменения:

– изменен формат заголовка, что существенно ускоряет обработку и маршрутизацию пакетов;

– не будет использоваться фрагментация пакетов по пути следования – на основании алгоритма Path MTU Discovery отправитель будет изначально выяснять минимальный MTU и отправлять пакеты соответствующего размера;

– Протокол содержит встроенные средства безопасности, а именно в него интегрированы AH и IPSec, что позволяет использовать механизмы аутентификации и шифрования.

См. далее 2-12.ppt