TCP/IP协议栈--IP首部选项字段的分析
IP输入函数(ipintr)将在验证分组格式(检验和,长度等)之后。确定分组是否到达目的地之前,对选项进行处理。
这表明分组所
遇到的每一个路由器以及终于的目的主机都对要分组的选项进行处理。
IP分组内能够包括某些在分组被转发或被接收之前处理的可选字段。IP实现能够用随意顺序处理选项。标准IP首部之后最多可跟
40字节的选项。
1.选项格式
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvVE9ERDkxMQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
在多字节选项中,类型字段后面紧接着一个长度len字段,其它字段时数据data。很多选项
类型
下图列出了眼下定义的IP选项。
前两个选项
Net/3列显示的是在Net3中
2.ip_dooptions函数
3.记录路由选项
记录路由选项能够有3个字节的开销。
后面紧跟地址的
函数返回一个指向in_ifaddr结构的指针。该指针
4.源站和记录路由选项
宽松路由仅仅指定某些中间路由器地址,在宽松路由中。路由器能够
相同。B和C也有多个地址。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvVE9ERDkxMQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
下图显示了当
通过这样的方法, 分组所採用的路由都被记录在选项中。被记录的路由将被目的系统倒
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvVE9ERDkxMQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvVE9ERDkxMQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
在源路由选项内。用外出接口的地址取代中间
5.时间戳选项
下图显示了三种时间戳选项的结构。
TCP/IP协议栈--IP首部选项字段的分析的更多相关文章
- TCP/IP协议栈概述及各层包头分析
TCP/IP协议栈中各层包头的分析 Protocol列表示的是该数据包最高层对应的协议,Length列表示该包的长度(包括从底层的协议到最高层的协议,其中包头一般是,链路层14字节,IP20字节,TC ...
- TCP/IP协议栈 --- IP路由
IP路由:当一个IP包在主机发送出去或者在网络当中时,是怎么选择路径到达目的主机的呢? 一般情况下, 如果说源主机和目的主机在同一个网络中的话,那个数据报可以直接到达目的主机而不经过路由器,下面可以试 ...
- TCP/IP协议---IP协议
IP协议层 在传输层的下边,链路层的上边. IP层封装后称为数据报(传输层叫数据段,链路层叫数据帧.值得注意的是,不是所有的以太网数据帧都是IP数据报,至少以太网还要使用ARP协议.不是所有的IP数据 ...
- TCP/IP协议栈 --- 网络层(IP 首部 和分片)
IP 是TCP/IP协议栈中重要的层次, TCP UDP ICMP IGMP都是依赖IP层进行传输的.首先它是一种不可靠,无连接的协议.不可靠:它不保证IP包能正确到达目的地,无连接:表示IP并不会维 ...
- TCP/IP UDP 协议首部及数据进入协议栈封装的过程
数据的封装 UDP 封装 TCP 封装 IP 封装 检验和算法 当应用程序用TCP传送数据时,数据被传送入协议栈中,然后逐一通过每一层直到被当作一串比特流送入网络 注: UDP数据TCP数据基本一致. ...
- tcp/ip详解-ip头部选项字段
IP头部的选项字段 作用:用于网络调试和测试 IP首部的可变部分就是一个可选字段.选项字段用来支持排错.测量以及安全等措施,内容很丰富.此字段的长度可变,从1个字节到40个字节不等,取决于所选择的项目 ...
- TCP/IP协议栈中的TimeStamp选项
原文转自:http://www.cnblogs.com/lovemyspring/articles/4271716.html TCP应该是以太网协议族中被应用最为广泛的协议之一,这里就聊一聊TCP协议 ...
- 【转】TCP/IP协议栈及OSI参考模型详解
OSI参考模型 OSI RM:开放系统互连参考模型(open systeminterconnection reference model) OSI参考模型具有以下优点: 简化了相关的网络操作: 提供设 ...
- TCP/IP协议栈与数据包封装+TCP与UDP区别
ISO制定的OSI参考模型的过于庞大.复杂招致了许多批评.与此对照,由技术人员自己开发的TCP/IP协议栈获得了更为广泛的应用.如图2-1所示,是TCP/IP参考模型和OSI参考模型的对比示意图. T ...
随机推荐
- DevExpress SpreadSheet报表模板设置 z
DevExpres SpreadSheetControl报表模板设置,这一个还是挺牛逼的,字段绑定直接在单元格里面设置公式(=Field("字段名")),当然直接拖更方便, 跟xt ...
- Oracle存储过程update受外键约束的主键值时完整性冲突解决方式
1.问题背景 尽管在数据库操作中我们并不提倡改动主键,可是确实在实际生活中有这种业务需求: 表A有主键KA,表B中声明了一个references A(KA)的外键约束.我们须要改动A中某条目KA的值而 ...
- spring MVC 与 struts 的区别
当初选框架的时候目的比较单纯---springmvc支持rest,小生对restful url由衷的喜欢 不用不知道一用就发现开发效率确实比struts2高 我们用struts2时采用的传统的配置文件 ...
- 重载 UINavigationController 设置左侧返回按钮的文字为图片
UINavigationController 导航栏控制器的左侧返回按钮如果需要设置成图片,仅使用系统的是无法实现的,需要重载系统的导航栏控制器,在控制器推出之前替换掉leftBarButtonIte ...
- html 中怎么设置div的位置
利用CSS的position属性对元素定位,以下是position 属性规定元素的定位类型. absolute 生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位.元素的位置通过 ...
- strcmp实现
#include<stdio.h> #include<assert.h> int my_strcmp(const char*a,const char*b) { while(*a ...
- sqlalchemy简单示例
1.初始化数据库database.py #!/usr/bin/env python # -*- coding: utf-8 -*- # Created by miaoshuijian on 2017/ ...
- 【BZOJ】【2750】【HAOI2012】Road
最短路+拓扑序DP orz zyf & lyd 统计每条边在多少条最短路径上……其实可以统计 有多少条最短路径经过了x,以及y出发到达任意一个结束点有多少种走法(沿最短路) 我们可以用Dijk ...
- SQL调用WebService接口
今天在做一个非常奇葩的东西.中间有个过程要在SQL触发器里面调用webservice接口.呵呵~ ALTER TRIGGER tgr_UpdateMemcached ON dbo.[User] AFT ...
- mybatis查询时间段sql语句
转载自:http://blog.csdn.net/zl544434558/article/details/24428307?utm_source=tuicool&utm_medium=refe ...