其他分享
首页 > 其他分享> > 计算机网络②IP协议

计算机网络②IP协议

作者:互联网

3、IP 协议

TCP/IP 的心脏是互联网层,对应 OSI 参考模型的网络层。

  1. 网络层:实现终端节点之间的通信,端到端通信(end-to-end)。

  2. 主机:配置有 IP 地址,但不进行路由控制。

  3. 路由器:既配置有 IP 地址,也具有路由控制能力。

    image-20220226003521516

3.1、网络层 & 数据链路层

  1. 数据链路层:提供直连的两个设备之间的通信功能。即在同一条数据链路中的节点进行包传递。

  2. 网络层:可以跨越不同的数据链路

    image-20220226003651380

3.2、IP 基础知识

3.2.1、IP 地址

  1. IP 地址:用于在连接到网络中的所有主机,识别出目标主机。

  2. 主机上的每一块网卡(NIC)都需要设置 IP 地址。

  3. IPv4:32 位二进制数。每 8 位为一组,用 . 隔开,再转换为十进制数。

  4. 组成

    • 网络地址:每个网段的网络地址不同,相同网段中的主机的网络地址相同。
    • 主机地址:同一个网段内的主机地址唯一。
  5. 分类

    image-20220226010447267

  6. 广播地址:IP 地址中,主机地址都设置为 1。

  7. IP 多播:使用 D 类地址

  8. 子网:IP 地址的部分主机地址,用作子网地址。

  9. 子网掩码:IP 地址中,网络地址全为 1,主机地址全为 0。

  10. IP 地址数量:存在耗尽的危险

    • 全局地址:在整个互联网范围内保持唯一。
    • 私有地址:在同一个域里保持唯一。

3.2.2、路由控制

  1. 路由控制(Routing):将分组数据发送到最终目标地址。

    • 跳(Hop):网络中的一个区间,IP 数据报在一个个跳间被转发。
    • 多跳路由:路由器或主机在转发 IP 数据报时,只指定下一跳地址(下一个路由器或主机),而不是把到目标地址的所有通路全部指定。
  2. 路由控制表(Routing Table):记录网络地址和下一跳地址。

  3. 形成方式:管理员手动设置,或与其它路由器相互交换信息时自动刷新。

  4. 工作过程

    1. 发送 IP 包时,确定 IP 包首部中的目标地址
    2. 查路由控制表,找到具有相同网络地址的记录(最长匹配:相同位数最多的记录);
    3. 转发给下一个路由器;
    4. 直到到达目标主机。

    image-20220226115617597

  5. 默认路由(Default Route):路由表任意一个地址都能与之匹配,标记为 0.0.0.0/0default

    • 0.0.0.0/0:后面是/0,说明不是标识一个 IP 地址;
    • default:很少使用
  6. 主机路由(Host Route):IP 地址的所有位都参加路由,标记为IP地址/32

  7. 环回地址:同一台计算机上的程序之间通信时使用。地址为 127.0.0.1,主机名为 localhost

3.2.3、IP 分片

不同数据链路的最大传输单位(MTU)不同,IP 抽象化了数据链路。

  1. IP 分片(IP Fragmentation):将 IP 分为多个较小的包。

    • 在源主机或路由器进行分片,在目标主机进行重组。
    • 缺点:路由器处理负荷加重,因此引入路径 MTU。
  2. 路径 MTU:收发主机之间,不需要分片时 MTU 的最大大小。即路径上所有数据链路中最小的 MTU。

  3. 路径 MTU 发现:在发送主机按照路径 MTU 的大小分片后进行发送,避免在路由器上进行分片。

    1. 发送主机发送 IP 数据报时,将首部的分片标志位设为 1(表示不分片)。
    2. 路由器接收时将该包丢弃,并通过 ICMP 将 MTU 值返回给发送主机。
    3. 发送主机设置当前 MTU,对数据报进行分片,再次发送。
    4. 反复以上,直到不再接收到 ICMP 的消息,说明已经是一个合适的 MTU 值。

    image-20220226122710479

3.3、IPv4 首部

image-20220226123522476

3.4、相关技术

IP 将数据包发送到目标主机,但仅凭 IP 无法 完成通信。

3.4.1、DNS

域名系统(Domain Name System),适用于 IPv4 和 IPv6

  1. DNS:负责主机名和 IP 地址的转换。

  2. 域名分层结构(树形)

    • 根域
    • 顶级域
    • 二级域
    • 三级域或主机名

    image-20220226124626232

  3. 域名服务器:管理域名的主机和软件,管理的分层为 ZONE(区)

  4. DNS 解析器(Resolver):进行 DNS 查询的主机和软件。

  5. DNS 查询

    1. 解析器向 DNS 服务器查询 IP 地址;
    2. 服务器接收到请求:如果有该域名对应的 IP 地址会直接返回;如果没有,会向上一层服务器查询;
    3. 直到找到指定的域名服务器,并由该服务器返回查询的 IP 地址。

    image-20220226130337073

3.4.2、ARP

地址解析协议(Address Resolution Protocol) ,适用于 IPv4

  1. ARP:从 IP 地址定位 MAC 地址。

    • ARP 请求:源 MAC 地址,目标 IP 地址;
    • ARP 响应:源 IP 地址,目标 MAC 地址。
  2. 工作过程

    1. 源主机通过广播发送一个 ARP 请求包(包含了源 MAC 地址,想要了解其 MAC 地址的目标 IP 地址)。

    2. 同一个链路上的所有主机和路由器接收并解析 ARP 请求包;

    3. 如果其中的目标 IP 地址与自身的 IP 地址一致,则通过其中的源 MAC 地址,发送一个 ARP 响应包给源主机(包含了自身 MAC 地址)

      image-20220226131736065

  3. 缓存:将获取到的 MAC 地址缓存一段时间,避免浪费网络流量。

  4. RARP(Reverse ARP):与 ARP 相反,从 MAC 地址定位 IP 地址。

  5. 代理 ARP:将 ARP 请求转发给相邻的网段,而不会被路由器隔离。

3.4.3、ICMP

网际管理信息协议(Internet Control Message Protocol)

  1. 搭建 IP 网络的注意点:确认网络正常工作,异常时问题诊断。

  2. ICMP:确认 IP 包是否送达、通知源主机 IP 包被丢弃的原因、改善网络设置等。

  3. ICMP 消息:通知出错原因的错误消息,用于诊断问题的查询消息。

    image-20220226134147905

3.4.4、DHCP

动态主机配置协议(Dynamic Host Configuration Protocol),适用于 IPv4 和 IPv6

  1. DHCP:自动设置 IP 地址、统一管理 IP 地址分配。
  2. 有了 DHCP,计算机只要连接到网络,就可以进行 TCP/IP 通信(即插即用)。

3.4.5、NAT

网络地址转换(Network Address Translator)

  1. NAT:将本地网络的私有地址,在连接互联网时转换成全局地址。
  2. NAT-PT:将 IPv6 的首部转换为 IPv4 的首部。

3.4.6、IP 隧道

  1. IP 隧道:在网络层的首部后面追加网络层首部。

  2. 作用:让 IPv6 和 IPv4 的网络之间正常通信。

    image-20220226140147643

标签:ARP,协议,IP,MTU,计算机网络,地址,主机,路由器
来源: https://www.cnblogs.com/secretmrj/p/15939236.html