计算机网络开荒4-网络层

一、网络层概述

发送主机向接受主机传送数据段Segment
发送主机:将数据段Segment封装到数据报datagram中
接受主机:接收到数据报datagram,向上层传递数据段Segment
路由器检查所有穿越它的IP数据报的头部域

1.1 路由转发

转发forwarding:将分组从路由器的输入端口 移动到合适的 输出端口
路由routing:确定分组从源到目的经过的路径,路由算法routing algorithms
在这里插入图片描述

必须提前维护好路由转发表

1.2 建立连接

某些网络的重要功能:非同步傳輸模式(英語:Asynchronous Transfer Mode,ATM)

数据分组传输之前需要建立虚拟/逻辑连接

网络层连接和传输层连接的对比:

  • 网络层连接:两个主机之间(路径上的路由器等网络设备参与其中)的连接
  • 传输层连接:两个 应用进程 直接的链接(对中间设备透明)

1.3 网络服务类型

  • 无连接服务(connection-less service)
    • 不事先为系列分组的传输确定传输路径
    • 每个分组独立确定传输路径
    • 不同分组可能传输路径不能不同
    • 数据报网络(datagram network)
  • 连接服务(Connection service)
    • 先确定从源到目的经过的路径
    • 沿该路径传输的系列分组
    • 系列分组都按照这个路径传输
    • 结束后拆除
    • 虚电路网络(virtual-circuit network)

二、虚拟电路与数据报网络

都是 报文交换
数据报datagram 和 虚电路virtual-circuit网络是两类分组交换网络
数据报 网络提供 网络层 无连接 服务 类似于传输层的UDP
虚电路 提供 网络层 连接 服务 类似于传输层的TCP

2.1 虚电路Virtual circuits VC网络

一条从源主机到目的主机,类似于电路的路径(逻辑链路)

  • 分组交换

  • 每个分组的传输利用链路的全部带宽

  • 源到目的的路径经过的网络层设备共同完成虚电路功能

  • 通信过程:

    • 呼叫建立call setup 、数据传输、拆除呼叫
    • 每个分组携带虚电路标识VC ID,而不是目的的主机地址
    • 经过的每个网络设备(Routing) 维护每条经过它的虚电路连接状态
    • 链路、网络设备资源(带宽、缓存)可以面向VC进行预分配
      • 预分配资源=可预期服务性能
      • 如ATM的电路仿真CBR

2.1.1 VC 实现

  • 每条虚电路包括:
  1. 从源主机到目的主机的一条路径
  2. 虚电路号VCID,沿路每段链路的一个编号
  3. 沿路每个网络层设备Router ,利用 Routing Table 记录经过的每条虚电路
  • 同一条VC,每段链路上的VCID通常不同
    • 路由转发分组的时依据转发表改写替换虚电路号

在这里插入图片描述

2.1.1 虚电路信令协议(signaling protocols)

VC建立、维护、拆除
目前Internet不采用
在这里插入图片描述

2.2 数据报网络

网络层 无连接
每个分组携带目的地址
路由器根据分组的目的地址转发分组,
每个分组独立选路(Routing Table 更新之后 选路就会变)
在这里插入图片描述

Routing Table中,不会记录每一个地址,不然太大了
记录的是地址范围

理想情况下:
在这里插入图片描述

但是大多数情况都是不规律的

最长前缀匹配优先

在这里插入图片描述
第二条:更长更具体,优选前缀匹配更长的原则

2.3 对比

在这里插入图片描述

三、Internet网络的网络层 IP协议

在这里插入图片描述
ICMP协议:Internet Control Message Protol
Router 、网关、主机用来报告错误情况和检测网络通路的可达性 ping

ICMP 和 IP 是伴随协议,
ICMP利用IP传输消息;IP利用ICMP进行错我处理和故障排除

在这里插入图片描述

  • 版本号 IPV4 IPV6
  • 首部长度
  • 服务类型TOS
  • 总长度字段:IP分组的总字节数(首部+数据)
  • 生存时间TTL:可以通过的路由器数(跳步数)
  • 协议字段8位:TCP UDP
  • 首部校验和:反码:每次路由都校验
  • 源 目的 IP
  • 选项字段:安全、源选路径(给Router指定)
  • 填充:保证符合32位对齐

3.1 IP分片

3.1.1 最大传输单元MTU

一段链路上,可以分装的单片 数据帧上限
在这里插入图片描述
大的IP分组 向 小的MTU链路转发的时候,就需要分片 fragmented

  • 1个IP分组分为多片
  • IP分片到达目的主机后,进行重组reassembled
  • Router只会分片,不会重组,最终目的地才会重组

