Baixe o app para aproveitar ainda mais
Prévia do material em texto
Sistemas de Informação AULA 5 – PROTOCOLO SCTP Redes de Computadores PROF :DJACIR MACIEL maciel.estacio@gmail.com PROTOCOLO SCTP (Stream Control Transmission Protocol) O SCTP (Stream Control TransmIssion Protocol) é um novo protocolo de camada de transporte, confiável e orientado a mensagens. O SCTP, entretanto, foi especificado, em sua maior parte, para atender aos requisitos das novas aplicações de Internet recentemente introduzidas. Aplicações como telefonia IP, Videoconferência Essas novas aplicações são : ISDN sobre IP, M2UA e M3UA (sinalização de telefonia),H.248 (media gateway control),H.323 (telefonia IP) e SIP (telefonia IP); Esses serviços de transporte precisam de um protocolo mais sofisticados, que o TCP é capaz de fornecer. O SCTP oferece maior desempenho e confiabilidade; Comparação , UDP ,TCP e SCTP O UDP é um protocolo orientado a mensagens; O TCP é um protocolo orientado a bytes; O SCTP combina as melhores características do UDP e do TCP.Ele é um protocolo orientado a mensagens e confiável. O SCTP preserva os delimitadores das mensagens e, ao mesmo tempo, detecta mensagens perdidas, duplicadas ou fora de ordem. Implementa mecanismos de controle de congestionamento e de fluxo. Serviços SCTP : Comunicação entre Processos O SCTP usa portas conhecidas do espaço de endereços do TCP; No entanto o SCTP utiliza algumas portas exclusivas. Portas Exclusivas SCTP Múltiplos Fluxos de Dados O TCP é um protocolo orientado a fluxo de dados. Cada conexão entre um cliente TCP e um servidor TCP envolve um único fluxo de dados. Caso ocorra uma falha em qualquer ponto do fluxo de dados, é bloqueado toda a entrega do restante dos dados. Isso pode ser aceitável quando estamos transferindo textos, mas não quando transmitimos dados em tempo real, por exemplo, em áudio ou vídeo. O SCTP implementa serviços de transporte com múltiplos fluxos de dados em cada conexão, que é denominado Associação na terminologia do SCTP. Se um dos fluxos de dados for bloqueado, os demais ainda poderão ser entregues a seus respectivos destinos. Múltiplos Fluxos de Dados A ideia é semelhante a várias pistas em uma rodovia. Cada pista pode ser usada para um tipo de tráfego diferente. Multihoming Uma conexão TCP envolve um único endereço IP de destino e de origem. Isso significa que mesmo se o emissor ou o receptor for um host multihoming (conecta mais de um endereço físico a vários endereços IP), apenas um desses endereços IP por ponto final pode ser utilizado para estabelecer uma conexão. O SCTP suporta serviços multihoming. Os hosts emissor e receptor podem definir vários endereços IP em cada ponto final, parte de uma associação. Nesse método, tolerante a falhas, quando uma rota falha, podemos usar outra interface para entregar de dados; Esse método, tolerante a falhas, é útil quando estamos transmitindo e recebendo dados em tempo real, como no caso de telefonia via Internet; Comunicação Full-Duplex Assim como o TCP, o SCTP implementa serviços de transporte full-duplex, no qual os dados podem trafegar, simultaneamente, em ambos as direções. Cada processo SCTP implementa um buffer de transmissão e um de recepção, e os pacotes são transmitidos em ambos as direções. Serviço Orientado a Conexão Da mesma forma que o TCP, o SCTP é um protocolo orientado a conexão. Entretanto, no SCTP, uma conexão é denominada de associação. Quando um processo no ponto A quer transmitir e receber dados de outro processo no ponto B, ocorre o seguinte: 1. Os dois SCTPs estabelecem uma associação entre si. 2. Os dados são trocados em ambos as direções. 3. A associação é encerrada. Serviço Confiável O SCTP, como o TCP, é um protocolo de transporte confiável; Ele implementa mecanismos de confirmação para validar a integridade dos dados no destino; Esse serviço é implementado no controle de erros. Características do SCTP Número de Sequência da Transmissão; No TCP a transferência de dados é controlada pela numeração dos bytes através de um número de sequencia; No SCTP a transmissão é feita através de um conjunto de dados; Número de Sequência da Transmissão; A transferência de dados no SCTP é controlada pela numeração dos conjuntos de blocos de dados; O SCTP usa um contador TSN (Transmission Sequence Number) para numerar os conjuntos de blocos de dados. Características do SCTP - Identificador de Fluxo No TCP, apenas um único fluxo de dados pode estar ativo em cada conexão. No SCTP, podem existir vários fluxos de dados para cada associação. Cada fluxo no SCTP é identificado por um Sl (Stream ldentifier). Identificador de Fluxo Cada bloco de dados identifica o número do SI em seu cabeçalho, de modo que, quando ele chegar ao destino, ele poderá ser corretamente entregue ao seu fluxo de dados correspondente. O SI é um número de 16 bits, iniciando em 0. Número de Sequência de Fluxo Quando um bloco de dados chega ao SCTP de destino, ele é retirado do fluxo de dados apropriado e na ordem certa. Isso significa que, além de um SI, o SCTP define cada bloco de dados em cada fluxo de dados através de um SSN (Stream Sequence Number). Pacotes No TCP, um segmento pode transportar simultaneamente dados e informações de controle. Os dados são um conjunto de bytes; As informações de controle são identificadas por seis flags de controle no cabeçalho. A especificação do SCTP é completamente diferente: Os dados são transportados em conjuntos de blocos de dados, as informações de controle são transportadas em conjuntos de blocos de controle. Vários conjuntos de blocos de controle e conjuntos de blocos de dados podem ser transmitidos simultaneamente em um pacote. Fluxo de dados : Pacotes Número de Confirmação Os números de confirmação TCP são orientados a bytes e são registrados em números de sequencia. Os números de confirmação SCTP são orientados a conjuntos de blocos. Eles se referem ao TSN. Uma segunda diferença entre as confirmações TCP e SCTP é relativa às informações de controle. Formato de um pacote SCTP Um pacote SCTP possui um cabeçalho geral obrigatório e um conjunto de blocos denominado chunks (conjuntos de blocos). Existem dois tipos de conjuntos de blocos: Conjuntos de blocos de controle e conjuntos de blocos de dados. Um bloco de controle controla e mantém a associação de blocos; Um bloco de dados transporta dados de usuário. Cabeçalho Geral O cabeçalho geral (cabeçalho de um pacote) define as extremidades (endpoints) de cada associação que um pacote pertence; Existem quatro campos no cabeçalho geral: Endereço da porta de origem : Trata-se de um campo de 16 bits que define o número da porta do processo que está enviado o pacote. Endereço da porta de destino : Trata-se de um campo de 16 bits que estabelece o número da porta do processo que receberá o pacote. Marca de verificação (Verification Tag) : Este é um número que correlaciona um pacote a uma associação. Isso impede um pacote de uma associaçãoanterior ser confundida com um pacote dessa associação. Checksum : Esse campo de 32 bits armazena o valor calculado do checksum CRC-32. Conjuntos de blocos: Informações de controle de dados e usuários são transportados em blocos; Associação SCTP O SCTP, como o TCP, é um protocolo orientado a conexão. Entretanto, uma conexão no SCTP é denominada associação para enfatizar sua característica de multihoming. Estabelecimento de uma Associação O estabelecimento de uma associação no SCTP requer o uso de um mecanismo denominado handshake de quatro vias (four-way handshaking). Nesse procedimento, um processo, normalmente um cliente, deseja estabelecer uma associação com outro processo, geralmente um servidor, usando o SCTP como protocolo de camada de transporte. Estabelecimento de uma Associação Estabelecimento de uma Associação O cliente transmite o primeiro pacote, contendo um conjunto de blocos INIT. O servidor transmite o segundo pacote com sua resposta, contendo um conjunto de blocos INIT ACK. O cliente transmite o terceiro pacote, incluindo um conjunto de blocos COOKIE ECHO. Estabelecimento de uma Associação Este é um conjunto de blocos muito simples que ecoa, sem modificações, o cookie enviado pelo servidor. O SCTP possibilita a inclusão de conjuntos de blocos de dados nesse pacote. Estabelecimento de uma Associação O servidor transmite o quarto pacote, que inclui o conjunto de blocos COOKIE ACK, confirmando o recebimento do conjunto de blocos COOKIE ECHO; O SCTP permite a inclusão de conjuntos de blocos de dados simultaneamente com este pacote. OBRIGADO !!!
Compartilhar