测试开发基础|一文搞定计算机网络(一)

news2025/1/13 3:05:28

计算机网络知识对测试人员来说是非常重要的基础技能。无论是在平时测试工作中(比如接口测试),还是测试技术面试时,都会经常涉猎。很多基础薄弱的同学靠临时抱佛脚突击搜索学习,对系统知识和重点难点的理解总是不够透彻。

本系列文章就带大家从最最基础的网络知识开始,一步一个台阶学习,最终深度理解和掌握计算机网络核心知识点、相关面试题以及在测试工作中的应用。

因特网概述

1.1 计算机网络关键词

网络、互联网、因特网,经常听到的这三个名词,他们的区别是什么?先参考如下图

  • 网络(Network)
    计算机通过交换机设备组建成一个局域网,一般不超过100米,例如学校的机房;

  • 互联网(Network of Network)
    还是以学校机房为例,不同教室之间的网络可以通过路由器相互连接,这就叫做互联网;并且通过广域网可以连接的很远。

  • 因特网(Internet)
    全球最大的一个互联网

  • 总结

  • 网络:许多计算机连接在一起

  • 互联网:internet 许多网络连接在一起

  • 因特网:Internet 全球最大的一个互联网

1.2 多层次ISP结构的因特网

  • ISP:电信运营商internet service producer

由上图可以清晰的看出网络直接的关系,在实际生活中也很容易提现;比如以前在学校的时候,同学和老师之间传文件很快,因为大家都是在一个校园网中;再比如网络下载的时候,一般会提供好几个下载路径,通常我们选择本地下载也是速度最快的。

再由下图的实际场景可以很清楚的看出ISP企业和我们普通的网民之间的关系:

这里比较有意思的是淘宝和百度在电信和网通里都部署了机房,称为双线机房,保证电信和网通的用户都可以有很好的上网体验;也就不会出现一句玩笑话:世界上最远的距离不是南极和北极,而是电信到网通的距离~

1.3 因特网的组成

1.4 局域网与广域网的区别

对于局域网和广域网的理解,不单单从网络覆盖范围区分,应该从应用了局域网或广域网技术
  • 局域网:自己购买设备,自己维护,带宽固定,100M 1000M 距离100米以内

  • 广域网:花钱买服务,花钱买带宽

1.5 三种数据交换的比较

1)电路交换——面向连接

  • 连接的三个阶段:

  • 建立连接

  • 通信

  • 释放连接

  • 缺点

  • 计算机数据具有突发性,导致通信线路的利用率很低

  • 适合场景:适用于数据量很大的实时性传输,核心路由器之间可以使用电路交换

2)分组交换

一段较长的报文数据

分组后将每段数据加上首部,首部信息中包含了地址等控制信息

分组交换网中的结点减缓及根据收到的分组的首部中的地址信息,把分组转发到下一个结点交换机,用这样的存储转发方式,最后就能到达最终目的地,再根据首部信息将数据拼接恢复未原来的报文。

  • 优点

  • 高效

  • 灵活

  • 迅速

  • 可靠

  • 缺点

  • 时延

  • 开销

3)报文交换

报文交换一般将报文整个发送,这样就造成报文一般比分组的长的多,时延也较长

三种交换方式的比较

1.6 计算机网络的性能

  • 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个小时的痛苦经历~~,时延太大了呀)

1.7 计算机网络的体系结构

这里:

程序开发人员主要考虑的是前3层:应用层-表示层-会话层

网络工程师主要考虑的是:传输层-网络层-数据链路层

  • 分层的意义和必要性

  • 各层直接相互独立

  • 灵活性好

  • 结构上可以分隔开

  • 易于实现和维护

  • 能促进标准化工作

  • 现实举例说明
    这里还是以现实生活举例:

好比现在有一件商品需要从北京装箱打包发送到上海,要经过如下步骤:

商家包装商品-快递员打包商品-商品通过汽车运往火车站-商品再通过火车发往上海

这里想要提高货物发送的效率,可以通过很多方式:

然后我们发现无论使用哪种方式,都是独立的步骤,并不影响其他步骤;可以在各自的“分层”中进行管理优化,每层都要自己的作业方式。

  • 商家包装方式加快

  • 快递小哥打包手法更娴熟

  • 城市交通多修高架和快速路

  • 火车提速

1.8 网络安全和OSI参考模型

1.9 OSI、TCP/IP、五层体系的关系

对于协议分层之间的关系,由于本文内容是基于谢希仁版《计算机网络》,所以这里直接借用书中的解释,如下:

1.10 数据发送的过程

  • 主机1向主机2发送数据

  • 主机2从主机1接收数据
    接收的过程与发送正好相反,会将首位部以此去除,解封装。

2、本章相关面试题

》OSI 有哪几层,会画出来,知道主要几层的各自作用?

