计算机网络(概述)

该笔记为湖科大计算机网络相关笔记、教材参考计算机网络第六版
湖科大计算机网络

计算机网络概述

因特网概述

Internet和internet的区别
internet:只要是计算机与计算机连接,形成了网络,就可以叫internet
Internet:泛指全世界的互联网

注意:网络是由若干节点和连接节点的链路组成
在这里插入图片描述
因特网服务提供者ISP(Internet ServiceProvider),服务提供商,相当于三大运营商,通过想ISP缴费来获取大量的IP地址,再为普通用户提供服务

网络的覆盖范围

  • 局域网:有限范围内的连接。比如 一个实验室,一栋楼,一个校园。
  • 城域网:跨越几条街道的连接 5km~50km的距离。比如 街道与街道,整个城市。
  • 广域网:世界级别的网络连接。 英文Wide Area Network 也就是我们常说的 WAN。
  • 个人区域网:近身级别的网络连接,如无线个人区域的无线连接,无线耳机,鼠标等等。

基于ISP的服务架构图

互联网发展到后期,逐渐形成多层次ISP结构的互联网
ISP : 各地区的通信运营商(互联网服务提供方)
各地区ISP,从国际互联网管理机构 批发到成块的IP地址。通过这些IP,就可以通过IP接入互联网,我们说的上网指的是通过某个ISP接入互联网

不难发现,终端A想要找到B,可能会需要经过ISP。
在这里插入图片描述
顺便一提,一旦某个用户能够接入互联网,他就能成为一个ISP,他需要做的就是购买一些,如调制解调器或者路由器这样的设备,让其他用户能够和他连接。

因特网的组成

分为两个,一个是边缘部分,也就是用户的接入设备,比如平板,手机,电脑等等
第二个是核心部分,也就是服务器,路由器,交换机等等
在这里插入图片描述

三种交换方式

电路交换

在这里插入图片描述
电路交换的前提,是必须先打通一条物理意义上的连接,才能进行交换
在这里插入图片描述

报文交换

比较古老就不说了,淘汰了,都是整段整段报文传送,效率极低,遇到链路寄了跟着一起就寄了

分组交换 (计网主要用的分组交换技术)

假设主机H6的用户要给主机H2的用户发送一条信息,通常我们把表示该消息的整块数据(一大串二进制)称之为一个报文。
当然,分组交换中,整块的报文不可能一起在线路中传输的,那样就叫报文交换了,所以要对这个报文按照一定长度进行切割,但是光切割肯定不行,要对这块数据段加上一些由必要信息组成的首部

报文被切割的二进制数据+必要信息的首部 = 包(分组)

这个首部也叫包头,添加它干什么呢?
包头里面最少应该有目的地址,将包导向需要的地址。当分组交换机收到分组数据后,先把他保存下来,检查其首部找到目的地址,经过查表转发给下一个交换机,这个过程在交换机内也叫存储转发。最终经过不停地分组交换到达目的地址H2

链路占用情况:
比如H6主机向R1节点传输分组,那么此时, 除链路H6→R1节点以外,其他链路节点均不被占用。同时,即使是链路H6→R1节点,也只有分组在此链路上传送时,才会被占用。该节点空闲期间,仍可被其他主机发送的分组所占用。

链路故障自动转移:
比如链路R1→R5节点,出现故障,或者负载过高,那么此时就会自动转移分组的发送到 链路R1→R2节点,规避异常链路。所以整体权衡起来是要比报文交换更快的。
这里要注意:分组交换机内存有限,所以暂时存的都是一个个短分组,而不是一大段长报文。这样对于交换机来说,一小段一小段的分组压力也小。

这里只是简述,真实的情况远比这更复杂。

在这里插入图片描述

三种交换方式优缺点

在这里插入图片描述

计算机网络性能指标

