【学习笔记】网络层——概述、数据交换方式:电路交换、报文交换与分组交换(数据报与虚电路)

ppt截自王道考研B站教程

太不容易了,终于看完数据链路层到网络层了= =

一. 概述

  • 主要任务:把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务。
  • 传输单位数据报(数据报和分组,关系就像父与子)
  • 功能
    异构网络:也就是把4g,校园网等网络由路由器联合到一起。
    开环:静态,事先定义好。
    闭环:动态,在实际过程中同步定义。
    在这里插入图片描述

二. 数据交换方式

  • 数据交换:使数据通过网络核心【路由器】从源主机到目的主机
  • 为什么要数据交换:
    见下图,在有交换设备前,需要有许多链路(C2n)。
    有交换设备后,还是有多设备时端口多链路过长等问题。
    于是就推出了第三种方式:解决了前两种方式的问题。
    在这里插入图片描述
  • 数据交换方式
    在这里插入图片描述

① 电路交换

  • 特点:独占资源
  • 优缺点见下图右下角。电路交换方式就像两个人打电话一样,同时只能和一个人打电话(独占)。
    在这里插入图片描述
    在这里插入图片描述

② 报文交换

  • 与①不同,加入了存储因素,从而避免独占。
  • 由于报文有小有大,因此交换设备需要有较大的缓存空间(以防不备)
    在这里插入图片描述
    在这里插入图片描述

③ 分组交换

  • 和②很像,加入分组因素
  • 由于分组,传输的数据都是较小的数据块,因此没有②的需要较大缓存空间要求。
  • 可能会乱序,因此实际上分组后的数据块还会携带其他信息(比如排序序号等)
    在这里插入图片描述

④ 分组交换 && 报文交换举例对比

  • 预防针:看了几遍才理解好,可以结合⑤的对比图理解。
  • 计算两种方式的所需时间
  • 注意不计传播延迟(也就是只考虑发送出数据时间,不考虑在链路上传播所需时间)
    在这里插入图片描述
  • 报文交换
    本质上就是:进行三次传播时延
    由题意知,一次传播时延时间为:10000bit / 1000bps = 10s
    因此结果为30s。
    在这里插入图片描述
  • 分组交换
    本质上是:一次10000bit的传播时延 + 两次10bit的传播时延
    源地址时,要本本分分地发送10000 / 1000 = 10s 的分组。
    在此之后,由于分组交换的分组传输是连续的,因此实际上之后的传输都看作单个分组的传播时延10 / 1000 = 0.01s即可。(可能描述得有点抽象,抱歉= =)

在这里插入图片描述

  • 计算题注意事项:
    分组头部大小:可能题目要求,实际分组数据部分大小 = 分组大小 - 分组头部大小
    在这里插入图片描述

⑤ 三种数据交换方式比较总结

在这里插入图片描述

三. 分组交换的两种方式

① 定义

举个例子:同样是和人联系

  • 无连接服务:类似发微信,不用提前确定连接;可能乱序(比如:发“你我他”,收到“你他我”)
  • 有连接服务:类似打电话,需要提前建议连接(打通电话)
    在这里插入图片描述
传输单元名词辨析
  • 应用层:报文
  • 传输层:报文段
  • 网络层:IP数据报,分组
  • 数据链路层:帧
  • 物理层:比特流

首先在传输层中,如果应用层给的报文过大,传输层会分减成报文段小则不分减)。
然后在网络层中,报文段+源地址+目的地址 = IP数据报;如果IP数据报大切割成分组
接着在数据链路层中,分组加头(MAC地址)加尾(FCS控制序列)变成帧
最后在物理层,把这些1010的组合转换成信号传出去。

② 数据报

在这里插入图片描述

③ 虚电路

  • 虚电路号:用于标识是哪一条虚电路。
    比如A发送给B,给分组加上虚电路号1;然后C发送给B,给分组加上虚电路号2。
    加上虚电路号后,第一个路由器就知道该把这些分组往哪些地方发送了。
  • 全双工
    在这里插入图片描述

④ 数据报与虚电路的对比

在这里插入图片描述

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这篇笔记主要介绍了Pandas模块的基本操作和使用方法。Pandas是Python中一个用于数据分析和处理的常用库,提供了高效的数据结构和数据分析工具,是进行数据处理和数据挖掘的重要工具之一。 一、Pandas数据结构 Pandas主要有两种数据结构:Series和DataFrame。 1. Series Series是一种类似于一维数组的对象,由一组数据和一组与之相关的标签(即索引)组成。Series的创建方式如下: ```python import pandas as pd # 通过列表创建Series s = pd.Series([1, 3, 5, np.nan, 6, 8]) # 通过字典创建Series s = pd.Series({'a': 1, 'b': 2, 'c': 3}) ``` 2. DataFrame DataFrame是一种二维表格数据结构,由一组数据和一组行索引和列索引组成。DataFrame的创建方式有很多种,最常用的是通过字典创建。例如: ```python import pandas as pd data = {'name': ['Tom', 'Jerry', 'Mike'], 'age': [18, 20, 22], 'gender': ['M', 'M', 'F']} df = pd.DataFrame(data) ``` 二、Pandas的基本操作 1. 数据读取 Pandas可以读取多种格式的数据文件,如CSV、Excel、SQL等。常用的读取CSV文件的方式如下: ```python import pandas as pd df = pd.read_csv('data.csv') ``` 2. 数据预处理 数据预处理是数据挖掘中非常重要的一部分,Pandas提供了很多方便的函数和方法来进行数据清洗和转换。常用的数据预处理函数和方法有: - 处理缺失值 ```python # 判断是否存在缺失值 df.isnull() # 删除缺失值 df.dropna() # 填充缺失值 df.fillna(value) ``` - 处理重复值 ```python # 删除重复值 df.drop_duplicates() ``` - 数据转换 ```python # 数据类型转换 df.astype() # 数据替换 df.replace() ``` 3. 数据分析 Pandas提供了各种数据分析和处理的方法和函数,常用的包括: - 统计函数 ```python # 计算平均值 df.mean() # 计算标准差 df.std() # 计算最大值和最小值 df.max(), df.min() ``` - 排序 ```python # 按照某列排序 df.sort_values(by='column_name') ``` - 数据聚合 ```python # 对某列数据进行分组求和 df.groupby('column_name').sum() ``` 以上是Pandas模块的基础内容,还有很多高级用法和技巧需要进一步学习和掌握。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值