具体画图参考上文

  1. 应用层(数据):确定进程之间通信的性质以满足用户需要以及提供网络与用户应用

  1. 表示层(数据):主要解决拥护信息的语法表示问题,如加密解密

  1. 会话层(数据):提供包括访问验证和会话管理在内的建立和维护应用之间通信的机
    制,如服务器验证用户登录便是由会话层完成的

  1. 传输层(段):实现网络不同主机上用户进程之间的数据通信,可靠
    与不可靠的传输,传输层的错误检测,流量控制等

  1. 网络层(包):提供逻辑地址(IP)、选路,数据从源端到目的端的
    传输

  1. 数据链路层(帧):将上层数据封装成帧,用 MAC 地址访问媒介,错误检测与修正

  1. 物理层(比特流):设备之间比特流的传输,物理接口,电气特性等

》知道各个层使用的是哪个数据交换设备。(交换机、路由器、网关)
  1. 网关:应用层、传输层(网关在传输层上以实现网络互连,是最复杂的网络互连设 备,仅用于两个高层协议不同的网络互连。网关的结构也和路由器类似,不同的是 互连层。网关既可以用于广域网互连,也可以用于局域网互连)

  1. 路由器:网络层(路由选择、存储转发)

  1. 交换机:数据链路层、网络层(识别数据包中的 MAC 地址信息,根据 MAC 地址进
    行转发,并将这些 MAC 地址与对应的端口记录在自己内部的一个地址表中)

  1. 网桥:数据链路层(将两个 LAN 连起来,根据 MAC 地址来转发帧)

  1. 集线器(Hub):物理层(纯硬件设备,主要用来连接计算机等网络终端)

  1. 中继器:物理层(在比特级别对网络信号进行再生和重定时,从而使得它们能够在
    网络上传输更长的距离)

本文主要参考《计算机网络》谢希仁教材,面试题相关来自网络。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/156521.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

认证授权-SpringSecurity

认证授权-SpringSecurity 1. 认证授权概述 1.1 认证授权概念 1.1.1 认证 在互联网中,我们每天都会使用到各种各样的 APP 和网站,在使用过程中通常还会遇到需要注册登录的情况,输入你的用户名和密码才能正常使用,也就是说成为这…

uniapp引入vantweapp踩坑笔记

vue-cli创建uniapp项目引入vantweapp踩坑笔记 uni-app中引入vantweappvue-cli创建uniapp项目引入vantweapp踩坑笔记一、环境准备二、项目搭建三、引入vant第一种方式第二种方式一、环境准备 我用的环境分别是 软件名称版本号下载命令\链接检查是否成功卸载命令Vue-clivue/cli…

JavaScript中的重要概念

JavaScript中的重要概念 1、标识符 标识符(Identifier)就是名字。JavaScript 中的标识符包括变量名、函数名、参数名、属性名、类名等。 合法的标识符应该注意以下强制规则: 第一个字符必须是字母、下划线(_)或美元…

发表计算机SCI论文,需要经历哪些阶段? - 易智编译EaseEditing

想在SCI期刊上发表一篇属于自己的论文一定是要经历四个阶段:论文选题、论文写作、期刊投稿和修稿反馈。 1.论文选题:前面已经说过在SCI期刊上发表论文是比较有难度的,是因为SCI期刊通常要求所接收稿件的选题具有较高的创新性和新颖性。 所以…

马蹄集 单位矩阵

单位矩阵 难度&#xff1a;白银 0时间限制&#xff1a;1秒 巴占用内存&#xff1a;64M 输入3X3的整型矩阵A,判断是否为单位矩阵&#xff0c;输出YES或者NO。 格式 输入格式&#xff1a;输入矩阵&#xff0c;空格分隔 输出格式&#xff1a;输出YES或者NO #include<bits/stdc.…

第09讲:Docker镜像制作

我们可以在容器去部署应用&#xff0c;然后把容器转为镜像给测试人员用&#xff0c;由于镜像是不能直接传输的&#xff0c;所以我们将新的镜像转成压缩文件&#xff0c;给测试人员。测试人员把我们的压缩文件还原成一个新的镜像。 一、Linux文件系统组成 Linux文件系统组成由…

mysql快速生成100W条测试数据(2)公司员工信息

首先这个就是我们需要生成的数据类型&#xff0c;这种只是我们用于测试以及学习时候使用&#xff0c;正常来讲公司架构会比这个要复杂的多 #mermaid-svg-fxDINAOpv25PiDLG {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid…

数据库,计算机网络、操作系统刷题笔记31

数据库&#xff0c;计算机网络、操作系统刷题笔记31 2022找工作是学历、能力和运气的超强结合体&#xff0c;遇到寒冬&#xff0c;大厂不招人&#xff0c;可能很多算法学生都得去找开发&#xff0c;测开 测开的话&#xff0c;你就得学数据库&#xff0c;sql&#xff0c;oracle…

SpringBoot中JPA的基本使用

