IP:网际协议

Posted huahuahu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IP:网际协议相关的知识,希望对你有一定的参考价值。

一、服务模型特点

  1. 不可靠 (unreliable)
    不保证IP数据报能成功得到达目的地。
  2. 无连接 (connectionless)
    IP不维护任何关于后续数据报的状态信息,每个数据报是相互独立的。
    IP数据报可以不按发送顺序接收。

二、IP首部

  1. 版本号
    目前协议版本号是4
  2. 首部长度
    首部占32bit字节的长度。普通IP数据报字段是5,即5个32bit,总计160bit,20字节。
  3. 服务类型 (TOS) 字段
    1. 3bit优先权子字段(已被忽略)
    2. 4bit TOS子字段(表示最小时延、最大吞吐量、最高可靠性、最小费用)
    3. 1bit未用位(必须置0)
  4. 总长度字段
    整个IP数据报的长度,以字节为单位
  5. 标识字段
    唯一标识主机发送的每一份数据报。每发送一份,值会加一。
  6. TTL (time to live)
    数据报可以经过的最多路由数。每经过一个路由器,值减一。当字段为0时,数据报被丢弃。
  7. 协议字段
    区分上层的协议,如TCP、UDP,用于实现复用。
  8. 首部检验和
    根据IP首部计算的校验和码,不对首部后面的数据进行计算。
  9. 选项字段
    很少使用,以32bit为界限,必要时插入值为0的填充字节。

三、IP路由选择

  1. 搜索路由表,选择能和目的IP地址完全匹配的表目。如果找到,把报文发送给指定的下一站路由器或直接相连的网络接口
  2. 搜索路由表,寻找能与目的网络号相匹配的表目。如果找到,把报文发送给指定的下一站路由器或直接相连的网络接口。
  3. 搜索路由表,寻找标为“默认 (default)”的表目。如果找到,把报文发送给指定的下一站路由器或直接相连的网络接口。
  4. 如果都没有成功,该数据报不能发送。一般会想生成数据报的应用程序返回一个“主机不可达”或“网络不可达”的错误。

以上是关于IP:网际协议的主要内容,如果未能解决你的问题,请参考以下文章

linux网络协议栈源码分析 - 网络层IP网际协议

linux网络协议栈源码分析 - 网络层IP网际协议

linux网络协议栈源码分析 - 网络层IP网际协议

TCP/IP协议原理与应用笔记27:网际协议(IP)之 选项(Options)

20TCP IP 网络协议基础入门--IP网际协议

tcp/ip协议第三章 ip:网际协议