网际协议版本4(IPv4)
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)的更多相关文章
- WIN10 Internet协议版本tcp/ipv4属性灰色没有法点击
问题图如下: 1.右键打开“计算机”点击菜单,选中“管理”: 2.进入计算机管理后,打开“设备管理器”,然后在右侧打开点击“网络适配器”,如果有驱动的话,在驱动上右键点击菜单,选中卸载: 3.卸载网卡 ...
- Hacker(三)之黑客定位目标---IP
IP即Internet Protocol的简称,中文简称"网协",是为计算机网络相互连接进行通信而设计的协议.无论何种操作系统,只要遵守IP协议就可以与Internet互联互通. ...
- 科普:什么是IPV4?什么是IPV6?
IPv4是Internet Protocol version 4(网际协议版本4)的英文简称,而中文简称为“网协版4”. 目前的全球因特网所采用的协议族是TCP/IP协议族.IP是TCP/IP协议族中 ...
- ipv4枯竭和ipv6的启用
IPv4是Internet Protocol version 4的缩写,中文翻译为互联网通信协议(TCP/IP协议)第四版,通常简称为网际协议版本4. IPv4使用32位(4字节)地址,因此地址空间中 ...
- IPv4地址被用光,IPv6将接手
截止2019年11月26号,全球所有43亿个IPv4地址已全部分配完毕,这一情况也宣告着IPv6时代的正式来临.IPv6和5G一样是关系到国家安全和战略发展的重大事情. IPv6简单来说,就是一个互联 ...
- IPv4 与 IPv6的区别
在介绍 IPv4 到 IPv6 区别之前,我们先来简单了解一下 IPv4 和 IPv6. IPv4 网际协议版本4(英语:Internet Protocol version 4,IPv4),又称互联网 ...
- Networking - IPv4 报文格式
每个 IP 数据报都以一个 IP 报头开始.源计算机的 TCP/IP 软件构造这个 IP 报头,目的计算机的 TCP/IP 软件利用 IP 报头中封装的信息处理数据.IP 报头包含大量信息,包括源 I ...
- IPv6与IPv4最主要的不同
IP第6个版本(IPv6),是互联网协议的新版本,设计为IP第4版本(IPv4,RFC-791)的继任.从IPv4升级到IPv6主要的改变有以下几类: 扩展地址容量 IPv6将IP地址的位址从32位提 ...
- IPv4 IPv6
IP提供了一种best-effort,connection-less数据delivery服务. best-efforty意味着它不保证IP数据段会成功到达目的地.当error发生时,IP通常选择丢弃d ...
随机推荐
- test20190408(十二省联考)
做了十二省联考的题.暂时只更几个比较可做的题目. 异或粽子 考试的时候乱搞了个做法.结果以每个大数据点 \(1900+\ ms\) 的优秀效率通过了此题... 乱搞 建一颗 \(Trie\) 树,显然 ...
- [Boolan-C++学习笔记]第二周整理
1.对于String类型的类(含有指针) 其中的指针成员能够灵活的申请存储空间,但指针操作又带来内存泄漏的风险,变更指针的操作需要尤为谨慎. 要点在于写好BigThree 构造函数 { 完成成员初始化 ...
- freemarker逻辑判断写法#if
<li class="<#if (position.flag)! =='haha1'>hide<#else >show</#if>"> ...
- Django的DateTimeField和DateField
一.DateField: class DateField(auto_now=False, auto_now_add=False, **options)[source] auto_now:每次保存时,都 ...
- c++hook全局触控事件
https://gist.github.com/vbfox/1339671 namespace BlackFox { using System; using System.ComponentModel ...
- $.ajax()方法详解--极快瑞中的阿贾克斯函数
ajax() 函数和那些abs()函数 sin()这些函数都是底层实现好了,封装好了,可以直接拿来用的 使用者只需要传入参数,然后就可以得到相应的结果 $.ajax({name:value, name ...
- /proc/sys/vm/drop_caches 清理缓存
1. 使用方法 /proc/sys/vm/drop_caches默认是0 # echo 1 > /proc/sys/vm/drop_caches; free pagecache, use# ec ...
- 用户态监控网络接口up、down事件
网上搜索(https://blog.csdn.net/qq123386926/article/details/50695725)可以直接使用netlink现成的接口实现: #include <s ...
- 基于TLS(线程局部存储)的高效timelog实现
什么是timelog? 我们在分析程序性能的时候,会加入的一些logging信息记录每一部分的时间信息 timelog模块的功能就是提供统一的接口来允许添加和保存logging 我们正在用的timel ...
- gitlab配合walle搭建发布系统
理解walle实现发布代码的原理: 宿主机:walle系统搭建的服务器以及拉取gitlab代码的服务器,这个时候gitlab一般都是另外一台服务器. 目标机器:版本最终发布的目的机器,或者目的机群 ...