【测开基础之计算机网络】一: 计算机网络概述_计算机网络,测试,测试开发_TesterAllen的博客-CSDN博客
** 1. 计算机网络概述**
1.1 因特网概述
网络、互联网、因特网;经常听到的三个名词,他们的区别是什么?先参考如下图
-
网络(Network)
计算机通过交换机设备组建成一个局域网
,一般不超过100米,例如学校的机房; -
互联网(Network of Network)
还是以学校机房为例,不同教室之间的网络可以通过路由器
相互连接,这就叫做互联网;并且通过广域网
可以连接的很远。 -
因特网(Internet)
全球最大的一个互联网 -
总结
* **网络** :许多计算机连接在一起
* **互联网** :internet 许多网络连接在一起
* **因特网** :Internet 全球最大的一个互联网
多层次ISP结构的因特网
- ISP :
电信运营商internet service producer
由上图可以清晰的看出网络直接的关系,在实际生活中也很容易提现;
比如以前在学校的时候,同学和老师之间传文件很快,因为大家都是在一个校园网中;
再比如网络下载的时候,一般会提供好几个下载路径,通常我们选择本地下载也是速度最快的。
再由下图的实际场景可以很清楚的看出ISP
、企业
和我们普通的网民
之间的关系:
这里比较有意思的是淘宝和百度在电信和网通里都部署了机房,称为双线机房,保证电信和网通的用户都可以有很好的上网体验;也就不会出现一句玩笑话:世界上最远的距离不是南极和北极,而是电信到网通的距离~
1.2 因特网组成、局域网、广域网的区别
1.3 局域网与广域网的区别
对于局域网和广域网的理解,不单单从网络覆盖范围区分,应该从应用了局域网或广域网技术
-
局域网 :自己购买设备,自己维护,带宽固定,100M 1000M 距离100米以内
-
广域网 :花钱买服务,花钱买带宽
1.4 三种数据交换的比较
1) 电路交换 ——面向连接
-
连接的三个阶段:
-
建立连接
-
通信
-
释放连接
-
-
缺点
计算机数据具有突发性,导致通信线路的利用率很低
- 适合场景:
适用于数据量很大的实时性传输,核心路由器之间可以使用电路交换
2) 分组交换
一段较长的报文数据
分组后将每段数据加上首部
,首部
信息中包含了地址
等控制信息
分组交换网中的结点减缓及根据收到的分组的首部中的地址信息,把分组转发到下一个结点交换机,用这样的存储转发
方式,最后就能到达最终目的地
,再根据首部信息将数据拼接恢复未原来的报文。
- 优点 :
* 高效
* 灵活
* 迅速
* 可靠
- 缺点 :
* 时延
* 开销
3) 报文交换
报文交换一般将报文整个发送,这样就造成报文一般比分组的长的多,时延也较长
三种交换方式的比较 :
** 计算机网络的性能**
1.速率:
连接在计算机网络上的主机在数字信道上传送数据位数的速率,也称为data rate或bit rate。
单位是b/s, kb/s, Mb/s, Gb/s.
2.带宽:
数据通信领域中,数字信道所能传送的最高数据率
单位是 b/s, kb/s, Mb/s, Gb/s
3.吞吐量:
即在单位时间内通过某个网络的数据量
单位 b/s, Mb/s等
4.时延:
我们经常说到延时,就是这里的时延,那么时延分别有如下几种:
-
发送时延:
发送数据时,数据块从结点进入到传输媒体所需要的时间;
可以类别火车出站,整列火车就好比一段数据,那么这列火车从站台出站就好比数据块从结点进入到传输媒体,这个出站所花费的时间就是发送时延
。 -
传播时延:
电磁波在信道中需要传播一定的距离而花费的时间;
就好比火车从一个站点开到另一个站点的途中所花费的时间。
- 排队时延:
结点缓存队列中分组排队所经历的时延;
这个也比较好类比生活中的例子,比如我们节假日过收费站的时候,车辆需要在不同的车道进行排队等候进站,这个时间段就是排队时延
- 处理时延:
交换结点为存储转发而进行一些必要的处理所花费的时间;
依然可以以开车进收费站为例,到了收费站以后,我们需要取卡缴费等行为,哪怕是ETC也要减速慢行等待抬杆,有时候可能没识别到还得倒车再来,这些过程所花费的时间就成为处理时延。
5.时延带宽积:
单位时间内能够传输的最大数据量;就好比一段公路,如果都摆满了车,最多可以承载多少车辆。
6.往返时间-RTT(Round-Trip Time)
从发送方发送数据开始,到发送方收到接收方确认
7.利用率
信道利用率:指出某信道有百分之几的时间是被利用的(有数据通过),完全空闲的信道利用率是零。
网络利用率:全网络的通道利用率的加权平均值
要注意的是利用率并不是越大越好
如下图所示,当利用率在接近1的过程中,达到某一个点之后,时延会急剧增大,造成“堵塞”;
就如同高速公路,平常车辆不多,利用率并不高,但是车速很快,运行通畅;而节假日的时候,因为免费加上出行增加,道路的利用率可能大大增加,但是同行的流畅度也大大降低(本人就经历过平常四五个小时的车程开了16个小时的痛苦经历~~,时延太大了呀)
要注意的是利用率并不是越大越好
** 创建Session**
1.6 计算机网络的体系结构
- OSI参考模型 7层
这里:
程序开发人员
主要考虑的是前3层:应用层-表示层-会话层
网络工程师
主要考虑的是:传输层-网络层-数据链路层
分层的意义和必要性
* 各层直接相互独立
* 灵活性好
* 结构上可以分隔开
* 易于实现和维护
* 能促进标准化工作
现实举例说明
这里还是以现实生活举例:
好比现在有一件商品需要从北京装箱打包发送到上海,要经过如下步骤:
商家包装商品
-快递员打包商品
-商品通过汽车运往火车站
-商品再通过火车发往上海
这里想要提高货物发送的效率,可以通过很多方式:
-
商家包装方式加快
-
快递小哥打包手法更娴熟
-
城市交通多修高架和快速路
-
火车提速
然后我们发现无论使用哪种方式,都是独立的步骤,并不影响其他步骤;可以在各自的“分层”中进行管理优化,每层都要自己的作业方式。
1.7 网络安全和OSI参考模型
1.7 OSI、TCP/IP、五层体系的关系
对于协议分层之间的关系,由于本文内容是基于谢希仁版《计算机网络》,所以这里直接借用书中的解释,如下:
1.8 数据发送的过程
-
主机1向主机2发送数据
-
主机2从主机1接收数据
接收的过程与发送正好相反,会将首位部以此去除,解封装。
2、本章相关面试题
2.1 OSI 有哪几层,会画出来,知道主要几层的各自作用
具体画图参考上文
-
应用层(数据) :确定进程之间通信的性质以满足用户需要以及提供网络与用户应用
-
表示层(数据) :主要解决拥护信息的语法表示问题,如加密解密
-
会话层(数据) :提供包括访问验证和会话管理在内的建立和维护应用之间通信的机
制,如服务器验证用户登录便是由会话层完成的
- 传输层(段) :实现网络不同主机上用户进程之间的数据通信,可靠
与不可靠的传输,传输层的错误检测,流量控制等
- 网络层(包) :提供逻辑地址(IP)、选路,数据从源端到目的端的
传输
-
数据链路层(帧) :将上层数据封装成帧,用 MAC 地址访问媒介,错误检测与修正
-
物理层(比特流) :设备之间比特流的传输,物理接口,电气特性等
2.2 知道各个层使用的是哪个数据交换设备。(交换机、路由器、网关)
- 网关 :
应用层
、传输层
(网关在传输层上以实现网络互连,是最复杂的网络互连设 备,仅用于两个高层协议不同的网络互连。
网关的结构也和路由器类似,不同的是 互连层。
网关既可以用于广域网互连,也可以用于局域网互连)
-
路由器 :
网络层
(路由选择、存储转发) -
交换机 :
数据链路层
、网络层
(识别数据包中的 MAC 地址信息,根据 MAC 地址进
行转发,并将这些 MAC 地址与对应的端口记录在自己内部的一个地址表中)
-
网桥 :
数据链路层
(将两个 LAN 连起来,根据 MAC 地址来转发帧) -
集线器(Hub) :
物理层
(纯硬件设备,主要用来连接计算机等网络终端) -
中继器 :
物理层
(在比特级别对网络信号进行再生和重定时,从而使得它们能够在
网络上传输更长的距离)
3、参考
主体内容参考韩立刚老师主讲的《计算机网络》- 第5版 - 谢希仁
部分内容参考书本《计算机网络》- 第7版 - 谢希仁
相关面试题参考CodeSheep公众号提供
来霍格沃兹测试开发学社,学习更多软件测试与测试开发的进阶技术,知识点涵盖web自动化测试 app自动化测试、接口自动化测试、测试框架、性能测试、安全测试、持续集成/持续交付/DevOps,测试左移、测试右移、精准测试、测试平台开发、测试管理等内容,课程技术涵盖bash、pytest、junit、selenium、appium、postman、requests、httprunner、jmeter、jenkins、docker、k8s、elk、sonarqube、jacoco、jvm-sandbox等相关技术,全面提升测试开发工程师的技术实力