IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> TC8:IPv4_TTL_01-05 -> 正文阅读

[网络协议]TC8:IPv4_TTL_01-05

IPv4_TTL_01: A host MUST NOT send a datagram with a Time-to-Live (TTL) value of zero

目的

主机不能发送TTL值为0的数据报

换句话说,主机发送的IP报文的TTL值必须不为0

测试步骤

  1. Tester:发送一条ICMPv4 Echo Request报文
  2. DUT:发送一条ICMPv4 Echo Reply,其中TTL值大于0

期望结果

2, DUT:发送的IP数据报中的IP首部里的TTL字段值大于0

3.0中期望结果的描述有所不同,“DUT:发送一条ICMPv4 Echo Reply,其中TTL值大于0”

CANoe TC8

参考

Derived from RFC791 section 3.1 and 3.2, RFC1122 section 3.2.1.7

Time to Live: 8 bits

This field indicates the maximum time the datagram is allowed to remain in the internet system. If this field contains the value zero, then the datagram must be destroyed. This field is modified in internet header processing. The time is measured in units of seconds, but since every module that processes a datagram must decrease the TTL by at least one even if it process the datagram in less than a second, the TTL must be thought of only as an upper bound on the time a datagram may exist. The intention is to cause undeliverable datagrams to be discarded, and to bound the maximum datagram lifetime.

TTL:8bit

该字段表示允许数据报在网络中保留的最长时间。如果该字段值为0,则数据报必须被销毁。此字段在处理IP报头时被修改。时间以秒为单位,但由于每个处理数据报的模块必须将TTL 至少减少1,所以即使它在不到一秒的时间内处理数据报,也把TTL减少1,因此TTL被认为是数据报在网络中可能存在的最大时间,而不是实际能存在的时间。TTL的目的是使无法传递的数据报被丢弃,并限制数据报最大生命周期

这里没有说明白的是,TTL值为0,报文必须被销毁,指的是在网络中,被路由器等路由转发设备接收到时,不能转发出去,因为TTL值已经为0,无法再减去了,所以就只能丢弃,而目的主机收到TTL值为0的IP报文时,是可以接收的,不会丢弃

IPv4_TTL_03: Ensure that the DUT decrements the TTL of a forwarded IPv4 Packet by at least 1

这条case在TC8 2.0中被弃用,在3.0中被删除,弃用的原因是这条用例仅适用于路由器

目的

确保DUT把接收到的IP报文转发出去时TTL值比接收时的要小

路由设备在接收到IP报文时,会把TTL值至少减1,然后再路由转发出去

测试步骤

  1. Tester:发送一条IPv4报文,TTL值为TTL1,且大于2
  2. DUT:发送这条IPv4报文,TTL值小于TTL1

期望结果

2, DUT:转发这条IPv4报文,其中TTL值小于TTL1

CANoe TC8

由于在TC8 2.0规范中已弃用,CANoe TC8 demo中这条case无法执行

参考

Derived from RFC791 section 3.1 and 3.2, RFC1122 section 3.2.1.7

上一条case已经描述过,这里不再赘述

IPv4_TTL_04: Ensure that the DUT discards an IPv4 packet with a TTL of 0 if the IPv4 packet has to be forwarded

这条case在TC8 2.0中被弃用,在3.0中被删除,弃用的原因是这条用例仅适用于路由器

目的

确认DUT接收到TTL值为0的IP数据报后,不会转发而是丢弃

测试步骤

  1. Tester:发送一条TTL值为0的ICMPv4 Echo Request报文
  1. DUT:不转发这条ICMPv4 Echo Request

期望结果

2, DUT:不转发丢弃这条报文

CANoe TC8

由于在TC8 2.0规范中已弃用,CANoe TC8 demo中这条case无法执行

参考

Derived from RFC791 section 3.1 and 3.2, RFC1122 section 3.2.1.7

TTL值为0的报文,会被丢弃,上面已经介绍过

IPv4_TTL_05: Packets with 0 or 1 TTL are not discarded by hosts

目的

主机不能仅仅因为接收到的数据报的TTL小于2就丢弃它

这和报文的TTL值为0时主机不能发送它,不矛盾

测试步骤

  1. Tester:发送一条ICMP Echo Request报文,其中TTL值为:
  • 0
  • 1
  1. Tester:监听在网卡上
  2. DUT:发送ICMP Echo Reply

期望结果

3, DUT:发送ICMP Echo Reply

CANoe TC8

TTL值为0

TTL值为1

参考

Derived from RFC 1122 s3.2.1.7 p34 Time-to-Live: RFC-791 Section 3.2 (MUST)

RFC1122中

A host MUST NOT discard a datagram just because it was received with TTL less than 2.

主机不能仅仅因为接收到的数据报的TTL小于2就丢弃它

如果是目的主机,就会接收


  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-02-19 01:33:50  更:2022-02-19 01:34:41 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 8:48:38-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码