计算机网络(谢希仁 第八版)课程笔记(四)——第四章 网络层
网络层:为分组交换网上的不同主机提供通信服务
第四章 网络层

一、重要概念
1、服务
网络层设计简单,向上层提供简单灵活、无连接的、尽最大努力交付的数据服务
- 不先建立连接
- 独立发送
- 不承诺

可靠通信由运输层负责
2、两个层面
通信的过程,要经过若干个路由器转发分组来完成
路由器转发的信息:
-
数据
-
路由信息(为数据传送服务)
-
控制层面
-
数据层面


二、网际协议IP

1、虚拟互连网络
网络是各种各样的,异构的
使用中间设备互连
运输层及以上:网关
网络层:路由器
数据链路层:网桥、交换机
物理层:转发器
网络互连使用路由器
互联网由多种异构网络互连而成
- 直接交付
- 间接交付
每一次转发称为跳
二、IP地址
IP地址是分配给全世界范围内的唯一的32标识符
每隔8位用.分隔
IP地址必包含 网络号+主机号
网络号指明的是主机连接的网络
主机号指明主机
1、分类的IP地址
固定网络号的长度
因为有些网络,主机多,有的主机少,所以分类
特殊的IP地址
网络号0表示本网络
网络号127表示环回测试
主机号全0表示本主机所连接的单个网络地址
全1表示所有的,所有主机

优缺点:
2、无分类编址CIDR
网络号位数不固定
用斜杆表示网络号的位数

地址块:
把网络前轴相同的所有连续的IP地址组成一个地址块
当主机号为0,则表示的是地址块,是多个的集合
地址掩码
是为了让计算机计算出网络号的
网络前缀多长就在前面有多少个1
实行按位AND运算,得出网络号


一个C类地址是2的8次方个
3、IP地址的特点

同一个网络,网络号一定相同
3、IP地址与MAC地址
MAC是物理地址或硬件地址
是在链路层封装的,实现链路层的传输
MAC地址去掉首部和尾部就是IP地址
MAC和IP有各自的原地址和目的地址,但都是在各自的层才起作用的

在链路层传输的时候,IP原地址和目的地址是不会改变的
链路层只能看到MAC地址
链路层在收到别人传过来的MAC,会去掉MAC的首尾然后上传给网络层,网络层只能看到IP地址
4、地址解析协议ARP
就是知道IP地址,找到相应的MAC地址的
每一个主机都有一个ARP高速缓存,保存有本局域网的各主机的路由的IP地址到MAC地址的映射表
发送过程
A向B发送IP数据报
首先,A看一下ARP有没有B的IP地址到MAC的映射
–>如果有,直接打包成MAC帧就行
–>没有,那么ARP就会在本局域网上广播发送一个ARP请求–>B主机接到请求,就发送自己的MAC地址,并且A也发送自己的MAC地址给B
这样各主机的ARP就知道了对方的MAC地址,保存在映射表
超过生存时间,ARP会删除超过时间的MAC地址
同理,不在同一网络的两个主机,
就是主机A先得到路由器R的MAC地址(得到方式和上面一样),发送给R,R再接着发给下一个……
5、IP数据报的格式
由首部+数据两部分组成

首部固定字段有20字节
-
版本:4位,指明IP协议号,ipv4、ipv6
-
首部长度:4位,单位是/4字节,指明的首部的一个长度,首部由固定字段+可变字段组成。首部长度这个值最小值为5,最大值为15。所以首部最小为固定的20字节,最大是60字节
-
区分服务:8位,就是区分服务的
-
总长度:16位,首部+数据,单位为字节,所以数据报醉倒长度为65535(2 16次方-1),理论上。导师链路层有MTU规定了数据报的最大长度,数据报越短,转发速度越快。超过长度就分片
-
标识:16位,没产生一个数据报,计数器就加1
-
标志:3位,
最低位MF,等于1时,表明后面还有分片
中间位DF,等于1时,不能分片,为0时,可以分片 -
片偏移:13位,相对于用户数据字段的起点,该片从何处开始,以8字节为偏移单位,除了最后一个分片,其他都是8字节的整数倍


-
生存时间:数据报在网络的寿命,每过段时间TTL就会减1,为0时,就丢弃
-
协议:8位,指明数据报数据使用的是什么协议,方便网络层知道