计算机网络有如下的性能指标

  • 速率(每秒多少个比特位(二进制位))
    主要就是8个0,1的二进制位等于1Byte字节,后面就是1024的进制了
    比特率就是每秒多少个二进制位,也就是每秒多少个0或者1
    在这里插入图片描述

  • 带宽(传输能力)
    带宽越大,每秒走过的数据量越高,就是咱们常说的下载速度
    在这里插入图片描述

  • 吞吐量
    在这里插入图片描述

  • 时延
    时延在每个环节(发送时延,传播时延,处理时延,排队时延)都会出现
    从源地址主机整理好数据发往网络内部(进入链路的时间),这个叫发送时延
    分组电路传播给路由器这段时间(链路上传输的时间),称为传播时延
    在路由器内部收到包之后对其进行存储再转发,拆包分析分组的首部 的时间(路由器内部),这段时间为处理时延
    在分组进入路由器之后,需要进入输入队列中进行等待处理,处理完毕后,确定了转发的端口,还要在输出队列等待输出(从路由器出去),这段时间叫排队时延

发送时延 + 传播时延 + 处理时延 + 排队时延 = 总时延

PS:所以网络上任何一个位置,都有可能影响到整条网络的时延。人们常有个误区,带宽高,延迟就会低,实际上,带宽高只降低了发送时延,其他的三个时延实际上并没有得到任何改善。如果其他三个时延有上升的情况,那么总时延就会更高。
在这里插入图片描述

  • 时延带宽积
    从这个名字就可以看出来,时延带宽积就是时延和带宽的乘积
    也就是 时延 x 带宽 = 时延带宽积
    应该是计算某一时刻内,传输管道走了多少比特流。

在这里插入图片描述

  • 往返时间
    从发出信息到接到目标主机回应的时长
    在这里插入图片描述
  • 利用率
    是线路负载的一种平衡,保持在0.2~0.5最好
    在这里插入图片描述
  • 丢包率

比如交换机内部,等待处理后转发的分组,都积压在工作队列里,后面来的分组越来越多,队列放不下了,就得扔,所以就丢包了。很多涉及到队列的网络设备都可以统计丢包率。还有的情况,就是处理的时候,通过校验码得知当前分组是错误的,这种包也会被丢弃。
在这里插入图片描述

  • 总结
    在这里插入图片描述
    在这里插入图片描述

常见的网络体系结构

在这里插入图片描述

TCP/IP协议簇一共四层。允许IP在各式各样的网络构成的互联网上运行 Everything is Over IP
TCP/IP协议簇将其连接起来,因为上下两头大而中间小,应用层和网络接口层都有多种协议,而中间的IP层很小,上层的各种协议都向下汇聚到一个协议中。
在这里插入图片描述

在这里插入图片描述
目前常用的体系结构

  • OSI的七层协议太复杂,仅仅是法律上的模型,实际上并不用这种模型
  • TCP/IP体系结构太过简单,理论太简单了,需要再清晰一些,于是扩充到五层结构
  • TCP/IP体系五层协议标准,结合了前两者的优点,当今计算机网络大规模应用的就是这个结构
    – 五层协议中 应用层服务上层应用,运输层负责拆解报文,网络层负责分组并选择路由,数据链路层负责将分组在链路上传播,最下层的物理层负责保障稳定的信号传输。以上的每个层级结构,均对其上级提供接口服务,向下能够调用下层提供的接口。
    在这里插入图片描述

为什么是TCP/IP

最早的TCP/IP协议是粘在一起的,并没有分层的思想来设计。直到后来,分组从发送方到达接收方之后,会出现损坏,排序错误等问题。单纯的靠TCP协议纠错就比较复杂,于是就将可靠传输数据转发这两个功能分离开。

  • 传输层的TCP协议,涉及检测网络传输差错,丢失数据报恢复等等。
  • 网络层的IP协议,负责在不同的网络之间实现互联操作,提供单个数据包的转发和寻址。
    这两个协议合并在一起,构成了TCP/IP协议,并一直发展至今,IP协议进化到IPV4的版本
    两个协议合并称为:TCP/IP4协议(传输控制协议 / 互联网协议)
    但是有些应用程序不需要可靠传输,也加入了另外一种传输协议,也就是UDP协议,以便提供对IP的直接访问
    在这里插入图片描述

