27
GCOM - Grupo de Comunicações por Computador Mestrado & Curso de Especialização em Informática 63 Universidade do Minho 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 Datagrama IP

Universidade do Minho DatagramaIPmarco.uminho.pt/~dias/MICEI/CC-I/aulas/MICEI-CCI-2006-20007-b.pdffields 223.1.1 .1 223.1.1 .3 data DatagramaIP GCOM -Grupo de Comunicações por Computador

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Universidade do Minho DatagramaIPmarco.uminho.pt/~dias/MICEI/CC-I/aulas/MICEI-CCI-2006-20007-b.pdffields 223.1.1 .1 223.1.1 .3 data DatagramaIP GCOM -Grupo de Comunicações por Computador

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

Page 2: Universidade do Minho DatagramaIPmarco.uminho.pt/~dias/MICEI/CC-I/aulas/MICEI-CCI-2006-20007-b.pdffields 223.1.1 .1 223.1.1 .3 data DatagramaIP GCOM -Grupo de Comunicações por Computador

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

Page 3: Universidade do Minho DatagramaIPmarco.uminho.pt/~dias/MICEI/CC-I/aulas/MICEI-CCI-2006-20007-b.pdffields 223.1.1 .1 223.1.1 .3 data DatagramaIP GCOM -Grupo de Comunicações por Computador

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

Page 4: Universidade do Minho DatagramaIPmarco.uminho.pt/~dias/MICEI/CC-I/aulas/MICEI-CCI-2006-20007-b.pdffields 223.1.1 .1 223.1.1 .3 data DatagramaIP GCOM -Grupo de Comunicações por Computador

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.

Page 5: Universidade do Minho DatagramaIPmarco.uminho.pt/~dias/MICEI/CC-I/aulas/MICEI-CCI-2006-20007-b.pdffields 223.1.1 .1 223.1.1 .3 data DatagramaIP GCOM -Grupo de Comunicações por Computador

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

Page 6: Universidade do Minho DatagramaIPmarco.uminho.pt/~dias/MICEI/CC-I/aulas/MICEI-CCI-2006-20007-b.pdffields 223.1.1 .1 223.1.1 .3 data DatagramaIP GCOM -Grupo de Comunicações por Computador

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

Page 7: Universidade do Minho DatagramaIPmarco.uminho.pt/~dias/MICEI/CC-I/aulas/MICEI-CCI-2006-20007-b.pdffields 223.1.1 .1 223.1.1 .3 data DatagramaIP GCOM -Grupo de Comunicações por Computador

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

Page 8: Universidade do Minho DatagramaIPmarco.uminho.pt/~dias/MICEI/CC-I/aulas/MICEI-CCI-2006-20007-b.pdffields 223.1.1 .1 223.1.1 .3 data DatagramaIP GCOM -Grupo de Comunicações por Computador

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

Page 9: Universidade do Minho DatagramaIPmarco.uminho.pt/~dias/MICEI/CC-I/aulas/MICEI-CCI-2006-20007-b.pdffields 223.1.1 .1 223.1.1 .3 data DatagramaIP GCOM -Grupo de Comunicações por Computador

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

Page 10: Universidade do Minho DatagramaIPmarco.uminho.pt/~dias/MICEI/CC-I/aulas/MICEI-CCI-2006-20007-b.pdffields 223.1.1 .1 223.1.1 .3 data DatagramaIP GCOM -Grupo de Comunicações por Computador

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

Page 11: Universidade do Minho DatagramaIPmarco.uminho.pt/~dias/MICEI/CC-I/aulas/MICEI-CCI-2006-20007-b.pdffields 223.1.1 .1 223.1.1 .3 data DatagramaIP GCOM -Grupo de Comunicações por Computador

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

Page 12: Universidade do Minho DatagramaIPmarco.uminho.pt/~dias/MICEI/CC-I/aulas/MICEI-CCI-2006-20007-b.pdffields 223.1.1 .1 223.1.1 .3 data DatagramaIP GCOM -Grupo de Comunicações por Computador

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

Page 13: Universidade do Minho DatagramaIPmarco.uminho.pt/~dias/MICEI/CC-I/aulas/MICEI-CCI-2006-20007-b.pdffields 223.1.1 .1 223.1.1 .3 data DatagramaIP GCOM -Grupo de Comunicações por Computador

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

