计算机网络知识汇总

目录

前言

概述

1、互联网的组成

 2、端系统之间的两种通信方式

1、客户-服务器方式

2、对等连接方式(P2P)

3、交换技术

 4、时延

 5、利用率

 6、协议

7、计算机网络体系结构

8、ISP

物理层

链路层

网络层

传输层

应用层

前言

最近准备找工作,把计算机网络过一遍

概述

1、互联网的组成

从下面这张图可以看出互联网由核心部分边缘部分组成

核心部分:大量的网络和连接这些网络的路由器组成,主要就是为边缘部分提供服务的。

边缘部分:所有连接在互联网上的主机组成,这部分是用户直接使用的,用来通信和资源共享(可以理解为就是我们平常使用的电脑,手机,平板等端系统)

 2、端系统之间的两种通信方式

1、客户-服务器方式

在这种方式里,客户(client)是服务的请求方,服务器(server)是服务的提供方,值得注意的是,这里的客户和服务器是指的通信中涉及的两个应用进程,而不是两个设备,它们描述的就是进程之间的服务和被服务。

 上面这幅图可以看出,B作为服务器,A作为客户,A向服务器B发送请求,请求得到服务,服务器收到A发来的请求,就会给客户A响应,为A提供服务(这是宏观上的理解,为什么说是宏观的,因为实际的过程远比这个复杂,这要等到后面慢慢的学习才能理解),就比如说我们上网搜索内容,访问某个网站,要获取某个网页,或者是打游戏,这些都要请求服务器,需要得到服务器的服务。

2、对等连接方式(P2P)

 对等连接模式(peer to peer,简写为P2P),指的是两个主机在通信时并不区分哪一个是服务器请求方还是服务方。只要两个主机都运行了对等连接软件,它们就可以进行平等,对等连接通信,另外,对等连接从本质看仍然是使用的客户服务器的方式,只是对等连接中的每一个主机都既是客户也是服务器。例如我们平常使用的共享文件、实时通信(语音电话/视频电话)、除此之外P2P还用与分布式计算、区块链等技术。

3、交换技术

在互联网的核心部分其关键作用的就是路由器,路由器主要是进行转发分组和交换路由信息,那么典型的交换技术分为3种电路交换、报文交换、分组交换

电路交换整个报文的比特流连续地从原点直达终点例如打电话,在数据传输是,该方式占整个带宽资源,因此当需要传输大量的数据时 选择该方式,就是传输时间远大于连接建立时间的时候,电路交换的效率是最高的
报文交换整个报文先传送到相邻结点,全部存储下来后查找转发表,转发到下一个结点报文交换和分组交换不需要预先分配带宽,在传输突发数据时可提高整个网络的信道利用率
分组交换单个分组(报文的一部分)传递到相邻的结点,存储下来后查找转发表,转发到下一个结点分组的长度往往远小于整个报文的长度,英雌分组交换的时延小,同时也具有更好的灵活性

 注意电路交换有3个步骤1.建立连接 ,2.数据传输,3.释放连接

 4、时延

 时延计算机网络性能指标之一,网络中的时延可以由以下几个不同的部分组成:发送时延、传播时延、处理时延、排队时延。

参照上图可以这样来理解网络中的几种时延:

处理时延:我们的数据在到达路由器的时候,会进行存储转发,在对这些数据进行存储的时候就会产生处理时延

排队时延:前面的数据还没发送出去,那么新来的数据需要排队等待,这时候花费的时间就是所谓的排队时延

发送时延:发送时延就是传输时延,主机或路由器发送数据所需要的时间就是传输时延,传输时延是发生在发送器上的,也就是我们的数据排完队,就要将它发送到我们的带宽通道上,那将数据发送到带宽通道上的这动作花费的时间就是传输时延(注意这里千万不要理解为传播时延,传输时延是发生在节点上的,而传播时延是发生在传输链路上的)

计算公式:发送时延=数据帧长度(bit)/发送速率(bit/s)

传播时延:数据在信道中需要传播一定距离所花费的时间

计算公式:传播时延=信道长度(m)/数据在信道上的传播速率(m/s)

 5、利用率

 利用率有个理论就是:当信道的利用率增大时,该信道的时延也就迅速增大,怎么理解呢?举个例子,比如一条高速路上,车越多,是不是对路的利用率也越大,但是车越多是不是越堵,一堵,那么就是车速就变慢了,所以要理解,利用率是说的对传输设备的利用绿,而时延是针对传输在设备上的数据而言的。有一个公式D=D0/1-I(D0表示网络空闲的时延,D表示网络当前的时延,I表示利用率)

 6、协议

 定义:网络协议,简称协议,是为了进行网络中的数据交换建立的规则,标准或约定

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