-
首部检验和:16位,检验首部有没有发生错误。
首部检验和=首部的各16位序列反码算法运算相加得到的
-
源地址:发送IP地址的主机的IP地址
-
目的地址:接受的主机的IP地址
-
可变部分:长度可变,1字节到40字节
三、IP层转发分组的过程
1、基于终点的转发
这个根据分组首部中的目的地址来传送和转发的
为了压缩转发表的大小
不是用目的地址来转发的,而是通过网络号来转发的
匹配网络号
不是同一个网络的,就找同一个网络

2、最长前缀匹配
使用CIDR时,转发表不止一个匹配结果
选择前缀最长的一个作为匹配的结果


匹配最长的
2中特殊路由
主机路由是直接专门指明的路由
默认路由,无敌,直接给他

3、使用二叉线索查找转发表
类似哈夫曼树,一个结点,一个数,
提高索引的速度


四、网际控制报文协议ICMP
实现主机或路由器报告差错情况和提供有关异常情况的报告
ICMP报文作为数据部分
1、ICMP报文的种类
有两种
- 差错报文
- 询问报文
格式

前四个字节是统一的,后四个字节取决于类型

(1)差错报告报文
- 终点不可达:主机或路由器不能交付数据报,就向源点发送终点不可达报文
- 时间超过:路由器丢弃生存时间为0的数据报,并向源点发送时间超过报文,终点没有收到全部的,也向源点发送
- 参数问题:接受出现参数不匹配
- 改变路由:就是找到更好的路径了
差错报告报文:
ICMP的前8字节+IP数据报首部+数据字段的8字节
不应发送的情况:
- 对自己不发送ICMP差错报文
- 除第一个分片,后续的都不发送
- 多播不发送
- 特殊地址不发送
(2)ICMP询问报文
- 回送请求和回答:就是向目的主机发送询问,用来测试目的是否可达
- 时间戳请求和回答:用来进行时间同步和测量
2、ICMP应用举例
Ping
tracert
五、IPv6
IPv4地址用完
1、基本首部
主要的变化
- 更到的地址空间:从32位变成128位
- 扩展的地址层次结构
- 灵活的首部格式
- 改进的选项
由两部分组成
基本首部+有效载荷
有效载荷包含:不定数量的扩展首部+数据部分
基本首部
固定40字节
通信量:区分不同的数据报和类别或优先级
流标号:20位,是互联网上的从特定源点到特定终点的一系列数据报
有效载荷长度:16位,指明除了首部以外的字节数
下一个首部:8位,类似协议字段,标识下一个扩展首部
跳数限制:8位,类似生存时间
源地址和目的地址:128位
扩展首部
每一个扩展首部的第一个字段是8位的下一跳首部字段
2、IPv6的地址
三种基本类型
使用冒号十六进制记法,16位之间用冒号分隔
十进制–>十六进制
两个点号的== 一个冒号的

零压缩
4个零可以压缩成一个0
一串带冒号的0,可以变成两个冒号::
CIDR的斜线表示法依然在用,但是取消了子网掩码(应为IPv6的首部固定为60位 )
地址分类

3、IPv4向IPv6的过渡
两种策略:
- 双协议栈
- 隧道技术
(1)双协议栈
一个主机同时装有IPv4和IPv6这两种协议栈
遇到什么就用什么协议

(2)隧道技术
在IPv6数据报进入IPv4,就把其封装成IPv4数据报,
IPv6的数据报变成IPv4的数据部分
离开隧道再变回来
4、ICMPv6
合并了地址解析协议ARP和网际组管理协议IGMP
面向报文协议
六、互联网的路由选择协议
路由选择协议规定了互联网中有关的路由器应如何相互交换信息并生成出路由表
1、基本概念
按是否根据调整自适应来分
分层次的路由选择协议
互联网采用自适应(动态的)、分布式路由选择协议
把整个互联网划分成许多个较小的自治系统AS,采用分层次的

内部网关协议IGP:一个自治系统里面的选择协议,例如:RIP、OSPF
外部网关协议EGP:不同自治系统之间的通信,BGP-4

