IP Sevice Model

IP

IP数据报由标头和一些数据组成

在这里插入图片描述

Tranport的传输段放入IPData中 IP数据报放入LinkData中 IP的工作是将数据报传送到另一端 然后将数据报放入链接帧中 将其运送答第一台路由器中

在这里插入图片描述

IP服务 可以通过以上四个属性来表示

他从终端主机向终端主机发送数据报 虽然不可靠 但会尽力而为传输数据报 网络不维护与数据报关联的每个流状态

Datagram 数据报服务

​ 当我们要求IP发送数据时 它会创建一个数据报并将数据放入其中 标头包含IP地址(IPDA: IP destination address)数据报头还包含Ip源地址(IPSA:IP source address)

​ individually routed packets 单独路由的数据包 基于信息单独通过网络路由的数据报 换句话是数据报是独立的

​ hop-by-hop routing 逐跳路由 每个路由器的转发决定基于IP DA 来自哪里取决于IPSA 因此接收方知道响应发送到哪里

​ 数据报是 通过网络从一个路由器到另一个路由器逐跳路由起始地址到终止地址的方式

在这里插入图片描述

每一个路由器都包含一个转发表 它告诉在哪里发送与给定目标地址匹配的数据包 路由器不知道整个路径 它只是使用目标地址进行索引到其转发表中 以便它可以将数据包转发到路径中的下一跳 逐跳的到达目标地址

IP Service Model 提的服务包括到目的地的路由

Unreliable 不可靠

数据包可能会丢失 或者不安顺序 延时等等

Best effort

但IP不会随意丢弃数据报除非在必须的情况下 例如路由器中的队列满了

IP不会告诉你数据丢失 也不会重新发送数据

同样错误的路由表也会导致数据包发送到错误的地址 或者导致数据包被错误的复制

Connectionless

IP是最简单的服务 不保存链接的信息 他不是从建立于通信相关联的某种状态开始的

在这里插入图片描述

为什么IP服务这么简单? 毕竟他是整个Internet的基础服务 每一次通信都要使用IP服务 那为什么不完善一点呢

  1. 为了保持网络的简单 最小化 更快 更简单 还有降低了构建和维护的成本 这样简单的构造 保证了可以快速且低成本的发送数据包

  2. 端到端的原则:尽可能在端主机在实现功能 这可以具有多个优点 例如对于应用程序确保正确实现了该功能 并且在实施的过程中更容易开发和改进功能,而不是嵌入到Internet的硬件当中去。在互联网的情况下,可以确定诸如可靠通信之类的功能并应在终点处的计算机控制拥塞,来源和目的地 而不是通过网络

  3. 允许在顶部构建各种可靠或者不可靠的服务。如果IP可靠 换句话说如果丢失的数据包自动重新发送 那么对于一些服务将是不理想的

  4. IP适用于任何链路层,IP对链路层的假设很少 不需要规定是有线还是无线 不需要控制阻塞和重传

在这里插入图片描述

IP服务的范围

  1. 尝试去组织数据包永远循环 IP使用一种非常简单的机制来捕获然后删除那些看似是卡在一个循环中的 ,为此IP只需在每个数据报的报头中添加一个跳数字段 它被称为生存时间或TTL字段 例如以128开始 每一跳减1 如果到0 就丢弃
  2. 当数据报太长的时候 会对其进行分包。 IP设计为可在任何类型上的link上运行 大多数的link对于数据包大小有限制。IP提供了一些标头字段来帮助路由器分段 发送两个独立的IP数据报 同时向终端主机提供信息 需要再次正确的重组数据。
  3. IP使用标头校验去减少数据传输错误的机率,数据报头在包含一个校验和字段,以尝试确保数据报传递到正确的位置
  4. 两种IP版本 IPv4 IPv6。IPv4 32位地址 目前90%以上的终端使用 ,由于IPv4太少了 目前逐步转变为IPv6 128位地址
  5. IP允许将新字段添加到数据报头中。这种又好也有坏 虽然扩展了功能但也需要路由器扩展功能 破环了本来IP的简单的优点

IPV4

在这里插入图片描述

不需要牢牢记得位置 但需要知道每一个的作用 因为这样才知道IP服务模型的范围

Destination IP Address 目标地址

Source IP Address 源地址

Protocal ID 告诉我们什么包含在数据段中 ,本质上,它允许目的终端主机去对到达的数据包解使用,发送它们正确的代码来处理数据包。如果ID的值为6 那么它告诉我们数据包含一个TCP段,这样我们就可以安全的将数据报传递给TCP代码,并且能够正确的解析细分。IANA互联网号码分配机构 定义了140多种不同的协议值ID 代表不同的传输协议。

Version 告诉IP的版本

Total Packet Length 报头和所有数据的总数据包长度

Time To Live(TTL) 防止意味循环,每个路由器都需要递减TTL字段,如果是0就要丢弃路由器

有时候数据包太长了 就需要分包 PacketID Flags Fragment Offset可以实现分包

PacketID 数据包ID

Flags 标志

Fragment Offset 分片偏移

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

Header Length 告诉标头的大小

CheckSum 检验包体是否损坏

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值