【计算机网络】网络层 : 总结 ( 功能 | 数据交换 | 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 数据报分片 ( 数据分片机制 | 分片示例 | 三种数据长度单位 )



目录
相关文章
|
2月前
|
网络协议 Linux 虚拟化
配置VM网络:如何设定静态IP以访问主机IP和互联网
以上就是设定虚拟机网络和静态IP地址的基本步骤。需要注意的是,这些步骤可能会因为虚拟机软件、操作系统以及网络环境的不同而有所差异。在进行设定时,应根据具体情况进行调整。
303 10
|
3月前
|
安全 网络性能优化 网络虚拟化
网络交换机分类与功能解析
接入交换机(ASW)连接终端设备,提供高密度端口与基础安全策略;二层交换机(LSW)基于MAC地址转发数据,构成局域网基础;汇聚交换机(DSW)聚合流量并实施VLAN路由、QoS等高级策略;核心交换机(CSW)作为网络骨干,具备高性能、高可靠性的高速转发能力;中间交换机(ISW)可指汇聚层设备或刀片服务器内交换模块。典型流量路径为:终端→ASW→DSW/ISW→CSW,分层架构提升网络扩展性与管理效率。(238字)
894 0
|
5月前
|
监控 安全 Go
使用Go语言构建网络IP层安全防护
在Go语言中构建网络IP层安全防护是一项需求明确的任务,考虑到高性能、并发和跨平台的优势,Go是构建此类安全系统的合适选择。通过紧密遵循上述步骤并结合最佳实践,可以构建一个强大的网络防护系统,以保障数字环境的安全完整。
135 12
|
6月前
|
监控 安全 网络安全
网络安全新姿势:多IP配置的五大好处
服务器配置多IP地址,既能提升网络速度与安全性,又能实现多站点托管和故障转移。本文详解多IP的五大妙用、配置方法及进阶技巧。从理论到实践,合理规划IP资源,让服务器性能跃升新高度。
193 2
|
7月前
|
存储 算法
【赵渝强老师】Memcached的路由算法
Memcached支持两种客户端路由算法:求余数Hash算法和一致性Hash算法。求余数Hash算法通过键值对服务器数量取模分配数据,虽分布均匀但扩容缩容时易丢失数据。一致性Hash算法则通过哈希环减少数据丢失,仅影响故障节点相关数据,在集群扩容或节点宕机时表现更优。
169 10
|
8月前
|
域名解析 API PHP
VM虚拟机全版本网盘+免费本地网络穿透端口映射实时同步动态家庭IP教程
本文介绍了如何通过网络穿透技术让公网直接访问家庭电脑,充分发挥本地硬件性能。相比第三方服务受限于转发带宽,此方法利用自家宽带实现更高效率。文章详细讲解了端口映射教程,包括不同网络环境(仅光猫、光猫+路由器)下的设置步骤,并提供实时同步动态IP的两种方案:自建服务器或使用三方API接口。最后附上VM虚拟机全版本下载链接,便于用户在穿透后将服务运行于虚拟环境中,提升安全性与适用性。
|
2月前
|
机器学习/深度学习 算法 机器人
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
231 0
|
2月前
|
数据采集 分布式计算 并行计算
mRMR算法实现特征选择-MATLAB
mRMR算法实现特征选择-MATLAB
175 2