internet协议

article/2025/9/24 13:32:03

1:引言

  • IP时TCP/IP中的核心协议
  • IP提供了一种尽力而为,无连接的数据报交付服务

2:IP头部

  • 正常的IPV4头部大小为20字节。除非存在选项(少见)
  • IPV6的长度是40字节,没有选项字段,IPV6有扩展头部

IPV4头部

在这里插入图片描述

  • 版本字段:版本字段包含IP数据报的版本号,IPv4位4,IPv6位6。IPv4头部和IPv6头部除了版本字段位置相同,再无其他一样的。
  • IHL(头部长度):单位双字,IPV4的头部长度,包括选项,但是不包括数据部分。由于它是一个4位的字段,所以IPv4头部被限制为最多15个32位字,即60字节。IPv6头部不不存在这个字段,其头部长度固定位40字节。
  • DS字段与ECN字段:DS字段和ECN字段是由一个8位的服务类型(ToS)字段划分而来的,前6位被称为区分服务字段(DS字段),后2位是显式拥塞通知(ECN)字段或指示位。
  • 总长度:IPV4数据报的总长度,字节为单位。通过这个字段和IHL字段我们可以知道数据报的数据部分从哪里开始,以及它的长度。他是一个16位的字段,收益IPV4数据报最大长度是65535字节
  • 尽管IPV4数据报最大可以达到65535字节,但是一般链路层不能携带这么大的数据,例如以太网数据载荷最大1500字节,除非将它拆分成更小的片。当一个IPV4数据报被拆分为多个更小的片时,每个分片自身任然是一个独立的IP数据报,总长度字段反应具体的分片长度。
  • 标识字段: 标识由IPV4主机发送的数据报。为了避免一个数据报分片和其他数据报分片混淆,发送主机通常再每次发送数据时都将内部计数器加一,并将该数值复制到IPV4标识字段。这个字段对实现分片很重要。以及标志和分片偏移在第十章讨论。
  • TTL:生存期或者说叫跳数限制,设置一个数据报可以经过的路由器的上限。发送方将它初始化为某个值,每台路由器在转发时将改值减一。当这个字段达到0时,该数据报被丢弃,并使用一个ICMP消息通知发送方。
  • 协议: 包含一个数字,标识数据报有效载荷部分的数据类型。最常用的是17(UDP)和6(TCP)
  • 头部校验和字段: 仅计算IPV4头部。也就是说不检查有效载荷部分数据的正确性。IPV6没有任何校验相关字段。IPV4头部校验和使用的不是CRC,链路层FCS字段使用的是CRC。
  • 源IP地址和目的IP地址

IPV6头部

在这里插入图片描述

DS字段与ECN

IPV4与IPV6都有这两个字段,以前叫做TOS字段(服务类型字段)

  • ECN:拥塞标识符,一台持续拥塞的具有ECN感知能力的路由器在转发分组时会设置这两位。当一个被标记的的分组被目的节点接收时,有些协议(如TCP)会发现分组被标记并将这种情况通知发送方,发送方随后降低发送速度,这样可以在路由器因为过载而丢弃流量之前缓解堵塞。这种机制时处理网络拥塞的方法之一,后面16章会详细讨论

  • TOS服务类型字段:八位,前三位时优先级,表示哪些分组有更高优先级,接着的三位是D T R字段,为1时分别表示:低延时,高吞吐量,高可靠性。

  • DS字段:区分服务字段中存储的时DSCP,区分服务代码点。特定的区分服务代码点可以高数路由器对分组进行转发或者特殊处理。不同类型的转发处理表示为每行跳行为(PHB),不同的DSCP告诉路由器那种PHB应用于数据报。DSCP的默认值时0,对应于尽力而为的internet流量。

  • DSCP被分为三种用途:

    • 0结尾的用作标准用途
    • 01结尾最初用作实验或本地用途,最终会走向标准化。
    • 1结尾用于实验或本地用途

dscp字段的前五位是标准的,最后一位来决定用途。

  • 其中前三位是类别部分,基于TOS中的优先级字段。
    路由器通常先将分组分为不同的类别。常见类别的流量可能有不同的丢弃概率,如果路由器被迫丢弃流量,允许路由器确定优先丢弃哪些流量。
  • 后两位是丢弃概率,就是同类别下的丢弃优先级,类别相同时,丢弃优先级高的先被丢弃。

3:IP选项

  • IPV4的选项放在选项字段中
  • IPV6的选项被放在扩展头部中
    用的不多

4:IPV6扩展头部

在IPV6中,那些由IPV4中选项提供的特殊功能,通过在IPV6之后增加扩展头部实现。

IPV6头部固定为40字节,不包括扩展头部

