1. IP即网际协议

1.1 网络层和数据链路的关系

  • 数据链路层负责提供两个直连设备的通信功能
  • 网络层负责在两个没有直连的网络之间进行通信

2. IP基础知识

2.1 IP地址

  • 属于网络层地址
  • 用于连接到网络上所有主机可以被识别的地址

2.2 路由控制

  • 将分组数据发送到最终目的地址

  • 多跳路由在转发数据包时,只指定下一个路由或主机,而不是将所有通路指定出来

2.3 数据链路抽象化

  • IP是实现多个数据链路之间的通信协议
  • 数据链路的地址在网络层都会被抽象成IP地址
  • 不同数据链路的区别是各自的最大传输单位(MTU)不同,为解决这个问题采用分片处理,即将较大的IP包分成多个较小的。分片的包到了目的地址会被组合回来。

2.4 IP数据面向无连接型

  • 在发送数据前不需要建立连接,直接可以发送

原因:

  • 提高传输速率
  • 简化

3. IP地址基础知识

  • 通常一个网卡分配一个IP地址
  • IP地址由网络号和主机号组成
  • 私有IP的出现可以解决IP不足的问题
  • IP包被转发到途中某个路由器时,利用的是网络号进行路由。


  • IP地址分为4类。A类是0开头;B类是10开头;C类是110开头;D类是1110开头(常用与多播)
  • 广播地址用于在同一个链路中相互连接的主机之间发送数据包

IP多播

  • 用于将包发送到特定的组中全部主机
  • 多用D类地址


子网与子网掩码

  • 子网掩码可以将IP地址继续划分的更细致,使网络号的划分更加灵活

4. 路由控制

  • IP地址的网路部分用于进行路由控制
  • 路由控制表中记录着网络地址以及下一次应该发送的路由地址
  • 如果存在多条相同的网络地址记录,就选择一个最为吻合的地址

4.1 IP地址与路由控制

默认路由

  • 所有的网络地址都可以匹配该地址

主机路由

  • 匹配地址时,不再单单匹配网络部分,而是全部的IP地址

环回地址

  • 即127.0.0.1(localhost),不会将数据包发送到网络中

4.2 路由控制表的聚合

  • 路由信息聚合可以有效减少路由表的条目

5. IP分割处理与再构成处理

数据链路不同,则MTU相异

  • 因为不同的数据链路使用目的不同,则MTU就不同

IP分片与重组

  • IP分片由路由器处理
  • 重组则由主机处理,这样做是因为即使路由器重组,还有可能继续分片,给网络造成负担

分片机制的不足

  • 路由器的处理负担加重,会降低网络的利用率

路径MTU发现

  • 分片处理时按照路径中最小的MTU进行分片,则可以避免在中途继续分片

6. IPv6

  • 可以自动分配IP地址
  • 采用认证和加密的功能
  • 性能提升
  • 方便使用多播和Mobile

7. IPv4首部

  • 版本:IPv4版本即为4

  • 首部长度:表明IP首部的大小,默认为5,即20个字节

  • 区分服务:表明服务质量(目前被无视

  • 总长度:IP长度和数据部分的总长度

  • 标识:用于分片重组,同一个标识是一个分组

  • 标志:包含分片的信息

  • <stron>:区分分片后的每个分段的位置</stron>

  • 生存时间:表明这个包可以被转发多少个路由,如果为0,则丢弃

  • 首部校验和:用来检查首部数据有没有被破坏