计算机网络——网络层
title: 计算机网络——网络层
date: 2019-12-23 21:23:30
categories:
- 计算机网络
tags:
网络层提供的两种服务
- 网络层关注如何将分组从源端沿着网络路径送达目的端
- 争论实质:在计算机通信中,可靠交付应当由谁来负责?
虚电路服务
- 是逻辑上的连接,并不是简历一条物理连接
- 通俗的理解:一条流水线,是传什么的就传什么,中间不更改,只不过是传输前才做逻辑上指定的流水线
数据报服务(<mark>现在使用服务</mark>)
- 根据数据报上的地址,路由器接收地址信息临时选择传递,最终到达目的地址
- 通俗的理解:一个无向图,中间有若干的路,随机的走,最终到达终点
比较
对比的方面 | 虚电路服务 | 数据报服务 |
---|---|---|
思路 | 可靠通信由网络保证 | 可靠通信由用户主机保证 |
连接的建立 | 必须有 | 不需要 |
终点地址 | 仅在连接建立阶段使用,每个分钟用短的虚电路号 | 每个分组有终点的完整地址 |
分组的转发 | 同一个虚电路的分组均按照同一个路由转发 | 每一个分组独立选择路由进行转发 |
当结点故障时 | 所有通过出故障结点的虚电路均不能工作 | 出故障的结点可能会丢失分组,一些路由可能会发生变化 |
分组的顺序 | 总是按发送顺序到达 | 不一定按发送顺序到达 |
端到端的差错处理和流量控制 | 可由网络负责,也可由用户主机负责 | 由用户主机负责 |
网际协议IP
虚拟互联网
网络互联的设备
中间设备(中间系统|中继系统)
- 物理层中继系统:转发器
- 数据链路层中继系统:网桥或桥接器
- 网络层中继系统:路由器
- 网络层以上的中继系统:网关(非路由器接口的意思)
网络互联的问题
- 不同的寻址方案
- 不同的最大分组长度
- 不同的网络接入机制
- 不同的超时控制
- 不同的差错恢复方法
- 不同的状态报告方法
- 不同的路由选择技术
- 不同的永辉接入控制
- 不同的服务(面向连接服务和无连接服务)
- 不同的管理与控制方式
分组在互联网中的传送
互联网络与虚拟互联网络
- 实际的有物理设备组建的网络
- 虚拟的互联网络(互联网)
IP协议简介
网络协议IP是TCP/IP体系中两个最重要的协议之一
与其配合的还有四个协议
- 地址解析协议ARP
- 逆地址解析协议RARP
- 网际控制报文协议ICMP
- 网际组管理协议IGMP
IP地址
IP层次结构
层次化IP将32位的IP地址分为网络ID和主机ID
网络地址(网络号)
- 唯一指定了每个网络。同一网络中的每台计算机都共享相同的网络地址,并用它作为IP的一部分
网络号字段和主机号字段
三种常用的类别IP地址
特殊的几个地址
- 127.0.0.1 本地环回地址
- 169.254.0.0 是私有保留地址,一般开启了dhcp服务的设备但又无法获取到dhcp的会随机使用这个网段的ip
- 保留的私网地址
- 10.0.0.0
- 172.16.0.0 – 172.31.0.0
- 192.168.0.0 – 192.168.255.0
子网掩码的作用
子网划分
- 主机部分不能全1或全0
- 点对点网络最佳的子网掩码
255 255 255 252
252 11111100
超网合并
- 子网划分是后移,超网合并则是前移
IP地址与MAC地址
网络层的通信
ARP协议(地址解析)
IP地址 =》ARP协议 =》物理地址
物理地址 =》RARP协议 =》IP地址3
- ARP欺骗 应用软件
- 网络执法官
- p2p 终结者
- 每一个主机都设有一个 ARP 高速缓存 (ARP cache),里面有所在的局域网上的各主机和路由器的 IP 地址到硬件地址的映射表。
- 过程:当主机 A 欲向本局域网上的某个主机 B 发送 IP 数据报时,就先在其 ARP 高速缓存中查看有无主机 B 的 IP 地址。
- 如有,就可查出其对应的硬件地址,再将此硬件地址写入 MAC 帧,然后通过局域网将该 MAC 帧发往此硬件地址。
- 如没有, ARP 进程在本局域网上广播发送一个 ARP 请求分组。收到 ARP 响应分组后,将得到的 IP 地址到硬件地址的映射写入 ARP 高速缓存
- 图解
ARP高速缓存的作用
- 存放最近获取的IP地址对应的MAC地址(绑定),减少ARP广播的数量
- 减少网络的通信量,A发送ARP请求分组,就将自己的IP到MAC的映射写入ARP请求分组
- B收到A的ARP请求分组时,就将A的地址映射写入B的ARP高速缓存中
四种典型情况
- 发送方是主机,要把 IP 数据报发送到本网络上的另一个主机。这时用 ARP 找到目的主机的硬件地址。
- 发送方是主机,要把 IP 数据报发送到另一个网络上的一个主机。这时用 ARP 找到本网络上的一个路由器的硬件地址。剩下的工作由这个路由器来完成。
- 发送方是路由器,要把 IP 数据报转发到本网络上的一个主机。这时用 ARP 找到目的主机的硬件地址。
- 发送方是路由器,要把 IP 数据报转发到另一个网络上的一个主机。这时用 ARP 找到本网络上另一个路由器的硬件地址。剩下的工作由这个路由器来完成。
IP数据报(包)
- 首部的前一部分固定长度,20字节,所有的IP数据报都具有
- 后一部分是可选字段,不固定
数据包的格式
- 数据路由: 路由器在不同网断转发数据包(报)
- 网络畅通的条件:能去能回
- 能去:沿途的路由器必须知道到目标网络下一跳给哪个接口
- 能回:沿途的路由器必须知道怎么回上一个路由的接口
网际控制报文协议ICMP
为了更有效地转发 IP 数据报和提高交付成功的机会,在网际层使用了网际控制报文协议 ICMP (Internet Control Message Protocol)。
ICMP 是互联网的标准协议。
ICMP 允许主机或路由器报告差错情况和提供有关异常情况的报告。
但 ICMP 不是高层协议(看起来好像是高层协议,因为 ICMP 报文是装在 IP 数据报中,作为其中的数据部分),而是 IP 层的协议。
- ICMP 报文的种类有两种,即 ICMP 差错报告报文和 ICMP 询问报文。
- ICMP 报文的前 4 个字节是统一的格式,共有三个字段:即类型、代码和检验和。接着的 4 个字节的内容与 ICMP 的类型有关。
- 差错报文:
终点不可达
时间超过
参数问题
改变路由(重定向)(Redirect) - 询问报文:
回送请求和回答报文
时间戳请求和回答报文
- 差错报文:
因特网的路由选择协议
分类
- 静态路由选择策略——即非自适应路由选择,其特点是简单和开销较小,但不能及时适应网络状态的变化。
- 动态路由选择策略——即自适应路由选择,其特点是能较好地适应网络状态的变化,但实现起来较为复杂,开销也比较大。
自治系统
自治系统 AS 的定义:<mark>在单一的技术管理下的一组路由器</mark>,而这些路由器使用一种 AS 内部的路由选择协议和共同的度量以确定分组在该 AS 内的路由,同时还使用一种 AS 之间的路由选择协议用以确定分组在 AS之间的路由。
两大类路由选择协议
内部网关协议 IGP (Interior Gateway Protocol)
- 在一个自治系统内部使用的路由选择协议。
- 目前这类路由选择协议使用得最多,如 RIP 和 OSPF 协议。
RIP 协议的三个特点
- 仅和相邻路由器交换信息。
- 交换的信息是当前本路由器所知道的全部信息,即自己的路由表。
- 固定的时间间隔交换路由信息,
RIP协议的效果
RIP 协议让互联网中的所有路由器都和自己的相邻路由器不断交换路由信息,并不断更新其路由表,使得从每一个路由器到每一个目的网络的路由都是最短的(即跳数最少)
RIP协议的特点
好消息传播得快,坏消息传播得慢。
RIP存在的一个问题
当网络出现故障时,要经过比较长的时间 (例如数分钟) 才能将此信息传送到所有的路由器。
外部网关协议 EGP (External Gateway Protocol)
- 若源站和目的站处在不同的自治系统中,当数据报传到一个自治系统的边界时,就需要使用一种协议将路由选择信息传递到另一个自治系统中。这样的协议就是外部网关协议 EGP。
- 在外部网关协议中目前使用最多的是 BGP-4。
路由器
IPV6
IPv6 的基本首部
- 允许协议继续扩充。
- 支持即插即用(即自动配置)。因此 IPv6 不需要使用 DHCP。
- 支持资源的预分配。 IPv6 支持实时视像等要求,保证一定的带宽和时延的应用。
- IPv6 首部改为 8 字节对齐。首部长度必须是 8 字节的整数倍。原来的 IPv4 首部是 4 字节对齐。
- 版本(version)—— 4 位。它指明了协议的版本,对 IPv6 该字段总是 6。
- 通信量类(traffic class)—— 8 位。这是为了区分不同的 IPv6 数据报的类别或优先级。目前正在进行不同的通信量类性能的实验。
- 有效载荷长度(payload length)—— 16 位。它指明 IPv6 数据报除基本首部以外的字节数(所有扩展首部都算在有效载荷之内),其最大值是 64 KB。
- 下一个首部(next header)—— 8 位。它相当于 IPv4 的协议字段或可选字段。
冒号十六进制记法
- 每个 16 位的值用十六进制值表示,各值之间用冒号分隔。例如:
68E6:8C64:FFFF:FFFF:0:1180:960A:FFFF
在十六进制记法中,允许把数字前面的0省略。例如把0000中的前三个0省略,写成1个0。 - 零压缩
一连串连续的零可以为一对冒号所取代。
IP多播
多播数据报和一般的 IP 数据报的区别就是它使用 D 类 IP 地址作为目的地址,并且首部中的协议字段值是2,表明使用网际组管理协议 IGMP。
多播数据报也是“尽最大努力交付”,不保证一定能够交付多播组内的所有成员。
对多播数据报不产生 ICMP 差错报文。因此,若在 PING 命令后面键入多播地址,将永远不会收到响应。
网际组管理协议 IGMP
IGMP 协议是让连接在本地局域网上的多播路由器知道本局域网上是否有主机(严格讲,是主机上的某个进程)参加或退出了某个多播组
虚拟专用网VPN和网络地址转换NAT
VPN
- 利用公用的互联网作为本机构各专用网之间的通信载体,这样的专用网又称为虚拟专用网VPN (Virtual Private Network)。
- 专用网”是因为这种网络是为本机构的主机用于机构内部的通信,而不是用于和网络外非本机构的主机通信。
- “虚拟”表示“好像是”,但实际上并不是,因为现在并没有真正使用通信专线,而VPN只是在效果上和真正的专用网一样。
NAT
- 需要在专用网连接到互联网的路由器上安装 NAT 软件。装有 NAT 软件的路由器叫作 NAT路由器,它至少有一个有效的外部全球IP地址。
- 所有使用本地地址的主机在和外界通信时,都要在 NAT 路由器上将其本地地址转换成全球 IP 地址,才能和互联网连接。
- NAPT把专用网内不同的源 IP 地址,都转换为同样的全球 IP 地址。但对源主机所采用的 TCP 端口号(不管相同或不同),则转换为不同的新的端口号。因此,当 NAPT 路由器收到从互联网发来的应答时,就可以从 IP 数据报的数据部分找出运输层的端口号,然后根据不同的目的端口号,从 NAPT 转换表中找到正确的目的主机