【计算机网络】网络层 : 总结 ( 功能 | 数据交换 | IP 数据报 | IPv4 地址 | IPv6 地址 | 路由选择协议 | 路由算法 )★★★(一)

简介: 【计算机网络】网络层 : 总结 ( 功能 | 数据交换 | IP 数据报 | IPv4 地址 | IPv6 地址 | 路由选择协议 | 路由算法 )★★★(一)

一、网络层功能


网络层功能 :


① 路由与转发 : 路由选择 与 分组转发 ; 根据路由选择算法 , 选择最佳路径 , 将分组转发出去 ;


② 异构网络互连 : 实现 WIFI 网络 , 4G/5G 基站网络 , 光纤宽带网络 , 双绞线局域网 等 网络互相通信 ;


③ 拥塞控制 : 所有节点 都 来不及接受分组 , 丢弃大量分组 , 此时网络处于拥塞状态 , 此时要采用一定措施缓解该拥塞状态 ; 流量控制 是 接收方 接受能力不足 , 让发送方慢点发 ; 拥塞控制 是全局性概念 ;


开环控制 : 静态 ; 网络传输之前 , 将所有可能产生拥塞的情况都进行控制 ;


闭环控制 : 动态 ; 网络运行过程中 , 根据发生的各种问题 , 动态处理 ;



参考博客 : 【计算机网络】网络层 : 网络层简介 ( 功能 | 拥塞控制 )






二、数据交换方式 ★


1 . 数据交换方式 :


① 电路交换


② 报文交换


③ 分组交换


数据报方式 : 为 网络层 提供 无连接服务 ;

虚电路方式 : 为 网络层 提供 连接服务 ;

image.png


2 . 电路交换、报文交换、分组交换 对比 :


① 存储转发 : 报文交换 和 分组交换 , 采用 存储转发 ;


② 电路交换使用场景 : 传输数据量巨大 , 传送时间远大于呼叫时间 , 此时使用电路交换 , 电路交换的传输时延最小 ;


③ 信道利用率 : 报文交换 和 分组交换 的信道利用率 高于 电路交换 ;


④ 时延 : 分组交换 > 报文交换 ;




3 . 分组交换、报文交换 计算示例 :





存储转发 , 是将整个报文 / 分组 存储完毕后 , 才能转发 , 数据分组越小 , 速率越快 ;



链路速率 : 所有的链路传输速率是 1000 10001000 比特 / 秒 ; 源主机 -> 交换设备 , 交换设备 -> 交换设备 , 交换设备 -> 目的主机 , 每个链路的速率都是 1000 比特 / 秒 ;


报文交换 : 报文长度 10000 1000010000 比特 ;


分组交换 : 每个分组 10 1010 比特 ;


忽略条件 : 忽略 其它 传播延迟 , 头部开销等问题 ;


求 从开始发送开始 , 到所有数据传播完毕截止 , 计算传播总时间 ;




报文交换 :


链路 1 11 : 从源主机 发送到 链路上 需要 : 10000 1000 = 10 \cfrac{10000}{1000} = 10

1000

10000


=10 秒 ; 需要将整个报文完整的传输到 交换设备 1 11 上 , 花费 10 1010 秒 , 才能开始转发 ;

链路 2 22 : 从 交换设备 1 11 发送到 交换设备 2 22 需要 : 10000 1000 = 10 \cfrac{10000}{1000} = 10

1000

10000


=10 秒 ; 需要将整个报文完整的传输到 交换设备 2 22 上 , 花费 10 1010 秒 , 才能开始转发 ;

链路 3 33 : 从交换设备 2 22 发送到 目的主机 需要 : 10000 1000 = 10 \cfrac{10000}{1000} = 10

1000

10000


=10 秒 ; 需要将整个报文完整的传输到 交换设备 3 33 上 , 花费 10 1010 秒 , 才能开始转发 ;

总共花费了 30 秒时间 ;



分组交换 :


每个分组 大小 10 1010 比特 , 一个分组发送时延 : 10 1000 = 0.01 \cfrac{10}{1000} = 0.01

1000

10


=0.01 秒 ;

这里只考虑最后一个分组 , 从源主机发送出来 , 到达目的主机的时延 , 即 从 第一个分组开始发送计时, 到最后一个分组传输完毕就是所有分组传输结束 ;

第一个分组开始发送 到 最后一个分组开始发送 的时间 : 10000 1000 = 10 \cfrac{10000}{1000} = 10

1000

10000


=10 秒 ;

