第4章 网络层

4.1网络层的功能

  • 1.异网互联:使用路由器连接数据链路层物理层均不同的网络。【路由器连接的设备物理层,数据链路层和网络层可以不同】

  • 2.转发:从一个端口输入保存后选择另一个端口转发【微观】

  • 3.路由选择:选择合适的路由线路【宏观】

  • 4.SDN的基本概念:

    • 数据平面:
      • 时间短,用硬件实现
      • 路由器内部实现
      • 具体处理转发过程
    • 控制平面
      • 控制和管理网络协议的运行
      • 时间长,用软件实现
      • OSPF,RIP,BGP协议路由选择过程
传统方式SDN方式
路由选择转发都在路由器路由选择在SDN控制器中,转发路由器

SDN优点:①控制更灵活②成本更低
SDN的问题:①安全风险②瓶颈问题

  • 5.拥塞控制:
    • 原因:接收方来不及接收,只能丢弃
    • 判断依据:网络负载增加吞吐量却下将。
    • 方法:
      • 1.开环控制【静态】
      • 2.闭环控制【动态】

4.2 IPv4

4.2.1 IPv4分组

IP数据报过长需要切割成多个分组

1.IPv4分组格式

版本首部长度 (Header Length)区分服务 (Differentiated Services)总长度 (Total Length)
4位,判断是IPv4还是IPv64位,单位是4字节8位,决定路由器发送的优先级16位,单位是1B
标识 (Identification)标志 (Flags)片偏移 (Fragment Offset)
16位,表明来自哪个原始分组3位,第一位无效,第二位为0表示允许分片,第三位为1表示后面还有分组13位,单位是8B
生存时间 (Time to Live)协议 (Protocol)头部校验和 (Header Checksum)
8位,每经过一个路由器减一,为0时丢弃,并返回ICMP8位,表明传输层协议,6代表TCP,17代表UDP16位,只校验首部是否正确
源 IP 地址 (Source IP Address)
32 bits
目标 IP 地址 (Destination IP Address)
32 bits
选项 (Options)填充(Fill)
可变长度,支持数据部分排错可变长度 ,用于填充首部为8字节的整数倍
数据部分
TCP或UDP

单位记忆:一种【总长单位】八片【片偏移量单位】的首饰【首部长度单位】

2. IP数据报分片

如果IP分组过长,且标志位的第二位为0(代表不允许分片)路由器会丢弃分组,并返回ICMP差错报告。
标识代表来自原来的哪一个IP分组。
标志: 第一位无效,第二位【DF】为0标识允许分片,第三位【MF】为1标识后面还有分组


4.3.2 IPv4地址与NAT

1.IPv4地址:
在这里插入图片描述
主机号全为0::网络本身
主机号全为1::广播地址

网络号主机号是否可作为源地址是否可作为目标地址目的
全0全0可以不可以在本网络中代表主机,路由器使用代表默认路由
全0特定值可以不可以本网络的目的主机
全1全1不可以可以本网络广播
特定值全0不可以不可以本网络的网络地址
特定值全1不可以可以特定网络进行广播
127非0非1的有效范围可以可以用于本地测试

私有地址:

  • A类:10.0.0.0 ~ 10.255.255.255
  • B类:172.16.0.0~172.31.0.0
  • C类:192.168.0.0~192.168.255.0

2.网络地址转换NAT
不使用NAT技术,IP分组头部源地址不变。
使用NAT技术,路由器在转发前会将源主机的IP转换成路由器的IP。
路由器无法处理私有IP地址。

  • 使用NAT技术:
    • 发送数据:路由器将源主机IP地址修改为路由器IP地址
    • 接收数据:路由器根据目的地址的端口号修改目的地址IP【局域网内部IP】端口号若没有匹配的表项,直接丢弃。

4.3.3 子网划分与子网掩码,CIDR

1.子网划分

主机号取部分作为子网号,构成三级IP地址
主机号不能全0全1
使用CIDR技术子网号可以全1
外部网络不知道内部子网划分

划分子网后路由器的表项由【目的网络地址,网络子网掩码,下一跳地址】
划分子网:网络地址由
聚合子网:网络地址由

