Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
GCOM - Grupo de Comunicações por Computador Mestrado & Curso de Especialização em
Informática 63
Universidade do MinhoEscola de Engenharia
Departamento de Informática
misc
fields
source
IP addr
dest
IP addr data
• O datagrama não é modificado, desde a origematé ao destino. Quando muito, o datagrama podedar origem a um novo grupo de datagramas maispequenos (fragmentação)…
Datagrama IP
GCOM - Grupo de Comunicações por Computador Mestrado & Curso de Especialização em
Informática 64
Universidade do MinhoEscola de Engenharia
Departamento de Informática
223.1.1.1
223.1.1.2
223.1.1.3
223.1.1.4 223.1.2.9
223.1.2.2
223.1.2.1
223.1.3.2223.1.3.1
223.1.3.27
A
B
E
Dest. Net. next interf. #hops
223.1.1 1
223.1.2 223.1.1.4 2
223.1.3 223.1.1.4 2
Datagrama IP
GCOM - Grupo de Comunicações por Computador Mestrado & Curso de Especialização em
Informática 65
Universidade do MinhoEscola de Engenharia
Departamento de Informática
Partindo de A, datagrama IP endereçado a B:1. Extrair endereço de rede de B;
2. B está na mesma rede de A;
3. Enviar datagrama directamente para B, pois B e A estão ligados directamente pelo mesmo link.
misc
fields223.1.1.1 223.1.1.3 data
Datagrama IP
GCOM - Grupo de Comunicações por Computador Mestrado & Curso de Especialização em
Informática 66
Universidade do MinhoEscola de Engenharia
Departamento de Informática
Partindo de A, destino E:1. Extrair endereço de rede de E;
2. E está numa rede diferente, i.e., A e E não têm ligaçãodirecta pelo mesmo link;
3. Pela tabela de encaminhamento: próximo nó/interface é o 223.1.1.4;
4. Envia datagrama para router em 223.1.1.4;
5. Datagrama chega a 223.1.1.4;
(Continua…)
Datagrama IP
misc
fields223.1.1.1 223.1.2.2 data
GCOM - Grupo de Comunicações por Computador Mestrado & Curso de Especialização em
Informática 67
Universidade do MinhoEscola de Engenharia
Departamento de Informática
Partindo de A, destino E:(Continuação)
5. Datagrama chega ao router por 223.1.1.4;6. Extrair endereço de rede de E;
7. E está na mesma rede da interface 223.1.2.9, i.e., o router e E estão ligados directamente pelo mesmo link;
8. Envia datagrama para 223.1.2.2 ( via interface 223.1.2.9).
Datagrama IP
misc
fields223.1.1.1 223.1.2.2 data
GCOM - Grupo de Comunicações por Computador Mestrado & Curso de Especialização em
Informática 68
Universidade do MinhoEscola de Engenharia
Departamento de InformáticaEncaminhamento IP
• Protocolos de Encaminhamento• Encaminhamento Interno/Externo
• Algoritmos de Vector de Distância (RIP, IGRP, BGP, etc)• Algoritmos de Estado das Ligações (OSPF)
• Processos de Encaminhamento• Executados pelos/nos Encaminhadores• Troca de informação: usando a rede (e suas rotas…)
• Encaminhadores• Diferentes protocolos, diferentes processos, diferentes
arquitecturas, uma Tabela de Encaminhamento
GCOM - Grupo de Comunicações por Computador Mestrado & Curso de Especialização em
Informática 69
Universidade do MinhoEscola de Engenharia
Departamento de InformáticaEncaminhamento IP
GCOM - Grupo de Comunicações por Computador Mestrado & Curso de Especialização em
Informática 70
Universidade do MinhoEscola de Engenharia
Departamento de InformáticaEncaminhadorArquitectura
• Portas de Entrada (Input Port)Ligação física, lógica; inspecção de tabelas; prepara expedição.
• Portas de Saída (Output Port)Armazena pacotes (buffer de saída); controlo ligação lógica; transmissão física.
• Lógica de Comutação (Switching)Interliga portas de Entrada e de Saída.
• Processador de Encaminhamento (Routing Processor)Através de protocolos de encaminhamento constrói tabelas de encaminhamento; gestão de funções de rede; etc.
GCOM - Grupo de Comunicações por Computador Mestrado & Curso de Especialização em
Informática 71
Universidade do MinhoEscola de Engenharia
Departamento de InformáticaEncaminhadorArquitectura
GCOM - Grupo de Comunicações por Computador Mestrado & Curso de Especialização em
Informática 72
Universidade do MinhoEscola de Engenharia
Departamento de InformáticaEncaminhadorProcessamento à entrada
GCOM - Grupo de Comunicações por Computador Mestrado & Curso de Especialização em
Informática 73
Universidade do MinhoEscola de Engenharia
Departamento de InformáticaEncaminhadorComutação Interna
GCOM - Grupo de Comunicações por Computador Mestrado & Curso de Especialização em
Informática 74
Universidade do MinhoEscola de Engenharia
Departamento de InformáticaEncaminhadorProcessamento de Saída
GCOM - Grupo de Comunicações por Computador Mestrado & Curso de Especialização em
Informática 75
Universidade do MinhoEscola de Engenharia
Departamento de InformáticaEncaminhadorFilas de Espera e Contenção à Saída
GCOM - Grupo de Comunicações por Computador Mestrado & Curso de Especialização em
Informática 76
Universidade do MinhoEscola de Engenharia
Departamento de InformáticaEncaminhadorFilas de Espera e Contenção à Entrada
GCOM - Grupo de Comunicações por Computador Mestrado & Curso de Especialização em
Informática 77
Universidade do MinhoEscola de Engenharia
Departamento de InformáticaQoS
• ESCALONAMENTO:
• FIFO (First In First Out)
• Priority Queuing
• Round Robin &Weighted Fair Queuing
• POLICIAMENTO:
• Leaky Bucket
GCOM - Grupo de Comunicações por Computador Mestrado & Curso de Especialização em
Informática 78
Universidade do MinhoEscola de Engenharia
Departamento de InformáticaQoSEscalonamento FIFO
GCOM - Grupo de Comunicações por Computador Mestrado & Curso de Especialização em
Informática 79
Universidade do MinhoEscola de Engenharia
Departamento de InformáticaQoSEscalonamento FIFO
GCOM - Grupo de Comunicações por Computador Mestrado & Curso de Especialização em
Informática 80
Universidade do MinhoEscola de Engenharia
Departamento de InformáticaQoSEscalonamento WFQ
GCOM - Grupo de Comunicações por Computador Mestrado & Curso de Especialização em
Informática 81
Universidade do MinhoEscola de Engenharia
Departamento de InformáticaQoSPoliciamento LB
GCOM - Grupo de Comunicações por Computador Mestrado & Curso de Especialização em
Informática 82
Universidade do MinhoEscola de Engenharia
Departamento de InformáticaParâmetros de QoS
Parameter MeaningPeak cell rate PCR Maximum rate at which cells will be sent
Sustained cell rate SCR The long-term average cell rate
Minimum cell rate MCR Theminimum acceptable cell rate
Cell delay variationtolerance CDVT Themaximum acceptable cell jitter
Cell loss ratio CLR Fraction of cells lost or delivered too late
Cell transfer delay CTD How long delivery takes (mean andmaximum)
Cell delay variation CDV The variance in cell delivery times
Cell error rate CER Fraction of cells delivered without error
Severely-errored cell block ratio SECBR Fraction of blocks garbled
Cell misinsertion rate CMR Fraction of cells delivered to wrong destination
GCOM - Grupo de Comunicações por Computador Mestrado & Curso de Especialização em
Informática 83
Universidade do MinhoEscola de Engenharia
Departamento de Informática
• CBR: Constant Bit Rate
t - tempo
LBconstante
QoSLargura de Banda
GCOM - Grupo de Comunicações por Computador Mestrado & Curso de Especialização em
Informática 84
Universidade do MinhoEscola de Engenharia
Departamento de Informática
• VBR: Variable Bit Rate
t - tempo
LBmínima.
LBMáxima.
QoSLargura de Banda
GCOM - Grupo de Comunicações por Computador Mestrado & Curso de Especialização em
Informática 85
Universidade do MinhoEscola de Engenharia
Departamento de Informática
• ABR: Available Bit Rate
LBmínima.
t - tempo
QoSLargura de Banda
GCOM - Grupo de Comunicações por Computador Mestrado & Curso de Especialização em
Informática 86
Universidade do MinhoEscola de Engenharia
Departamento de Informática
• Latência
• Round-Trip Delay (cumulativo)
• Atraso de propagação
• Atraso de transmissão
• Atraso de store-and-forward
• Atraso de processamento
• Jitter
• Latência variável (por unidade de informação)
QoSAtrasos
GCOM - Grupo de Comunicações por Computador Mestrado & Curso de Especialização em
Informática 87
Universidade do MinhoEscola de Engenharia
Departamento de InformáticaDatagrama IPv4
GCOM - Grupo de Comunicações por Computador Mestrado & Curso de Especialização em
Informática 88
Universidade do MinhoEscola de Engenharia
Departamento de InformáticaDatagrama IPv4: QoS
GCOM - Grupo de Comunicações por Computador Mestrado & Curso de Especialização em
Informática 89
Universidade do MinhoEscola de Engenharia
Departamento de InformáticaIPv4Fragmentação e Re-assemblagem
• MTU: Maximum Transfer Unit(Quantidade máxima de informação que um
datagrama pode transportar)
• Quando LENGTH(IP) > MTU fragmenta-se
• Reconstituição via Re-assemblagem (Onde?)
GCOM - Grupo de Comunicações por Computador Mestrado & Curso de Especialização em
Informática 90
Universidade do MinhoEscola de Engenharia
Departamento de Informática
• Motivação:
• Espaço de endereçamento esgotar-se-ia
em 2008 (sem NAT e CIDR);
• Formato de cabeçalho mais simples facilita
maior velocidade comutação;
• Formato de cabeçalho facilita QoS;
• Endereços anycast: o melhor de vários
servidores/serviços replicados.
IPv6
GCOM - Grupo de Comunicações por Computador Mestrado & Curso de Especialização em
Informática 91
Universidade do MinhoEscola de Engenharia
Departamento de Informática
• Formato datagrama IPv6:• Cabeçalho fixo de 40 byte;
• Pacote sem fragmentação intermédia;
• Campo Checksum removido (reduzir tempo de processamento em cada salto/hop);
• Options implementado com extra-cabeçalhoatravés do campo Next Header;
• ICMPv6: nova versão do ICMP
• Mensagens adicionais, e.g. “Packet Too Big”;
• Funções para gestão de grupos multicast.
IPv6
GCOM - Grupo de Comunicações por Computador Mestrado & Curso de Especialização em
Informática 92
Universidade do MinhoEscola de Engenharia
Departamento de InformáticaCabeçalhos: IPv4 vs IPv6
Hd Lgth Type of Service
Options
Total Length
Identification Flags Fragment Offset
Time to Live Protocol Header Checksum
Source Address
Destination Address
Padding
Priority Flow Label
Payload Length Next Header
Version
Version
IPv4 Header:
IPv6 Header:
Hop Limit
Source Address
Destination Address
GCOM - Grupo de Comunicações por Computador Mestrado & Curso de Especialização em
Informática 93
Universidade do MinhoEscola de Engenharia
Departamento de Informática
Pilha Protocolar TCP/IP:Camada de Transporte
GCOM - Grupo de Comunicações por Computador Mestrado & Curso de Especialização em
Informática 94
Universidade do MinhoEscola de Engenharia
Departamento de Informática
• Dois protocolos principais:
• User Datagram Protocol(RFC 768, August 1980)Serviço de Transporte não orientado àconexão (CLTS).
• Transmission Control Protocol(RFC 793, September 1981)Serviço de Transporte orientado àconexão (COTS).
• Outros protocolos de transporte:
• Real-Time Protocol.
Pilha Protocolar TCP/IP:Camada de Transporte
GCOM - Grupo de Comunicações por Computador Mestrado & Curso de Especialização em
Informática 95
Universidade do MinhoEscola de Engenharia
Departamento de Informática
• Definições no RFC-1700.• Site com as atribuições actuais (#s de porta):
http://www.iana.org/assignments/port-numbers
• Números atribuídos na gama [0 – 1023].• Atribuição pela IANA (utilização reservada);• Usados para TCP, IP, UDP e outras Aplicações ou
Serviços-Bem-Conhecidos (WKS), p.ex. TELNET.• Gama de [1024 – 65535] deve ser registada (muitas
empresas registam as suas aplicações).• Dinâmicas: números de porta na gama [1024 – 65535].
Números de Porta e Serviços
GCOM - Grupo de Comunicações por Computador Mestrado & Curso de Especialização em
Informática 96
Universidade do MinhoEscola de Engenharia
Departamento de InformáticaUser Datagram Protocol
DADA SASA TFTF CRCCRCIP HeadIP Head UDP UDP ((Header+DataHeader+Data))
Source portSource port Destination portDestination port
DataData
Message lengthMessage length ChecksumChecksum
��������
GCOM - Grupo de Comunicações por Computador Mestrado & Curso de Especialização em
Informática 97
Universidade do MinhoEscola de Engenharia
Departamento de InformáticaMultiplexagem Protocolar
FTPFTP
(21)(21)DNSDNS
(53)(53)TFTPTFTP
(69)(69)TELNETTELNET
(23)(23)
APPAPP
(Port)(Port)
TCP [6]TCP [6]
APPAPP
(Port)(Port)
UDP [17]UDP [17]Transport Transport (TCP/UDP)(TCP/UDP)
Network Network (IP)(IP)
Data LinkData Link
(Ethernet/etc)(Ethernet/etc)
GCOM - Grupo de Comunicações por Computador Mestrado & Curso de Especialização em
Informática 98
Universidade do MinhoEscola de Engenharia
Departamento de Informática
Layer
4TSAP
Time
of day
server
(a) (b)
Host 1 Host 2 Host 1 Host 2
Process
ServerUser User
Process
Server
Multiplexagem ProtocolarExemplo
GCOM - Grupo de Comunicações por Computador Mestrado & Curso de Especialização em
Informática 99
Universidade do MinhoEscola de Engenharia
Departamento de Informática
• Transporte fiável de informação;
• Fiabilidade conseguida via retransmissões
(GO-BACK-N);
• Controlo de fluxo por janela deslizante.
Transmission Control Protocol
GCOM - Grupo de Comunicações por Computador Mestrado & Curso de Especialização em
Informática 100
Universidade do MinhoEscola de Engenharia
Departamento de InformáticaTCPRetransmissões
• TCP retransmite segmentos quando o Transmission Timer (TT) expira;
• Quando TCP transmite um segmento, regista o tempo da transmissão (e o nº de sequência do segmento) e quando recebe um ACK, regista o tempo; isto permiteconhecer atraso médio (round-trip delay time);
• O TT é variável e actualizado lentamente por forma a acomodar variações de congestão na rede.
GCOM - Grupo de Comunicações por Computador Mestrado & Curso de Especialização em
Informática 101
Universidade do MinhoEscola de Engenharia
Departamento de Informática
Primitive Meaning
SOCKET Create a new communication end point
BIND Attach a local address to a socket
LISTEN Announce willingness to accept connections;give queue size
ACCEPT Block the caller until a connection attempt arrives
CONNECT Actively attempt to establish a connection
SEND Send some data over the connection
RECEIVE Receive some data from the connection
CLOSE Release the connection
TCPPrimitivas Socket (UNIX)
GCOM - Grupo de Comunicações por Computador Mestrado & Curso de Especialização em
Informática 102
Universidade do MinhoEscola de Engenharia
Departamento de InformáticaTCPEstabelecimento Conecção
Time
Host 1 Host 2
SYN (SEQ = y, ACK = x + 1)
SYN (SEQ = x)
(SEQ = x + 1, ACK = y + 1)
Host 1 Host 2
SYN (SEQ = y, ACK = x + 1)
SYN (SEQ = x)
SYN (SEQ = y)
SYN (SEQ = x , ACK = y + 1)
(a) (b)
(a) TCP connection establishment in the normal case.(b) Call collision.
GCOM - Grupo de Comunicações por Computador Mestrado & Curso de Especialização em
Informática 103
Universidade do MinhoEscola de Engenharia
Departamento de Informática
Application
does a 2Kwrite
Application
does a 3K
write
Applicationreads 2K
Sender is
blocked
Sender may
send up to 2K
Receiver's
buffer
0 4K
2K
2K
Empty
Full
2K SEQ = 0
2K SEQ = 2048
1K SEQ = 4096
ACK = 2048 WIN = 2048
ACK = 4096 WIN = 0
ACK = 4096 WIN = 2048
2 K1K
Sender Receiver
TCPGestão de Janela Deslizante
GCOM - Grupo de Comunicações por Computador Mestrado & Curso de Especialização em
Informática 104
Universidade do MinhoEscola de Engenharia
Departamento de Informática
Application reads 1 byte
Window update segment sent
New byte arrives
Header
Header
Receiver's buffer is full
Receiver's buffer is full
Room for one more byte
Only 1 Byte
TCPSilly Window
GCOM - Grupo de Comunicações por Computador Mestrado & Curso de Especialização em
Informática 105
Universidade do MinhoEscola de Engenharia
Departamento de Informática
Source portSource port Destination portDestination port
Sequence numberSequence number
Acknowledgment numberAcknowledgment number
Data offset Data offset ReservedReserved WindowWindow
ChecksumChecksum Urgent pointerUrgent pointer
OptionsOptions PaddingPadding
TCP dataTCP data
UURRPP
AACCKK
PPSSHH
RRSSTT
SSYYNN
FFIINN
Segmento TCP
GCOM - Grupo de Comunicações por Computador Mestrado & Curso de Especialização em
Informática 106
Universidade do MinhoEscola de Engenharia
Departamento de Informática
• Cada lado mantém os seus nºs de sequência.(Nº Sequência na gama: 0 - 2,147,483,6478)
• ACK = Nº de Sequência + bytes lidos + 1.
• Acknowledgments podem viajar nos segmentostransmitidos.
Seq = 203 ACK = xSeq = 203 ACK = x200 bytes of data200 bytes of data
Ack = 403Ack = 403
Host AHost A Host BHost B
Network
TCPSequenciação
GCOM - Grupo de Comunicações por Computador Mestrado & Curso de Especialização em
Informática 107
Universidade do MinhoEscola de Engenharia
Departamento de InformáticaTCPControlo de Congestão
• Congestão: “demasiadas fontes enviandopara a rede tráfego, demasiado rápido”
• Diferente de controlo de fluxo masinfluenciado por este!
• Manifestações:
• Pacotes perdidos (buffer overflow)
• Atrasos longos (queueing, buffers)
• Técnica Slow Start ajuda no combate àcongestão da rede.
GCOM - Grupo de Comunicações por Computador Mestrado & Curso de Especialização em
Informática 108
Universidade do MinhoEscola de Engenharia
Departamento de Informática
1. É definida uma janela de congestão em cada sentido do tráfego TCP (a janela de congestão não é negociada, é assumida) de usalmente 512/536 bytes;
2. Cada ACK subsequente incrementa esta janelaexponencialmente (1, 2, 4, 8, etc.) até a um limite(threshold) que poderá ser o window-size;
3. Não existindo time-outs (ou ACKs duplicados) durante a transmissão, mantém-se janela igual ao window-size.
TCPSlow Start
GCOM - Grupo de Comunicações por Computador Mestrado & Curso de Especialização em
Informática 109
Universidade do MinhoEscola de Engenharia
Departamento de Informática
• Quando TCP detecta congestão (ACKs duplicados ou time-out), o algoritmo recomeça:
• Compara os valores da janela de congestão e do window-size e define novo threshold como ½ do menor valor em que é detectada a congestão;
• Valor deve ser pelo menos de dois segmentos, excepto se a congestãofoi detectada por time-out; neste caso a janela de congestão é iniciadacom um segmento (slow start).
• Sempre que recebe ACKs, incrementa a janela de congestão.
• Crescimento mais linear da taxa de transmissão.
TCPSlow Start
GCOM - Grupo de Comunicações por Computador Mestrado & Curso de Especialização em
Informática 110
Universidade do MinhoEscola de Engenharia
Departamento de Informática
RTT
initiate TCP
connection
request
objectfirst window
= S/R
second window
= 2S/R
third window
= 4S/R
fourth window
= 8S/R
complete
transmissionobject
delivered
time at
client
time at
server
TCPSlow Start
GCOM - Grupo de Comunicações por Computador Mestrado & Curso de Especialização em
Informática 111
Universidade do MinhoEscola de Engenharia
Departamento de Informática
44
40
36
32
28
24
20
16
12
8
4
00 2 4 6 8 10 12 14 16 18 20 22 24
Congestion w
indo
w (
kilo
byte
s)
Transmission number
Threshold
TCPSlow Start
GCOM - Grupo de Comunicações por Computador Mestrado & Curso de Especialização em
Informática 112
Universidade do MinhoEscola de Engenharia
Departamento de Informática
44
40
36
32
28
24
20
16
12
8
4
00 2 4 6 8 10 12
Timeout
Threshold
14 16 18 20 22 24
Congestion w
indo
w (
kilo
byte
s)
Transmission number
Threshold
TCPSlow Start
GCOM - Grupo de Comunicações por Computador Mestrado & Curso de Especialização em
Informática 113
Universidade do MinhoEscola de Engenharia
Departamento de Informática
TCPTerminação
EnviaEnvia DatagramaDatagrama
FIN bit set SEQ = 400FIN bit set SEQ = 400
EnviaEnvia datagramadatagrama
ACK = 401ACK = 401
EnviaEnvia datagramadatagrama
FIN bit set, SEQ = 65FIN bit set, SEQ = 65
ACK = 401ACK = 401
EnviaEnvia ACK = 66ACK = 66
RecebeRecebe ACKACK
RecebeRecebe FIN FIN
e ACKe ACK
GCOM - Grupo de Comunicações por Computador Mestrado & Curso de Especialização em
Informática 114
Universidade do MinhoEscola de Engenharia
Departamento de InformáticaTCP Terminação (1)DR
ACK
Host 1 Host 2
DR
Send DR
+ start timer
Send DR
+ start timer
Send ACK
Release
connection
(Timeout)
release
connection
Release
connection
DR
ACK
Host 1 Host 2
DR
Send DR
+ start timer
Send DR
+ start timer
Send ACK
Release
connection
Lost
(a) (b)
GCOM - Grupo de Comunicações por Computador Mestrado & Curso de Especialização em
Informática 115
Universidade do MinhoEscola de Engenharia
Departamento de InformáticaTCP Terminação (2)
ACK
DR
(Timeout)
release
connection
(N Timeouts)
release
connection
( Timeout)
send DR
+ start timer
DR
DR
Host 1 Host 2
DR
Send DR
+ start timer
Send DR &
start timer
Send DR &
start timer
Send DR &
start timer
Send ACK
Release
connection
Release
connection
Lost
( Timeout)
send DR
+ start timer
DR
Host 1 Host 2
Send DR
+ start timer
Lost
Lost
(c) (d)