《图解TCP/IP》---IP协议相关技术

1. 仅凭IP无法完成通信

  • 我们通常情况下,在访问web时,不会直接使用IP进行访问,所以需要一个功能——将网址转化成IP地址
  • 数据链路层也不使用IP地址,所以需要将IP地址变成MAC地址

2. DNS

  • DNS可以将我们访问的网路地址,转换成IP地址
  • 可以适用IPv4和IPv6

IP地址是不便于记忆的

  • 在进行网络通信时,使用的一般是主机名,于此同时帮助转换的就是host数据库文件

    DNS的产生
  • 为了可以有效管理host文件,产生了DNS系统
  • 当输入域名时,DNS会检索数据库定位到IP地址;当主机名变化时,DNS也会及时修改

域名的构成

  • 域名是识别主机和组织的分层名称
    域名服务器
  • 管理域名的主机和相应的软件,它可以管理所在分层域的相关信息
  • 每一层都有一个域名服务器

  • 根部设置的域名服务器叫做根域名服务器,它对DNS起着至关重要的作用
  • 每一层域名服务器会注册下一层域名服务器的ip,如果想要修改当前分层的信息,必需要在上一层进行追加或修改
  • 为了提高容灾能力,一般会在每一层设置多个域名服务器

解析器

  • 进行DNS查询的主机和软件都叫解析器。包括用户使用的个人电脑等等

DNS查询

  • 解析器会向域名服务器查询IP
  • 接收到查询请求的服务器会先在自己数据库中查询,如果有则返回;没有则继续向上一层的域名解析器查询
  • 解析器和域名服务器会将最新查询到的数据放入缓存,减少每次查询的性能消耗

3. ARP

  • 以目标IP地址为线索,定位下一个应该接收数据分包的网络设备
  • 如果目标主机不在同一个链路,则可以定位下一跳的路由器MAC地址
  • 只适用IPv4,IPv6需要使用ICMPv6
  • 通过ARP请求ARP响应定位MAC地址
  • ARP请求通过广播的方式,发送所要定位的IP地址以及自己的IP地址
  • 当主机收到的ARP请求的IP地址与自己一致,会单播发送ARP响应
  • 通常会将ARP获取的MAC地址放入缓存中,以提高网络性能(发送ARP请求和响应的主机都会进行缓存)

ARP的作用

  • MAC地址和IP地址的作用不同,所以采用ARP定位,而不直接使用MAC地址
  • 如果只使用MAC地址,由于两个主机不在一个链路,则无法直接发送过去

RARP

  • 是将MAC地址定位为IP地址
  • 通常用于嵌入式设备,一般的个人电脑,会采用DHCP动态获取IP地址

代理ARP

  • 如果不支持子网掩码的老设备,可以采用代理ARP继续使用网络

4. ICMP

  • 架构IP网络,需要特别注意两点:1.确认网络是否正常工作;2.遇到异常进行问题诊断
  • ICMP是提供网络诊断的功能协议
  • 发送的消息使用的依然是IP地址

<mark>主要功能:</mark>

  1. 确认IP包是否发送到目的地址
  2. 通知在发送过程中IP包被丢弃的具体原因(损坏,不可达)

ICMP的消息分为两大类

  • 通知出错原因的错误信息
  • 用于诊断的查询信息

4.1 主要的ICMP消息

ICMP目标不可达(类型3)

  • 无法将数据包发送到目的地址时,会向发送方发送一个消息不可达,并显示不可达的具体原因

  • 常见原因:错误代码1:表明主机不可达,可能该主机没有连接到网络

ICMP重定向消息(类型5)

  • 如果发现发送端使用了次优的路径发送消息,会返回ICMP重定向的消息,给这个主机,包含最合适的路由信息和源数据

ICMP超时消息(类型11)

  • 当IP包中的TTL(生命周期)为0时,此IP包会被丢弃,此时会发送一个ICMP的超时消息
  • 设置生命周期目的在于防止路由控制时出现环路

ICMP回送消息(类型0、8)

  • 用于主机和路由器之间,判断所发送的数据包是否成功到达
  • ping命令的实现

4.2 ICMPv6

  • 在IPv4如果没有IPMP,依然可以实现通信,起到的是辅助作用
  • IPv6如果没有ICMPv6,则无法通行
  • 将ICMP分为两大类:1.错误消息 2.信息消息

邻居探索

  • 类似于ARP,不过采用是多播

5. DHCP

  • 即插即用
  • 自动设置IP地址
  • 统一管理IP地址

工作机制

  • 先架设一台DHCP服务器,并设置相关信息
  • 发送DHCP发现包,获取IP地址
  • 发送DHCP请求包,防止获取的IP地址重复

DHCP中继代理可以实现在不同网段统一分配IP地址的功能

6. NAT

  • 将主机使用的私有地址全局IP地址进行相互转换
  • 解决IPv4地址不足的问题
  • NAPT可以进行私有地址加端口号的转换

NAT-PT

  • 将IPv6和IPv4相互转换的协议

潜在问题

  • 无法从NAT外部向内部建立连接(因为内部连接一旦断开,转换表就会删除)—NAT穿越
  • 转换表的生成需要有开销
  • 如果NAT故障,会造成所有的TCP连接进行重置
  • 即使备份多态NAT,TCP连接还是会断开

7. IP隧道

8. 其他IP相关技术(了解)

IP多播

  • 需要确定是否存在接收端
  • IPV4采用IGMP,IPv6采用ICMPv6

IP任播

  • 主要用于110和119

通信质量控制

  • RSVP技术

MobileIP

  • 解决移动端IP地址容易变化,造成的TCP或UDP连接中断
全部评论

相关推荐

10-24 11:10
山西大学 Java
若梦难了:哥们,面试挂是很正常的。我大中厂终面挂,加起来快10次了,继续努力吧。
点赞 评论 收藏
分享
10-15 03:05
门头沟学院 Java
CADILLAC_:凯文:我的邮箱是死了吗?
点赞 评论 收藏
分享
评论
点赞
1
分享
牛客网
牛客企业服务