IP头部信息:
  出现在每个IP数据报中,用于指定IP通信的源端IP地址,目的端IP地址,指导IP分片和重组,以及指定部分通信行为。
IP数据报的路由和转发:
  发生在除目标机器之外的所有主机和路由器上。它们决定数据报是否应该转发以及如何转发。

IP服务的特点

  IP协议是TCP/IP协议族的动力,他为上层协议提供无状态、无连接、不可靠的服务。
无状态:
  是指IP通信双方不同步传输数据的状态信息,因此所有IP数据报的发送、传输和接受都是相互独立的、没有上下文关系的。
  缺点是无法处理乱序的和重复的IP数据报。接收端只负责将其数据部分交给上层协议,比如TCP协议,由它处理乱序的、
  重复的数据。
  虽然IP数据报头部提供了一个标识字段用以唯一标识一个IP数据报,但它是被用来处理IP分片和重组的,
  而不是用来指示接收顺序的。
  优点是简单高效。无需为保持通信状态分配内核资源,也无需每次传输数据时都携带状态信息。
无连接:
  是指IP通信双方都不长久地维持对方的任何信息。所以上层协议发送数据时,都必须明确指定对方的IP地址。
不可靠:
  是指IP协议不能保证IP数据报准确地到达接受端,他只是承诺尽最大努力。就是说,发生任何意外导致IP数据报发送失败,
  它就通知上层协议发送失败,因此,使用IP服务的上层协议需要自己实现数据确认、超时重传等机制以达到可靠传输的目
  的。

IPv4头部结构

长度通常为20字节,除非有可变长的选项部分。


横着一行为32个bit,为四个字节。
4位版本号
  指定IP协议的版本。对IPv4来说,为4。
4位头部长度
  标识该IP头部有多少个32bit(即多少行),四位最大表示15,所以IP头部最长为60字节。
8位服务类型
  包括一个三位的优先权字段(现在已忽略)四位的TOS字段和一位保留字段(保留需置0).四位的TOS字段分别表示:最小延时,
  最大吞吐量,最高可靠性和最小费用。这四位中最多只有一位置1。应用程序根据需要设置(比如ssh需要最小延时,ftp需要
  最大吞吐量)。
16位总长度
  是指整个IP数据报的长度,以字节为单位,因此IP数据报最大长度为65535-1字节。但由于MTU的限制,长度超过MTU的
  数据报都将被分片传输,所以实际传输的IP数据报的长度都远远没有达到最大值。
16位标识:
  唯一地标识主机发送的每一个数据报。其初始值由系统随机生成,每发送一个数据报,其值就加一。该值在数据报分片时被
  复制到每个分片中,因此同一个数据报的所有分片都具有相同的标识符。
3位标志字段:
  第一位保留。第二位标识禁止分片。设置后,IP将不对该数据报分片,当该数据报长度超过MTU时,IP模块将丢弃该数据包
  并返回一个ICMP差错报文。第三位表示更多分片。除了数据报的最后一个分片外,其他分片都要把该位置1.
13位分片偏移
  是分片相对原始IP数据报开始处(仅指数据部分)的偏移。实际的偏移值是该值左移三位(乘8)后得到的。因此,每个IP分片的
  数据部分的长度必须是8的整数倍。
8位生存时间TTL(time to live):
  是数据报到达目的地之前允许经过的路由器跳数。发送端设置(通常是64)。数据报每经过一次路由,该值就被路由器减一,
  为零时,路由器将丢弃该数据报,并向源端发送一个ICMP差错报文。TTL可以防止数据报陷入路由循环。
8位协议:
  用来区分上层协议。/etc/protocols文件定义了所有上层协议对应的字段的数值。例如,ICMP是1,TCP是6,UDP是17。
16位头部校验和:
  由发送端填充,接收端对其使用CRC算法检验头部在数据传输过程中是否损坏。
32位源端IP地址:
  用来表示IP数据报的发送端
32位目的端IP地址:
  用来表示IP数据报的接收端
选项字段:
  是可变长的可选信息。最多包含40字节,可用的选项有:
  记录路由:将途径的路由器的ip地址填入选项部分,用于跟踪数据报的传递路径。
  时间戳:告诉每个路由器将数据报被转发的时间(或时间与IP地址对)填入IP头部的选项部分,这样就可以测量途径路由
      之间数据报传输的时间。
  松散路由选择:指定路由IP地址列表,数据包发送过程必须经过其中所有路由器。
  严格路由选择:数据报只能经过被指定的路由器。

