Передача мультисервисного трафика в IP-сетях
TCP/IP Protocol Stack
Application Layer Overview
Transport Layer Overview
Internet Layer Overview
Структура IP пакета
Структура IP пакета
IP Addressing
IP Addressing
IP Addressing
IP Address Classes
IP Address Classes
Determining Available Host Addresses
IP Address Classes Exercise
Subnet Addressing
Subnet Mask
Decimal Equivalents of Bit Patterns
Subnet Mask without Subnets
Subnet Mask with Subnets
Subnet Mask with Subnets (cont.)
Subnet Mask Exercise
Broadcast Addresses
Addressing Summary Example
Специальные IP - адреса
Internet Control Message Protocol
Address Resolution Protocol
Address Resolution Protocol
Address Resolution Protocol
Address Resolution Protocol
TCP Segment Format
Port Numbers
TCP Port Numbers
TCP Three Way Handshake/Open Connection
TCP Three Way Handshake/Open Connection
TCP Three Way Handshake/Open Connection
TCP Simple Acknowledgment
TCP Sequence and Acknowledgment Numbers
TCP Sequence and Acknowledgment Numbers
TCP Windowing
TCP Windowing
TCP Windowing
TCP соединение с 3-мя повторными запросами
Трассировка ТСР соединения
UDP Segment Format
Формат псевдозаголовка UDP
Инкапсуляция UDP дейтаграмм
Сравнение стеков протоколов
1.35M
Категория: ИнтернетИнтернет

Передача мультисервисного трафика в IP-сетях. TCP/IP Protocol Stack

1. Передача мультисервисного трафика в IP-сетях

Стек протоколов TCP/IP
Проф.В.Ю.Деарт

2. TCP/IP Protocol Stack

Application
6
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

Application
Transport
Internet
Data Link
Physical
File Transfer
- TFTP
- FTP
- NFS
E-Mail
- SMTP
Remote Login
- Telnet
- rlogin
Network Management
- SNMP
Name Management
- DNS

4. Transport Layer Overview

Application
Transport
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 пакета

Версия. Чаше используется версия 4
0
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 пакета

0
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)
TTL - time-to-live-время жизни
Предельный срок в течение которого
пакет может пересекаться по сети.Это
поле. Это поле уменьшается каждый раз
при обработке заголовка IP пакета.
Когда поле становится равным 0
датаграмма уничтожается
маршрутизатором и ICMP сообщение
посылается отправителю.
PROTOCOL – поле указывает какому
протоколу верхнего уровня
принадлежит информация в поле
данных пакета.
HEADER CHECKSUM рассчитывается
только по заголовку.
SOURCE и DESTINATION – IP адреса
отправителя и получателя.
DATA
OPTIONS поле переменной длины для
различных опций.Часть из них мы
обсудим позже. В конце поля OPTIONS
должно быть добавлено несколько байт
для выравнивания заголовка пакета по
32х битной границе.
DATA – поле Данных

8. IP Addressing

32 bits
Dotted
Decimal
Maximum
Network
255
255
Host
255
255

9. IP Addressing

32 bits
Dotted
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

10. IP Addressing

32 bits
Dotted
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

11. IP Address Classes

8 bits
8 bits
8 bits
8 bits
Host
Host
Host
Host
Host
• Class A:
Network
• Class B:
Network Network
• Class C:
Network Network Network
• Class D:
Multicast
• Class E:
Research
Host

12. 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)

13. Determining Available Host Addresses

Network
0
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

14. IP Address Classes Exercise

Address
10.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

15. Subnet Addressing

172.16.2.200
172.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

16. Subnet Mask

Network
IP
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.

17. Decimal Equivalents of Bit Patterns

128 64
32
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

18. Subnet Mask without Subnets

Network
Host
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

19. Subnet Mask with Subnets

Network
172.16.2.160
Host
10101100
00010000
00000010
10100000
11111111
11111111
11111111
00000000
10101100
00010000
00000010
00000000
172
16
128
192
224
240
248
252
254
255
255.255.255.0
Subnet
Network
Number
2
0
• Network number extended by eight bits

20. Subnet Mask with Subnets (cont.)

255.255.255.192
Network
Number
Host
10101100
00010000
00000010
10100000
11111111
11111111
11111111
11000000
10101100
00010000
00000010
10000000
128
192
224
240
248
252
254
255
172.16.2.160
Subnet
128
192
224
240
248
252
254
255
Network
172
16
2
128
• Network number extended by ten bits

