位字段的值设置为二进制的0100表示IP版本4(IPv4).设置为0110表示IP版本6(IPv6)

 

位,它表示32位字长的IP报头长度,设计报头长度的原因是数据包可选字段大小会发生变化。IP报头最小20个八位组,最大可以扩展到60个八位组。这个字段也可以描述32位字的组大长度。

 

位,它用来指定特殊的数据包处理方式。服务类型字段实际上被划分为2个子字段:优先权和Tos。优先权用来设置数据包的优先级。Tos允许按照吞吐量、时延、可靠性和费用方式选择传输服务。Tos通常不用所有位都被设置为0.在OSPF路由协议的早期规范中还称为Tos路由选择。优先级偶尔在服务质量(QoS)应用中使用。



下图简单的说明了8个Tos位。


 





但是随着网络的发展 ToS字段已经作为区分服务架构的一部分被重新定义了。(diffserv)

8位

 



开始的6个位(0-5)现在构成了区分代码点(DSCP),利用这6位我们可以使用任意数值或根据在区分服务体系结构中预先定义的服务类别,最多可以定义64个不同服务类别,并可以整理到PHB中。

PHB理解:在Diffser中,能够在一台路由器定义服务分类,将数据包归类到这些分类中去。路由器可以根据它们的分类使用不同的优先级对数据包进行排序和转发。每一个排序和处理被称为Per-Hop behavior(逐跳行为PHB)是由Diffse定义的这个机制本身称为区分服务类别(Cos).



 