IP协议详解之头部结构相关推荐

  1. 《TCP IP协议 详解》思考总结 · 三

    前言 这一篇文章主要围绕了IP协议,ICMP协议和UDP协议展开,希望可以在这里大概做一个总结,将<TCP/IP协议详解 卷一>书中TCP相关章节前面的内容做一个结束,在下一篇文章专心的去 ...

  2. SOME/IP协议详解「总目录」

    SOME/IP协议详解「总目录」 欢迎大家来到雪云飞星的<SOME/IP协议详解>,开始前博主先列出本专栏学习的大纲,同时这也可以作为大家学习SOME/IP协议知识点的参考.下面蓝字都是传 ...

  3. TCP /IP协议详解【转】

    转自:https://www.jianshu.com/p/0cf648510bce?utm_campaign=maleskine&utm_content=note&utm_medium ...

  4. IP协议详解及IPv4与IPv6协议的区别

    IP协议是在TCP/IP协议模型中的重要组成部分,目前我们使用最多的是IPv4协议,IPv6协议的用户量也在慢慢增加,苹果在几年之前就已经开始支持IPv6协议了.我们先来了解一下IPv4和IPv6协议 ...

  5. TCP/IP协议详解---概述

    工作之后,才发现以前在学校里学的东西忘得太快太干净了,现在需要一点点地捡起来了,要不然写几行程序会闹很多笑话会出现很多bug的.从今天开始,翻一翻<TCP/IP协议详解 卷1>这本书,希望 ...

  6. TCP/IP协议详解、TCP三次握手

    TCP/IP协议详解:TCP/IP协议详解_王佳斌-CSDN博客_tcp/ip协议认识HTTP协议它是互联网协议(Internet Protocol Suite),一个网络通信模型,是互联网的一个基本 ...

  7. SOME/IP协议详解「2.0·服务化通信概述」

    SOME/IP协议详解「2.0·服务化通信概述」 点击返回雪云飞星的SOME/IP协议详解「总目录」 SOME/IP协议详解「2.0·服务化通信概述」 1 SOME/IP服务的组成 2 Method| ...

  8. TCP/IP协议详解卷一:Chapter21 笔记

    TCP/IP协议详解卷一:Chapter21 笔记 Chapter 21 TCP的超时与重传 21.3 往返时间测量 21.5 拥塞举例 21.6 拥塞避免算法 21.7 快速重传与快速恢复算法 21 ...

  9. SOME/IP协议详解「3.1.1·服务发现报文的格式」

    SOME/IP协议详解「3.1.1·服务发现报文的格式」 点击返回雪云飞星的SOME/IP协议详解「总目录」 SOME/IP协议详解「3.1.1·服务发现报文的格式」 1 SD的SOME/IP格式头 ...

最新文章

  1. 自定义PHP错误报告处理方式
  2. jbpm知识点——tasknode
  3. 如何辨别二逼、文艺互联网公司?
  4. ES内存持续上升问题定位
  5. 华为路由器 android,华为智能路由器亮相 Android系统很强大
  6. 苹果cms10的php.ini目录列表,[苹果cmsV10]常见问题整理官方版
  7. LeetCode 01. 两数之和
  8. ls 显示目录下的内容和文件相关属性信息
  9. 高通LCD的pwm背光驱动
  10. 算法高级(4)-遗传算法(Genetic Algorithm)简介
  11. sql删除表中某个字段的重复数据,取较大者
  12. html5在线拍照 源码,html5拍照功能实现代码(htm5上传文件)
  13. 高漫数位板驱动下载安装
  14. elasticsearch单机版安装及安装过程踩的坑整理
  15. Agile实践之Kanban工具: Wekan
  16. 短信验证码平台哪家速度快又稳定,推荐下?
  17. 产品经理就业喜报:沉舟侧畔终迎万木春
  18. 图片心理性格测试
  19. 多文件批量下载打包成.zip
  20. Django基础(33): 中间件(middleware)的工作原理和应用场景举例

热门文章

  1. 计蒜客 联想专卖店大促销
  2. 钉钉视频下载方法地瓜网络钉钉视频下载器
  3. 【百练】护林员盖房子
  4. idea报错:fatal: –author ‘user@mail.com’ is not ‘Name ’ and matches no existing author
  5. 迅雷极速版服务器未响应,迅雷极速版频繁崩溃,求大神帮忙
  6. arm汇编语言中bne 1b的意思
  7. win10开机内存占用过高
  8. java二进制保存图片_Java中如何把图片转换成二进制流
  9. 【ISP】浅析Lens Shading
  10. YouTube和Twitch上的流媒体之间有何区别?