计算机网络——网络层(四)

博主 1299 2020-10-09

四、网络层

4.1 网络层服务

网络层完成的功能:
image.png
网络层核心功能:

  • 路由和转发功能
    image.png
  • 连接建立功能
    image.png
    网络层提供的一些服务模型:
    image.png
    image.png

4.2 虚电路和数据报网络

4.2.1 虚电路网络

之所以是虚电路,因为使用分组交换而不是电路交换进行数据报传输
image.png
虚电路尽管不是一个实际的电路交换,但是仍然借用了一些电路交换的术语
image.png
VC的具体实现:
image.png

虚电路信令协议:
现在的Internet使用数据报服务,没有使用虚电路
image.png

4.2.2 数据报网络

image.png

IP地址是一个32位的地址,如果都缓存在路由器的数据报转发表里面,是不可能的
可以建立一个 "ip地址范围"->"输出链路" 的转发表
image.png
但是,往往地址范围的划分不够完美


最长前缀优先匹配:

  • 在检索转发表时,优先选择与分组目的地址匹配前缀最长的入口(entry)

数据报网络和虚电路网络的对比:
image.png

4.3 IPv4协议

Internet网络层功能
主机和路由器的网络层实现的功能:
image.png

4.3.1 IP数据报

IP数据报的格式:
image.png

  • 版本号字段占用4位:IP协议的版本号,如果是IPv4则是4,IPv6则是6
  • 首部长度字段4位:IP分组首部长度
    -- 注意,每进一位代表4个字节,因为4位长度最多表示数字15,需要把4位组成的数字乘以4来表示首部长度。eg: 1000 -> 8*4=32个字节
  • 服务类型(TOS)占8位,致使期望获得哪种类型的服务。一般情况下不适用,取0
  • 总长度占16位,IP分组的总字节数(首部+数据),于是最大IP分组长度65535B,最小的IP分组首部20B,IP分组可以封装的最大数据655355-20=65515B
  • 生存时间8位:IP分组在网络中可以通过的路由器数量(跳步数),经过一次分组,路由器使TTL-1,为0时丢弃分组
  • 协议8位:指示IP分组封装的是哪个协议的数据报,实现复用/分解,6为TCP,17为UDP
  • 首部校验和16位:实现对IP分组首部的差错检测
  • 源IP地址和目的IP地址:各占16位,分别标志发送分组的源主机/路由器(网络接口)和接收分组的目的主机/路由器(网络接口)的IP地址
  • 选项字段占长度可变,范围在1~40B:携带安全、源选路径、时间戳和路由记录等内容

4.3.2 IP数据报分片

最大传输单元MTU
image.png
由于不同链路的MTU不同,当路由器MTU1 > MTU2时产生传输问题。
在某些时候,可以将大IP分组分片。注意,分片在目的主机进行组装
image.png

在首部的标识中,标识一个IP分组
image.png
image.png
image.png
注意片偏移量以8位单位


IP分片的过程:
image.png
image.png

4.3.3 IP编址

image.png

IP子网
image.png

4.3.4 有类IP地址

有类编址方法,一种二分编址方法:
image.png
一些有特殊意义的特殊IP地址:
image.png
私有IP地址
image.png

4.3.5 IP子网和子网划分

使用主机ID部分进行子网划分
image.png
引入子网掩码,来进行子网划分
image.png
一个C类子网划分的例子:
image.png
子网掩码的应用:
image.png
image.png

4.4 CIDR与路由聚集

CIDR无类地址:
image.png
可以提高IPv4地址空间分配效率,可以把多个子网聚合为一个较大的子网,构造超网。又称为路由聚集
如下图,将右边的ip地址聚合为一个大的子网
image.png

解决黑洞现象:
下面的子网的某一段地址位于上面子网的地址范围内,如果没有机制能够将信息发送到组织1,则会造成黑洞现象,数据无法到达。
所以需要下面的子网和网络共同记录这个组织的地址范围,在路由匹配时,依照最长前缀匹配优先原则,选择更加具体的路由。
image.png

4.5 DHCP协议

动态主机配置协议

如何获得IP地址?
通过硬编码:
image.png
DHCP 动态主机配置协议 Dynamic Host Configuration Protocol
image.png
DHCP协议:
image.png
工作过程:
image.png

4.6 NAT

网络地址转换技术
image.png
NAT产生的动机:
image.png
如何实现?
image.png

一个NAT内部网络使用端口号标识内部的主机,端口号用16bit表示,可以同时支持60000多并行连接
NAT存在的问题:
image.png

解决方法:
image.png
image.png
image.png

4.7 ICMP协议

互联网控制报文协议
image.png
iCMP报文的格式:
image.png

4.8 IPv6简介

image.png

IPv6数据报的格式:
image.png
其他改变:
image.png

IPv6地址表示形式:
image.png

IPv4和IPv6如何共存?
image.png

4.9 路由算法

image.png
将网络抽象成图,链路就是边的费用
image.png

4.9.1 链路状态路由算法

实际上就是Dijkstra算法
image.png
image.png
image.png

4.9.2 距离向量路由算法

实际上就是Bellman-Ford算法
image.png
image.png

4.9.3 层次路由

一种路由策略
image.png
image.png

自治系统间路由如何选择的问题,有多个网关可以到达的情况:
image.png
image.png

4.10 Internet路由

4.10.1 RIP协议

image.png

A转发到C后,通告路由器D,路由器D更新到z网的路由表
image.png

失效问题:
image.png

RIP路由表是由应用程序实现的:
image.png

4.10.1 OSPF 开放最短路径算法

image.png