显示拥塞通知(Explicit Congestion Notification ECN在上图中显示拥塞通知是某些路由器支持显示拥塞通知的。当路由器支持该特性时,这些位可用于拥塞信号(ECN=11)

 

位,以8位为单位计数。其中包括IP报头。接收者用IP数据包总长度减去IP报头长度,就可以确定数据包有效载荷大小。16位长的二进制数用十进制表示最大可以为65535,所以IP数据包最大长度是65535。

 

位,通常与标记字段和分段偏移一起用于数据包的分段。也就是当数据包原始长度超过数据包所要经过的数据链路的最大传输单元(MTU)那么分段必须将数据包分段为更小的数据包。

 

位其中第1位没有使用。

第2位是不分段(DF),当DF位置被置为1时,路由器将不能对数据包进行分段处理。如果数据包因为不能被分段而不能转发,那么路由器将丢弃数据包并向数据发送方发送错误信息。

第3位表示更多分段(MF)      当路由器对数据包分段时除了最后一个分段的MF职位0 ,其它分段的MF位全设置为1,当接收者收到MF为0的分段停止分段。

 

位,以8个八位组为单位。用于指明分段起始点相对于根头起始点的偏移量。由于分段经过网络肯定会发生错序,所以分段偏移字段可以使接收者按正确的顺序重组数据包。

 

位,在最初创建数据包时TTL被设定某个特定的值,当数据包逐个经过路由器时,每台路由器都会降低TTL的数值,当TTL值为0时,路由器将会丢弃这个数据包并向数据发送源发送错误信息  这样就可以防止数据包无休止的传下去。TTL实际上是表示跳数。常见的是15和32 缺省值是64. tracert这样的命令就是利用TTL字段。

 

位,他给出了主机到主机的层或传输层协议的“地址”或协议号。协议字段指定了数据包中信息的类型。

常见协议号

Header checksum(报头校验和):它是针对IP报头的纠错字段。校验和不计算被封装的数据。

 



UDP、TCP和ICMP都各有自己的校验和。报头校验和字段包含一个16位二进制补码和。如果数据包在传输中没有发生错误,那么结果应该16位全为1. 数据包每经过1台路由器,每台路由器都将重新计算校验和。

 

Sourceaddress(源地址):指数据包发送源ip地址。

 

Destination address(目标地址):数据包将要到达的目的地地址。

 

Options(可选项):是一个长度可变的字段。它是可选的。

 

可选项如下:

 

个地址之间可跳过多台路由器。

 

严格源路由选择(strict source routing也给出了一连串路由器接口的IP地址序列,不同于松散源路由选择的是,数据包必须按照路由转发。如果下一条不在路由表,就将会发生错误。

 

记录路由(Record Router当数据包离开时为每台路由器提供空间记录数据包的出站接口地址。

 

时间戳(timestamp:时间戳相当于路由记录选项,这样数据包不仅可以知道自己到过那里。而且还可以记录到达的时间。

填充(padding)在可选项后面添加0来补足32位,主要是保证报头是32位的倍数。



 


IP报头的更多相关文章

  1. TCP及IP报头及协议

    看到有道题目要问:tcp头多少字节?哪些字段?(必问) 这个... 看了这篇文章做参考:http://blog.163.com/tianshuai11@126/blog/static/61894543 ...

  2. 【转】TCP/IP协议栈及OSI参考模型详解

    OSI参考模型 OSI RM:开放系统互连参考模型(open systeminterconnection reference model) OSI参考模型具有以下优点: 简化了相关的网络操作: 提供设 ...

  3. TCP/IP基础知识

    TCP/IP基础知识 网络 TCP/IP 引言 本篇属于TCP/IP协议的基础知识,重点介绍了TCP/IP协议簇的内容.作用以及TCP.UDP.IP三种常见网络协议相关的基础知识. 内容 TCP/IP ...

  4. TCP/IP协议学习笔记

    计算机网络基础知识复习汇总:计算机网络基础知识复习 HTTP协议的解析:剖析 HTTP 协议 一个系列的解析文章: TCP/IP详解学习笔记(1)-- 概述 TCP/IP详解学习笔记(2)-- 数据链 ...

  5. TCP/IP协议基础(转)

    转自 http://www.chinaunix.net 作者:Bernardus160  发表于:2003-12-03 17:33:15 TCP/IP协议基础 -------------------- ...

  6. IP协议

    因特网协议(Internet Protocol, IP)是Internet的核心协议之一, 工作在网络层.IP协议提供节点间的寻址,路由以及顺序控制, 流量控制等服务. IP协议分为IPv4和IPv6 ...

  7. TCP/IP协议(一)

    TCP/IP是Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协 ...

  8. ETHERNET数据包格式( IP & UDP & ICMP & ARP )

    ETHERNET数据包格式( IP & UDP & ICMP & ARP ) ETHERNET数据包格式 一.ETHERNET 数据包的协议类型 TYPE 的值为 0x0800 ...

  9. TCP/IP协议原理【转载】

    前述        各种L2数据网具有不同的通信协议与帧结构,其网络节点设备可以是各种类型的数据交换机(X.25.FR.Ethernet和ATM等分组交换机):而L3数据网(IP网或internet) ...

随机推荐

  1. UWP中实现自定义标题栏

    UWP中实现自定义标题栏 0x00 起因 在UWP开发中,有时候我们希望实现自定义标题栏,例如在标题栏中加入搜索框.按钮之类的控件.搜了下资料居然在一个日文网站找到了一篇介绍这个主题的文章: http ...

  2. java中文乱码解决之道(一)-----认识字符集

    沉寂了许久(大概有三个多月了吧),LZ"按捺不住"开始写博了! java编码中的中文问题是一个老生常谈的问题了,每次遇到中文乱码LZ要么是按照以前的经验修改,要么则是baidu.c ...

  3. Python高手之路【三】python基础之函数

    基本数据类型补充: set 是一个无序且不重复的元素集合 class set(object): """ set() -> new empty set object ...

  4. macOS 我的装机

    最近多次配置 Mac 的开发环境,稍微记录一下 1 创建无付费信息的Apple ID 2 Xcode ​ gem 源更改 3 Alfred 4 微信 5 SourceTree 6 Sublime Te ...

  5. B样条基函数的定义和性质

    定义:令U={u0,u1,…,um}是一个单调不减的实数序列,即ui≤ui+1,i=0,1,…,m-1.其中,ui称为节点,U称为节点矢量,用Ni,p(u)表示第i个p次(p+1阶)B样条基函数,其定 ...

  6. 著名ERP厂商的SSO单点登录解决方案介绍一

          SSO英文全称Single Sign On,单点登录.SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统.它包括可以将这次主要的登录映射到其他应用中用于同一个用户 ...

  7. 页面布局class常见命名规范

    头:header 内容:content/container 尾:footer 导航:nav 侧栏:sidebar 栏目:column 页面外围控制整体布局宽度:wrapper 左右中:left rig ...

  8. Android的Kotlin秘方(I):OnGlobalLayoutListener

    春节后,又重新“开张”.各位高手请继续支持.谢谢! 原文标题:Kotlin recipes for Android (I): OnGlobalLayoutListener 原文链接:http://an ...

  9. Android开发案例 – 在AbsListView中使用倒计时

    在App中, 有多种多样的倒计时需求, 比如: 在单View上, 使用倒计时, 如(如图-1) 在ListView(或者GridView)的ItemView上, 使用倒计时(如图-2) 图-1 图-2 ...

  10. 解除win7网络限速.

    在电脑刚买或者系统重装了的时候,win7系统会默认限制20%的网络速度,限制了我们的上网速度,我们可以解决这个限制,让上网变得更快 下面是操作步骤 1.开始>运行 2.输入以下命令,然后确定 g ...