Similar presentations:
Передача_мультисервисного_трафика_в_IP_сетях_20024
1. Передача мультисервисного трафика в IP-сетях
Стек протоколов TCP/IPПроф.В.Ю.Деарт
2. TCP/IP Protocol Stack
Application6
5
Presentation
Session
5
Application
4
4
Transport
3
Network
2
Data Link
Transport
3
Internet
2
Data Link
1
1
Physical
Physical
3. Application Layer Overview
ApplicationTransport
Internet
Data Link
Physical
File Transfer
- TFTP
- FTP
- NFS
- SMTP
Remote Login
- Telnet
- rlogin
Network Management
- SNMP
Name Management
- DNS
4. Transport Layer Overview
ApplicationTransport
Internet
Data Link
Physical
Transmission Control
Protocol (TCP)
ConnectionOriented
User Datagram
Protocol (UDP)
Connectionless
5. Internet Layer Overview
Internet Protocol (IP)Application
Transport
Internet
Internet Control Message
Protocol (ICMP)
Address Resolution
Protocol (ARP)
Data Link
Physical
Reverse Address
Resolution Protocol (RARP)
• OSI network layer corresponds to the
TCP/IP internet layer
6. Структура IP пакета
Версия. Чаше используется версия 40
15
4-bit
ver
4-bit
IHL
TOS
31
16-bit total packet length
flags
3-bit
16-bit identification
TTL
16
Protocol
13-bit Fr offset
Header checksum
Source address
Destination address
Options (+padding)
IHL - IP header length – Длина заголовка
IP. Единица в IHL - 32-битное слово.
Поле состоит из 4х бит =>максимальная
длина заголовка IP 60 байт
TOS - type of service – Тип сервиса
Первые 3 бита образуют подполе
приоритета 4 TOS должен быть равен 0.
Остальные 4 бита TOS:
минимизация задержки
максимизация пропускной
способности
максимизация надежности доставки
минимизация стоимости
Только 1 из этих 4 бит может быть 1
TPL – полная длина пакета в байтах.
Максимальная длина IP пакета 65535.
DATA
IDENTIFICATION – это поле
используется когда IP нуждается в
дефрагментации датаграммы.
Все фрагменты должны иметь
одинаковое значение данного поля.
Продолжение...
7. Структура IP пакета
015
4-bit
ver
4-bit
IHL
TOS
31
16-bit total packet length
flags
3-bit
16-bit identification
TTL
16
Protocol
13-bit Fr offset
Header checksum
Source address
Destination address
Options (+padding)
TTL - time-to-live-время жизни
Предельный срок в течение которого
пакет может пересекаться по сети.Это
поле. Это поле уменьшается каждый раз
при обработке заголовка IP пакета.
Когда поле становится равным 0
датаграмма уничтожается
маршрутизатором и ICMP сообщение
посылается отправителю.
PROTOCOL – поле указывает какому
протоколу верхнего уровня
принадлежит информация в поле
данных пакета.
HEADER CHECKSUM рассчитывается
только по заголовку.
SOURCE и DESTINATION – IP адреса
отправителя и получателя.
DATA
OPTIONS поле переменной длины для
различных опций.Часть из них мы
обсудим позже. В конце поля OPTIONS
должно быть добавлено несколько байт
для выравнивания заголовка пакета по
32х битной границе.
DATA – поле Данных
8. Заголовки пакета IPv4
0…34…7
8 … 15
16 … 18
1. Версия 2. Дл. заг 3. Диф-е сервисы
5. Идентификатор
8. Время жизни
4. Общая длина пакета
6. Флаги
9. Протокол
19 … 31
7. Смещение
10. Контрольная сумма заголовка
11. Адрес источника сообщения
12. Адрес назначения
13. Поле опций
14. Поле опций
9. Поле дифференцированные сервисы DS (1)
• В новых спецификациях протокола IPv4 третье поленазывается дифференцированные сервисы (DS).
Старшие шесть бит поля определяют код
дифференциальных сервисов (DSCP) и
обеспечивают качество обслуживания QoS. Два
младших бита используются для уведомления о
перегрузке сети (ECN). В старых спецификациях это
поле типа сервиса (Type of Service – ToS) длиной 8
бит включает четыре идентификатора:
трехразрядный идентификатор PR и одноразрядные
D, T, R.
10. Поле дифференцированные сервисы DS (2)
• Идентификатор PR определяет тип пакета(нормальный, управляющий и др.) и в соответствие с
этим задает приоритет передаваемого пакета.
Установка 1 в разряде D означает требование
минимизации задержки при передаче пакета;
единица в разряде Т означает требование
максимальной пропускной способности; установка 1
в разряде R требует обеспечение максимальной
надежности.
11. Явное уведомление о перегрузке
0
1
2
3
4
5
6
7
• +-----+-----+-----+-----+-----+-----+-----+-----+
• | Поле DS, DSCP
| Поле ECN |
• +-----+-----+-----+-----+-----+-----+-----+-----+
• Маркер ECT (ECN-capable transport): значения 01 или 10 используется источником для информирования приемника о
поддержке ECN;
• Маркер CE (congestion experienced): значение 11 - используется
промежуточным маршрутизатором для информирования
приемника о перегрузке.
12. Схема работы механизма ECN
13. IP Addressing
32 bitsDotted
Decimal
Maximum
Network
255
255
Host
255
255
14. IP Addressing
32 bitsDotted
Decimal
Network
16 17
255
24 25
32
11111111 11111111
11111111 11111111
128
64
32
16
8
4
2
1
128
64
32
16
8
4
2
1
8 9
255
128
64
32
16
8
4
2
1
128
64
32
16
8
4
2
1
1
Binary
255
255
Maximum
Host
15. IP Addressing
32 bitsDotted
Decimal
Network
16 17
255
24 25
32
11111111 11111111
11111111 11111111
128
64
32
16
8
4
2
1
128
64
32
16
8
4
2
1
8 9
255
128
64
32
16
8
4
2
1
128
64
32
16
8
4
2
1
1
Binary
255
255
Maximum
Host
Example
172
16
122
204
Decimal
Example 10101100 00010000 01111010 11001100
Binary
16. IP Address Classes
8 bits8 bits
8 bits
8 bits
• Class A:
Network
Host
Host
Host
• Class B:
Network Network
Host
Host
• Class C:
Network Network Network
• Class D:
Multicast
• Class E:
Research
Host
17. IP Address Classes
Bits:Class A:
Bits:
Class B:
Bits:
Class C:
Bits:
Class D:
1
8 9
0NNNNNNN
16 17
24 25
Host
Host
32
Host
Range (1-126)
1
8 9
10NNNNNN
16 17
Network
Range (128-191)
1
8 9
110NNNNN
Host
16 17
Network
Range (192-223)
1
8 9
1110MMMM
24 25
Host
24 25
Network
16 17
32
32
Host
24 25
32
Multicast Group Multicast Group Multicast Group
Range (224-239)
18. Determining Available Host Addresses
Network0
0
...
...
10101100 00010000 00000000 00000000
00000000 00000001
00000000 00000011
N
1
2
3
...
16
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
172
Host
11111111 11111101
11111111 11111110
11111111 11111111
65534
65535
65536
2
2N-2 = 216-2 = 65534
65534
19. IP Address Classes Exercise
Address10.2.1.1
128.63.2.100
201.222.5.64
192.6.141.2
130.113.64.16
256.241.201.10
Class
Network
Host
20. Subnet Addressing
172.16.2.200172.16.3.5
172.16.3.1
E1
E0
172.16.2.1
172.16.2.2
172.16.3.100
172.16.2.160
172.16
Network
.
2
172.16.3.150
.
160
Subnet Host
New Routing Table
Network
Interface
172.16.2.0
E0
172.16.3.0
E1
21. Subnet Mask
NetworkIP
Address
172
Host
16
0
Network
Default
Subnet
Mask
8-bit
Subnet
Mask
255
0
Host
255
0
0
11111111
11111111
00000000
00000000
Also written as “/16” where 16 represents the number of 1s
in the mask.
Network
Subnet
Host
255
255
255
0
Also written as “/24” where 24 represents the number of 1s
in the mask.
22. Decimal Equivalents of Bit Patterns
128 6432
16
8
4
2
1
0
0
0
0
0
0
0
0
=
0
1
0
0
0
0
0
0
0
=
128
1
1
0
0
0
0
0
0
=
192
1
1
1
0
0
0
0
0
=
224
1
1
1
1
0
0
0
0
=
240
1
1
1
1
1
0
0
0
=
248
1
1
1
1
1
1
0
0
=
252
1
1
1
1
1
1
1
0
=
254
1
1
1
1
1
1
1
1
=
255
23. Subnet Mask without Subnets
NetworkHost
172.16.2.160
10101100
00010000
00000010
10100000
255.255.0.0
11111111
11111111
00000000
00000000
10101100
00010000
00000000
00000000
172
16
0
0
Network
Number
• Subnets not in use—the default
24. Subnet Mask with Subnets
NetworkSubnet
Host
10101100
00010000
00000010
10100000
255.255.255.0
11111111
11111111
11111111
00000000
10101100
00010000
00000010
00000000
172
16
128
192
224
240
248
252
254
255
172.16.2.160
Network
Number
2
0
• Network number extended by eight bits
25. Subnet Mask with Subnets (cont.)
Host172.16.2.160
10101100
00010000
00000010
10100000
255.255.255.192
11111111
11111111
11111111
11000000
10101100
00010000
00000010
10000000
128
192
224
240
248
252
254
255
Subnet
128
192
224
240
248
252
254
255
Network
172
16
2
128
Network
Number
• Network number extended by ten bits
26. Subnet Mask Exercise
AddressSubnet Mask
172.16.2.10
255.255.255.0
10.6.24.20
255.255.240.0
10.30.36.12
255.255.255.0
Class
Subnet
27. Broadcast Addresses
172.16.3.0172.16.4.0
172.16.1.0
172.16.2.0
172.16.3.255
(Directed broadcast)
255.255.255.255
(Local network broadcast)
172.16.255.255
(All subnets broadcast)
X
28. Addressing Summary Example
172.16.2.160255.255.255.192
172
16
10101100
00010000
2
160
00000010 10100000 Host
1
Mask
Subnet 4
Broadcast
First
Last
29. Специальные IP - адреса
• 0.0.0.0 – используется для загрузки ОС• 127.0.0.1 – внутренний шлейф ПК (loopback)
• Адреса частных локальных сетей (не
маршрутируются в Интернет):
• 10.0.0.0 - 10.255.255.255
• 172.16.0.0 - 172.31.255.255
• 192.168.0.0 - 192.168.255.255
30. Internet Control Message Protocol
ApplicationTransport
1
Destination
Unreachable
ICMP
Echo (Ping)
Internet
Other
Data Link
Physical
31. Address Resolution Protocol
I need theEthernet
address of
176.16.3.2.
172.16.3.1
172.16.3.2
IP: 172.16.3.2 = ???
32. Address Resolution Protocol
I need theEthernet
address of
176.16.3.2.
I heard that broadcast.
The message is for me.
Here is my Ethernet
address.
172.16.3.1
172.16.3.2
IP: 172.16.3.2 = ???
33. Address Resolution Protocol
I need theEthernet
address of
176.16.3.2.
I heard that broadcast.
The message is for me.
Here is my Ethernet
address.
172.16.3.1
172.16.3.2
IP: 172.16.3.2 = ???
IP: 172.16.3.2
Ethernet: 0800.0020.1111
34. Address Resolution Protocol
I need theEthernet
address of
176.16.3.2.
I heard that broadcast.
The message is for me.
Here is my Ethernet
address.
172.16.3.1
172.16.3.2
IP: 172.16.3.2 = ???
IP: 172.16.3.2
Ethernet: 0800.0020.1111
• Map IP
• Local ARP
MAC
35. TCP Segment Format
Bit 0Bit 15 Bit 16
Bit 31
Destination port (16)
Source port (16)
Sequence number (32)
Acknowledgement number (32)
Header
length (4) Reserved (6) Code bits (6)
Window (16)
Checksum (16)
Urgent (16)
Options (0 or 32 if any)
Data (varies)
20
Bytes
36. Port Numbers
ApplicationLayer
Transport
Layer
F
T
P
T
E
L
N
E
T
S
M
T
P
D
N
S
T
F
T
P
S
N
M
P
R
I
P
21
23
25
53
69
161
520
TCP
UDP
Port
Numbers
37. TCP Port Numbers
SourcePort
Dest.
Port
…
Telnet Z
Host Z
Host A
SP
DP
1028
23
…
Dest. port = 23.
Send packet to my
Telnet
application.
38. TCP Three Way Handshake/Open Connection
Host A1
Host B
Send SYN
(seq=100 ctl=SYN)
SYN received
39. TCP Three Way Handshake/Open Connection
Host A1
Host B
Send SYN
(seq=100 ctl=SYN)
SYN received
SYN received
Send SYN, ACK 2
(seq=300 ack=101 ctl=syn,ack)
40. TCP Three Way Handshake/Open Connection
Host A1
Host B
Send SYN
(seq=100 ctl=SYN)
SYN received
SYN received
3
Established
(seq=101 ack=301 ctl=ack)
Send SYN, ACK 2
(seq=300 ack=101 ctl=syn,ack)
41. TCP Simple Acknowledgment
SenderReceiver
Send 1
Receive 1
Send ACK 2
Receive ACK 2
Send 2
Receive 2
Send ACK 3
Receive ACK 3
Send 3
Receive 3
Send ACK 4
Receive ACK 4
• Window size = 1
42. TCP Sequence and Acknowledgment Numbers
SourcePort
Dest.
Port
I just
sent #10.
Sequence
#
Acknowledgement
#
…
I just got #10,
now I need #11.
Source Dest. Seq. Ack.
1028
23
10
1
Source Dest. Seq. Ack.
23
1028
1
11
43. TCP Sequence and Acknowledgment Numbers
SourcePort
Dest.
Port
I just
sent #11.
Sequence
#
Acknowledgement
#
…
I just got #11,
now I need #12.
Source Dest. Seq. Ack.
1028
23
10
100
Source Dest. Seq. Ack.
23
1028 100
11
Source Dest. Seq. Ack.
1028
23
11
101
Source Dest. Seq. Ack.
23
1028 101
12
44. TCP Windowing
SenderWindow size = 3
Send 1
Receiver
Window size = 3
Send 2
Window size = 3
Send 3
ACK 3
Window size = 2
Packet 3 is
Dropped
45. TCP Windowing
SenderWindow size = 3
Send 1
Receiver
Window size = 3
Send 2
Window size = 3
Send 3
Window size = 3
Send 3
Window size = 3
Send 4
ACK 3
Window size = 2
Packet 3 is
Dropped
46. TCP Windowing
SenderWindow size = 3
Send 1
Window size = 3
Receiver
Window size = 3
Send 2
Window size = 3
Send 3
Packet 3 is
ACK 3
Window size = 2 Dropped
Window size = 3
Send 3
Window size = 3
Send 4
ACK 5
Window size = 2
47.
TCP connection establishment and terminationactive open
Client
Server
passive open
SYN J
SYN_SENT
SYN_RCVD
SYN K, ack J+1
ESTABLISHED
ack K+1
ESTABLISHED
active close
FIN_WAIT_1
passive close
FIN M
ack M+1
CLOSE_WAIT
FIN_WAIT_2
FIN N
LAST_ACK
TIME_WAIT
ack N+1
Client stays in this
state for twice the
MSL
CLOSED
48. TCP соединение с 3-мя повторными запросами
TCP1SYN
TCP2
ACK=0
SN=0
ASK
DATA 2
ACK=1
ACK=1
SN=1
DATA 1
SN=0
SN=1
ACK=1
ACK=301
ACK=301
SN=301
SN=1441
ACK=2881
ACK=301
SN=2881
DATA 4
ACK=301
SN=4321
AСK
ACK=5761
DATA 6
ACK=301 SN=5761
X
ACK=301 SN=7201
DATA 7
ACK=301
DUP#1
SN=301
DATA 8
ACK=301 SN=10081
DUP#2
SN=301
DATA 9
ACK=301 SN=11521
DUP#3
SN=301
DATA 5
ACK=301 SN=5761
DATA 6
ACK=301 SN=7201
DATA 5
DATA 0
SN=1
DATA 3
SN=301
SYN/ACK
AСK
Х
Х
SN=8641
ACK=5761
ACK=5761
ACK=5761
SN=301 ACK=12961
AСK
AСK
AСK
AСK
49. Трассировка ТСР соединения
50. UDP Segment Format
Bit1 0
Bit 15 Bit 16
Bit 31
Source port (16)
Destination port (16)
Length (16)
Checksum (16)
Data (if any)
• No sequence or acknowledgment fields
8
Bytes
51. Формат псевдозаголовка UDP
Source IP addressDestination IP address
Ноль
Protocol
UDP Length
52. Инкапсуляция UDP дейтаграмм
Заголовок UDPЗаголовок IP
Заголовок Ethernet
Область данных UDP
Область данных IP
Область данных кадра
Оконч.
53.
Source IP addressDestination IP address
Ноль
Protocol
UDP Length
54. Структура стека протоколов передачи речи
55. Список протоколов передачи речи и видео
RTP – Real – time Transport Protocol (RFC 1889)
RTCP – Real – time Transport Control Protocol
UDP – User Datagram Protocol
IP – Internet Protocol
56.
Учебный центр Алкатель, МоскваПротоколы RTP и RTCP.
Сессия RTP
Сессия RTCP
Речевое кодирование
RTP
RTCP
UDP
IP
Уровень сетевого
интерфейса
57.
Учебный центр Алкатель, МоскваВерсия
протокола
0
Формат заголовка RTP - пакета.
Число
источников
2 3 4
V=2 P X
Признак
маркера
8
CC
M
Payload
Type - тип
заполнения
Последовательный
номер пакета
16
PT
31
Sequence Number
TimeStamp
SSRC – Synchronization Source Idenifier
CSRC – Contributing Source Idenifier
……….
0-15
CSRC – Contributing Source Idenifier
Идентификаторы
источников сессии
Идентификаторы
источника
синхронизации
Метка времени
58. Назначение полей заголовка пакета RTP(1)
59. Кодирование поля тип нагрузки (payload type)
Учебный центр Алкатель, МоскваКодирование поля тип нагрузки (payload type)
60. Назначение полей заголовка пакета RTP(2)
61.
Учебный центр Алкатель, МоскваПример RTP – пакета (трассировка)
62. Типы кадров при MPEG кодировании
Основными являются I-кадры. В одном I-кадре видеопотока содержится всяинформация, позволяющая декодеру воссоздать исходный кадр без
использования B- и P-кадров, поэтому размер I-кадра может составлять 10-15
кБайт. В B- и P-кадрах содержится частичная информация, связанная с I-кадром,
поэтому их объем значительно меньше. Эти вспомогательные кадры появляются
путём пространственного и временного кодирования. P-кадры могут быть
декодированы с использованием информации I-и B-кадров. Сочетание кадров в
пакете зависит от размеров.
63. Стеки протоколов для IPTV и OTT стриминга
IPTVOTT
H.264/DDC
H.264/DDC
H.264/DDC
MPEG-TS
MPEG-TS
MPEG-TS
Pseudo HTTP
RTP
RTMP
HTTP
UDP
TCP
IP
IP
64. Сравнение стеков протоколов
• Стек TCP/IP• Стек UDP/IP
• Обеспечивает надежную
доставку данных за счет
повторной передачи
потерянных пакетов
• Вносит задержки
• Используется приложениями
нечувствительными к задеркам, но чувствительными к
потерям кадров:
• HTTP, FTP,SMTP, SNMP
• Не обеспечивает надежной
доставки пакетов
• Не вносит доп. задержек и
доп. избыточность (мал. заг)
• Используется приложениями
чувствительными к задержкам, но менее чувствительными к потерям пакетов:
• VoIP, Video Conference, VoD
internet