`
chong_zh
  • 浏览: 72286 次
  • 来自: 杭州
社区版块
存档分类
最新评论

IP协议(RFC791)梳理

 
阅读更多
1. IP数据包格式
IP数据包格式如下图所示,其中每个短横线的长度代表1个比特位:


1.1 Version
取值为常量4.


1.2 IHL
  • 即Internet Header Length,给出头部的长度,即指向数据部分的开始。
  • 单位为32位(4字节),最小取值为5。


1.3 Type of Service
描述该数据包的传输需求,8个比特位可划分为以下几个字段:


1.3.1 Bit 0~2: Precedence
Precedence字段的取值列表如下:
取值含义
111Network Control
110Internetwork Control
101CRITIC/ECP
100Flash Override
011Flash
010Immediate
001Priority
000Routine


1.3.2 Bit 3~5
比特位索引unset含义set含义
3普通时延低时延
4普通吞吐量高吞吐
5普通可靠性高可靠

除非极端情况,以上3个状态位最多2个set。

1.3.3 Bit 6、7
暂未使用。

1.4 Total Length
  • 数据包的总长度(包括头部),单位为字节
  • 2字节最大取值为65536字节,推荐单个数据包长度为576字节


1.5 Identification
Identification用于分段标识,使得接收端可以重新组装分段的数据包。分为2部分,3位的Flag和13位的offset。

1.5.1 Flag
共3位:
  • bit 0:必须为0
  • bit 1: 0=可以分段, 1 = 不可分段
  • bit 2: 0 = 最后一个分段, 1 = 还有更多分段


1.5.2 Offset
13位的offset,单位为8字节,用于标识本分段位于整个数据包的第几个8字节。同时意味着IP数据包的分段长度必须是8字节的整数倍。

1.6 Time to Live
数据包的剩余存活时间,TTL为0的数据包必须被丢弃。单位为秒,且每次被处理至少减1.

1.7 Protocol
This field indicates the next level protocol used in the data portion of the internet datagram.

1.8 Header Checksum
数据包头部的checksum。

1.9 Source Address和Destination Address


1.10 Options
Options可以出现或不出现在头部中(由头部长度字段可判别),长度可变,主要包含control、安全、debug方面的option,详略。

2. IP数据包发送过程
如下图的结构中,两个应用程序通过IP协议交换数据包,其中通过1个IP Gateway.


其中Gateway用于在不同的网络之间转发数据包:


具体发送过程如下:
  • The sending application program prepares its data and calls on its local internet module to send that data as a datagram and passes the destination address and other parameters as arguments of the call.
  • The internet module prepares a datagram header and attaches the data to it. The internet module determines a local network address for this internet address, in this case it is the address of a gateway.
  • It sends this datagram and the local network address to the localnetwork interface.
  • The local network interface creates a local network header, and attaches the datagram to it, then sends the result via the local network.
  • The datagram arrives at a gateway host wrapped in the local network header, the local network interface strips off this header, and turns the datagram over to the internet module. The internet module determines from the internet address that the datagram is to be forwarded to another host in a second network. The internet module determines a local net address for the destination host. It calls on the local network interface for that network to send the datagram.
  • This local network interface creates a local network header and attaches the datagram sending the result to the destination host.
  • At this destination host the datagram is stripped of the local net header by the local network interface and handed to the internet module.
  • The internet module determines that the datagram is for an application program in this host. It passes the data to the application program in response to a system call, passing the source address and other parameters as results of the call.
  • 大小: 104.5 KB
  • 大小: 27.5 KB
  • 大小: 46.7 KB
  • 大小: 48.1 KB
  • 大小: 27.8 KB
分享到:
评论

相关推荐

    rfc5048-iscsi-2007-Corrections and Clarifications.pdf

    iSCSI是一个将SCSI架构和命令集映射到TCP/IP协议上的SCSI传输协议。RFC3720定义了iSCSI协议。RFC5048作为RFC3720的修正和澄清文档,其文本在与RFC3720有出入的地方,将取代RFC3720中的相应内容。 3. iSCSI的任务...

    TCP IP技术培训

    - **RFC791**:定义了IP协议的规范。 - **RFC1700**:提供了网络协议和服务的端口号列表。 - **TCP/IP详解卷1:协议**:该书详细介绍了TCP/IP协议族的工作原理和技术细节,是理解TCP/IP的重要参考书籍之一。 ###...

    ISO Transport Service on top of the TCP

    该标准是为那些希望在网络中使用TCP/IP协议传输ISO(国际标准化组织)传输层服务的互联网社区成员设计的。 2. RFC1006的地位和重要性: RFC1006文档为互联网社区规定了一个标准,预计选择在TCP上实现ISO传输服务的...

    TCP/IP详解-卷一

    Request for Comments文档是互联网工程任务组(IETF)发布的技术文档,记录了TCP/IP协议的标准。 - **1.12 标准的简单服务** 介绍了一些简单的网络服务,如Echo服务、Daytime服务等。 - **1.13 互联网** 探讨了...

    SIP: understanding the 4th Initiation Protocol

    1. SIP(Session Initiation Protocol,会话初始化协议)是互联网工程任务组(IETF)定义的一种信令协议,主要用于VoIP(Voice over IP,即通过IP网络进行语音传输)领域中,以实现各种多媒体通信和呼叫控制功能。...

    SEMI E37 - 0999_1_35_translate.pdf

    - **互联网协议标准**:文档中引用了多个IETF RFC标准,如RFC792、RFC793,分别对应互联网控制消息协议和传输控制协议。 - **IEEE POSIX标准**:文档也提到了IEEE POSIX标准,这些标准定义了操作系统独立接口。 ##...

    哈工大计算机网络复习笔记

    在分组交换中,数据被分割成多个分组,并在各个节点间独立转发,如TCP/IP协议栈就采用了分组交换。 此外,数据交换还涉及到多路复用技术,包括频分多路复用(FDM)、时分多路复用(TDM)、波分多路复用(WDM)、码...

    Linux C 一站式学习 III linux开发(无图片过小的错误,方便打印)

    以上是对《Linux C 一站式学习 III Linux开发》部分内容的知识点梳理,这些知识点不仅涵盖了Linux下的文件I/O、文件系统、进程控制、Shell脚本编写、信号处理、多线程编程等多个方面,而且涉及到了TCP/IP协议基础和...

    icp备案4.3.2采用或使用的网络安全标准.pdf

    6. IETF RFC:IETF(互联网工程任务组)制定的请求评论(RFC)文档是互联网标准的基础,其中很多文档涉及互联网安全,例如IKE、IPSec RFC文档,它们分别介绍了互联网密钥交换协议和IP安全协议,这是互联网通信中用以...

    黑客入门(超级详细版).txt

    ### 黑客入门(超级详细版)知识点梳理 #### 一、黑客定义与分类 - **定义**: 黑客通常是指具有高级计算机技能的人,能够深入理解计算机系统的工作原理,并利用这些技能进行创造性的解决问题。 - **分类**: - **...

    一位计算机牛人的心得,谈计算机和数学.pdf

    5. 计算机网络和互联网协议:文档中提到了RFC文档和TCP/IP等协议,这些都是互联网技术发展的基石。计算机网络是计算机科学中研究计算机如何通过通信设备互联和信息交换的领域,而互联网协议则是网络通信中标准化的...

    谢希仁第五版《计算机网络》课后习题答案

    随着TCP/IP协议的标准化,不同网络开始互相连接形成更大的网络。 2. **三级结构的形成**:20世纪80年代中期,NSFNET的建立标志着因特网进入了一个新的发展阶段,形成了由主干网、区域网和校园网组成的三级结构。 3. ...

    2023年全国自考计算机网络管理模拟题学生练习卷.docx

    计算机网络管理是信息...以上是根据题目内容梳理的计算机网络管理中的关键知识点,涵盖了网络安全性、OSI模型、ASN.1编码、SNMP协议、MIB结构以及RMON监控等多个层面,这些都是自考计算机网络管理需要掌握的核心内容。

    Network_Quality:质量文献的书目探索

    HTML文献可能会详细解释每一层如何影响网络质量,例如,TCP/IP协议在传输层如何确保数据的可靠传输,以及物理层和数据链路层如何处理信号传输和错误检测。 2. **性能测试方法**:网络质量的评估通常涉及多种测试...

Global site tag (gtag.js) - Google Analytics