最后一个分组 从 交换设备 1 11 到 交换设备 2 22 用了 0.01 0.010.01 秒 ;

最后一个分组 从 交换设备 2 22 到 目的主机 用了 0.01 0.010.01 秒 ;

分组交换使用的总时间是 10.02 10.0210.02 秒 ;



参考博客 :


【计算机网络】网络层 : 数据交换方式 ( 电路交换 | 报文交换 | 分组交换 )★

【计算机网络】网络层 : 分组交换方式 ( 数据报方式 | 虚电路方式 )





三、IP 数据报 ★


1 . IP 数据报 首部格式 :

image.png


版本 : 4 44 比特 , [ 0 , 3 ] [ 0 , 3 ][0,3] 位 , IPv4 / IPv6 , 目前使用的是 IPv4 版本 ;


首部长度 : 4 44 比特 , [ 4 , 7 ] [ 4 , 7 ][4,7] 位 , 单位是 4 44 字节 , 最小值是 5 55 , 那么最小的首都大小是 5 × 4 = 20 5 \times 4 = 205×4=20 字节 ;


区分服务 : 8 88 比特 . [ 8 , 15 ] [ 8 , 15 ][8,15] 位 , 期望获取的服务类型 , 一般情况下不使用 ;


总长度 : 16 1616 比特 , [ 16 , 31 ] [ 16, 31 ][16,31] 位 , 首部长度 + 数据部分 的总长度 ; 单位是 1 11 字节 ; 长度最大值是 2 1 6 − 1 = 65535 2^16 - 1 = 655352

1

6−1=65535 字节 ;


生存时间 : 8 88 比特 , [ 32 , 39 ] [32 , 39][32,39] 位 , IP 分组保质期 , 每经过一个路由器 , 生存时间 − 1 -1−1 , 如果生存时间变为 0 00 , 直接丢弃 ; 防止 无法交付的数据包 , 无限制的再网络上传输 ;


协议字段 : 8 88 比特 , [ 40 , 47 ] [40 , 47][40,47] 位 , 数据部分使用的协议 ; 下面是协议名称 与 字段值的对应关系 ;


ICMP : 1

IGMP : 2

TCP : 6

EGP : 8

IGP : 9

UDP : 17

IPv6 : 41

ESP : 50

OSPF : 89

首部检验和 : 检验首部的字段 ;


源地址 / 目的地址 : 长度都是 32 位 , IPv4 的地址长度是 32 位 ;


可选字段 : 范围是可变的 , 取值范围 0 00 到 40 4040 字节之间 , 用于排错 , 测量 , 安全措施等 ;


填充字段 : 都是 0 00 , 用于将首部补全成 4 44 字节的整数倍位数 ;




2 . IP 数据报 分片 : 要根据 首部的 标识 , 标志 , 片偏移 进行相应处理 :


image.png


标识 : 同一个 IP 数据报 的分片 , 使用相同的标识 ; IP 数据报大小超过 MTU 时 , 将数据报分片 , 分片完成的 IP 数据报分片 , 其标识都是相同的 ;


标志 : 由 3 33 位组成 , [ 48 , 50 ] [ 48 , 50 ][48,50] , 只有 2 22 位有意义 ;


最高位 : 是保留位 , 没有意义 ;

中间位 : DF 位 , Don’t Fragment ; DF = 1 时 , 禁止分片 ; DF = 0 时 , 允许分片 ;

最低位 : MF 位 , More Fragment ; MF = 1 时 , 后面还有分片 ; MF = 0 时 , 本分片就是该分组的最后一个分片 , 后面没有分片 ;

只有 DF = 0 时 , MF 才有意义 ;

片偏移 : 较长的分组的分片 , 中间的某个分片 , 在原来的 IP 分组中的相对位置 ; 单位是 8 88 字节 ; 也就是说除了最后一个分片 , 每个分片的长度是 8 88 字节的整数倍 ;




3 . 分片机制 示例 :


IP 数据报 : 首部 20 2020 字节 , 数据部分 3800 38003800 字节 ;


将其进行分片处理 : 每个分片不超过 1420 14201420 字节 ;


标识 : 666 666666 ;


标志 : DF = 0 , 表示允许分片 ; MF = 0 , 表示后续没有分片 ;


片偏移量 : 0 00



分片后的结果是 : 分成 三片 ;



第一片 :


分片数据 : 首部 1 11 ( 20 2020 字节 ) + 1400 14001400 字节数据部分 ;

标识 : 666 666666 , 同一个分组的分片 , 标识相同 ;