TCP协议:全名Transmission Control Protocol (传播控制协议) 包含了一系列稳定传输的措施,包括流量控制,差错校验等等一系列保证正确可靠传输的方式,

计算机网络分层的重要性

计算机网络是一个非常庞大并且复杂的系统,所以非常有必要针对其进行分层处理。

计算机网络每一层都干了些什么:

  • 应用层(给最顶层的应用提供服务,向下传输报文)
    对上:为用户提供网络服务和应用,如HTTP、SMTP、FTP等。它是用户与网络通信的接口。
    对下:通过传输层的服务,将数据传输给下一层。
    在这里插入图片描述

  • 运输层(收集完整报文上交。给下层完整的报文,下层再拆分)
    对上:为应用层提供端到端的通信,主要提供数据传输的可靠性和流量控制,如TCP和UDP协议。
    对下:通过网络层提供的服务,将数据(报文)传输给下一层,或者从下一层接收数据。

在这里插入图片描述

  • 网络层
    对上:负责将分组从源主机传输到目标主机,主要是通过IP协议实现。
    对下:通过数据链路层提供的服务,将分组传输给下一层,或者从下一层接收分组,并负责寻找最佳路径将分组发送到目标主机。
    在这里插入图片描述

  • 数据链路层
    对上:负责将数据包组装成帧(Frame),在相邻节点之间传输数据,通常使用MAC地址进行物理地址定位。
    对下:通过物理层提供的服务,将帧发送到物理介质上,或者从物理介质上接收帧,并将其解析成数据包传递给网络层。

在这里插入图片描述

  • 物理层
    对上:负责传输原始比特流,定义数据传输所使用的物理介质、接口、电气特性等。
    对下:与网络连接的硬件设备(如网卡、光纤等)直接进行数据传输。

在这里插入图片描述

  • 总结一下
    在这里插入图片描述

分层思想举例

从应用层按Http协议,构建一个Http请求报文,这个报文就是开发时候常见的请求头。应用层把这个报文交给运输层处理,为其加一个TCP首部,使之成为TCP报文段,这个报文段主要是为了区分应用进程以及实现可靠传输。运输层再把TCP报文段交付给网络层,网络层给TCP报文段加一个IP首部,使其成为一个IP数据报。可以在网络上传输。再交由数据链路层,数据链路层给IP数据报添加一个首部和一个尾部使之成为帧。最后,交付给物理层。物理层眼里就是比特流。

**注意,这个每一层加首部,直到转换为比特流(反过来从比特流层层拆头部)的过程,全部是在计算机内部完成的,由网卡直接输出比特流,交付给物理层的网线做进一步的运输!而不是在交换机、路由器 或者计算机网络的某个地方实现的,全部是在计算机内部做的 **

计算机网络本身链路就是网线,其他的节点都是或多或少的对于五层协议的实现。

总结:
自顶层向下,每一层都加一个对应层的首部,注意:数据链路层除了头部帧以外,还会加一个尾部帧使之成为帧,用于在物理层的比特流中被区分出来
自下层向上,每层都去掉之前加上的首部或者尾部,最后还原出报文原有的样子

帧的结构
在这里插入图片描述

流程图
在这里插入图片描述

计算机网络体系结构专业术语

实体

  • 实体:任何可发送或接收信息的硬件或软件进程(需要用到网络的软件)。
  • 对等实体:收发双方相同层次中的实体。

在这里插入图片描述

协议

  • 协议控制两个对等实体进行逻辑通信的规则的集合。