IP首部头部,标识分片以及确定分片的相对顺序

  • 总长度、标识、标志位、偏移

3.1.2 分片过程

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.2 IP编址 addressing

IP分组:
源地址SA-
目的地址DA

接口interface:主机/路由器与物理链路的连接

  • 实现网络层功能
  • 路由器通常有多个接口
  • 主机通常带1个或2个接口(以太网接口、无线802.11接口)

IP地址:32bit(IPV4)
编号标识主机、路由器的接口
IP地址与每个接口关联

IP子网
在这里插入图片描述

3.3 有类IP地址

在这里插入图片描述
在这里插入图片描述
私有IP地址
A 10
B 172.16 ~ 172.31
C 192.168.0 ~ 192.168.255

3.4 IP地址划分

在这里插入图片描述
ABC类网络的子网掩码:
A:255.0.0.0
B:255.255.0.0
C:255.255.255.0

借用3bit换分子网的B类子网:255.255.224.0

子网地址 + 子网掩码

在这里插入图片描述

C类网络划分成八个 子网划分
C:255.255.255.0 借用3位
子网掩码为:255.255.255.224
借用的3位 分成以下子网

在这里插入图片描述

四、CIDR

无类域间路由(CIDR:Classless InterDomain Routing)

  • 消除传统的A B C类网络
  • 融合了子网地址和子网掩码,方便子网划分 a.b.c.d/x x:前缀长度

在这里插入图片描述

  • 提高IPV4的空间分配效率
  • 提高路由效率
    • 多个子网聚合为一个大的子网
    • 构造超网supernetting
    • 路由聚合router aggregation

4.1 路由聚合 router aggregation

在这里插入图片描述

先到达 大的 子网 223.1.0.0 然后达到后再进行路由划分

  • 层级编址使得路由信息更加高效
  • 最长前缀匹配优先
    在这里插入图片描述

五、DHCP

5.1 如何获取IP

5.1.1 静态

主机如何获取到IP地址
硬编码:
在这里插入图片描述
默认网关 default gateway:子网中的 IP 数据报需要发送到其他子网的时候,就需要把这个数据报发送给路由器指定的接口,这个接口就是整个子网的默认网关。
作用就是充当 内网 ----> 外网的中继

5.1.2 动态IP

动态主机配置协议DHCP:DynamicHostConfiguration
从服务器动态获取
地址充分利用
新接入的 移动用户加入网络,无需配置

  • 主机广播:DHCP discover 发现报文
  • DHCP服务器利用 :DHCP offer 提供报文 进行相应
  • 主机请求IP:DHCP request 请求报文
  • DHCP服务器分配IP:DHCP ack 确认报文
    在这里插入图片描述

六、NAT网络地址转换

IPV4 已经分配殆尽
现在很多实用的是 私有IP地址
为了保证这些 私有IP地址的通信,就需要 NAT
在这里插入图片描述
用不同的端口号,区分不同的主机

  • 一个网络只有一个IP地址
  • 私有IP变更,无需告知外界
  • 对外IP地址变更,子网IP不影响
  • 内部网络设备对外网不可见,不可直接寻址(安全)

6.1 NAT实现

Network Address Translation

6.1.1 替换

利用(NAT IP地址,新端口号)
----> 外出IP数据报(源IP Port)

6.1.2 记录

对每个(NAT IP地址,新端口号)与 (源IP Port) 的替换信息存储到NAT转换表中

6.1.3 替换

根据NAT替换表,找到对关系
在这里插入图片描述
端口号:
16bit 组成,2的16次方 = 65536
所以NAT最多可以支持6万多个链接(一般的子网够用了)

NAT主要争议

  • 路由器应该只处理网络层功能,但现在处理了 传输层 的数据
  • 违背端到端的通信原则:P2P
  • 地址短缺问题应该由IPv6来解决

6.2 NAT内网穿透

6.2.1 静态NAT

配置静态的NAT转化表

外网想要访问内网的IP,对NAT的特定端口发送数据
在这里插入图片描述

6.2.2 UPnP

原理和静态NAT类似,就是动态配置

Universal Plug and Play
互联网网关设备协议
IGD-Internet Getway Device
自动配置:

  • 学习到NAT公共IP地址
  • 在NAT转换表中,增删端口映射表

6.2.3 中继Skype

你们都用微信orSkype,那不就能发消息了
在这里插入图片描述

6.2.4 DDNS

(Dynamic Domain Name System)动态域名解析服务

将内网IP(每次拨号可能变化,实时的更新到 域名 上)
外网 对这个 域名进行访问

七、ICMP

