Programação de rede (6) Tecnologias relacionadas ao protocolo IP

1. DNS

Como os endereços IP não são fáceis de lembrar, o mundo TCP/IP teve algo chamado identificador de host desde o início . Esse método de identificação refere -se à atribuição de um nome de host exclusivo a cada computador, e o nome de host pode ser usado diretamente durante a comunicação de rede sem inserir uma longa lista de endereços IP. E neste momento, o sistema deve converter automaticamente o nome do host para um endereço IP específico . Para fazer isso, os hosts geralmente usam um arquivo de banco de dados chamado hosts .

imagem.png

Sistema DNS : Um sistema que pode gerenciar efetivamente a correspondência entre nomes de host e endereços IP.

Neste sistema, a organização de gerenciamento do host pode alterar e definir os dados. Ou seja, mantém um banco de dados que representa a correspondência entre nomes de host e endereços IP dentro de uma organização.

nome do domínio

Um nome de domínio é um nome hierárquico usado para identificar nomes de host e nomes de organizações.

Ao usar um nome de domínio, você pode anexar o nome de domínio da organização a cada nome de host. As organizações que têm um nome de domínio podem configurar sua própria sub-rede. Neste momento, o nome do subdomínio deve estar entre o nome do host e o nome de domínio.

Exemplo: O nome de domínio da Kurashiki University of Arts and Sciences é o seguinte:

kusa.ac.jp

Quando houver hosts como pepper, piyo e kinoko, seus nomes completos de host com nomes de domínio estarão no seguinte formato:

pepper.kusa.ac.jp
piyo.kusa.ac.jp
kinoko.kusa.ac.jp

A hierarquia de nomes de domínio é mostrada na figura a seguir:

imagem.png

Como mostrado acima, é uma estrutura em árvore, o vértice é a raiz (raiz), e a próxima camada do vértice é chamada de nome de domínio de primeiro nível (TLD: Top Level Domain). também muitos tipos de nomes de domínio.

servidor de nomes de domínio

O servidor de nomes de domínio refere-se ao host e ao software correspondente que gerencia o nome de domínio, pode gerenciar as informações relevantes do domínio em que está localizado. A camada que gerencia é chamada de ZONE.

O DNS definido na raiz é chamado de servidor de nomes de domínio raiz. Ele desempenha um papel vital na função do DNS de recuperar dados. Os endereços IP dos servidores de nome de domínio de camada 1 abaixo da raiz são registrados no servidor de nome de domínio raiz. Da mesma forma, os endereços IP dos servidores de nomes de domínio de próximo nível são registrados nos servidores de nomes de domínio de próximo nível do servidor de nomes de domínio raiz.

analisador

进行DNS查询的主机和软件叫做DNS解析器。用户所使用的工作站或个人电脑都属于解析器。一个解析器至少要注册一个以上域名服务器的IP地址。通常,它至少包括组织内部的域名服务器的IP地址。

DNS查询

imagem.png

二、ARP

只要确定了IP地址,就可以向这个目标地址发送IP数据报。然而,在底层数据链路层,进行实际通信时却有必要了解每个IP地址所对应的MAC地址。

ARP(Address Resolution Protocol) 是一种解决地址问题的协议。以目标IP地址为线索,用来定位下一个应该接收数据分包的网络设备对应的MAC地址。如果目标主机不在同一个链路上时,可以通过ARP查找下一跳路由器的MAC地址。

不过ARP只适用于IPv4,不能用于IPv6。IPv6中可以用ICMPv6替代ARP发送邻居探索消息。

原理

主机A为了获得主机B的MAC地址,起初要通过广播发送一个ARP请求包。这个包中包含了想要了解其MAC地址的主机IP地址。由于广播的包可以被同一个链路上所有的主机或路由器接收,因此ARP的请求包也就会被这同一个链路上所有的主机和路由器进行解析。如果ARP请求包中的目标IP地址与自己的IP地址一致,那么这个节点就将自己的MAC地址塞入ARP响应包返回给主机A。

缺点:如果每发送一个IP数据报都要进行一次ARP请求以此确定MAC地址,那将会造成不必要的网络流量。

