GCOM - Grupo de Comunicações
por Computador Mestrado & Curso de Especialização em
Informática 63 Escola de Engenharia Departamento de Informática misc fields source IP addr dest IP addr data
• O datagrama não é modificado, desde a origem até ao destino. Quando muito, o datagrama pode dar origem a um novo grupo de datagramas mais pequenos (fragmentação)…
Datagrama IP
GCOM - Grupo de Comunicações
por Computador Mestrado & Curso de Especialização em
Informática 64 Universidade do Minho Escola 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.2 223.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
GCOM - Grupo de Comunicações
por Computador Mestrado & Curso de Especialização em
Informática 65
Escola 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, poisB e
Aestão ligados directamente pelo mesmo link.
misc
fields 223.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 Minho
Escola 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ção directa 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
GCOM - Grupo de Comunicações
por Computador Mestrado & Curso de Especialização em
Informática 67
Escola 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
fields 223.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 Minho Escola de Engenharia Departamento de Informática
Encaminhamento 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
Escola de Engenharia Departamento de Informática
Encaminhamento IP
GCOM - Grupo de Comunicações
por Computador Mestrado & Curso de Especialização em
Informática 70 Universidade do Minho Escola de Engenharia Departamento de Informática
Encaminhador
Arquitectura
•
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
Escola de Engenharia Departamento de Informática
Encaminhador
Arquitectura
GCOM - Grupo de Comunicações
por Computador Mestrado & Curso de Especialização em
Informática 72 Universidade do Minho Escola de Engenharia Departamento de Informática
Encaminhador
Processamento à entrada
GCOM - Grupo de Comunicações
por Computador Mestrado & Curso de Especialização em
Informática 73
Escola de Engenharia Departamento de Informática
Encaminhador
Comutação Interna
GCOM - Grupo de Comunicações
por Computador Mestrado & Curso de Especialização em
Informática 74 Universidade do Minho Escola de Engenharia Departamento de Informática
Encaminhador
Processamento de Saída
GCOM - Grupo de Comunicações
por Computador Mestrado & Curso de Especialização em
Informática 75
Escola de Engenharia Departamento de Informática
Encaminhador
Filas 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 Minho
Escola de Engenharia Departamento de Informática
Encaminhador
GCOM - Grupo de Comunicações
por Computador Mestrado & Curso de Especialização em
Informática 77
Escola de Engenharia Departamento de Informática
QoS
• 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 Minho Escola de Engenharia Departamento de Informática
QoS
Escalonamento FIFO
GCOM - Grupo de Comunicações
por Computador Mestrado & Curso de Especialização em
Informática 79
Escola de Engenharia Departamento de Informática
QoS
Escalonamento FIFO
GCOM - Grupo de Comunicações
por Computador Mestrado & Curso de Especialização em
Informática 80 Universidade do Minho Escola de Engenharia Departamento de Informática
QoS
Escalonamento WFQ
GCOM - Grupo de Comunicações
por Computador Mestrado & Curso de Especialização em
Informática 81
Escola de Engenharia Departamento de Informática
QoS
Policiamento LB
GCOM - Grupo de Comunicações
por Computador Mestrado & Curso de Especialização em
Informática 82 Universidade do Minho Escola de Engenharia Departamento de Informática
Parâ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
GCOM - Grupo de Comunicações
por Computador Mestrado & Curso de Especialização em
Informática 83
Escola de Engenharia Departamento de Informática
•
CBR: Constant Bit Rate
t - tempo
LB
constanteQoS
Largura de Banda
GCOM - Grupo de Comunicações
por Computador Mestrado & Curso de Especialização em
Informática 84
Universidade do Minho
Escola de Engenharia Departamento de Informática
•
VBR: Variable Bit Rate
t - tempo LBmínima.
LBMáxima.
QoS
GCOM - Grupo de Comunicações
por Computador Mestrado & Curso de Especialização em
Informática 85
Escola de Engenharia Departamento de Informática
•
ABR: Available Bit Rate
LBmínima.
t - tempo
QoS
Largura de Banda
GCOM - Grupo de Comunicações
por Computador Mestrado & Curso de Especialização em
Informática 86
Universidade do Minho
Escola 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)
QoS
GCOM - Grupo de Comunicações
por Computador Mestrado & Curso de Especialização em
Informática 87
Escola de Engenharia Departamento de Informática
Datagrama IPv4
GCOM - Grupo de Comunicações
por Computador Mestrado & Curso de Especialização em
Informática 88
Universidade do Minho
Escola de Engenharia Departamento de Informática
GCOM - Grupo de Comunicações
por Computador Mestrado & Curso de Especialização em
Informática 89
Escola de Engenharia Departamento de Informática
IPv4
Fragmentaçã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 Minho
Escola 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.
GCOM - Grupo de Comunicações
por Computador Mestrado & Curso de Especialização em
Informática 91
Escola 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çalho atravé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 Minho
Escola de Engenharia Departamento de Informática
Cabeç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 Minho
Escola 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 Minho
Escola 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
Escola 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 Minho
Escola de Engenharia Departamento de Informática
User Datagram Protocol
DA
DA SASA TFTF IP HeadIP Head UDP UDP ((Header+DataHeader+Data)) CRCCRC
Source port
Source port Destination portDestination port
Data
Data
Message length
Message length ChecksumChecksum
GCOM - Grupo de Comunicações
por Computador Mestrado & Curso de Especialização em
Informática 97 Escola de Engenharia Departamento de Informática
Multiplexagem Protocolar
FTP FTP (21) (21) DNS DNS (53) (53) TFTP TFTP (69) (69) TELNET TELNET (23) (23) APP APP (Port) (Port) TCP [6] TCP [6] APP APP (Port) (Port) UDP [17] UDP [17] TransportTransport (TCP/UDP)(TCP/UDP) Network
Network (IP)(IP) Data Link Data Link (Ethernet/etc) (Ethernet/etc)
GCOM - Grupo de Comunicações
por Computador Mestrado & Curso de Especialização em
Informática 98 Universidade do Minho Escola de Engenharia Departamento de Informática Layer 4 TSAP Time of day server (a) (b)
Host 1 Host 2 Host 1 Host 2
Process Server
User User Process
Server
Multiplexagem Protocolar
GCOM - Grupo de Comunicações
por Computador Mestrado & Curso de Especialização em
Informática 99
Escola 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 Minho Escola de Engenharia Departamento de Informática
TCP
Retransmissõ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 permite
conhecer 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
Escola 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
TCP
Primitivas Socket (UNIX)
GCOM - Grupo de Comunicações
por Computador Mestrado & Curso de Especialização em
Informática 102 Universidade do Minho Escola de Engenharia Departamento de Informática
TCP
Estabelecimento Conecção
T im e 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 Escola de Engenharia Departamento de Informática Application does a 2K write Application does a 3K write Application reads 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 = 409 6 WIN = 2048 2 K 1K Sender Receiver
TCP
Gestão de Janela Deslizante
GCOM - Grupo de Comunicações
por Computador Mestrado & Curso de Especialização em
Informática 104
Universidade do Minho
Escola 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
TCP
GCOM - Grupo de Comunicações
por Computador Mestrado & Curso de Especialização em
Informática 105
Escola de Engenharia Departamento de Informática
Source port
Source port Destination portDestination port Sequence number
Sequence number Acknowledgment number Acknowledgment number Data offset
Data offset ReservedReserved WindowWindow
Checksum
Checksum Urgent pointerUrgent pointer Options
Options PaddingPadding
TCP data TCP data U U R R P P A A C C K K P P S S H H R R S S T T S S Y Y N N F F I I N N
Segmento TCP
GCOM - Grupo de Comunicações
por Computador Mestrado & Curso de Especialização em
Informática 106
Universidade do Minho
Escola 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 segmentos transmitidos. Seq = 203 ACK = x Seq = 203 ACK = x 200 bytes of data 200 bytes of data Ack = 403 Ack = 403 Host A
Host A Host BHost B
Network
TCP
GCOM - Grupo de Comunicações
por Computador Mestrado & Curso de Especialização em
Informática 107
Escola de Engenharia Departamento de Informática
TCP
Controlo de Congestão
• Congestão: “demasiadas fontes enviando para a rede tráfego, demasiado rápido”
• Diferente de controlo de fluxo mas influenciado 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 Minho
Escola 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 janela exponencialmente (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.
TCP
GCOM - Grupo de Comunicações
por Computador Mestrado & Curso de Especialização em
Informática 109
Escola 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ão foi detectada por time-out; neste caso a janela de congestão é iniciada com um segmento (slow start).
• Sempre que recebe ACKs, incrementa a janela de congestão.
• Crescimento mais linear da taxa de transmissão.
TCP
Slow Start
GCOM - Grupo de Comunicações
por Computador Mestrado & Curso de Especialização em
Informática 110 Universidade do Minho Escola de Engenharia Departamento de Informática RTT initiate TCP connection request object first window = S/R second window = 2S/R third window = 4S/R fourth window = 8S/R complete transmission object delivered time at client time at server
TCP
Slow Start
GCOM - Grupo de Comunicações
por Computador Mestrado & Curso de Especialização em
Informática 111 Escola de Engenharia Departamento de Informática 44 40 36 32 28 24 20 16 12 8 4 0 0 2 4 6 8 10 12 14 16 18 20 22 24 C o n g e s ti o n w in d o w ( k ilo b y te s ) Transmission number Threshold
TCP
Slow Start
GCOM - Grupo de Comunicações
por Computador Mestrado & Curso de Especialização em
Informática 112 Universidade do Minho Escola de Engenharia Departamento de Informática 44 40 36 32 28 24 20 16 12 8 4 0 0 2 4 6 8 10 12 Timeout Threshold 14 16 18 20 22 24 C o n g e s ti o n w in d o w ( k ilo b y te s ) Transmission number Threshold
TCP
Slow Start
GCOM - Grupo de Comunicações
por Computador Mestrado & Curso de Especialização em
Informática 113 Universidade do Minho Escola de Engenharia Departamento de Informática
TCP
Terminação
EnviaEnvia DatagramaDatagrama FIN bit set SEQ = 400
FIN bit set SEQ = 400
Envia
Envia datagramadatagrama ACK = 401
ACK = 401
Envia
Envia datagramadatagrama FIN bit set, SEQ = 65
FIN bit set, SEQ = 65
ACK = 401
ACK = 401
Envia
Envia ACK = 66ACK = 66 Recebe
Recebe ACKACK
Recebe
Recebe FIN FIN e ACK
e ACK
GCOM - Grupo de Comunicações
por Computador Mestrado & Curso de Especialização em
Informática 114 Universidade do Minho Escola de Engenharia Departamento de Informática
TCP 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 Escola de Engenharia Departamento de Informática