扩展头部,高层协议头部,IPV6头部,级联起来形成一个头部。由头部中的下一个头部字段指定下一个头部的位置

【图片】

4.1:IPV6选项

  • 逐跳选项:与传输路径上每个路由器相关
  • 目的地选项:仅与接收方有关

4.2:路由头部

4.3:分片头部

后面再看吧

5:IP转发

如果目的地址是直接相连的主机(点到点)或者是一个(共享网络)以太网,不需要路由器就可以直接到达。

否则需要发送到一台路由器(默认路由器),由该路由器将数据报交付到目的地。

当一个网络接口接收到一个数据报时:

  • 首先检查目的地址是不是自己的IP地址
    • 如果是的话,数据报想上层交付
  • 如果数据报的目的地址不是本机
    • 如果本机IP层配置为一台路由器,则转发该数据
    • 如果本机是一台主机,数据报会被丢弃

5.1:转发表

每个条目含有以下信息:

  • 目的地
  • 掩码
  • 下一跳
  • 接口

5.2:IP转发行动

当一台主机或者路由器要向吓一跳路由器或者主机发送数据报时,它先检查数据报的目的IP地址,在转发表中用该目的地址来执行最长前缀匹配算法

  • 目的地址与每个转发条路的掩码逐位与,并将结果与同一转发条目中的目的地比较。如果满足,则该条目与目的IP地址匹配。
  • 在匹配的条目中,掩码1位越长的说明匹配得越好。
  • 选择最匹配的条目,并将该条目的目的地作为数据报的下一跳IP地址

如果转发条目中没有匹配的条目,则这个数据报无法交付。通常向生成数据报的主机返回一个“主机不可达”的错误。

5.3:例子

直接交付

D发送给S,D在自己的路由表中匹配目的地址S,发现最匹配条目的吓一跳地址就是本机,说明使用直接交付,不会用到路由器。

然后数据报被封装到链路层帧中,并发送给目的主机S。如果不知道S的链路层地址,还需要使用ARP或者邻居发现协议查询其链路层地址。

然后交换机基于底层地址交付帧,并不关心IP地址。

p146

间接交付

  • 默认路由就是在本机网络中没有找到目的主机来使用,将数据报交付到本网段的路由器,默认路由的掩码全0,目的地址全0.
  • 间接交付过程中,链路层源与目的地址一直在变化
    在这里插入图片描述

6:IP数据报的主机处理

6.1:主机模式

一个主机可能有多个接口与其对应的多个IP地址。

  • 强主机模式:只有当目的IP地址字段中包含的IP地址与数据报到达的接口配置的IP地址匹配时,才同意吧数据报交付
  • 弱主机模式:一个到达数据报的目的IP地址与其主机的任何接口之一的IP地址对应就可以被接收。

主机模式也可以用于发送模式,比如在强主机模式下,从主机的一个接口下发送的数据报的源IP地址必须和接口对应的IP地址一致。

例子看p152

6.2:地址选择

  • 源地址选择
  • 目的地址选择

http://chatgpt.dhexx.cn/article/SKha80Zk.shtml

相关文章

Internet网际协议---IPv4协议

IPv4协议 一.IPv4协议简介二.IPv4数据报格式(由首部和数据组成)三.数据报分片与重组四.IP协议功能及报头字段总结 一.IPv4协议简介 1.IPv4协议:网际协议版本4,一种无连接的协议,是互联网的核心,也是使用最…

网络Internet

前言 加油 原文 网络常用会话 ❶ This online store discounted all computers for sale. 该网店削价出售全部待售的电脑。 ❷ The latest laptop is very portable. 最新的这款笔记本很便携。 ❸ Add up the figures in this column. 把这一栏的数字合计一下。 ❹ Consu…

Internet协议——IP

IP Internet协议——IPIP协议与tcp/IP的关系IP地址的表示IP地址的特点地址转换——ARP反向地址转换——RARP计算子网掩码 IP数据报的格式IP数据报首部的固定部分 Internet协议——IP IP:通信子网的最高层。提供无连接的数据报传输机制。IP协议是点到点,…

InternetOpen InternetOpenUrl InternetReadFile 和 InternetCloseHandle

文章目录 InternetOpen函数功能函数声明第一个参数第二个参数第三个参数第四个参数第五个参数返回值补充:InternetOpenUrl函数功能函数声明第一个参数第二个参数第三个参数第四个参数第五个参数第六个参数返回值补充补充InternetReadFile函数功能函数声明第一个参数…

juniper设备日常操作指南

1、日常show操作 # show 查看所有配置 # show | display set 查看set格式的所有配置 # show system | display set 查看set格式的system层级配置 # show system login | display set 查看set格式的system层级下的login层级配置# run show version # run show route 1.1.1.…