解决方案 :通常的做法是把获取到的MAC地址缓存一段时间。

IP地址和MAC地址是否缺一不可?

答案是肯定的。

在以太网上发送IP包时,“下次要经由哪个路由器发送数据报”这一信息非常重要。而这里的“下一个路由器”就是相应的MAC地址。没有MAC地址,则需要进行对MAC地址广播,会造成数据包重复发送。

IP可以通过路由控制快速的筛选,如果没有IP,则需要在全世界查找MAC地址。

RARP

RARP(Reverse Address Resolution Protocol)是将ARP反过来,从MAC地址定位IP地址的一种协议。例如将打印机服务器等小型嵌入式设备接入到网络时就经常会用得到。

对于使用嵌入式设备时,会遇到没有任何输入接口或无法通过DHCP动态获取IP地址的情况。在类似情况下,就可以使用RARP。

代理ARP

通常ARP包会被路由器隔离,但是采用代理ARP(Proxy ARP)的路由器可以将ARP请求转发给邻近的网段。由此,两个以上网段的节点之间可以像在同一个网段中一样进行通信。

在目前的TCP/IP网络当中,一般情况下用路由器连接多个网络时,会在每个网段上定义各自的子网,从而进行路由控制。然而,对于那些不支持设定子网掩码的老设备来说,不使用代理ARP,有时就无法更好地使用网络。

三、ICMP

架构IP网络时需要特别注意两点:确认网络是否正常工作,以及遇到异常时进行问题诊断。

ICMP正是提供这类功能的一种协议。

ICMP的主要功能包括,确认IP包是否成功送达目标地址,通知在发送过程当中IP包被废弃的具体原因,改善网络设置等。

ICMP的消息大致可以分为两类:一类是通知出错原因的错误消息,另一类是用于诊断的查询消息。

imagem.png

imagem.png

四、DHCP

为了实现自动设置IP地址、统一管理IP地址分配,就产生了DHCP(Dynamic Host Configuration Protocol)协议。有了DHCP,计算机只要连接到网络,就可以进行TCP/IP通信。也就是说,DHCP让即插即用变得可能。而DHCP不仅在IPv4中,在IPv6中也可以使用。

五、NAT

NAT (Network Address Translator) é uma tecnologia usada para usar endereços privados na rede local e alternar para endereços IP globais ao se conectar à Internet. Além de converter endereços IP, a tecnologia NAPT (Network Address PortsTranslator) que pode converter números de portas TCP e UDP também surgiu, de modo que um endereço IP global pode ser usado para se comunicar com vários hosts (geralmente as pessoas mencionaram NAT, a maioria dos quais são Refere-se ao NAPT. O NAPT também é chamado de IP Masquerading ou MultiNAT.).

NAT (NAPT) é na verdade uma tecnologia desenvolvida para IPv4 que está enfrentando esgotamento de endereços. No entanto, o NAT também é usado no IPv6 para melhorar a segurança da rede, e o NAT-PT é frequentemente usado na comunicação mútua entre IPv4 e IPv6.

6. Túnel IP

As redes A e B usam IPv 6. Se a rede C na posição intermediária suportar IPv4, a comunicação direta entre a rede A e a rede B não será possível. Para permitir a comunicação normal entre eles, a função de túnel IP deve ser usada neste momento.

No túnel IP, os pacotes IPv6 enviados da rede A podem ser combinados em um dado e, em seguida, um cabeçalho IPv4 pode ser adicionado a ele e encaminhado para a rede C.

Normalmente, o cabeçalho IP é seguido pelo cabeçalho TCP ou UDP. No entanto, existem cada vez mais situações nas aplicações atuais, como "o cabeçalho IP é seguido pelo cabeçalho IP" ou "o cabeçalho IP é seguido pelo cabeçalho IPv6". Este método de comunicação no qual o cabeçalho da camada de rede é adicionado após o cabeçalho da camada de rede é chamado de "túnel IP".


O conteúdo do artigo foi extraído de: TCP/IP ilustrado (quinta edição)

Acho que você gosta

Origin juejin.im/post/7112617594644873230
Recomendado
Clasificación