IP服务模型

  1. IP数据报

IP数据报中除了包含需要传输的数据外,还包括目标终端的IP地址和发送终端的IP地址。

数据报通过网络从一台路由器跳到另一台路由器,一路从IP源地址传递到IP目标地址。每个路由器都包含一个转发表,该表告诉它在匹配到特定目标地址后将数据报发送到哪里。路由器并不知道整个路径,它只是使用目标地址来索引自己的转发表,以便将数据报转发到路径上的下一跳,朝着最终目的地前进。

IP服务模型提供了一项服务,其中包括将数据路由到目的地的功能。

  1. 不可靠的

IP并不保证数据报一定会被送达目的地,它们可能会被延迟送达、顺序错乱,甚至根本无法送达。数据报在传输过程中可能会被重复,例如由于某个行为异常的路由器。

  1. 尽最大可能的

IP只在必要时丢弃数据报,路由器中的数据报队列可能因为拥塞而满载,迫使路由器丢弃下一个到达的数据报,IP不会尝试重新发送数据,IP不会通知源端数据报已被丢弃。

  1. 无连接的

完全不维护与通信相关的任何状态,在开始时不建立与通信相关的任何端到端的状态。

为什么IP服务如此简单?

IP服务模型的一些细节

  1. 试图阻止数据报在路由网路中无限循环地传输

IP在每个数据报的头部添加一个跳数字段,被称为生存时间字段(Time-to-Live, TTL)。假设它初始值设为128,然后每经过一个路由器就减1,如果它减到0,IP就判定数据报一定陷入了循环。路由器会丢弃该数据报。

  1. 如果数据报太长,IP会对其进行分片。

IP设计为可在任何类型的链路上运行,大多数链路对它们能承载的数据报大小有限制,以太网只能承载小于1500字节的数据包。如果应用程序需要发送超过1500字节的数据,必须先将其分成1500字节的片段,再放入IP数据报中发送。现在,在通往目的地的路径上,一个1500字节的数据报可能需要经过只能承载更小数据报的链路,链接这两天链路的路由器会将数据分片成两个较小的数据报。IP提供了一些头部字段,帮助路由器将数据报分片成两个自包含的IP数据报,同时提供终端主机正确重组数据所需的信息。

  1. IP使用头部校验和来减少将数据报传到错误目的地的可能性。

IP在数据报头部包含一个校验和字段,以尽力确保数据报被传送到正确的位置。

  1. 目前使用的IP有两个版本,IPv4拥有32位的地址,IPv6拥有128位的地址。

  2. 最后,IP允许在数据报头部添加新字段。

(1)Source IP Address:源端IP地址

(2)Destination IP Address:目标端IP地址

(3)Protocol ID:数据字段中包含的内容,允许目标主机对到达的数据进行解复用,将它们发送到正确的代码已处理数据报。如果Protocol ID是6,数据报包含一个TCP段,可以安全地将数据报传递给TCP代码,以正确解析该数据字段。

(4)Version:使用地IP协议的版本IPv4或者IPv6

(5)Total Packet Length:数据包的总长度,可达64KB,包括头部和所有数据。

(6)TTL(Time to Live)字段:防止数据包在网络中意外地无限循环,每个路由器都需要递减TTL字段,如果它达到0,路由器应丢弃该数据包。

(7)Packet ID、Flags、Fragment Offset:路由器在需要时将IP数据报分片成更小的、自包含的数据报。

(8)Type of Service:向路由器提示此数据包的重要性

(9)Header Length:头部的长度

(10)Options:可选字段携带额外信息

(11)Checksum:对整个头部计算校验和。

相关推荐
Thera77713 分钟前
【Linux C++】彻底解决僵尸进程:waitpid(WNOHANG) 与 SA_NOCLDWAIT
linux·服务器·c++
驱动探索者19 分钟前
U盘发展史
网络·cpu·u盘
青春给了代码23 分钟前
基于WebSocket实现在线语音(实时+保存)+文字双向传输完整实现
网络·websocket·网络协议
呉師傅32 分钟前
【使用技巧】Adobe Photoshop 2024调整缩放与布局125%后出现点菜单项漂移问题的简单处理
运维·服务器·windows·adobe·电脑·photoshop
getapi1 小时前
Ubuntu 22.04 服务器的系统架构是否为 amd64 x86_64
linux·服务器·ubuntu
消失的旧时光-19431 小时前
Linux 入门核心命令清单(工程版)
linux·运维·服务器
艾莉丝努力练剑2 小时前
【Linux:文件】Ext系列文件系统(初阶)
大数据·linux·运维·服务器·c++·人工智能·算法
Trouvaille ~2 小时前
【Linux】TCP Socket编程实战(一):API详解与单连接Echo Server
linux·运维·服务器·网络·c++·tcp/ip·socket
liann1192 小时前
3.1_网络——基础
网络·安全·web安全·http·网络安全
独行soc2 小时前
2026年渗透测试面试题总结-17(题目+回答)
android·网络·安全·web安全·渗透测试·安全狮