21. Subnet Mask Exercise

Address
Subnet 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

22. 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)
172.16.255.255
(All subnets broadcast)
X

23. Addressing Summary Example

172.16.2.160
255.255.255.192
172
16
10101100
00010000
2
160
00000010 10100000 Host
1
Mask
Subnet 4
Broadcast
First
Last

24. Специальные 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

25. Internet Control Message Protocol

Application
Transport
1
Destination
Unreachable
ICMP
Echo (Ping)
Internet
Other
Data Link
Physical

26. Address Resolution Protocol

I need the
Ethernet
address of
176.16.3.2.
172.16.3.1
172.16.3.2
IP: 172.16.3.2 = ???

27. Address Resolution Protocol

I need the
Ethernet
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 = ???

28. Address Resolution Protocol

I need the
Ethernet
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

29. Address Resolution Protocol

I need the
Ethernet
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

30. TCP Segment Format

Bit 0
Bit 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)
Checksum (16)
Window (16)
Urgent (16)
Options (0 or 32 if any)
Data (varies)
20
Bytes

31. Port Numbers

Application
Layer
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

32. TCP Port Numbers

Source
Port
Dest.
Port

Telnet Z
Host Z
Host A
SP
DP
1028
23

Dest. port = 23.
Send packet to my
Telnet
application.

33. TCP Three Way Handshake/Open Connection

Host A
1
Host B
Send SYN
(seq=100 ctl=SYN)
SYN received

34. TCP Three Way Handshake/Open Connection

Host A
1
Host B
Send SYN
(seq=100 ctl=SYN)
SYN received
SYN received
Send SYN, ACK 2
(seq=300 ack=101 ctl=syn,ack)

35. TCP Three Way Handshake/Open Connection

Host A
1
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)

36. TCP Simple Acknowledgment

Sender
Receiver
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

37. TCP Sequence and Acknowledgment Numbers

Source
Port
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

38. TCP Sequence and Acknowledgment Numbers

Source
Port
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

39. TCP Windowing

Sender
Window size = 3
Send 1
Receiver
Window size = 3
Send 2
Window size = 3
Send 3
ACK 3
Window size = 2
Packet 3 is
Dropped

40. TCP Windowing

Sender
Window 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

41. TCP Windowing

Sender
Window 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

42.

TCP connection establishment and termination
active 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

43. TCP соединение с 3-мя повторными запросами

TCP1
SYN
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
DATA 6
DATA 7
ACK=301
DUP#1
DATA 8
DUP#2
DATA 9
DUP#3
SN=301
AСK
ACK=5761
ACK=301 SN=5761
X
ACK=301 SN=7201
DATA 5
DATA 0
SN=1
DATA 3
SN=301
SYN/ACK
AСK
Х
Х
SN=8641
ACK=5761
AСK
ACK=301 SN=10081
SN=301
ACK=5761
AСK
ACK=301 SN=11521
SN=301
ACK=5761
DATA 5
ACK=301 SN=5761
DATA 6
ACK=301 SN=7201
SN=301 ACK=12961
AСK
AСK

44. Трассировка ТСР соединения

45. UDP Segment Format

Bit
1 0
Bit 15 Bit 16
Bit 31
Destination port (16)
Source port (16)
Length (16)
Checksum (16)
Data (if any)
• No sequence or acknowledgment fields
8
Bytes

46. Формат псевдозаголовка UDP

Source IP address
Destination IP address
Ноль
Protocol
UDP Length

47. Инкапсуляция UDP дейтаграмм

Заголовок UDP
Заголовок IP
Заголовок Ethernet
Область данных UDP
Область данных IP
Область данных кадра
Оконч.

48.

Source IP address
Destination IP address
Ноль
Protocol
UDP Length

49. Сравнение стеков протоколов

• Стек TCP/IP
• Стек UDP/IP
• Обеспечивает надежную
доставку данных за счет
повторной передачи
потерянных пакетов
• Вносит задержки
• Используется приложениями
нечувствительными к задеркам, но чувствительными к
потерям кадров:
• HTTP, FTP,SMTP, SNMP
• Не обеспечивает надежной
доставки пакетов
• Не вносит доп. задержек и
доп. избыточность (мал. заг)
• Используется приложениями
чувствительными к задержкам, но менее чувствительными к потерям пакетов:
• VoIP, Video Conference, VoD
English     Русский Правила