2.子网掩码
子网掩码与IP地址相与获取主机的网络地址。

3.无分类编址CIDR
消除传统A,B,C,D,E类网络划分,在IP地址后面的数字表明使用多少个IP二进制值作为网络地址。

网络前缀相同的是同一CIDR地址快

在路由转发表项匹配都不符合,使用0.0.0.0默认路由,交付给其他路由器处理。

4.网络层转发分组过程
1.提取IP地址
2.使用子网掩码IP地址相与然后和路由器连接的网络的网络号做对比
3.有相同就直接发送,都不符合检查特定地址
4.检测到无路径就对比路由表。有就发送
5.如果没有就使用0.0.0.0默认路由发给其他路由器重复上述操作
6.在IP的生存周期内没有找到目的主机,丢弃IP分组并发出CIMP差错报文


4.3.4 ARP,DHCP,ICMP

每个主机和路由器都有ARP高速缓存

  • 地址解析协议ARP
    • 请求使用广播ARP根据IP地址请求获取对应的MAC地址
    • 响应使用单播发送发送自己的MAC地址
    • ARP协议格式
自己的IP地址需查询的IP地址自己的MAC地址FF-FF-FF-FF-FF-FF(广播MAC地址)
  • 发送IP分组:

    • 1.ARP高速缓存有就直接写入目的MAC地址
    • 2.没有就用FF-FF-FF-FF-FF-FF广播ARP请求
    • 3.局域网内所有主机都能收到
    • 4.然后单播响应ARP请求,写入高速缓存
  • 动态主机配置协议DHCP

基于UDP协议的应用层协议,使用C/S模式

使用广播发出DHCP请求,也使用广播响应请求

  • 过程:

    • 1.客户端使用以广播 【DHCP发现】 询问是否有DHCP服务器
    • 2.DHCP服务器接收到 【DHCP发现】 消息,发送自己愿意分配的IP地址源主机
    • 3.如果主机收到多个 【DHCP】 响应,接受第一个响应的IP,并以广播回复接受使用IP地址其他服务器收回预分配IP
  • 网际控制报文协议ICMP
    种类:

    • ICMP差错报告
      • 1.终点不可达
      • 2.原点抑制
      • 3.超过生命周期
      • 4.参数问题 【数据报首部不正确】
      • 5.改变路由 【选择更好的路由线路】
    • ICMP询问报文
      • 1.回送请求回答报文
      • 2.时间戳请求回答报文
      • 3.地址掩码请求回答报文
      • 4.路由器询问通告报文
  • 不发生ICMP差错报告报文情况:

    • 1.对ICMP差错报告报文
    • 2.第一个分片后的分片
    • 3.所有组播地址的数据报
    • 4.特殊地址如【127.0.0.0或127.0.0.0】
      在这里插入图片描述

4.4 IPv6

  • 解决IP耗尽措施:①采用无分类编址CIDR ②使用NAT转换 ③使用IPv6【根本方法】

  • IPv4和IPv6的主要区别:

    • IPv4长度为32位,IPv6长度128位
    • IPv6可选字段移出首部,变成扩展首部
    • 自动配置IP地址,不需要DHCP服务器
    • IPv6首部8B的整数倍,IPv4首部4B的整数倍
    • IPv6仅可以在主机分片,IPv4可以在主机和路由器分片

注意:IPv6中只能有一个双冒号

IPv6支持单播【点对点】,多播【一对多】,任播【将数据发到一个组的任意一个主机中】通信。

