目录
一、网络层基本信息介绍
1、网络协议适用范围
2、IPv4和IPv6的地址
3、Ethernet Frames 的类型
二、两种类型IP地址的定义:
ECU通信的几种方式
路由器(Router)和IP 地址的概念
路由实例介绍
三、IPv4地址介绍
地址分类:
各类型IP可支持的最大网络数量和主机数量参考图示
子网网络
子网掩码例子
共有/私有IPv4 地址和环回地址
IPv4 Packet 包含信息及介绍
IPv6 Packet包含信息及介绍
IPv6地址表示法
IPv6地址:128Bit
一、网络层基本信息介绍
1、网络协议适用范围
1)允许跨网络边界路由数据包
2)为上层UDP和TCP提供服务
3)允许比第 2 层更灵活的地址分配
2、IPv4和IPv6的地址
IPv4:4 bytes 的地址 (32 Bit)
IPv6:16bytes 的地址(128 Bit)
3、Ethernet Frames 的类型
IPv4:Type类型为0x0800
IPv6:Type类型为0x86DD
网络层位于数据链路层之上,第三层引入网络的概念,方便支持更加灵活地寻址,实现报文在不同网段之间进行转发,并未上层协议 TCP/UDP 提供服务;其中P 协议作为以太网网络层协议,包括两种类型IPV4和Iv,IP4 的网络地址长度为4字节32位,IPv6的网络地址长度为16字节128位:
二、两种类型IP地址的定义:
以太网三层发送的数据包针对不同类型的IP类型,其结构也会不同。我们可根据Ethernet帧Type 字段确认该帧的Payload 部分为那种类型的 packet,Type 值为0x0800即Pv4 PacketType值为0x86DD即IPv6 Packet;
以太网二层的寻址方式基于 MAC地址寻址,那我们看下以太网三层的寻址方式:
Network 1和Network 2属于两个单独的网络
ECU通信的几种方式
1、相同网络内的数据经交换机转发通信
2、两个直连的ECU直接进行通信
3、不同网络的数据如何互相通信?
路由器(Router)和IP 地址的概念
路由器是连接两个或多个网络的硬件设备,在网络间起到网关的的作用
Network 1的数据包经路由器转发至Network 2;
路由器如何对接收的报文进行路由转发?
那就需要基于IP地址导址,以上图IPv4 网络为例,图中每个车载以太网ECU都会分配个IPv4地址,IPv4地址由点分十进制表示,其中又划分网络号和主机号部分。
路由实例介绍
若Network 1的 ECU 1(P 地址 192.168.1.10)发送一条报文,给到 ECU 4IP 地址192.168.220),其中ECU1将自身的IP 地址信息和ECU4的IP 地址信息,分别作为源IP 地址和目的IP 地址存放在报文中,由于 ECU4 和ECU1属于不同网段,所以 ECU1将该报文发送给路由器设备,路由器接收该报文,解析报文的 P 信息并参考自身的路由表,路由表会列出当前路由器的物理端口,比如当前路由器两个物理端口分别连接Network1和Network 2网段,由于不同网络间的通信需配置网关,否则无法进行三层通信,路由器针对连接了不同网段的物理端口进行网关地址的分配,其中 Network 1 的网关地址IP 为192.168.1.1,Network 2的网关地址为192.168.2.1,接着当路由器解析出该报文的目的IP 地址为192.168.2.20,其中192.168.2代表路由器的直连网段NetworkB的网络号,故路由器将该报文通过NetworkB网关IP地址对应的物理端口,路由转发至Network 2,最终由 ECU4 接收该报文。
三、IPv4地址介绍
地址分类:
前面讲到 IPv4 地址长度为 4 字节,采用点分十进制表示,其数量约为 43 亿个,为了对这些IP 地址进行统筹分配,internet 委员会定义了5种P 地址类型(即A~E类型)在不同场景下使用,每个IP 地址又分为网络号和主机号。
A类:第一个字节第一位为0,且第一个字节定义网络,后三个字节定义主机,用于大型网络
B类:第一个字节前两位为 10,前两个字节定义网络,后两个字节定义主机,用于中等规模网络
C类: 第一个字节前三位 110,前三个字节定义网络,后一个字节定义主机,通常用于小型网络
D类:不区分网络和主机,用于组播使用
E类:保留
各类型IP可支持的最大网络数量和主机数量参考图示
子网网络
当源地址和目标地址的网络不同时,则需要通过路由器在子网之间进行流量交换:
在刚才5类IP 地址中我们发现A类和B类网络中可分配的主机数量较多,但实际情况是在单个网络中并不需要安排这么多的主机,或者说将网络进一步划分多个子网?这时候就需要引入子网掩码的概念,在 internet 委员会确认网络号 + 主机号之后,可由本地系统管理员进行二次分配,在源主机号(NetworkID)基础上再划分子网号(Subnet D)和主机号(Host D)在IP 地址的划分后,如何让一个主机了解它所属的网络号和主机号,以及任意两台设备是否属于同一网络?
这就要使用子网掩码,举例来说:比如两人名叫张伟,一名张伟来自李家村,另一名张伟来自包家村,那如何区分?
那就需要村长来区分,子网掩码相当于村长的角色,子网掩码共 4 字节 32 位,和IP 地址(与运算)后可获取其对应的IP 网络号,大部分情况下,当网络中只要不超过 254 台主机时,子网掩码默认为 255.255.255.0,网络主机数超过最多限制数时,则需修改子网掩码,扩大网段,或划分 VLAN,使用不同子网。
子网掩码例子
子网掩码 255.255.255.0
IP 地址: 192.168.1.10
子网掩码:255.255.255.0
网络地址: 192.168.1
主机地址: 10
共有/私有IPv4 地址和环回地址
公有/私有IPv4地址
环回地址
IP 地址除了A~E类型外,还包括 Local 公有、Private 私有IP 地址、Loopback 环回地址的概念;首先我们来看公有IP 地址和私有IP 地址,公有P 可直接访问互联网(internet),而私有IP 用于当公有IP 地址不足时在内部网络中使用。注意:私有iP 地址在一个局域网内不能分配给多台主机,私有P 发送的数据不能直接通过路由器转发至Internet 上,需通过路由器进行私有P 地址转化为公有P 地址,该过程称你为“网络地址转换”从A~C类IP地址选取部分范围作为私有IP 地址:
A类私有IP 地址范围:10.0.0.0-10255255.255
B类私有IP地址范围:172.16.00-17231.255255
C类私有IP地址范围:192.168.0.0-192.168.255.255
环回IP 地址(Loopback)范围 127.000-127255255.255
若主机发送一条报文,该报文的目的IP 地址为环回P 地址时,那该报文不会通过硬件发送至网络的其他设备上,而只会传回自身从而形成一个环路,环回P 地址常用于本地TCP/IP 配置、网络逻辑测试的情况。
IPv4 Packet 包含信息及介绍
首先IPv4 Packet包,其由IP Header 和 Payload 数据组成,IP Header 最小长度为20个字节,前12个字节提供数据控制信息,后8 个字节提供P 地址信息(包括源IP 地址信息和目的IP地址信息,IP地址信息后面为Options可选区域。
Version:4位Version(版本号),指示IP版本(4表示IP版本是IPv4)IHL:4位IHL表示IP Header 长度,其长度范围在 20-60个字节间:IP Header Len = IHL * 0x05
Type of Service:8位TOS服务字段,定义网络可靠性、优先级、时延和吞吐量等参数 Total Length:16位Total Length表示 Packet 包的总长度
Identification:16位ldentification 标识符
Flags:3位Flags标志位
Fragment:13位分片偏移量三者,用于当发送的数据超过最大数据包长度1500个字节 时进行分片发送的功能。
TTL:8位TTL生存周期,规定一个数据包在网络的生存时间,用于防止一个数据包在 网络中无限循环转发。
Protocol:8位Protocol协议号,标识上层协议
Header Check Sum: 16位 Header ChecksumIP 报头校验和,只用于校验数据包 Header 部分
Source IP Address:32位的源IPV6地址(4byte)
Destination IP Address:32位的目的IPv6地址(4byte)
IPv6 Packet包含信息及介绍
IPv6 Header结构相较 IPv4 简单,IPv6 使用固定长度的 Header,长度为40字节,其中只保留数据转发所必须的重要信息存放在IPv6 Header 内。
Version:4位的Version 版本号信息(version=6)
Traffic Class:8位的 Traffic Class流量等级,指示Pv6 数据流通信类别/优先级(功能类似 IPV4TOS字段)
Flow Label:20位Flow Label 流标签,用于区分和标记不同的数据流量,实现对 Qos(Qualityof Service)的支持
Payload Length:16位Payload Length表示有效负载的长度
Next Header:8位Next Header 标识下一选项Header 或上层协议 Header 的类型
Hop Limit:8位Hop Limit,功能类似于Pv4的TTL字段,通过在路由器之间的转发次数 限定包的生命周期。
Source IP Address:128位的源IPV6地址(16bvte)
Destination IP Address:128位的目的IPv6地址(16byte)
IPv6地址表示法
IPv6地址:128Bit
FE80:0000:0000:0000:385AAA34:BD1B:CB2D (Complete)
FE80:0:0:0:385A:AA34:BD1B:CB2D (Reduced zeros)
FE80::385A:AA34:BD1B:CB2D (Reduced blocks)
IPv6地址长度为16字节(128位),采用冒分十六进制表示法;即Pv6地址按每16位划分为一组,每组转换成四个十六进制数,每组之间用冒号隔开,基于冒分十六进制法,IPv6地址还可以进一步简化为两者短格式。
格式一:可以省去任意组的前导0来简化IPv6 地址,0000可简化为0。
格式二:针对多个连续组全为0的情况时,可用双冒号".:"简化,但注意一个Pv6 地址中”..只能出现一次。