语法:数据与控制信息的结构或方式,就是规定一种格式

语义:需要发出何种控制信息,完成何种动作以及做出何种响应

同步:事件实现顺序的详细说明

7、计算机网络体系结构

 为了我们整个体系结构好管理 灵活性好,就对结构进行了分层,分层带来的好处主要有各层之间是独立的、灵活性好、结构上可分割开、易于实现和维护、能够促进标准化工作,通常我们采用的是 5层结构 从上往下依次是应用层、运输层、网络层、链路层、物理层,

应用层通过应用进程间的交互来完成特定的网络应用
传输层向两台主机中进程之间的通信提供通用的数据传输服务
网络层分组交换网上的不同之间提供通信服务
链路层解决三个基本问题:封装成帧、透明传输、差错校验
物理层确定与传输媒介的接口相关的一些特性,例如电器特性、功能特性等,尽可能地屏蔽掉这些传输媒介和通信手段的差异

 以下就是3中不同的计算机网络体系结构图,7层(OSI体系结构)、4层(TCP/IP体系结构)、5层的体系结构,通常我们用的最多的就是5层协议的,前面说了分层的一些好处,每层都有每层的作用和协议。

 OSI上三层就相当于是5层结构中的应用层, 同时下两层就相当于是TCP/IP的下网际接口层,这里特别要注意一点的就是 OSI中的表示层和会话层,表示层主要是对数据格式进行转化以及加密处理等操作,会话层只要就是建立连接、管理和维护回话的作用。

 每层都是相应的规则语法(协议),注意协议不能夸层作用,只能在对应的层进行作用,接口才能进行夸层作用

8、ISP

互联网服务提供商ISP(Internet Service Provider),例如移动、电信、联通。

物理层

1、作用

