IP是一种不可靠的无连接数据报协议-一种尽最大努力交付的服务,尽最大努力一词的意思是IP分组可能会损坏,丢失,失序或延迟到达,并且可能给网络带来拥塞。

网络层的分组称为数据报。是一个可变长度的分组。由首部和数据组成。首部的长度是20-60字节,

格式如下

|------20-65535字节------|

---------------|-------------|

首部(20-60) |数据     |

---------------|-------------|

具体首部格式如下

_____________________________________________________________

| 版本(4位) | HLEN(4位) | 服务类型(8位) |   总长度(16位)               |

_____________________________________________________________|

|标识(16位)                |标志(3位)  | 分片偏移(13位)        |

_____________________________________________________________|

生存时间(8位)      |上层协议(8位)  |首部检验和(16位)             |

_____________________________________________________________|

|                 源IP地址(32位)                |

_____________________________________________________________|

|                 目的IP地址(32位)               |

_____________________________________________________________|

|        选项+填充(0-40个字节)                     |

_____________________________________________________________|

1:版本VER:这4位字段定义了IP协议的版本

2:首部长度HLEN:这4位字段定义了数据报首部的总长度,以4字节的字为单位计算,没有选项时,首部长度是20字节,且这个字段的值是5(5x4=20),当选项字段为最大值时,这个字段      的值是15

3:服务器类型:在最初设计IP首部时,这个字段称为服务类型(TOS),它指明了应当如何处理数据报,这个字段中有一部分用于定义数据报的优先级,剩下的定义了服务类型,

但是IETF改变了这个8位字段的解释,现在它定义了一组区分服务.前6位构成码点,最后俩位未使用.

  a:当最右边3位全为0,对最左边三位的解释如同服务类型解释中的优先位一样.

  b:当最右边3位并非全部为0时,这6位就定义了54(64-8)种服务,这些服务分为三类,第一类包含24中服务,第二类和第三类分别是16种

  ___________________________________________

  类别      码点          指派机构

  1      XXXXX0          因特网

  2      XXXX11          本地

  3      XXXX01          临时的或试验的

____________________________________________

总长度:16的总长度定义了以字节为单位的数据报总长度(首部+数据),要找出上层传送过来的数据长度,公式如下

    数据长度=总长度-首部长度

    数据字节数=这个字段的值-(HLEN*4)

    因为总长度是16位的,因此IP数据报长度限制在65535(2^16-1)字节,其中首部占20-60字节

标识:用于分片

标志:用于分片

分片偏移:用于分片

生存时间:TTL,当这个值是0时,就丢弃这个数据报,防止数据报在回环里运输.

协议:这个8位字段定义了使用此IP层服务的高层协议,指出了数据报必须交付给哪个最终目的协议。如下

    _______________________________________________________

    值          协议

    1           ICMP

    2           IGMP

    6           TCP

    17           UDP

    89           OSPF

    ________________________________________________________

检验和:16位只包含首部

源地址:32位

目的地址:32位