I P v 4 到 I P v 6 过度 { 双栈协议 : 一台设备同时使用 I P v 4 和 I P v 6 地址 隧道技术 : 将协议数据报重新封装 IPv4到IPv6过度 \begin{cases} 双栈协议:一台设备同时使用IPv4和IPv6地址\\ 隧道技术:将协议数据报重新封装 \end{cases} IPv4IPv6过度{双栈协议:一台设备同时使用IPv4IPv6地址隧道技术:将协议数据报重新封装


4.2 路由算法

  • 静态路由算法:【非自适应路由算法】,由管理员手动配置路由信息,不适合大型网络,更新速度慢
  • 动态路由算法:【自适应路由算法】,路由器之间交换路由信息,根据算法优化
  • 层次路由使用原因:①因特网规模大 ②不让外界知道内部网络拓扑结构

路由选择协议 { 内部网关协议 , 在 A S 内部使用, R I P , O S P F 外部网关协议 , 在 A S 之间使用, B G P 路由选择协议 \begin{cases} 内部网关协议,在AS内部使用,RIP,OSPF\\ 外部网关协议,在AS之间使用,BGP \end{cases} 路由选择协议{内部网关协议,AS内部使用,RIP,OSPF外部网关协议,AS之间使用,BGP


4.5 路由协议

内部网关协议:RIP【小型网络,基于距离向量】,OSPF【大型网络,基于链路状态

4.5.1 RIP协议【信息路由协议】

应用层协议,使用UDP传输数据,使用广播交换
每个路由器需要维护到其他网络的唯一最佳路径
一条路径最多只能有15个路由器,等于16时表示不可达,适合小型网络。

  • 特点:

    • 使用距离向量
    • 仅和相邻路由器交换信息。
    • 交换自己知道的所有信息
    • 30秒交换一次
    • 180秒内没交换,确认出现故障,跟新对应表项信息
    • 好消息传得快,坏消息传得慢【跟新收敛慢】
  • 算法:

    • ①交换信息到达时,将下一跳地址改为发送方地址,且跳数加1
    • ②若原来表中没有目的网络,直接加入路由表
    • ③若有相同目的网络,且下一跳地址相同,直接覆盖
    • ④若有相同目的网络,下一跳地址不同留下跳数少的

4.5.2 OSPF协议【开放最短路径优先协议】

使用网络层IP协议。IP协议字段89

  • 特点:

    • 自治系统中所有路由器发送信息,使用洪泛法【类似广播】
    • 发送的是本路由器与相邻路由器的链路状态。
    • 只有链路发生变化时,才洪泛发出信息。
    • 可以根据不同业务类型,计算出不同的路由。如果有多条代价相同的路径,则可以将通信量分配给这几条路径,负载均衡。
    • 不会出现坏消息传得慢
    • 使用迪杰斯特拉算法
    • 规模大时OSPF比RIP好
  • 过程:

    • ①每隔10s给邻居发HELLO问候分组
    • ②设置到邻居的度量metric
    • ③构造链路分组,向邻居发送摘要
    • ④摘要存在,不做处理,没有或更新了的发送链路状态请求分组
    • ⑤收到相邻分组进行更新后返回确认信息。

外部网关协议

4.5.3 边界网关协议(BGP)

应用层协议,基于TCP【提高更可靠服务,减少路由选择】

  • 过程:

    • ①与邻站发言人交换信息
    • ②交换网络可达性
    • 发生变化时跟新【包含完整路径】
  • 特点:

    • ①支持CIDR
    • ②刚运行时交换整个路由表,之后仅在发生变化时更新变化部分

在这里插入图片描述

4.6 IP组播

4.6.1 组播的概念

单播: 发送数据包到一个目的地,使用单播地址,“点对点服务”
广播:发送到同一个局域网的所有设备,使用FF-FF-FF-FF-FF-FFMAC地址
组播:发送到同一个组播IP的主机。源主机仅仅发送一次,路由协议建立组播分发树,尽可能接近目的主机时开始复制和发送不同路线的主机。减少了网络负载和发送者的负担。

在这里插入图片描述


4.6.2 IP组播地址

D类地址,前4位1110【只能作为目的地址】
传输层协议使用UDP

  • 特点:
    • 1.尽力交付,不提供可靠交付
    • 2.只能用于目的地址
    • 3.不产生ICMP差错报文
    • 4.不是所有D类地址都用于组播

物理地址的组播地址范围:
01-00-5E-(00-00-00)至01-00-5E-(7F-FF-FF)
第25位为0,后23位与组播IP的后23位相同
在这里插入图片描述


4.6.3 IGMP和组播路由算法

IGMP:让路由器知道是否有主机的进程退出或参加某组播
组播路由算法:1.基于链路状态的路由选择 2.基于距离-向量的路由选择 3.在任何路由器协议之上,协议无关组播

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mystic Musings

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值