目录
本篇文章字数大约1W+,因为包含大量的概念,可能比较难理解,我尽量使用图和例子结合的方式,让大家容易理解.主要内容是关于计算机网络中的网络层的最详细知识,从网络层概念出发,讨论网路层的功能和具体实现,以及相关的协议.
往期相关文章
:
网络层
网络层概述
- 主要任务就是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务
- 网络层传输单位是数据报
网络层的功能
- 路由选择和分组转发(找路)
- 异构网络互联(手机,WIFI,校园网不同网络之间实现通信)
- 拥塞控制:若所有结点都来不及接受分组,而要丢弃大量分组的话,网络就处于拥塞状态,因此要采取一定措施,缓解这种拥塞,注意和流量控制不同,拥塞控制是全局性的
- 方法1:开环控制 静态控制方法,在网络开始工作之前,就把可能出现的拥塞处理
- 方法2:闭环控制 动态控制方法,网络工作时自动控制拥塞
数据交换方式
如何使数据通过网络核心(路由器)从源主机到目的主机呢?
答:数据交换
现在我们常用的数据交换方式是:通过交换设备的互联来实现数据的传递和交流
能够避免大量的使用链路直接相连的复杂性,也避免了只有一台交换设备对交换设备端口和吞吐量的要求
电路交换
电路交换阶段:
建立连接(呼叫/电路建立)----->通信----->释放连接(拆除电路)
特点
在通信过程中独占资源,意思就是只要连接建立在通信过程中,并且没有释放连接,那么其他人是没有办法抢占资源的.
电路交换的优点
- 通信时延小
- 有序传输
- 没有冲突
- 实时性强
电路交换的缺点
- 建立连接时间长
- 线路独占,使用效率低
- 灵活性差(当有交换设备宕机时,通信设备无法正常通信)
- 无差错控制能力(发送数据时,不管数据是否出错,只是单纯的把数据发送出去)
报文交换
报文
:源应用发送的信息整体,比如说源主机应用发送的是一个PFD文件,那么这个PDF文件就是信息的整体,也就是报文
在报文交换过程中,可以选择多种路径(那个路径空闲,就有可能选择它),然后在发送给目的主机.
优点:
- 无需建立连接
- 存储转发,动态分配线路
- 线路可靠性较高(可选择多条线路,一台交换设备出现宕机,就选择其他的路线)
- 线路利用率较高(线路给所有的主机使用,当时只有空闲才能被新的发送端使用,那么线路的利用率就比较高)
- 多目标服务(一个报文可以发送给多个目的主机)
缺点:
- 有存储转发时延(在交换过程中,从发送端传输到交换设备,交换设备需要先把报文存储起来,然后等链路空闲了在转发出去,因此就有存储转发时延)
- 报文大小不定,需要网络节点有较大的缓存空间
分组交换
分组交换和报文交换都使用了存储转发的思想,但是分组交换转发的是分组
**分组:**把大的数据块分割成小的数据块(也就是把之前的报文,分割成小块)
这里要注意的是:分组交换中,传输的分组是并行传输的,即分组可以同时在链路上传输,而报文交换是整个报文进行传输的.
优点
- 无需建立连接
- 存储转发,动态分配线路
- 线路可靠性较高
- 线路利用率较高
- 相对于报文交换,存储管理更容易(对缓存大小的要求不高)
缺点:
- 有存储转发时延
- 需要传输额外的信息量
- 乱序到目的主机时要对分组排序重组
一个例题来看看报文交换方式和分组交换方式
对于报文交换:
10000 b i t 1000 b i t / s = 10 s 又 题 中 要 求 最 少 的 时 间 , 因 此 只 经 过 2 个 交 换 设 备 而 且 题 中 没 有 传 播 时 延 , 因 此 不 考 虑 传 播 时 延 10 s × 3 = 30 s \frac{10000bit}{1000bit/s}=10s\\ 又题中要求最少的时间,因此只经过2个交换设备\\ 而且题中没有传播时延,因此不考虑传播时延 \\10s×3 =3 0s 1000bit/s10000bit=10s又题中要求最少的时间,因此只经过2个交换设备而且题中没有传播时延,因此不考虑传播时延10s×3=30s
对于分组交换:
10 b i t 1000 b i t / s = 0.01 s 因 为 在 分 组 交 换 中 , 分 组 是 并 行 传 输 的 . 因 此 10000 b i t 1000 b i t / s = 10 s 0.01 s × 2 = 0.02 s 10 s + 0.02 s = 10.02 s \\\frac{10bit}{1000bit/s}=0.01s\\ 因为在分组交换中,分组是并行传输的.因此\\ \frac{10000bit}{1000bit/s}=10s 0.01s×2=0.02s\\ 10s+0.02s=10.02s 1000bit/s10bit=0.01s因为在分组交换中,分组是并行传输的.因此1000bit/s10000bit=10s0.01s×2=0.02s10s+0.02s=10.02s
计算题中要注意的点:
- 单位换算:b/B,Mbps,kbps
- 1 Byte = 8bit
- 1 bit/s = 1bps
- 1Mbps(速率)= 10^6bps
- 1kbps= 10^3bps
- 是否考虑传播时延
- 时间至少是多少------选择最小跳数(交换设备尽量少)
- 起始时间(从发送开始到接收完为止/从发送开始到发送完毕)
- 是否有分组头部大小的开销
- 报文交换时延更长,分组交换时延可能不是整数
分组交换技术的数据报方式和虚电路方式
数据报方式为网路层提供无连接服务
虚电路方式为网路层提供连接服务
无连接服务:不事先为分组的传输确定传输路径,每个分组独立确定传输路径,不同分组传输路径可能不同
连接服务:首先为分组的传输确定传输路径(建立连接),然后沿该路径(连接)传输系列分组,系列分组传输路径相同,传输结束后拆除连接.
这里穿插集中传输单元名词解析
应用层 | 报文 |
---|---|
传输层 | 报文段 |
网络层 | IP数据报,分组 |
数据链路层 | 帧 |
物流层 | 比特流 |
数据报方式
虚电路方式
数据报和虚电路总结
三种数据交换方式比较总结
- 报文交换和分组交换都采用存储转发
- 传送数据量大,且传送时间远大于呼叫时间,选择电路交换,电路交换的传输时延最小
- 从信道的利用率来看,报文交换和分组交换优于电路交换,其中分组交换时延更小
IP数据报格式
在网络层协议中ARP协议处于最下层,他要为IP协议服务,而IP协议又要为ICMP .IGMP协议服务
IP数据报格式
IP数据报分片
最大传送单元MTU
链路层数据帧可封装数据的上限
以太网的MTU是1500字节
如果所传送的数据报长度超过某链路的MTU值?
分片
结合之前的IP数据报格式
- 总长度单位是1B
- 片偏移量单位是8B
- 首部长度单位是4B
意思就是实际的长度值,等于原长度的值×单位
根据片偏移可得:
除了最后一个分片,每个分片长度一定是8B的整数倍
IP数据报分片例题
IPV4地址
IP地址
ip地址就是给互联网上的每一台主机(或路由器)的每一个接口分配一个在全世界范围内是唯一的32位的标识符
IP编址的历史阶段
1.分类的IP地址
就是把很大的IP地址空间分成几类
IP地址不仅可以标识一台主机,也可以标识主机所连接的网络.IP地址是标识的是应用的端口
- IP地址::={<网络好>,<主机号>}
特殊的IP地址
私有的IP地址
分类的IP地址规则
网络地址转换NAT
网络地址转换:在专用网(如私有地址的网络校园网)连接到因特网的路由器上安装NAT软件,安装NAT软件的路由器叫NAT路由器,它至少有一个有效的外部全球IP地址
分类IP地址的缺点
- 对第一个缺点的解释:申请到的IP地址段可使用的主机数很多,但是实际使用的主机数远远达不到最多可使用的主机数,造成了IP地址空间利用率的浪费
- 对第二个缺点的解释:要新申请IP地址空间很麻烦,不能按照自主意愿扩展
从而诞生了子网的划分
2.子网的划分
对最基本的编址方法的改进
注意:
- 划分子网后,整个网络(多个子网的网络整体)对于外界来说仍然表现为一个网络
子网掩码是如何分配和识别外界IP地址的