2、内部网关协议RIP
一种分布式、基于距离向量的路由选择协议
简单
距离== 跳数
最佳路由:距离最短的路由
特点:
- 仅和相邻路由器交换信息
- 交换全部信息
- 按固定时间间隔交换路由信息
距离向量算法


这个距离是表明了到目的地址的距离
下一跳地址是路径要怎么走
然后就是接到新的路由表(相邻才会发送路由表)要根据别人的路由表,更新一下自己的路由表,但是在其基础上路径加1

例如这个,知道了R6的路由表,接受到了新的R4来更新R6
R4可以到达这三个目的网络,所以R6借助R4也可以到达
并且因为R6是R4相邻的路由器,所以R6到达的距离要在R4的基础上+1,并且下一跳地址改为R4
每个路由器到每一个目的网络的路由都是最短的
距离是16就证明不可达
RIP报文

组成:
- 首部
- 路由
坏消息传播慢

网1出现故障之后,R1就不转发给网1了,就之间传来传去
最后达到16证明不可达,所以坏消息传播慢
3、内部网关协议OSPF
使用了Dijkstra的最短路径算法SPF
采用分布式的链路状态协议

链路状态数据库
- 建立全网拓扑结构图
- 全网范围一致
划分为两种不同的区域
- 主干区域
- 区域

五种分组特点:
格式
工作过程:
- 确定邻站可达
- 同步链路状态数据库
- 更新链路状态:使用可靠的洪泛法向全网更新链路状态

4、外部网关协议BGP
用于AS之间的路由选择

AS有两种不同的路由器
- 边界路由器:与其他的AS相连
- 内部路由器

路由信息
例子
3中不同的自治系统AS

AS-PATH中,不允许出现相同的AS号
路由选择

BGP-4的四种报文

报文

5、路由器构成
主要工作:转发分组
结构



交换结构
- 通过存储器
- 通过总线
- 通过纵横交换结构
七、IP多播
1、基本概念
多播:一对多通信,一个源点发送到许多个终点
只需发送一次到多播组,路由器复制分组,局域网具有硬件多播功能

使用D类地址
尽最大努力交付
2、在局域网上进行硬件多播
只有后23位可用作多播
3、网际组管理协议IGMP和多播路由选择
(1)ICMP
在IGMP报文加上IP首部构成IP数据报
分为两个阶段
- 加入多播组
- 探寻组成员变化情况


措施:
- 分散响应:指明一个最长响应时间,最小时延的响应最先发送
- 采用抑制机制:只要本组的其他主机发送了响应,自己就不再发送
多播路由选择
转发多播数据报的方法:
- 洪泛与剪除
- 隧道技术
- 基于核心的发现技术
路由选择协议

八、虚拟专用网VPN和网络地址转换NAT
1、虚拟专用网VPN
一个机构里面不需要把所有的主机接入到外部的互联网,只需要自己机构使用即可
本机构自行分配其IP地址
本地地址不可以与互联网的主机通信
使用公用互联网作为本机构各专用网之间的通信载体,这个就是虚拟专用网VPN
隧道技术实现在公网上进行传输

2、网络地址转换NAT
专用网的地址想要在互联网上实现通信,就需要有互联网上的IP地址
NAT就是实现将专用网地址转换为网络网地址进行通信,前提是专用网有互联网的地址

两次地址转换
发出去的时候,更换源地址
接受的时候,替换目标地址
如果NAT路由器有n个全球IP地址,专用网最多可以同时有n台主机接入到互联网
主要是更换端口号
九、多协议标签交换MPLS

特定:
- 支持面向连接的服务质量
- 支持流量工程,平衡网络负载
- 有效地支持虚拟专用网VPN
1、MPLS的工作原理
传统的IP查找路由表花费很多时间
在出现突发通信时,缓存会溢出,引起分组丢失
在MPLS域的入口处,给每一个IP数据报打上固定长度标签
在第二层(链路层)用硬件进行转发
标签交换
工作原理



转发等价类FEC

2、首部位置与格式
在网络层和链路层中间

- 标签值
- 试验
- 栈S
- 生存时间
十、软件定义网络SDN



四个关键特征
- 基于流的转发
- 数据层面与控制层面分离
- 网络控制功能位于数据层面交换机之外
- 可编程网络

控制器
更多推荐
所有评论(0)