IPv4网络

网络层由路由协议(生成路由表)——转发(IP协议)两部分组成
网络层结构功能

IP数据报

IP数据报格式

IP数据报格式
**版本号:**占四位,IP版本号
**首部长度:**占四位,IP分组的首部长度,四位最长为15,故以4字节为单位,真实长度需乘4
**服务类型tos:**占8位,指示期望获得哪种类型的服务,98年改为区分服务,只有在网络可以区分网络时使用,目前网络一般不使用。
**总长度:占16位,IP分组的总字节数,首部+数据,最大分组65535b,最小20b,最大数据位65535-20=65515
** 生存时间ttl:
占8位,IP分组在网络中可以通过的路由器数,转发一次ttl减1,ttl=0分组丢弃
**协议:**占8位,指示IP分组封装数据包的类型tcp/udp,实现复用/分解,6为tcp,17为udp
首部校验和: 16位对首部差错检测,反码算数运算求和,和的反码作为校验和,逐跳计算,逐跳检验。
**选项字段:**长度可变,1——40b,携带安全、源选路径、时间戳和路由记录等信息,很少被使用。
填充: 0——3b,补齐整个首部,使其符合32位对齐,保证首部长度是4的倍数。

IP数据报分片

最大传输单元MTU:链路层数据帧可封装数据的上限,不同链路的MTU不同。
大的IP分组向较小MTU链路转发时
可以
被分片,到达目的主机再重组,不可分片的直接丢弃,给源主机返回ICMP。

IP首部中的相关字段用于表示分片以及确定分片的相对顺序,传输过程中一片丢失全部丢弃。

相关字段

**标识字段:**占16位,标记IP分组,每生成IP分组计数器加1。
标志位:占3位,保留字段,DF( don’t fragment)不允许分,MF(More fragment)更多片,DF=1时不分片,DF=0时允许分片,MF=1时说明非最后一片,MF=0说明是最后一片,或者未分片,如何确定这是分片的最后一片还是未分片呢,需要借助下面的字段。
**片偏移:**占13位,一个IP分组分片封装与原IP分组数据的相对偏移量,片偏移字段以8字节为单位。

IP分片过程

分片过程1
分片过程2
分片示例

IP偏址

IPv4使用32比特字段标识主机路由器的接口,通常合为4个8B,组合成点分十进制,即IP地址与每个接口关联。

IP子网 subnets

分配策略为:高比特代表网络号,低比特代表主机号
IP子网指: IP地址具有相同网络号的设备接口,不跨越路由器可以彼此物理联通的接口。

有类IP地址

解决网络号与主机号的平衡

有类编址

有类编址
其中e类地址保留研究
特殊地址
私有地址
192.168开头的都是私有地址,可被重用,节省IP个数

IP子网划分与子网掩码

因为有类IP地址的划分不灵活,容易造成浪费,下面介绍一种能在大网络中区分出更小范围网络的方法。
即将有类IP地址再进行划分,划分为网络号+(子网号+主机号)原主机号部分比特组成。

那么如何确定是否划分了子网,又划分了多少给子网呢?——子网掩码
采用形如IP地址,32位点分十进制,网络号子网号取1,主机号取0,
例如:a网的子网掩码为255.0.0.0,b网默认子网掩码为255.255.0.0,借用3比特划子网的网子网掩码为255.255.224.0。
通过子网地址+子网掩码,可以准确确定子网大小。
恢复方法
示例

其他协议

CIDR与路由聚合

无类域间路由,消除ABC类地址界限,融合子网与子网掩码,方便子网划分。
网络号+子网号构成网络前缀,可任意长度,格式为a.b.c.d/x,x为前缀长度。
通过这种方法可以提高IPv4地址空间的分配效率,提高路由效率,将多个子网聚合成较大的子网,聚合需IP连续切个数为2的倍数,有个别分配原因不在连续地址中,就产生了黑域现象,需要额外加上,使用最长前缀匹配策略,示例如下:
路由聚合1
路由聚合2

DHCP

用于主机获得IP地址,有两种方法:
1.硬编码,静态配置
2.动态主机配置协议DHCP,从服务器动态获取IP地址,子网掩码,默认网关,DNS服务器名称与IP信息
**允许地址重用,**当前用户下线后地址给其他用户,支持移动用户加入网络和在用地址续租。
工作流程
示例
客户端采用广播方式请求IP,因为域内可能有多个DHCP服务器,防止占用预分配的IP,该协议在应用层实现,封装到udp中,IP链路层广播,服务器构造ACK报文,包括分配给客户的IP地址,子网掩码,DNS和默认网关信息。

NAT网络地址转换

为解决IPv4地址分配殆尽,使用私有地址在互联网中通信的方法。
需借助路由器实现,相当于路由器端口对应不同主机
nat转换过程
优点
只需从ISP中申请一个IP地址
本地IP变更无需通告外界网络
变更ISP无需修改内部IP
内部网络设备对外界网络不可见,不可直接寻址,更安全

实现方法

实现方法
示例

问题

只靠端口号区分连接,16bit端口号字段可支持六万多并行连接,但是这种方法存在争议
路由器应该只处理第三层功能
违背端到端通信原则,在中间层修改了报文
地址短缺的问题应该由IPv6解决
穿透问题:如何主动访问私有地址
穿透示例1
穿透示例2
穿透示例3

ICMP 互联网控制报文协议

用于差错报告和网络探寻,有两类ICMP报文
**差错报告报文:**有5种,1.目的不可达,2.源抑制(拥塞控制机制下,路由发送给源主机使其降低发送速度的,但目前基本未使用过),3.超时/超期,4.参数错误,5.重定向(不应由自己转发的报文)
**网络探寻报文:**有3种,1.回声请求,2.应答报文,探测网络是否可达,即ping,3.时间戳的请求与应答
报文示例
通过类型与编码组合来确定报文
例外状况
报文格式
数据封装
应用示例

IPv6简介

**动机:**旨在解决32位IPv4地址空间分配殆尽的情况,使用128位地址空间。
改进首部格式,快速处理转发,支持qos区分服务
**数据格式:**改为固定长度40字节的基本首部,不允许分片(由源主机分片,目的主机收到后组装)
数据格式
数据格式1
IPv6想要通过不同的流标签来提供不同的服务,该功能目前还在论证中。

IPv VS IPv4

vs

地址表示形式

IPv6采用128位地址空间,空间很大,故采用冒号分割,16进制的8组数表示,不使用子网掩码,使用CIDR,因为包含字母,在URL中可能混淆,使用[]表示IPv6。
其他地址类型

过渡

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值