互联网控制报文协议
Internet Control Message Protocol

  • 两类ICMP报文:
  • 差错报告报文
    • 目的不可达
    • 源控制(Source Quench)
    • 超时超期
    • 参数问题
    • 重定向
  • 网络探寻报文
    • 回升Echo请求和应答报文
    • 时间戳请求与应答报文

RIP 只和邻站交换信息,使用 UDP 无可靠保障,但开销小,可以满足 RIP 要求;
OSPF 使用可靠的洪泛法,直接使用 IP,灵活、开销小;
BGP 需要交换整个路由表和更新信息,TCP 提供可靠交付以减少带宽消耗;
RIP 使用不保证可靠交付的 UDP,因此必须不断地(周期性地)和邻站交换信息才能使路由信息及 时得到更新。但 BGP 使用保证可靠交付的 TCP 因此不需要这样做。

** RIP ** Routing Information Protocol 动态路由的距离矢量路由协议,基于距离向量算法的内部网关协议,只和相邻站点交换信息,动态学习规划路由表,用UDP,在小型网络中适用,大型网络用OSPF(Open Shortest Path First)和BGP(Border Gateway Protocol)

OSPF open shortest path first,开放式最短路径链路状态路由协议,用Dijkstra算法实现,计算路由表,用IP协议

BGP Border Gateway Protocol, 外部网关协议 ,交换不同子网的路由信息,用TCP

八 IPv6

最佳动机:32位IPv4 地址匮乏
其他动机:1.快速处理转发2.支持Qos数据质量
128位

8.1 IPv6数据报格式

IPv6数据报格式:

  • 固定长度的40字节基本首部

  • 不允许分片
    在这里插入图片描述

  • 优先级(priority):标识数据报的优先级

  • 流标签flow Label:标识同一"流"中的数据报

  • 下一个首部(next Header):标识下一个选项首部或上层协议首部

  • 校验和checksum:彻底移除

  • 选项Options:允许,从基本首部移除

  • ICMPv6:新版ICMP:附加报文类型,多播组管理功能

8.2 IPv6 表示

在这里插入图片描述

8组16进制数

8.3 v6基本地址类型

在这里插入图片描述

8.4 v4 v6

共存
80 个 0 + 16 个 1 + 32 bit IPv4 = 128 位IPv6

IPv6 中 子网

和IPv4做区分,会把IPv6

过度
不会有确定的时刻将所有路由器同时更新为v6
肯定需要v4 v6共存

隧道:v6数据报作为v4数据报的 载荷(数据位) 进行封装,穿越v4网络
在这里插入图片描述
在这里插入图片描述

8.5 NAT-PT

NAT-PT(Network Address Translation - Protocol Translation)是一种IPv4到IPv6协议的转换技术,它可以在IPv4网络和IPv6网络之间进行双向通信。

在IPv6网络中,每个主机都有一个全局唯一的IPv6地址,而在IPv4网络中,由于公网IPv4地址资源不足,很多主机只能使用私有IPv4地址,这就导致IPv4网络内部的主机无法直接和IPv6网络中的主机通信。NAT-PT协议的目的就是解决这种IPv4和IPv6之间的互通问题。

NAT-PT协议的原理是将IPv6数据包封装为IPv4数据包进行传输,同时把IPv4数据包中的源地址和目的地址进行转换,使得IPv6主机和IPv4主机可以互相访问。从IPv6主机到IPv4主机的数据流程如下:

  1. IPv6主机发送IPv6数据包。
  2. NAT-PT设备接收到IPv6数据包,并将其封装为IPv4数据包。
  3. NAT-PT设备将IPv4数据包的目的地址转换为IPv4地址,然后将其发送给IPv4网络上的目标主机。
  4. 目标主机收到IPv4数据包,将其解析为IPv6数据包,并进行相应的处理。
    从IPv4主机到IPv6主机的数据流程类似,只是转换的方向相反。

NAT-PT协议的实现需要使用NAT和协议转换两个功能,其中NAT负责IPv4和IPv6地址的转换,而协议转换则负责IPv4数据包和IPv6数据包之间的封装和解封装。通常采用的方式是在网络层和传输层之间插入NAT-PT设备(也称为IPv4-IPv6网关),通过配置IP地址映射、端口映射和协议转换等参数来实现IPv4和IPv6之间的互通。

尽管NAT-PT协议可以实现IPv4和IPv6网络之间的互通,但它存在一些问题,例如性能低下、安全性差等。因此,随着IPv6技术的普及,NAT-PT协议已经逐渐被其他IPv6转换技术所替代,例如IPv6 over IPv4隧道、6to4隧道、ISATAP隧道等。

8.6 网络划分习题

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

oifengo

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

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

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

打赏作者

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

抵扣说明:

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

余额充值