不同的层之间,协议只考虑当前层就行,不用顾及其它层。换句话说,使用本层服务的实体只能看见服务而无法看见下面的协议,下面的协议对于上面的实体(调用方)是透明的。注意这个透明指的不是说什么都清楚,而是什么都不清楚,拿被应用层调用的运输层来说,应用层只知道靠运输层可以得到可靠传输服务,而并不知道,应用层及其下面的层是如何做到的。所以这种透明的含义,更像是屏蔽了复杂的实现,而向上提供简单的接口调用即可。
在这里插入图片描述

  • 协议的三要素:语法、语义、同步

  • 协议是定义所交换信息的格式
    规定的格式:
    在这里插入图片描述

  • 语义是指收发双方所要完成的操作

比如Http的请求,也就是通信双方在建立连接后所做的操作
在这里插入图片描述

  • 同步定义收发双方的时序关系
    建立连接的过程以及时序的转换
    在这里插入图片描述

服务

在这里插入图片描述
在这里插入图片描述
不同数据包之间进行交换的数据包都叫什么名字
PDU:水平
SDU:垂直
,

总结

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Excel 组内多列明细拼成一行

某表格有 1 个分组列和 2 个明细列。 ABC1ObjectNameInfo212AGggtz44456312AGggtr99987412AKkkio66543512ABbvgf66643612AVvvhg888765712AFffgt8786FGggtf23232596FXxxde44321610P23Cccvb554328711P23Vvvbj565656412P23Sswec898976413P23Llloiu343432 现在要把组内的多列明细…

分解数据堆栈:存储和计算 2.0 的分解

在LinkedIn上,有一篇优秀的帖子在数据和数据库人群中流行。它由 Theory VC 合伙人 Tomasz Tunguz 撰写,讲述了我们自 2019 年以来讨论的趋势。 数据库正在成为高速查询引擎,并正在抛弃存储。这并不意味着存储不重要,相反&#xf…

蔚来汽车AI算法工程师,如何理解注意力?

大家好啊,我是董董灿。 今天分享一个上海蔚来汽车的AI算法岗位面试经验总结帖,面试岗位为算法工程师。 这次面试提到的问题,除了与实习相关内容和反问之外,面试官总共问了8个问题,主要集中在深度学习基础概念的理解上…

Python发送HTML邮件有哪些步骤?怎么设置?

Python发送HTML邮件如何实现?Python发送邮件的策略? HTML邮件不仅可以包含丰富的文本格式,还可以插入图片、链接和其他多媒体内容,从而提升邮件的美观性和功能性。AokSend将详细介绍Python发送HTML邮件的主要步骤,帮助…

C++ | Leetcode C++题解之第172题阶乘后的零

题目: 题解: class Solution { public:int trailingZeroes(int n) {int ans 0;while (n) {n / 5;ans n;}return ans;} };

Vue75-路由传参3

一、在index.js中使用props参数 1-1、写法一:值为对象 此时,参数是固定写死的,不推荐! 1-2、值为布尔值 此时只能收到params中的参数! 1-3、值为函数 (最强大) 二、小结

微信小游戏提审失败,小游戏内容涉嫌代码包内容侵权的解决方案

仅讨论正常开发提审遇到的问题,不适用于马甲包 前阵子提审了一款RPG游戏,因为游戏之前已经通过审核,这次发布的仅是一个小更新(十几行代码的样子),结果也莫名其妙未通过审核,理由如下&#xff…

github连接报本地

一、创建GIthub账号 这里默认大家已经创建好了并且有加速器,能正常上网,然后才能进行下面的操作。 二、创建ssh公钥 网址:Sign in to GitHub GitHub Sign in to GitHub GitHub 进入下面的界面: 然后创建新的密钥 三、官方文…

HarmonyOS Next 系列之沉浸式状态实现的多种方式(七)

