图解TCPIP---第五章---IP协议相关技术

DNS

TCPIP世界从一开始就有一个叫做主机识别码的东西 这种识别方式是指为每台计算机赋予唯一的主机名 在进行网络通信时可以直接使用主机名而无需使用一大串的IP 此时需要将主机名字转换为具体的IP地址 此时主机往往会用到一个叫做hosts的数据库文件

在上述背景之下 产生了一个可以有效管理主机名和IP地址之间对应关系的系统 那就是DNS系统

当然了DNS不仅仅只记录了这些信息 其他更多信息见P164 比如IP解析出主机域名的PTR信息

ARP

ARP是一种解决地址问题的协议 以目标IP地址为线索 用来定位下一个应该接收数据分包的网络设备对应的MAC地址 如果目标不在同一个链路时可以用ARP查找下跳路由器的MAC地址
在IPv6中使用ICMPv6代替ARP

机制很简答 使用一个ARP请求报和响应包进行邻居探索就可以知道一个链路的MAC地址了 获取的MAC地址会缓存一段时间 避免在链路上存在过多的ARP包

RARP

RARP是一种从MAC定位到IP的一种协议 比如没有任何输入接口或无法通过DHCP动态获取IP时的某些设备就会用到 需要架设一个RARP服务器

代理ARP

通常ARP包会被路由器隔离但是采用代理ARP的路由器可以将ARP请求转发给相邻网段

ICMP

之前章节有说有些网络环境为了安全考虑会屏蔽ICMP包 不能过分依赖ICMP
主要功能分两类

  • 同之出错原因的错误消息
  • 用于诊断的查询消息

下面介绍一些主要的ICMP消息

  • 目标不可达 类型3
    • 实际通信中常返回错误代码1表示主机不可达
    • 错误代码4表示之前说的路径MTU探索
  • 重定向或者改变路由 类型5
    • 如果路由器发现发送端主机采用了次优的路径发送数据那么会返回一个ICMP重定向消息给这个主机.信息中包含了最合适的路由和源数据

    • 不过多数情况这种重定向会引发问题 所以往往不进行这种设置

      扫描二维码关注公众号,回复: 9046174 查看本文章
    • 具体如下图

      在这里插入图片描述

  • 超时消息 类型11
    • 第三章讲到的TTL 为0丢弃该包时会返回一个超时消息 错误号为0
    • 有一款利用超时消息的应用 traceroute 显示出由执行程序的主机到达特定的主机之前经历过多少路由器 在windows中叫做tracert
  • 回送消息 类型0(回送应答) 类型8(回送请求)
    • ping 就是用这个消息实现的
  • 原点抑制消息 类型4
    • 使用低速广域网线路时的情况下 连接WAN的路由器可能拥堵
    • 拥堵时 路由器可以向IP包源主机发送一个原点抑制消息 让主机开启IP包的传输间隔 但是可能会引起不公平的网络通信 一般不被使用
  • 路由探索消息 类型9(路由器公告) 类型10(路由器请求)
  • 地址掩码消息 类型17(地址子网请求) 类型18(地址子网应答)

ICMPv6

ICMP在IPv4中仅仅作为辅助支持IPv4 在IPv6中没有ICMPv6无法正常通信 尤其在IPv6中 IPv4的ARP转为了ICMP的邻居探索消息

这种邻居探索融合了IPv4的ARP ICMP重定向以及ICMP路由器选择消息等功能于一体 甚至还提供了自动设置IP地址的功能 (IPv6中没有DNS服务器的通知功能所以需要HDCPv6才能实现自动设置IP)

DHCP

  • 一般该网段的路由器充当DHCP服务器
  • 发送DHCP请求报和发现包时 DHCP即插即用的IP地址还未确定因为发现包的地址为广播地址255.255.255.255源地址为0.0.0.0表示未知
  • DHCP服务器故障时可能会无法上网因此经常设置两台或以上的DHCP服务器但是这样会有一个问题每个DHCP服务器都记录了IP的分配可能会冲突
  • 避免这种可以对分配的地址进行分段
  • 第二种分配之后进行检查避免冲突
    • DHCP服务器在分配IP之前 对其发送ICMP回送请求包 确认没有应答
    • DHCP客户端收到服务器分配的IP之后 对此IP发送ARP请求包 确认没有应答
  • 大型网络多个路由器可以选择一个作为DHCP代理统一管理

NAT

前面的章节有介绍 NAT是用于在本地网络使用私有地址 在连接互联网时转而使用全局IP地址的技术
还有可以转换TCP UDP端口号的NAPT技术等

在NAT内部有一个自动生成的转换IP端口的转换表

  • 在TCP时 建立TCP的首次握手的SYN包一经发出就生成这个表 在收到关闭连接时发出FIN包的确认应答从表中删除
  • 在UDP时 两端应用通信时启止时间不一致生成转化表比较困难

潜在问题

  • 无法从NAT的外部向内服服务器建立连接 其实这点很容易解决P181
  • 转换表的生成有开销
  • 一旦NAT异常需要重新启动时所有的TCP连接都会被重置
  • 即使备至两台NAT做容灾备份 TCP连接还是会断开

IP隧道

可以连接IPv4和IPv6两个不同的网络 P183自行阅读

其他IP相关技术

多播

任播

通信质量控制

显示拥塞通知

Mobile IP

  • Q 通常手机或电脑设备每连接大不同的子网 都会有DHCP或手动的方式分配不同的IP地址 那么有什么问题呢
  • A 通常与移动设备进行通信时 所连接的子网一旦发生变化 则无法通过TCP继续通信
  • Mobile IP技术在主机所连接的子网IP发生变化时 主机IP地址仍然保持不变 应用不需要做任何改动通信也能继续
  • P191见图
发布了40 篇原创文章 · 获赞 0 · 访问量 2572

猜你喜欢

转载自blog.csdn.net/u010571102/article/details/104165551