Page 14: Universidade do Minho DatagramaIPmarco.uminho.pt/~dias/MICEI/CC-I/aulas/MICEI-CCI-2006-20007-b.pdffields 223.1.1 .1 223.1.1 .3 data DatagramaIP GCOM -Grupo de Comunicações por Computador

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

Page 15: Universidade do Minho DatagramaIPmarco.uminho.pt/~dias/MICEI/CC-I/aulas/MICEI-CCI-2006-20007-b.pdffields 223.1.1 .1 223.1.1 .3 data DatagramaIP GCOM -Grupo de Comunicações por Computador

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

Page 16: Universidade do Minho DatagramaIPmarco.uminho.pt/~dias/MICEI/CC-I/aulas/MICEI-CCI-2006-20007-b.pdffields 223.1.1 .1 223.1.1 .3 data DatagramaIP GCOM -Grupo de Comunicações por Computador

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

Page 17: Universidade do Minho DatagramaIPmarco.uminho.pt/~dias/MICEI/CC-I/aulas/MICEI-CCI-2006-20007-b.pdffields 223.1.1 .1 223.1.1 .3 data DatagramaIP GCOM -Grupo de Comunicações por Computador

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

��������

Page 18: Universidade do Minho DatagramaIPmarco.uminho.pt/~dias/MICEI/CC-I/aulas/MICEI-CCI-2006-20007-b.pdffields 223.1.1 .1 223.1.1 .3 data DatagramaIP GCOM -Grupo de Comunicações por Computador

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

Page 19: Universidade do Minho DatagramaIPmarco.uminho.pt/~dias/MICEI/CC-I/aulas/MICEI-CCI-2006-20007-b.pdffields 223.1.1 .1 223.1.1 .3 data DatagramaIP GCOM -Grupo de Comunicações por Computador

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.

Page 20: Universidade do Minho DatagramaIPmarco.uminho.pt/~dias/MICEI/CC-I/aulas/MICEI-CCI-2006-20007-b.pdffields 223.1.1 .1 223.1.1 .3 data DatagramaIP GCOM -Grupo de Comunicações por Computador

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.

Page 21: Universidade do Minho DatagramaIPmarco.uminho.pt/~dias/MICEI/CC-I/aulas/MICEI-CCI-2006-20007-b.pdffields 223.1.1 .1 223.1.1 .3 data DatagramaIP GCOM -Grupo de Comunicações por Computador

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

Page 22: Universidade do Minho DatagramaIPmarco.uminho.pt/~dias/MICEI/CC-I/aulas/MICEI-CCI-2006-20007-b.pdffields 223.1.1 .1 223.1.1 .3 data DatagramaIP GCOM -Grupo de Comunicações por Computador

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

Page 23: Universidade do Minho DatagramaIPmarco.uminho.pt/~dias/MICEI/CC-I/aulas/MICEI-CCI-2006-20007-b.pdffields 223.1.1 .1 223.1.1 .3 data DatagramaIP GCOM -Grupo de Comunicações por Computador

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

Page 24: Universidade do Minho DatagramaIPmarco.uminho.pt/~dias/MICEI/CC-I/aulas/MICEI-CCI-2006-20007-b.pdffields 223.1.1 .1 223.1.1 .3 data DatagramaIP GCOM -Grupo de Comunicações por Computador

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

Page 25: Universidade do Minho DatagramaIPmarco.uminho.pt/~dias/MICEI/CC-I/aulas/MICEI-CCI-2006-20007-b.pdffields 223.1.1 .1 223.1.1 .3 data DatagramaIP GCOM -Grupo de Comunicações por Computador

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

Page 26: Universidade do Minho DatagramaIPmarco.uminho.pt/~dias/MICEI/CC-I/aulas/MICEI-CCI-2006-20007-b.pdffields 223.1.1 .1 223.1.1 .3 data DatagramaIP GCOM -Grupo de Comunicações por Computador

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)

Page 27: Universidade do Minho DatagramaIPmarco.uminho.pt/~dias/MICEI/CC-I/aulas/MICEI-CCI-2006-20007-b.pdffields 223.1.1 .1 223.1.1 .3 data DatagramaIP GCOM -Grupo de Comunicações por Computador

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)