标志 : DF = 0 , 允许分片 ; MF = 1 , 后续还有分片 ;

片偏移量 : 片偏移量 是 0 , 单位是 8 88 字节 , 本片偏移量相当于 0 00 字节 ;


第二片 :


分片数据 : 首部 2 22 ( 20 2020 字节 ) + 1400 14001400 字节数据部分 ;

标识 : 666 666666 , 同一个分组的分片 , 标识相同 ;

标志 : DF = 0 , 允许分片 ; MF = 1 , 后续还有分片 ;

片偏移量 : 片偏移量 是 175 , 单位是 8 88 字节 , 本片偏移量相当于 1400 14001400 字节 ;


第三片 :


分片数据 : 首部 3 33 ( 20 2020 字节 ) + 1000 10001000 字节数据部分 ;

标识 : 666 666666 , 同一个分组的分片 , 标识相同 ;

标志 : DF = 0 , 允许分片 ; MF = 0 , 后续没有分片 ;

片偏移量 : 片偏移量 是 350 , 单位是 8 88 字节 , 本片偏移量相当于 2800 28002800 字节 ;


片偏移量是从数据部分开始计数 , 数据部分的开始位置是 0 00 字节 , 其单位是 8 88 字节 , 片偏移量 1 11 代表 8 88 字节 ;




4 . IP 数据报首部中的相关数据长度单位 : 速记 : 一种 ( 总长度 ) 八片 ( 片偏移 ) 的 首 ( 首部长度 ) 饰 ( 四 )


总长度单位 : 1 11 字节 ;

片偏移单位 : 8 88 字节 ;

首部长度单位 : 4 44 字节 ;



参考博客 :


【计算机网络】网络层 : IP 数据报格式 ( IP 数据报首部格式 )

【计算机网络】网络层 : IP 数据报分片 ( 数据分片机制 | 分片示例 | 三种数据长度单位 )



目录
相关文章
|
3月前
|
机器学习/深度学习 算法 调度
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
339 0
|
2月前
|
监控 负载均衡 安全
WebSocket网络编程深度实践:从协议原理到生产级应用
蒋星熠Jaxonic,技术宇宙中的星际旅人,以代码为舟、算法为帆,探索实时通信的无限可能。本文深入解析WebSocket协议原理、工程实践与架构设计,涵盖握手机制、心跳保活、集群部署、安全防护等核心内容,结合代码示例与架构图,助你构建稳定高效的实时应用,在二进制星河中谱写极客诗篇。
WebSocket网络编程深度实践:从协议原理到生产级应用
|
2月前
|
机器学习/深度学习 人工智能 算法
【基于TTNRBO优化DBN回归预测】基于瞬态三角牛顿-拉夫逊优化算法(TTNRBO)优化深度信念网络(DBN)数据回归预测研究(Matlab代码实现)
【基于TTNRBO优化DBN回归预测】基于瞬态三角牛顿-拉夫逊优化算法(TTNRBO)优化深度信念网络(DBN)数据回归预测研究(Matlab代码实现)
123 0
|
3月前
|
运维 架构师 安全
二层协议透明传输:让跨域二层协议“无感穿越”多服务商网络
简介:本文详解二层协议透明传输技术,适用于企业网工、运营商及架构师,解决LLDP/LACP/BPDU跨运营商传输难题,实现端到端协议透传,提升网络韧性与运维效率。
|
3月前
|
机器学习/深度学习 数据采集 运维
改进的遗传算法优化的BP神经网络用于电厂数据的异常检测和故障诊断
改进的遗传算法优化的BP神经网络用于电厂数据的异常检测和故障诊断
|
安全 搜索推荐 网络安全
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
354 11
|
存储 缓存 网络协议
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点,GET、POST的区别,Cookie与Session
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点、状态码、报文格式,GET、POST的区别,DNS的解析过程、数字证书、Cookie与Session,对称加密和非对称加密
|
网络协议 算法 网络性能优化
计算机网络常见面试题(一):TCP/IP五层模型、TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议
计算机网络常见面试题(一):TCP/IP五层模型、应用层常见的协议、TCP与UDP的区别,TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议、ARP协议
|
存储 安全 网络安全
POP3 协议在计算机网络中的优缺点
【8月更文挑战第19天】
477 0
POP3 协议在计算机网络中的优缺点
|
网络协议 视频直播 SDN
计算机网络:TCP协议的三次握手和四次挥手与UDP协议区别.
计算机网络:TCP协议的三次握手和四次挥手与UDP协议区别.
162 1