物理层的作用主要就是在各种媒介上传输比特流0和1,给数据链路层提供透明传输比特流的服务(给数据链路层提供服务

 物理层协议的4个主要任务就是:机械特性、电气特性、功能特性、过程特性

 物理层的传输媒体主要分为两类:导引型传输媒体、非导引型传输媒体。

2、 传输方式

物理层的数据传输方式分为两种串行传输并行传输

串行传输:数据是一个比特一个比特一次发送,只需要一条数据传输线路

并行传输:一次发送n比特,需要n条数据传输线路

 串行数据在传输方式上有3种:单工(双线制)、半双工(双线制)、全双工(四线制)

他们的区别是:

  • 单工(Simplex)通信只允许传输的信息始终向一个方向流动,就像道路交通上的单行道一样。实际应用中,单工通信的信道采用双线制,一个用于传输数据的主信道,另一个用于传输控制信息的监测信道。(广播)
  • 半双工(Half Duplex)通信允许信息流向两个方向都可传输,但同一时刻只能朝一个方向传输,不能同时进行双向传输。通信的双方都要具备发送和接收装置,每一端既可以作为发送端也可以作为接收端,信息流是轮流使用发送和接收装置的。(对讲机)
  • 全双工(Full Duplex)通信是指在同一时刻,能同时进行双向通信,即通信的一方在发送信息的同时也能接收信息。它相当于两个方向相反的单工通信组合,通常采用四线制。(电话)

3、同步传输和异步传输

同步技术主要解决的是何时发送数据、双方传输速率是否一致、每个比特持续时间、比特间的时间间隔等问题,同步技术直接影响通信质量。

常用的同步技术为同步传输方式异步传输方式

  • 同步传输:数据块以稳定的比特流形式传输,字节之间没有间隔,接收端在每个比特的中间时刻进行检测,以判断接收到的是比特1还是0
  • 异步传输:一字节为独立的传输单位,字节之间的间隔不是固定的,在每个字节的前后分别加上起始位和结束位

 它们的比较

4、码元

码元的定义

码元就是一个固定时长的信号波形,不同离散数值的基本波形
数字通信中数字信号的计量单位(一个信号对应的是一个码元),从下图可以看出1对应的就是一个码元,,而这个波形的宽度就是固定时长,下图是一个二进制码元。
码元的离散状态有M个时,即有M种高低不同的信号波形,成为M进制码元。如二进制码元,只有0,1两种状态;四进制码元,有00,01,10,11四个状态

注意:1码元可以携带若干比特的信息量,例如4进制码元携带2bit,16进制码元携带4bit。

速率、波特

码元传输速率:又称波特率,表示单位时间内数字通信系统所传输的码元个数(又称脉冲个数或信号变化的次数),单位波特(Baud),1波特率表示每秒传输一个码元,码元传输速率与进制数无关

信息传输速率:又称信息速率、比特率,表示单位时间内数字通信系统传输的二进制码元个数(比特数),单位是比特/秒,即每秒传输多少个bit

两者关系:若一个码元携带nbit信息量,则M波特率的码元传输速率对应的信息传输速率为Mn比特/秒

5、奈式准则和香农定理 

码间串扰:具体信道所能通过的频率范围是有限的,信号中的许多高频分量往往不能通过信道,因为会在传输中衰减,导致接收端收到的信号波形失去码元之间的清晰界限。

奈奎斯特定理

理想低通(没有噪声,带宽有限)的信道中,为了避免码间串扰,极限码元传输速率为2W波特,其中W是理想低通信道的带宽,V表示每个码元离散电平的数目,

则极限数据率为=2Wlog2(V) 单位为b/s

由于码元传输速率受奈氏准则的制约,所有要提高数据传输速率,可设法提高每个码元携带更多比特的信息量

香农定理

给出了带宽受限且有高斯白噪声干扰的信道的极限数据传输速率,

信道的极限传输速率=Wlog2(1+S/N),W为信道的带宽,S/N为信噪比,信噪比=10log10(S/N)单位为dB, 例如S/N为1000时,信噪比为30dB

6、编码与调制

信道上传送的信号有基带信号宽带信号

基带传输:基带信号将数字信号1和0直接用两种不同的电压表示,然后在数字信道上传输,适用近距离

宽带传输:宽带信号将基带信号进行调制后形成频分复用模拟信号,然后送到模拟信道上传输,适用远距离

 编码就是将数据转化为数字信号,调制就是将数据转化为模拟信号(不管原始是什么数据)

 

 从下图就可以看出,上面部分就是将数字数据转化为数字信号(一共有4种编码方法,其中曼彻斯特(相同为反,相反为同)和差分曼彻斯特编码(相同为1,相反为0)要着重理解一下),下半部分就是将数字数据调制为模拟信号(方法有调幅、调频、调相等)

 值得注意的是:信号在信道上传输一般都会受噪声、码元传输速率、传输距离、传输媒介等因素的干扰而导致信号失真

 今天先写到这 明天再写链路层

链路层

网络层

传输层

应用层

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

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

相关文章

Linux 网络--TCP协议收包流程(NAPI机制)

Linux 网络--TCP协议收包流程(NAPI机制) 平台环境简介:宿主机: ubuntu18.04Linux内核源码版本: Linux-4.15网卡驱动: Intel e1000 (ubuntu 虚拟机默认网卡驱动)协议:TCP协议,本文分析收包过程 本…

Python编程学习笔记(3)--- 操作列表

1、遍历列表 遍历列表可以采用for循环的方法,需要对列表中的每一个元素都执行相同的操作。 具体事实如下: name ["ada","cdb","dbc","bad","jinb"] for Name in name:print(Name)运行结果&#x…

html H5 dialog弹窗学习,实现弹窗显示内容 替代confirm、alert

html H5 dialog弹窗学习,实现弹窗内容 替代confirm 框架使用的mui,使用mui.confirm() 弹窗内容过多时,弹窗被撑的到屏幕外去了,使用H5 dialog 标签自定义一个固定大小的弹窗,内容过多时可下拉显示 效果展示 隐私政策内容很多,可以下拉显示 代码 myDialog.css dialog{p…

tomcat 项目迁移,无法将项目作为服务service启动

背景 测试服务器需要迁移到正式服务器上,为了方便省事,将测试服务器上的一些文件直接复制到正式服务器 问题 使用startup启动项目之后,可以直接使用使用tomcat9w启动,或者作为服务service启动的时候,显示无法访问到资源…

STM32实战篇:按键控制LED

按键控制LED 功能要求 有两个按键,分别控制两个LED灯。当按键按下后,灯的亮暗状态改变。实物如下图所示: 由图可知,按键一端直接接地,故另一端所对应IO引脚的输入模式应该为上拉输入模式。 实现代码 #include "…

昇思25天学习打卡营第1天|小试牛刀

这里写自昇思25天学习打卡营第1天|小试牛刀定义目录标题 昇思25天学习打卡营第1天学习了初学入门之基本介绍。了解了昇思MindSpore和华为昇腾AI全栈。训练营中的教程丰富,有初学入门、应用实践和量子计算等。学习打卡营是很好的提升自己的机会。 昇腾计算&#xff…

电脑清理c盘内存空间怎么清理免费 怎么清理c盘的垃圾文件又不删除有用文件

在计算机使用过程中,随着时间的推移,C盘空间可能会被各种临时文件、缓存和无用的注册表项占用。这不仅会导致C盘空间不足,还可能影响计算机的性能。那么怎么样清理C盘内存空间,怎么样清理C盘的垃圾避开系统文件呢? 一…

JVM原理(二三):JVM虚拟机线程安全的实现方法

1. 互斥同步 互斥同步(MutualExclusion&Synchronization)是一种最常见也是最主要的并发正确性保障手段。同步是指在多个线程并发访问共享数据时,保证共享数据在同一个时刻只被一条(或者是一些,当使用信号量的时候)线程使用。而互斥是实现同步的一种…

Msfvenom制作自己的专属Shell

Msfvenom制作自己的专属Shell 如何通过Msfvenom来生成用户自己的专属Shell?有时候我们上传Shell到目标主机后,不仅我们自己可以连接,其他用户也可以连接,有时候会导致我们丢失该Shell,甚至该shell被用户发现并查杀。 实验环境 …

数据仓库哈哈

数据仓库 基本概念数据库(database)和数据仓库(Data Warehouse)的异同 整体架构分层架构方法论ER模型(建模理论)维度模型 何为分层第一层:数据源(ODS ER模型)设计要点日志…

C++进阶:继承和多态

文章目录 ❤️继承🩷继承与友元🧡继承和静态成员💛菱形继承及菱形虚拟继承💚继承和组合 ❤️多态🩷什么是多态?🧡多态的定义以及实现💛虚函数💚虚函数的重写&#x1f499…

图论·Day01

P3371 P4779 P3371 【模板】单源最短路径(弱化版) 注意的点: 边有重复,选择最小边!对于SPFA算法容易出现重大BUG,没有负权值的边时不要使用!!! 70分代码 朴素板dijsk…

打卡第7天-----哈希表

继续坚持✊,我现在看到leetcode上的题不再没有思路了,真的是思路决定出路,在做题之前一定要把思路梳理清楚。 一、四数相加 leetcode题目编号:第454题.四数相加II 题目描述: 给定四个包含整数的数组列表 A , B , C , D ,计算有多少个元组 (i, j, k, l) ,使得 A[i] + B[j…

蚁群算法(Ant Colony Optimization,ACO)讲解+代码实现

1.蚁群算法来源 蚁群算法(Ant Colony Optimization,简称ACO)是一种模拟自然界中蚂蚁寻找食物路径行为的优化算法,主要用于解决组合优化问题。它的灵感来源于意大利学者Marco Dorigo在1992年提出的蚂蚁系统模型。 蚁群算法的灵感来…

应急响应——勒索病毒

先上搜索引擎上搜 也可以用360来杀 但是都无法解密 可以解密的: linux

LeNet原理及代码实现

目录 1.原理及介绍 2.代码实现 2.1model.py 2.2model_train.py 2.3model.test.py 1.原理及介绍 2.代码实现 2.1model.py import torch from torch import nn from torchsummary import summaryclass LeNet(nn.Module):def __init__(self):super(LeNet, self).__init__…

uniapp 去掉小数末尾多余的0

文章目录 在uniapp或者一般的JavaScript环境中,要去掉小数末尾的0,可以使用以下几种方法: 使用parseFloat()函数 let num 123.4500; let result parseFloat(num); console.log(result); // 输出: 123.45字符串处理 将数字转换为字符串&am…

02day-C++学习(const 指针与引用的关系 inline nullptr)

02day-C学习 1. 使用const注意事项 注意事项 • 可以引⽤⼀个const对象,但是必须⽤const引⽤。const引⽤也可以引⽤普通对象,因为对象的访 问权限在引⽤过程中可以缩⼩,但是不能放⼤。 • 不需要注意的是类似 int& rb a3; double d 1…

代码随想录——合并区间(Leecode LCR74)

题目链接 贪心 排序 class Solution {public int[][] merge(int[][] intervals) {ArrayList<int[]> res new ArrayList<>();// 先将数组按照左区间排序Arrays.sort(intervals, new Comparator<int[]>() {public int compare(int[] intervals1, int[] in…

模板语法之插值语法{{}}——01

<主要研究&#xff1a;{{ 这里可以写什么}} 1.在data中声明的变量函数都可以 2.常量 3.只要是合法的JavaScript的表达式&#xff0c;都可以 4. 模板表达式都被放在沙盒中&#xff0c;只能访问全局变量的一个白名单&#xff0c;如 Math 和 Date <body> <div i…