系列文章目录 HarmonyOS Next 系列之省市区弹窗选择器实现(一) HarmonyOS Next 系列之验证码输入组件实现(二) HarmonyOS Next 系列之底部标签栏TabBar实现(三) HarmonyOS Next 系列之HTTP请求封装和Token…

Hive笔记-5

240619-Hive笔记-5 6.2.2 全表和特定列查询 1) 全表查询 hive (default)> select * from emp; select 查看你要查看的信息 from 你要从哪张表里面查 2) 选择特定列查询 hive (default)> select empno, ename from emp; 注意: (1&#xff0…

qt开发-08_layout 布局

Qt 提供了非常丰富的布局类,基本布局管理类包括:QBoxLayout、QGridLayout、QFormL ayout 和 QStackedLayout。这些类都从 QLayout 继承而来,它们都来源于 QObject(而不是 QWi dget)。创建更加复杂的布局,可…

python18 正则表达式

python18 正则表达式 正则表达式 re.match(),re.search(),re.findall(),re.sub(),re.split() 元字符 具有特殊意义的专用字符 导入模块 improt re代码 正则表达式 re.match(),re.search(),re.findall(),re.sub(),re.split() 元字符 具有特殊意义的专用字符 导入模块 improt rei…

两种单例模式(保证线程安全)

开始前,球球各位读者给个三连吧,有错误感谢指出,谢谢 单例模式也叫单个实例,也就是这个类只有且只能有一个实例对象,这样一个类就叫做“单例”;单例模式有很多种,这里只介绍“饿汉模式”和“懒…

抖音商城618好物节消费数据报告发布,带货成交额同比增长300%

6月21日,“抖音商城618好物节”消费数据报告发布,呈现618期间平台全域经营情况及大众消费趋势。 今年618大促活动中,抖音电商投入流量资源和消费券,鼓励商家、达人双向经营货架场景和内容场景,不断激活消费市场。 报…

202406最新manjaro安装sogou输入法解决方案(采用aur本地package+sogou deb包解决方案)

本地执行安装方法 1.拉取源码 git clone https://gitee.com/liushuai05/fcitx-sogoupinyin.git cd fcitx-sogoupinyin 2.获取sogou下载地址并替换到源码中 - 下载地址:https://pinyin.sogou.com/linux/ - 点击立即下载->x86_64->下载,然后右键复…

超级管道,品质非凡——钢塑复合管

钢塑复合管,是一种新型的复合管材,又叫涂塑钢管,涂塑钢管有内涂塑钢管,外涂塑钢管,内外涂塑钢管,外镀锌内涂塑钢管,外3pe防腐内涂塑钢管等。 它结合了钢管和塑料管的优点,具有高强度…

Python学习路线

Python学习路线 领取资料 一、Python基础知识 Python入门:了解Python的安装方法、如何运行Python程序以及交互模式的使用,同时学习注释的添加方法。 数据类型:掌握Python中的各种数据类型,包括数字、布尔值、字符串、列表、元…

Golang笔记:使用serial包进行串口通讯

文章目录 目的使用入门总结 目的 串口是非常常用的一种电脑与设备交互的接口。这篇文章将介绍golang中相关功能的使用。 本文使用的包为 :go.bug.st/serial https://pkg.go.dev/go.bug.st/serial https://github.com/bugst/go-serial 另外还有一些常见的包如&…

Junit单元测试

就是针对最小的功能单元,编写测试代码对其进行正确性测试 Junit单元测试框架 public class StringUtil {public static void printNumber(String name) {if(name null){System.out.println(0);return; //停掉方法}System.out.println("名字长度是:" name.length(…

基于支持向量机的垃圾邮件分类,使用SVM+flask+vue

sms-classify 基于支持向量机的垃圾邮件分类,使用SVMflaskvue 数据集和源码地址 数据集 SMS Spam Collection Data Set 来源于 UCI。样例被分为非垃圾邮件(86.6%)和垃圾邮件(13.4%),数据格式如下&#xff…