网际协议版本4(IPv4)的更多相关文章

  1. WIN10 Internet协议版本tcp/ipv4属性灰色没有法点击

    问题图如下: 1.右键打开“计算机”点击菜单,选中“管理”: 2.进入计算机管理后,打开“设备管理器”,然后在右侧打开点击“网络适配器”,如果有驱动的话,在驱动上右键点击菜单,选中卸载: 3.卸载网卡 ...

  2. Hacker(三)之黑客定位目标---IP

    IP即Internet Protocol的简称,中文简称"网协",是为计算机网络相互连接进行通信而设计的协议.无论何种操作系统,只要遵守IP协议就可以与Internet互联互通. ...

  3. 科普:什么是IPV4?什么是IPV6?

    IPv4是Internet Protocol version 4(网际协议版本4)的英文简称,而中文简称为“网协版4”. 目前的全球因特网所采用的协议族是TCP/IP协议族.IP是TCP/IP协议族中 ...

  4. ipv4枯竭和ipv6的启用

    IPv4是Internet Protocol version 4的缩写,中文翻译为互联网通信协议(TCP/IP协议)第四版,通常简称为网际协议版本4. IPv4使用32位(4字节)地址,因此地址空间中 ...

  5. IPv4地址被用光,IPv6将接手

    截止2019年11月26号,全球所有43亿个IPv4地址已全部分配完毕,这一情况也宣告着IPv6时代的正式来临.IPv6和5G一样是关系到国家安全和战略发展的重大事情. IPv6简单来说,就是一个互联 ...

  6. IPv4 与 IPv6的区别

    在介绍 IPv4 到 IPv6 区别之前,我们先来简单了解一下 IPv4 和 IPv6. IPv4 网际协议版本4(英语:Internet Protocol version 4,IPv4),又称互联网 ...

  7. Networking - IPv4 报文格式

    每个 IP 数据报都以一个 IP 报头开始.源计算机的 TCP/IP 软件构造这个 IP 报头,目的计算机的 TCP/IP 软件利用 IP 报头中封装的信息处理数据.IP 报头包含大量信息,包括源 I ...

  8. IPv6与IPv4最主要的不同

    IP第6个版本(IPv6),是互联网协议的新版本,设计为IP第4版本(IPv4,RFC-791)的继任.从IPv4升级到IPv6主要的改变有以下几类: 扩展地址容量 IPv6将IP地址的位址从32位提 ...

  9. IPv4 IPv6

    IP提供了一种best-effort,connection-less数据delivery服务. best-efforty意味着它不保证IP数据段会成功到达目的地.当error发生时,IP通常选择丢弃d ...

随机推荐

  1. 只需 5 秒钟,你就能取到 WPF 程序的超高分辨率超高清截图

    我想要截取一个 WPF 程序的图标,但是它太小了.如果我就这样截屏截下来,是很不高清的.由于我需要制作一份课件,所以我需要超高清版本,可是,如何做才能最快速拿到 WPF 程序的超高清截图呢? 本文分享 ...

  2. HTML第一课——基础知识普及【2】

    关注公众号:自动化测试实战 img标签 我们先看一下文档结构: 这里我们文件当前位置就是lesson.html,所以现在我们img属性src给的值要进入imgs文件夹,所以我们可以用相对路径来表示,看 ...

  3. pandas 里面对nan的判断

    不要用math.isnan() pandas里专门有一个函数: age_null = pd.isnull(titanic_survival[‘age’])

  4. Sql语句导出数据库表结构及查询表视图储存过程名

    --一句Sql把表结构全部查询出来 SELECT 表名 = Case When A.colorder=1 Then D.name Else '' End, 表说明 = Case When A.colo ...

  5. mysql复制表结构create table as和like的区别

    对于MySQL的复制相同表结构方法,有create table as 和create table like 两种,区别是什么呢? create table t2 as select * from t1 ...

  6. C#使用WebService 常见问题处理

    C#使用WebService   一.新建webservice 新建项目→asp.net Web服务应用程序 或者在现有项目中 点击右键 新建web服务程序asmx 只要在webservice类里面 ...

  7. qt creator 快捷键 (一)

    F1        查看帮助F2        跳转到函数定义(和Ctrl+鼠标左键一样的效果)Shift+F2    声明和定义之间切换F4        头文件和源文件之间切换Ctrl+1     ...

  8. C++中,关于#include<***.h>和#include"***.h"的区别

    转载:天南韩立CSDN博客 #include<>直接从编译器自带的函数库中寻找文件 #include" "是先从自定义的文件中找 ,如果找不到在从函数库中寻找文件 采用 ...

  9. vs 2017/2015/2013 如何定位C++内存泄漏

    定位内存泄漏是C++的一个大问题 我们可以通过如下方式进行定位: //在主函数文件中加入如下代码 #include <stdlib.h> #include <crtdbg.h> ...

  10. spring boot学习(6) SpringBoot 之事务管理

    两个操作要么同时成功,要么同时失败: 事务的一致性: 以前学ssh ssm都有事务管理service层通过applicationContext.xml配置,所有service方法都加上事务操作: 用来 ...