这几个juniper巡检命令超实用

1. CPU利用率核查 show chassis routing-engine2. MEM利用率核查 show chassis routing-engine3. OSPF邻居关系核查 show ospf neighbor4. LDP端口状态检查 show ldp interface5. ISIS邻居关系检查 show isis adjacency6. BGP邻居关系检查 show bgp neighbor7. HSRP信息检…

Juniper

Juniper Networks[编辑] Juniper Networks公司类型 上市(NYSE:JNPR)成立1996年2月代表人物执行长:Shaygan Kheradpir 技术长:Pradeep Sindhu 董事长:Scott Kriens总部地点 加州森尼韦尔(Sunnyva…

Juniper入门之RIP

拓扑 配置 JUNOS-1 #配置接口 interfaces {em2 {unit 10 {family inet { address 12.1.1.1/24;}}}lo0 {unit 10 {family inet {address 1.1.1.1/32;}}} } protocols {rip {import import-policy;group rip-group {export export-policy;neighbor em2.10 {send …

Juniper Radius And Tacacs Server 认证测试

1. 简述 Juniper产品支持Radius、Tacacs及本地Password认证。根据不同的用户需求,3A服务器认证可能会结合域用户、LDAP、RSA-Token等认证服务器进行综合认证。此测试报告使用Juniper VSRX和Cisco ACS5.2验证3A相关认证选项。 2. 测试拓扑 使用Vmware workstation 9…

Juniper-SRX-基于域控认证的用户防火墙

目录 1:架构与环境说明 2:防火墙基础配置 3:Win-server部署 4:SRX-加域流量放行 5:Client相关域设置 6:Win-server联动SRX的相关设置 7:SRX-外部Server配置 8:SRX域控认证策略…

Juniper考试认证简单介绍

简单的对考试的介绍&说明: JUNIPER认证考试是分产品的,目前最完善的是M/T骨干路由器产品的考试; JNCIS,这个是笔试; JNCIP,实验室考试[1天]; JNCIE,实验室考试[1天];…

Juniper认证介绍

转自:http://tech.ddvip.com/2008-06/121260544745173.html Juniper网络公司技术认证项目(JNTCP)由特定平台的多级系列课程组成。每套课程都允许学员通过笔试、实际配置及故障排除考试相结合的方式来证明自己在Juniper网络公司技术方面的能力。通过考试的考生可以证…

Juniper防火墙之图解用户认证

今天正好学习到Juniper防火墙中的用户认证,那么今天就带大家来看看Juniper防火墙的用户认证。 Juniper防火墙的用户分类: 1、Admin User:管理员用户 2、Auth User:认证用户 3、IKE User:IKE第一阶段用户的认证 4、XAut…

设计模式-观察者模式

观察者模式定义 观察者模式定义对象之间的一对多以来,这样以来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。 观察者模式理解 结合下面的观察者模式类图。 首先,我们要知道观察者就是那群等待被通知的人&…

vue -观察者模式

观察者模式 vue中的观察者模式什么是观察者模式案例 vue中的观察者模式 vue2 底成的原理是 object.defineproperty() 配合观察者模式 object.defineproperty()对数据可以进行劫持 当数据发生变化的时候 需要通知被依赖的地方 这时…

观察者模式(python)

一、模式定义 1.观察者模式(Observer Pattern):定义对象间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象皆得到通知并被自动更新。 2.观察者模式又叫做发布-订阅(Publish/Subscribe)模式、模…

观察者模式(结合C#,Unity)

文章目录 前言概念简介观察者模式?发布-订阅模式? 观察者(发布-订阅)模式应用不用设计模式实现用接口实现观察者模式代码结构介绍实现发布-订阅模式 用事件实现改进接口法改进方式事件管理中心 前言 概念简介 先来看一段比较正式…

Android设计模式详解之观察者模式

前言 观察者常用于订阅-发布系统,能够将观察者和被观察者进行解耦,降低两者之间的依赖; 定义:定义对象间一种一对多的依赖关系,使得每当一个对象改变状态时,则所有依赖于它的对象都会得到通知并被自动更新…

PHP 观察者模式 理解

用模式开发的优点是,能让我们的逻辑结构以及代码更加清晰,便于维护! 而我们为什么要用 “观察者模式”?这就需要从实际运用中来理解才能更好的运用!用如下的情境来说明吧。 事例,开始时我被安排做项目的登…

C++设计模式——观察者模式

观察者模式(Observer) 观察者模式是目前应用最广、影响范围最大的模式之一,因为 Observer 的一个实例Model/View/Control( MVC) 结构在系统开发架构设计中有着很重要的地位和意义, MVC实现了业务逻辑和表示…