Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista Tópicos...
Transcript of Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista Tópicos...
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
Tópicos Especiais em Comunicação de Dados IV: Roteamento na Internet
Prof. Miguel Elias Mitre Campista
http://www.midiacom.uff.br/~miguel
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
Roteiro Resumido
• Princípios básicos da Internet
• Princípios básicos de roteamento– Roteamento na Internet– Endereçamento
• Roteamento intra e inter-domínio
• Roteamento multicast
• Roteamento em redes sem-fio
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
Bibliografia1. Christian Huitema, "Routing in the Internet", 2nd
Edition, Prentice Hall, 1999, ISBN 0-13-022647-5
2. C. Siva Ram Murthy e B. S. Manoj, “Ad Hoc Wireless Networks: Architectures and Protocols”, 2nd Edition, New Jersey: Prentice Hall, 2004, ISBN 0-13-147023-X
3. Ian Akyildiz e Xudong Wang, “Wireless Mesh Networks”, 1st Edition, John Wiley & Sons Publisher, 2009, ISBN 978-0-470-03256-5
4. Andrew S. Tanenbaum, "Redes de Computadores", Trad. da 4a Edição, Ed. Campus, 2003, ISBN 85-352-1185-3
5. Artigos técnicos da área
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
Avaliações
• Pelo menos duas provas– Uma na metade e outra no final do período
• Seminário científico– Apresentação de temas da área
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
Parte I
Princípios Básicos da Internet
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
Qual a Arquitetura da Internet?
• Etapas de um planejamento– Definição dos blocos funcionais e as suas relações– Definição das interfaces entre os blocos funcionais
Divisão em blocos e definição de interfaces permite a simplificação do sistema
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
Qual a Arquitetura da Internet?• Modelo OSI
– Divide a Internet em 7 camadas• “Dividir para conquistar”
– Define o papel de cada uma e a relação entre elas
• Cada camada:– Presta serviço para camada
superior– Recebe serviço da camada inferior
Aplicação
Sessão
Transporte
Rede
Enlace
Física
Apresentação
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
Qual a Arquitetura da Internet?• Modelo OSI
– Desvantagens• Complexidade
– Cada camada deve desempenhar sua função antes de encaminhar os dados para a camada seguinte
• Rigidez de modelagem– Camadas diferentes não devem
compartilhar informações
• Mesmos serviços prestados por camadas diferentes
– Ex. correção de erro
Aplicação
Sessão
Transporte
Rede
Enlace
Física
Apresentação
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
Qual a Arquitetura da Internet?• Modelo OSI
– Desvantagens• Complexidade
– Cada camada deve desempenhar sua função antes de encaminhar os dados para a camada seguinte
• Rigidez de modelagem– Camadas diferentes não devem
compartilhar informações
• Mesmos serviços prestados por camadas diferentes
– Ex. correção de erro
Aplicação
Sessão
Transporte
Rede
Enlace
Física
Apresentação
Dadas as
desvantagens, o
modelo OSI não foi
adotado na Internet
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
Qual a Arquitetura da Internet?
• Projeto iniciado do “zero”– Arquitetura do sistema planejada desde o início
• Princípios de arquitetura– Guias úteis para o desenvolvimento do projeto
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
Qual a Arquitetura da Internet?
• Início da Internet– Arpanet: Primeira rede d
comutação de pacotes• Quatro nós em 1959
– UCLA, Stanford (SRI), UCSB e Utah
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
Qual a Arquitetura da Internet?
• Arpanet e rede militar se separam em 1983– Arpanet conta com 45
nós• Padronização do TCP/IP
– Crescimento acelerado
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
Qual a Arquitetura da Internet?
• Internet em 2003– Rede altamente
complexa• Milhões de
enlaces
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
Qual a Arquitetura da Internet?
• Internet em 2003– Rede altamente
complexa• Milhões de
enlacesA Internet não
possui uma
arquitetura bem
definida e está em
constante evolução
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
Características da Internet
• A Internet...– Não possui uma arquitetura definida– Não possui dono– É descentralizada– Não pode ser desligada
• Além disso...– Sua evolução depende de consenso sobre
propostas técnicas e código executável
Realimentação de implementações reais é mais importante que qualquer planejamento
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
Características da Internet
• Crescimento exponencialmente acelerado• Surgimento de diferentes tecnologias de rede• Surgimento de diferentes necessidades e
requisitos
Ao invés de construir e reconstruir a Internet, procura-se tornar a Internet adaptável à sua
própria evolução
Para isso, defini-se REQUISITOS para nortear o desenvolvimento da Internet e não para
restringir a evolução dela
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
Requisitos da Internet
• Conectividade – Conectar redes existentes– Qualquer estação pode enviar dados para qualquer
outra estação
• Robustez – Efetuar a comunicação desde que exista algum
caminho origem/destino
• Heterogeneidade– Permitir a interconexão de diferentes tecnologias de
rede– Suportar diferentes tipos de serviços e aplicações
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
Requisitos da Internet
• Gerenciamento – Gerenciar distribuidamente os recursos da rede;
• Custo – Apresentar uma boa relação custo-benefício;
• Acessibilidade – Facilitar a conexão de novas estações;
• Responsabilização – Permitir a identificação do responsável pelos
recursos da Internet
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
Requisitos da Internet
• Gerenciamento – Gerenciar distribuidamente os recursos da rede;
• Custo – Apresentar uma boa relação custo-benefício;
• Acessibilidade – Facilitar a conexão de novas estações;
• Responsabilização – Permitir a identificação do responsável pelos
recursos da Internet
A primeira solução
encontrada foi o
modelo TCP/IP
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
• Modelo em camadas• Comutação de pacotes e melhor esforço• Transparência• Princípio fim-a-fim• Entrega imediata• Heterogeneidade de sub-rede• Endereçamento global• Controle distribuído• Cálculo global do roteamento• Divisão em regiões• Dependência mínima
Princípios da Internet – Modelo TCP/IP
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
• Modelo em camadas• Comutação de pacotes e melhor esforço• Transparência• Princípio fim-a-fim• Entrega imediata• Heterogeneidade de sub-rede• Endereçamento global• Controle distribuído• Cálculo global do roteamento• Divisão em regiões• Dependência mínima
Princípios da Internet – Modelo TCP/IP
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
Modelo em Camadas
• Objetivo é o mesmo do Modelo OSI– Entretanto, divide em 4 camadas
• Aplicação e transporte• Rede e Enlace (Enlace + Física)
• Introduz maior flexibilidade– Protocolos podem apresentar características de
camadas diferentes– Protocolos de camadas diferentes podem
compartilhar informações
• Modelo OSI é apenas um modelo de referência– Modelo TCP/IP define protocolos para cada camada
Reduz o problema do Modelo OSI,
mas nem tanto...
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
• Modelo em camadas• Comutação de pacotes e melhor esforço• Transparência• Princípio fim-a-fim• Entrega imediata• Heterogeneidade de sub-rede• Endereçamento global• Controle distribuído• Cálculo global do roteamento• Divisão em regiões• Dependência mínima
Princípios da Internet – Modelo TCP/IP
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
Comutação de Pacotes e Melhor Esforço
• Comutação de pacotes– Robustez para sobrevivência a desastres
• Datagrama e topologia em malha– Caminhos alternativos na ocorrência de falhas
– Eficiência• Compartilhamento da banda
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
Comutação de Pacotes e Melhor Esforço
• Comutação de pacotes– Robustez para sobrevivência a desastres
• Datagrama e topologia em malha– Caminhos alternativos na ocorrência de falhas
– Eficiência• Compartilhamento da banda
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
Comutação de Pacotes e Melhor Esforço
• Melhor esforço– Nós simples e de baixo custo – sem estados na rede
• Encaminhamento de pacote independente um dos outros
• Sem reserva de recursos• Sem recuperação de erros• Sem garantia de acesso• Atraso dependente do tamanho da fila• Sem garantia de entrega do pacote ao destino
– Pacote é descartado se fila cheia
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
• Modelo em camadas• Comutação de pacotes e melhor esforço• Transparência• Princípio fim-a-fim• Entrega imediata• Heterogeneidade de sub-rede• Endereçamento global• Controle distribuído• Cálculo global do roteamento• Divisão em regiões• Dependência mínima
Princípios da Internet – Modelo TCP/IP
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
Transparência
• Transparência sintática– Pacotes são transferido da origem ao destino sem
que a rede modifique os dados• Apenas erros de transmissão modificam pacotes
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
• Modelo em camadas• Comutação de pacotes e melhor esforço• Transparência• Princípio fim-a-fim• Entrega imediata• Heterogeneidade de sub-rede• Endereçamento global• Controle distribuído• Cálculo global do roteamento• Divisão em regiões• Dependência mínima
Princípios da Internet – Modelo TCP/IP
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
Princípio Fim-a-Fim
• Princípio fundamental da Internet– Funções específicas de nível de aplicação devem
estar presentes apenas nas extremidades
• Motivação– Conhecimento da aplicação nas extremidades
• Funções específicas podem ser implementadas de forma correta e completa
– Robustez da rede• Ausência de estados na rede torna a rede mais robusta
e adaptável
Núcleo simples e inteligência nas extremidades
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
• Modelo em camadas• Comutação de pacotes e melhor esforço• Transparência• Princípio fim-a-fim• Entrega imediata• Heterogeneidade de sub-rede• Endereçamento global• Controle distribuído• Cálculo global do roteamento• Divisão em regiões• Dependência mínima
Princípios da Internet – Modelo TCP/IP
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
Entrega Imediata
• Pacotes são entregues imediatamente segundo a disciplina de melhor esforço
• Conectividade contínua no tempo– Não existem atrasos indefinidos de entrega de
pacote– Não existem conexões intermitentes
• Não há armazenamento persistente no interior da rede– Ex.: Redes tolerantes a atrasos e desconexões
(DTNs)
Rede conectada
Origem Destino
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
• Pacotes são entregues imediatamente segundo a disciplina de melhor esforço
• Conectividade contínua no tempo– Não existem atrasos indefinidos de entrega de
pacote– Não existem conexões intermitentes
• Não há armazenamento persistente no interior da rede– Ex.: Redes tolerantes a atrasos e desconexões
(DTNs)
Origem Destino
Entrega Imediata
Rede conectadaRede desconectada
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
Origem
• Pacotes são entregues imediatamente segundo a disciplina de melhor esforço
• Conectividade contínua no tempo– Não existem atrasos indefinidos de entrega de
pacote– Não existem conexões intermitentes
• Não há armazenamento persistente no interior da rede– Ex.: Redes tolerantes a atrasos e desconexões
(DTNs)
Destino
Entrega Imediata
Armazena mensagem completa em disco Transferência
completa da mensagem
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
• Modelo em camadas• Comutação de pacotes e melhor esforço• Transparência• Princípio fim-a-fim• Entrega imediata• Heterogeneidade de sub-rede• Endereçamento global• Controle distribuído• Cálculo global do roteamento• Divisão em regiões• Dependência mínima
Princípios da Internet – Modelo TCP/IP
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
Heterogeneidade da Sub-rede
• Premissas mínimas para a camada de enlace– Capacidade de transferir pacotes cuidando da
sincronização
• Consequências– Acomoda diferentes tecnologias com diferentes
• Atrasos e bandas• Padrões de erro e tamanho de unidade de dados
Rede A Rede D
Rede B Rede C
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
• Modelo em camadas• Comutação de pacotes e melhor esforço• Transparência• Princípio fim-a-fim• Entrega imediata• Heterogeneidade de sub-rede• Endereçamento global• Controle distribuído• Cálculo global do roteamento• Divisão em regiões• Dependência mínima
Princípios da Internet – Modelo TCP/IP
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
Endereçamento Global
• Características do endereçamento– Espaço de endereçamento global– Endereço único
• Endereçamento hierárquico– Aumenta a escalabilidade da busca
• Permite a busca por prefixo– Best-prefix match
Se não houvesse endereçamento hierárquico, cada nó teria que saber para onde encaminhar pacotes
de cada possível destino da rede
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
Endereçamento Global
• Segue sequência lógica hierárquica até encontrar o destino– Encaminhamento realizado de
acordo com a tabela de roteamento
• Endereço também indica localização da estação– Sobrecarga semântica
• Problema nas redes sem-fio
Encontrado!
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
• Modelo em camadas• Comutação de pacotes e melhor esforço• Transparência• Princípio fim-a-fim• Entrega imediata• Heterogeneidade de sub-rede• Endereçamento global• Controle distribuído• Cálculo global do roteamento• Divisão em regiões• Dependência mínima
Princípios da Internet – Modelo TCP/IP
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
• Algoritmos totalmente distribuídos– Ausência de ponto único de falha
• Maior de robustez
Controle Distribuído
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
• Modelo em camadas• Comutação de pacotes e melhor esforço• Transparência• Princípio fim-a-fim• Entrega imediata• Heterogeneidade de sub-rede• Endereçamento global• Controle distribuído• Cálculo global do roteamento• Divisão em regiões• Dependência mínima
Princípios da Internet – Modelo TCP/IP
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
• Características do endereçamento– Global, único e organizado hierarquicamente
• Possibilita rotas sem loops obtidas a partir “apenas” do endereço destino
Cálculo Global do Roteamento
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
• Modelo em camadas• Comutação de pacotes e melhor esforço• Transparência• Princípio fim-a-fim• Entrega imediata• Heterogeneidade de sub-rede• Endereçamento global• Controle distribuído• Cálculo global do roteamento• Divisão em regiões• Dependência mínima
Princípios da Internet – Modelo TCP/IP
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
Divisão em Regiões• Internet é uma “rede de redes”
– Formada por uma coleção de Sistemas Autônomos independentes
• Operação e gerenciamento independente– protocolo de roteamento– políticas – serviços prestados– robustez a falhas
» diversos caminhos origem/destino por diferentes AS
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
Divisão em Regiões• Internet é uma “rede de redes”
– Formada por uma coleção de Sistemas Autônomos independentes
• Roteamento– Entre sistemas autônomos
» Border Gateway Protocol (BGP)– Dentro do Sistema Autônomo
» Interior Gateway Protocol
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
• Modelo em camadas• Comutação de pacotes e melhor esforço• Transparência• Princípio fim-a-fim• Entrega imediata• Heterogeneidade de sub-rede• Endereçamento global• Controle distribuído• Cálculo global do roteamento• Divisão em regiões• Dependência mínima
Princípios da Internet – Modelo TCP/IP
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
Dependência Mínima
• Comunicações entre estações que:– Conhecem o endereço uma da outra– Existe um caminho entre as duas
• Para isso...– Dependência de um conjunto mínimo de serviços
• Ex.: Mesmo na ausência do DNS, a comunicação deve ser efetuada
– Ausência de protocolo (controle) de acesso• Estações diretamente conectadas
– Podem se comunicar sem auxílio de roteador
Devem ser efetuadas!
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
• Se conectividade é o requisito principal da Internet...– A ferramenta é o protocolo de rede
• Protocolo IP
– E a inteligência está nos terminais
• A conectividade deve ser garantida mesmo com:– Crescimento exponencial da Internet– Diferentes provedores de serviço– Múltiplas tecnologias de redes– Múltiplos protocolos de camadas superiores e
inferiores• Protocolo IP é chamado de “camada de cobertura”
Princípios da Internet – Modelo TCP/IP
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
• Protocolo IP deve...– Ser independente da tecnologia de camada inferior– Oferecer uma plataforma única para diferentes
aplicações e serviços
Princípios da Internet – Modelo TCP/IP
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
Importância do Roteamento
• Uma rede conectada é suficiente para haver comunicação?– Sim, a comunicação pode ser realizada por inundação
• Todos os nós enviam mensagens para todos os vizinhos até que o destino seja alcançado
• Essa maneira é possível? É eficiente? É escalável?– NÃO!
• O roteamento é responsável por encaminhar os dados até o destino de maneira eficiente
• Os protocolos de roteamento encontram o caminho ótimo (ou quase-ótimo) pelo qual os dados são encaminhados
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
Padronização
• IETF (Internet Engineering Task Force)– Pequeno secretariado, financiado pelo governo americano– Grupos de Trabalho (Working Groups)
• Organizados em áreas, cada área com um ou dois diretores
– IESG (Internet Engineering Steering Group)• Formado pelos diretores de área e pelo IETF chair• Aprovam os padrões gerados pelos WGs
• IAB (Internet Architecture Board)– Estudos de longo prazo– Resolução de disputas
• IRTF (Internet Research Task Force)
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
Áreas do IETF
• Applications Area • General Area • Internet Area • Operations and Management Area • Routing Area • Security Area • Sub-IP Area • Transport Area
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
Direitos AutoraisNote Well
All statements related to the activities of the IETF and addressed to the IETF are subject to all provisions of Section 10 of RFC 2026, which grants to the IETF and its participants certain licenses and rights in such statements. Such statements include verbal statements in IETF meetings, as well as written and electronic communications made at any time or place, which are addressed to:
-the IETF plenary session,-any IETF working group or portion thereof,-the IESG or any member thereof on behalf of the IESG,-the IAB or any member thereof on behalf of the IAB,-any IETF mailing list, including the IETF list itself, any working group or
design team list, or any other list functioning under IETF auspices,- the RFC Editor or the Internet-Drafts function
Statements made outside of an IETF meeting, mailing list or other function, that are clearly not intended to be input to an IETF activity, group or function, are not subject to these provisions.
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
Grupos de Trabalho do IETF
• Em geral, possuem vida curta• São criados com um objetivo preciso
– Especificado no charter do grupo
• Internet-drafts– Documentos de trabalho– Possuem vida limitada (6 meses)– Podem estar associados a um grupo de trabalho, ou
não (submissões individuais)
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
Publicações
• Request For Comments (RFC)
• A série de documentos RFCs é o canal oficial de publicação dos padrões Internet, além de outras publicações do IESG, IAB e da comunidade Internet
• RFC 2026 – The Internet Standards Process
• Nem toda RFC define um padrão
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
Tipos de RFC
• Internet Standard Specifications– Technical Specification (TS)
• Descrição de um protocolo, serviço, procedimento, convenção ou formato
– Applicability Statement (AS) • Especifica como, e em que circunstâncias, uma ou
mais especificações técnicas (TSs) podem ser aplicadas para implementar uma aplicação Internet
• Best Current Practice (BCP)– Relata os melhores métodos de operação ou
parâmetros de configuração utilizados na prática, em consenso geral
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
Processo de Padronização
• Os padrões evoluem seguindo níveis de maturidade, numa linha conhecida como “standards track”
• Standards track– Proposed standard
• Especificação estável e aceita pela comunidade• O IESG decide quando a especificação atinge este nível
– Draft standard• No mínimo duas implementações independentes e inter-
operáveis
– Internet standard• Padrão para o qual existem diversas implementações e
sucesso operacional comprovado
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
A Trilha das RFCs Não-Padrão
• Non-standards track• especificações que não têm por objetivo se tornar
padrões Internet• especificações que ainda não estão prontas para o
standards track• especificações que foram revisadas, ou caíram em desuso
– Experimental• Experimento de pesquisa ou desenvolvimento
– Informational• Apenas informação, não representa consenso ou
recomendação da comunidade Internet
– Historic• Especificações revisadas ou que deixaram de ser usadas
Tópicos Especiais em Roteamento na Internet – TET/UFF Professor Miguel Campista
Leitura Recomendada
• Capítulo 1 do livro do Huitema
• Moreira, M. D. D., Fernandes, N. C., Costa, L. H. M. K., and Duarte, O. C. M. B. - "Internet do Futuro: Um Novo Horizonte", em Minicursos do Simpósio Brasileiro de Redes de Computadores - SBRC'2009, pp. 1-59, Rio de Janeiro, RJ, Brasil, Maio 2009.– http://www.gta.ufrj.br/publicacoes
• Request For Comments 1958– http://tools.ietf.org/html/rfc1958