IP 协议

IP协议它不能保证ip数据报能成功地到达目的地,IP协议仅提供最好的传输服务。
 
错误处理
  • 丢弃该数据报
  • 发送ICMP消息给数据源,通知丢弃了该数据报
  • 任何可靠性必须由上层来提供(如TCP)
 
IP首部

 
IP首部,普通的IP首部长为20字节,除非含有选项字段。
  • 版本(4bit)
    • 目前协议版本号4,因此也叫IPv4
  • 首部长度(4bit)
    • 如果有选项字段,则包含选项字段
    • 有多少个32bits
    • 普通IP数据包(没有任何选项)该字段值是5 也就是20字节
  • TOS(服务类型,8bit)
    • 3bit优先权子字段(现在已经被忽略)
    • 4bitTOS,分别代表
      • 最小延时
      • 最大吞吐量
      • 最高可靠性
      • 最小费用
      • 4bit中只能置其中1bit
      • 如果所有4bit均为0,那么就是一般服务
    • 1bit未用但必须置0
  • 总长度(16bit)
    • 整个数据包的长度,以字节为单位
    • 利用首部长度,和总长度,就能知道数据内容的起始位置和长度。
  • 标识位(16bit)
    • 唯一的标识主机发送的每一份数据报
    • 通常每发送一份报文它的值就会加1
  • 标志字段(3bit)
  • 偏移字段(13bit)
  • TTL(time-to-live,8bit)
    • 数据报可以经过的最多路由器数
    • 默认32/64,没经过一个路由器减1,
    • 0时,丢弃数据报,并发送ICMP报文通知源主机。
  • 协议字段(8bit)
    • 识别哪个协议使用IP在传数据
  • 首部校验和(16bit)
    • 根据IP首部计算的校验和码。
    • 不对首部后的数据进行计算
      • 数据自有数据的校验位保证
    • 校验方法
      • 首先将首部校验和字段置0
      • 对首部每个16bit进行二进制反码,
      • 然后求和
  • 源IP地址(32bit)
  • 目的IP地址(32bit)
  • 选项字段
    • 安全和处理限制
    • 记录路径
    • 时间戳
    • 宽松的源站选路
    • 严格的源站选路
 
不同应用间,建议使用不同TOS值;tcpdump输出即是这个值。
 
0x10 --> 000 1000 0 
三种颜色代表TOS 3bit优先权子字段,4bitTOS,1bit未用但必须置0
 
IP路由选择

 
概念上路由选择
  • 目标主机与源主机直接相通
    • 则IP数据报直接送到目标主机上
  • 否则
    • 主机把数据报发往默认的路由器上
    • 由路由器来转发该数据报
 
IP层设置为路由功能:
  • 一般来讲
    • IP可以从TCP,UDP,ICMP,IGMP接收数据(本地生成的数据)并进行发送
  • 路由功能
    • IP还可以从一个网络接口接收数据报(待转发的数据报)并进行发送。
    • IP层在内存中维护一个路由表,路由表每一项包含
      • 目的IP地址
      • 下一站路由器的IP地址
      • 标志(两个)。
        • 1个指明目的IP地址是网络地址还是主机地址。
        • 2个指明下一站路由器是否为真正的下一站路由器。
      • 为数据报的传输指定一个网络接口
    • 主要完成的工作
      • 搜索路由表,完全匹配
        • 寻找能与目的IP地址完全匹配的条目。
        • 找到,则把报文发给该条目指定的下一跳路由
      • 搜索路由表,网络号匹配
        • 寻找能与目的网络号相匹配的条目
        • 找到,则把报文发给该条目指定的下一跳路由
      • 搜索路由表,寻找标为“默认”的条目
        • 则把报文发送给该表目指定的下一站路由器。
      • 上面三步都失败
        • 数据不能被传送,
      • 优先级 主机匹配-->网络匹配-->默认路由
 
子网寻址

不是把IP地址看成由单纯的一个网络号和一个主机号组成,
而是把主机号再分成一个子网号和一个主机号。
 
这样做的原因是因为 A类和B类地址为主机号分配了太多的空间,
可分别容纳的主机数为2^24-2和2^16-2。
 
主机好全0,全1 是无效地址。
 
与30个C类地址相比,用一个包含30个子网的B类地址的好处是,它可以缩小路由表的规模。
 
子网掩码
 
  • 32bit
  • 确定哪些是网络号(1),哪些是主机号(0);
  • 给定IP地址和子网掩码后
    • 主机就可以确定IP数据报的目的地
      • 本子网上的主机
      • 本网络中其他子网中的主机
      • 其他网络上的主机
原文地址:https://www.cnblogs.com/Aiapple/p/7278025.html