1、Jpa 是什么 JPA顾名思义就是Java Persistence API的意思&#xff0c;是JDK 5.0注解或XML描述对象&#xff0d;关系表的映射关系&#xff0c;并将运行期的实体对象持久化到数据库中。 2、优势 2.1标准化 JPA 是 JCP 组织发布的 Java EE 标准之一&#xff0c;因此任何声称符…

美国空运专线 美国空运专线时效多久

美国空运专线是国内到美国的优势渠道&#xff0c;为跨境卖家专门研发的货物海关清关快递/卡车配送的专线运输服务&#xff0c;范畴覆盖全部美国地区&#xff0c;各路经安排发货次数更高一些&#xff0c;时效更有保障。一、美国空运专线是什么 美国空运专线是专门将货物运送到美…

开学季如何运营跑腿系统?

现在学生们都在放寒假中&#xff0c;再过一段时间就又到开学季了&#xff0c;开学季是运营好跑腿项目的关键时刻&#xff0c;刚开学的时候如何让同学继续使用呢&#xff1f;这时候我们可以采取一些优惠政策来吸引同学&#xff0c;我们可以在后台设置一些优惠券&#xff0c;满减…

nacos1.4.0与seata搭建实现分布式物

下载nacos https://github.com/alibaba/nacos/tagshttps://github.com/alibaba/nacos/releases/tag/1.4.0下载seata https://github.com/seata/seata/releases/tag/v1.4.0注意&#xff1a;最好使用相同版本&#xff0c;不然出问题会找很久的 创建seata数据库 1.创建数据库导…

Termius ssh ubuntu、kali、centos

目录Termius ssh ubuntu、centos、kali一、Ubuntu开启ssh服务及允许root登录1、Ubuntu默认没有安装ssh的server&#xff0c;需要安装2、允许远程使用root账号ssh连接本机修改/etc/ssh/sshd_config文件3、需要重启系统或者ssh服务&#xff0c;刚安装完ssh-sserver服务默认开启4、…

【自然语言处理】实验1答案:Word2Vec TransE案例

NLP_class 学堂在线《自然语言处理》实验课代码报告&#xff0c;授课老师为刘知远老师。课程链接&#xff1a;https://www.xuetangx.com/training/NLP080910033761/1017121?channeli.area.manual_search。 持续更新中。 所有代码为作者所写&#xff0c;并非最后的“标准答案…

MyBatisPlus-注解的使用

注解 | MyBatis-PlusMyBatis-Plus 官方文档https://baomidou.com/pages/223848/#idtype因为在MyBatisPlus中都是通过实体类映射到数据库的字段中&#xff0c;所以处理好实体类与数据库表中字段的映射关系就很重要&#xff0c;MyBatisPlus提供的注解可以解决数据库中表名、字段名…

简道云教学 | 零代码应用开发软件助力应用型高校学生创新能力培养

“高校的数字化转型两大抓手&#xff0c;一个是学校管理系统的数字化建设&#xff0c;另一个是学生数字化素养的提升&#xff0c;简道云在我校信息化管理中的广泛应用是我们使用零代码平台进行创新能力培养的良好基础。” ————河南工学院 刘丹教授 河南工学院位于豫北工业名…

CSS初级教程(图例-链接-列表-表格)【第八天 完】

文章目录【1】CSS 图标【2】CSS 链接【3】CSS 列表【4】所有 CSS 列表属性【5】CSS 表格【6】CSS 所有表格属性CSS上回学习链接 CSS初级教程 颜色【第一天】 CSS初级教程 背景【第二天】 CSS初级教程 边框【第三天】 CSS初级教程 边距、高度、宽度【第四天】 CSS初级教程(轮廓…

使用批处理文件和mkvtoolnix批量修改默认音轨和音轨属性并重新混流

工具和版本 windows10 x64 MkvToolNix v73 待输出的Mkv格式文件&#xff0c;要求是同类型的文件&#xff0c;比如从迅雷下载下来同一来源的连续剧 步骤 一、添加文件 打开MkvToolNix GUI&#xff0c;添加输入文件&#xff0c;选中一个待输出的文件A 二、编辑音轨 选中音…

IOC底层实现原理介绍,手动实现IOC容器

面试官特别爱问SpringIOC底层实现&#xff0c;Spring源码晦涩难懂怎么办呢? 跟着老师手动实现一个mini ioc容器吧&#xff0c;实现后再回头看Spring源码事半功倍哦&#xff0c;就算直接和面试官讲也完全可以哦&#xff0c;类名完全按照源码设计&#xff0c;话不多说开干~!手动…

葡聚糖-叶酸;Dextran-FA;Dextran-Folicacid 结构式;科研试剂简介

名称&#xff1a;Dextran-Folicacid 中文名&#xff1a;叶酸修饰的葡聚糖 别称&#xff1a;葡聚糖-FA,葡聚糖-叶酸 存储条件&#xff1a;-20C&#xff0c;避光&#xff0c;避湿 外观: 固体或类白色絮状&#xff0c;取决于分子量 溶剂&#xff1a;溶于大部分有机溶剂&#…