tcpip基础之ip协议相关技术

  在访问web和发送电子邮件时输入web网址或电子邮件地址等应用层地址而不会直接输入IP地址,所以需要实现——应用层地址与ip地址之间的映射。

  在数据链路层也不使用IP地址,所以还需ip地址与MAC地址的映射。

1.DNS(Domain Name System)ipv4、ipv6均试用

tcpip中要求每一个互联的计算机都具有唯一的IP地址,并基于此通信,但直接使用IP地址不方便。

主机识别码:为每一台计算机赋予唯一的主机名,DNS系统可以维护一个用来表示组织内部主机名和IP地址之间的对应关系数据库。

域名:为了识别主机名称和组织机构名称的一种具有分层的名称。比如pepper.kusa.ac.jp

域名服务器:管理域名的主机和相应的软件。

解析器(Resolver):进行DNS查询的主机和软件。用户使用的工作站或者个人电脑都属于解析器

DNS查询流程:解析器向域名服务器进行查询,接收这个查询请求的域名服务器先在自己的数据库中进行查询,若无则向上一层根域名服务器进行查询,知道知道到指定的域名服务器并返回相应的数据。

DNS不仅管理主机名与ip地址的映射关系,还管理众多其他信息,包括A(主机名的IP地址)、NS(域名服务器)、CNAME(主机别名对应的规范名称)、WKS(已知的服务)、MINFO(邮箱与邮件组信息)等等等等

2.ARP 仅ipv4适用

起初从一个IP地址广播发送ARP请求包,其中包含了想要了解其MAC地址的主机IP地址。目标地址将自己的MAC地址填入ARP响应包返回,由此获得MAC地址并缓存至一个ARP缓存表中,接收端也可以由此缓存发送端的MAC地址,这样下次不用再广播查询了。缓存有期限,过期将被清除,这样当ip与MAC映射关系变化也可以正确发送。

由ip地址广播就可以发送数据为什么还需要MAC???(IP地址与MAC地址缺一不可???)

答:应该考虑发送给其他数据链路中的主机时的情况。

   比如主机A想发送给主机B需要经过路由器C,即使知道了B的MAC,由于C会隔断两个网络,还是无法发送数据给B,此时A必须先将数据发送给C的MAC地址C1;若MAC地址就用广播地址则路由器D也会收到该消息并将数据转发给路由器C,导致数据报被重复发送。在以太网中下次要经过哪个路由器(MAC)发送数据包这一信息非常重要,所以必须知道MAC地址。

  若仅凭MAC地址连接所有网络中的主机和节点,那么网桥最初就得向所有计算机发送包,流量过大并且需要维护的表格巨大。所以IP地址也不可或缺。

综上MAC与IP缺一不可,二者相关联产生ARP协议。

RARP逆地址解析,从MAC地址定位IP地址。使用嵌入式设备(例如打印机等)时没有输入接口或无法通过DHCP动态获取IP地址等类型情况时使用RARP,需要架设RARP服务器。插电启动设备时该设备会发送一条“我的MAC地址是xxx,请告诉我我的ip是??”的请求信息,RARP服务器会返回“MAC地址是xxx的设备ip地址为xxxxx”的信息给这个设备,而设备据此设置自己的IP地址。

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

3.辅助IP的ICMP

功能:确认ip包是否成功送达目标地址,通知在发送过程当中ip包被丢弃的具体原因,改善网络设置。

ICMP的消息使用ip进行发送,大致分为两类:一是通知出错原因的错误消息,一是用于诊断的查询消息。

主要有:类型3  ICMP目标不可达消息(ip路由器无法将ip数据包发送给目标地址)

        类型5  ICMP重定向消息(发送端主机使用了次优的路径发送数据)

        类型11  ICMP超时消息(生存周期TTL减为0时ip包被丢弃)traceroute就是基于此实现的

        类型0、8  ICMP回送消息(判断所发送的数据包是否已经成功到达对端) ping命令就是基于此实现的

         ICMP原点抑制消息、路由器探索消息、地址掩码消息

ICMPv6:ipv4中ICMP仅作为辅助作用,即便没有也可以实现通信;

       ipv6中ICMP作用被扩大,包含ARP功能(作为ICMPv6中的邻居探索消息实现),若无则无法实现通信

4.DHCP

移动到一个新的地方就重新设置ip很麻烦,所以DHCP实现自动设置IP地址,统一管理IP地址分配,实现即插即用。

DHCP的工作机制:首先要架设DHCP服务器,将所需分配的IP地址设置到服务器上,此外还需设置相应的子网掩码、路由控制信息及DNS服务器地址等

分配IP地址有两种方式,一是由DHCP服务器在特定的IP地址中自动选出一个进行分配,一是针对MAC地址分配一个固定的IP地址。并且这两种方法可以并用。

从DHCP服务器获取IP地址的流程:分为两阶段即使在服务器上重复设置也可以正常工作

第一阶段:1客户端向服务器发送DHCP发现包(要求设置IP地址和子网掩码)->2服务器向客户端发DHCP提供包(通知可以使用的网络设置)

第二阶段:3客户端向服务器发送DHCP发现包(通知想要使用在2中通知的设置)->4服务器向客户端发DHCP提供包(通知允许使用3的网络设置)

DHCP服务器必须具备以下功能:在分配ip地址前发送ICMP回送请求包,确认没有返回应答

DHCP客户端必须:针对从服务器那里获得的IP地址发送ARP请求包,确认没有返回应答

家庭网络大都只有一个以太网网段,路由器充当DHCP角色,企业有多个网段,需要将DHCP统一管理,可以采用DHCP中继代理实现

5.NAT

在本地网络中使用私有地址,在连接互联网式转而使用全局ip地址。可以转换tcp/udp端口号的叫NAPT技术。

在NAT(NAPT)路由器内部有一张自动生成的用来转换地址的表,当似有网络中的多台机器同时要和外部进行通信时,仅仅转换IP地址会担心全局IP地址不够用,这是采用包含端口号一起转换的NAPT方式。

NAT问题:

1.无法从NAT外部向内部服务器建立连接

2.转换表的生成与转换操作都会产生一定的开销

3.通信过程中一旦NAT遇到异常重启所有的TCP连接都将被重置

4.即使准备两台NAT服务器做容灾备份TCP连接还是会被断开

解决:

1.用ipv6

2.NAT穿越

6.IP隧道

网络A、B使用ipv6,处于中间位置的网络C使用ipv4的话,A与B只见无法直接通信,为了让他们正常通信必须采用ip隧道功能。

ip隧道中将A中发来的数据包统合为一个数据并追加一个ipv4首部以后转发给网络C,然后删除ipv4首部。

7.ip多播及相关技术

在多播通信中确认接收端是否存在(通过MLD实现)非常重要,若没有接收端,发送多播消息会造成网络流量的浪费。

IGMP(MLD)两大作用:1.向路由器表明想要接收多播消息(并通知想接收多播的地址)2.向交换集线器通知想要接收多播的地址

8.ip任播

为那些提供同一种服务的服务器配置同一个IP地址,并与最近的服务器进行通信

9.通信质量控制

RSVP包括点对点的详细优先控制(IntServ)和相对较粗粒度的优先控制(DiffServ)

10.显式拥塞通知

11.Mobile IP

         

猜你喜欢

转载自blog.csdn.net/qq_36616692/article/details/80907615