目录
DNS域名系统
- 将字符串自动转换为具体的IP地址,有效管理主机名和IP地址之间的对应关系。
- 解决IP地址不便记忆的问题。
Linux下使用DNS查询域名的IP地址(以查询我的博客域名 www.xduwq.blog.csdn.net 为例):
域名服务器和解析器
域名服务器:
- 管理域名的主机和相应的软件,可以管理所在分层的域的相关信息。
- 每个域的分层上都有自己的域名;
- 各层域名服务器都了解该层以下的分层中所有域名服务器的IP地址;
- 所有域名服务器都了解域名服务器的IP地址;
解析器:
- 进行DNS查询的主机和软件。
DNS管理众多信息
DNS报文头部标志字段
ARP地址解析协议
- Address Resolution Protocol,能实现任意网络层地址到任意物理地址的转换,但一般指的是从IP地址定位MAC地址。
- 以目标IP地址为线索,用来定位下一个应该接收数据分包的网络设备对应的MAC地址;
- 借助ARP请求和ARP响应两种类型确定MAC地址;
- 从一个IP地址发送ARP请求包以了解其MAC地址,目标地址将自己的MAC地址填入其中的ARP响应包返回IP地址;
- 将获取到的MAC地址缓存一段时间到MAC缓存表中,可以节约网络流量;
- ARP协议将MAC地址和IP地址相关联;
工作原理:
主机向自己所在的网络广播一个ARP请求,该请求包括目标机器的网络地址。此网络上的其他其他机器都将收到这个请求,但只有被请求的目标机器会回应一个ARP请求,其中包含自己的物理地址
ARP包格式
Linux下直接输入arp:
arp -a 可以查询ARP缓存,arp -d 删除缓存项,arp -s 添加缓存项
RAPP逆地址解析协议
- 从MAC地址定位IP地址,作用是完成硬件地址到IP地址的映射,主要用于无盘工作站,因为给无盘工作站配置的IP地址不能保存。工作流程:在网络中配置一台RARP服务器,里面保存着IP地址和MAC地址的映射关系,当无盘工作站启动后,就封装一个RARP数据包,里面有其MAC地址,然后广播到网络上去,当服务器收到请求包后,就查找对应的MAC地址的IP地址装入响应报文中发回给请求者。因为需要广播请求报文,因此RARP只能用于具有广播能力的网络。
代理ARP
- 通常ARP包会被路由器隔离,采用代理ARP的路由器可以将ARP请求转发给邻近的网段;
- 使两个以上的网段可以像在同一网段中一样进行通信;
ICMP互联网控制报文协议
- Internet Control Message Protocol因特网控制报文协议
- 主要功能是确定IP包是否成功送达目标地址,通知在发送过程中IP包被废弃的具体原因,改善网络设置等;
- 可以获得网络是否正常,设置是否有误乙级设备有何异常等信息,便于在网络上的问题诊断;
- 严格来说,ICMP并非严格意义上的网络层上层协议,因为ICMP使用处于同一层的IP协议提供的服务,属于IP辅助技术。
ICMP报文分类
- 差错报文:主要用于回应网络错误信息。比如目标不可达(类型值为3)和重定向(类型值为5)。
- 查询报文:主要用来查询网络信息。比如ping程序使用ICMP报文来查看目标是否可达(类型值为8)。
ICMP消息类型
ICMP报文使用8位代码字段进步一细分不同的条件,使用16位校验和字段(包括头部和内容部分)进行循环冗余校验,以检验报文在传输过程中是否被损坏。
ICMP报文结构:
ICMP消息类型表
- 类型3 目标不可到达消息
IP路由器无法将IP数据包发送给目标地址时,会给发送端主机返回一个目标不可达的ICMP消息,并在消息中显示不可达的具体原因 - 类型5 重定向消息
- 类型11 超时消息
- 类型0、8 回送消息
- 类型4 原点抑制消息
- 类型17、18 地址掩码消息
ICMPv6
- 在IPv6中,从IP地址定位MAC地址的协议从ARP转为ICMP的邻居探索消息
- 分成两大类:错误消息和信息消息
- 0~127属于错误消息,128~255属于信息消息
邻居探索
- 邻居请求消息:用于查询IPv6地址与MAC地址对用关系,并由邻居宣告消息得知MAC地址
- 邻居探索消息:ICMPv6从类型133到类型137的消息
- 没有路由器:使用MAC地址作为链路本地单播地址
- 有路由器:从路由器中获得IPv6地址前面部分,后面用MAC地址配置
IP地址自动设置
- 通过路由器请求消息查询IP地址前面部分的内容
- 通过路由器宣告消息通知后面部分的内容