计算机网络知识点
PDF分享:
链接:https://pan.baidu.com/s/1vD5d5-g4gg-1hYaCOjKYGA
提取码:hcq9
计算机网络:是一个将分散的、具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。
计算机网络是互连(互联互通)的、自治(无主从关系)的计算机集合。
数据通信(连通性)资源共享 (硬件,软件,数据)分为C/S方式和P2P方式;核心部分(为边缘部分服务)
数据通信);资源子网(实现资源共享/数据处理)。

广播式网络(共享公共通信信道);点对点网络(使用分组存储转发和路由选择机制)。

RFC(Request For Comments)-----------因特网标准的形式
RFC要上升为因特网正式标准的四个阶段:

2021年以后就不要第三步了。


速率即数据率或称数据传输率或比特率
比特:1/0(表现形式) 位(单位)
速率:连接在计算机网络上的主机在数字信道上传送数据位数的速率。
单位:b/s,kb/s,Mb/s,Gb/s,Tb/s。

带宽原本指某个信号具有的频带宽度,即最高频率与最低频率之差,单位是赫兹(Hz)。带宽用来网络的通信线路传送数据的能力,通常是指单位时间内从网络中的某一点到另一点所能通过的"最高数据率"。单位比特每秒。
吞吐量:表示在单位时间内通过某个网络(或信道、接口)的数据量。单位b/s,kb/s,Mb/s等。吞吐量受网络的带宽或网络的额定速率的限制。

它的实际理想情况最大是100Mb/s,但是两个服务器所需速率相加就是吞吐量。
时延:指数据(报文/分组、比特流)从网络(或链路)的一端传送到另一端所需的时间。也叫延迟或迟延。单位是s。


概念:从发送方发送数据开始,到发送方收到接收方的确认(接收方收到数据后立即发送确认)总共经历的时延。
RTT越大,在收到确认之前,可以发送的数据越多。
RTT包括:往返传播时延(传播时延*2)、末端处理时间。

独立,每层只实现一种相对独立的功能。界面自然清晰,易于理解,相互交流尽可能少。最合适的技术来实现。下层对上层的独立性,上层单向使用下层提供的服务。n层实体。同一层的实体叫对等实体。对等实体数据交换而建立的规则、标准或约定称为网络协议。语法(规定传输数据的格式)、语义(规定所要完成的功能)、同步(规定各种操作的顺序)。下层为相邻上层提供的功能调用。入口。数据。协议操作的信息。数据单位。

下三层是点对点通信,上四层是端对端通信。
所有能和用户交互产生网络流量的程序。
典型应用层服务:文件传输(FTP)、电子邮件(SMTP)、万维网(HTTP)。
用于处理在两个通信系统中交换信息的表示方式。
功能一:数据格式变换(翻译官)
功能二:数据加密解密
功能三:数据压缩和恢复
向表示层实体/用户提供建立连接并在连接上有序地传输数据。
这是会话,也是建立同步(SYN)。
功能一:建立、管理、终止会话
功能二:使用校验点可使会话在通信生效时从校验点/同步点继续恢复通信,实现数据同步。
适用于传输大文件。
负责主机中两个进程的通信,即端到端的通信。传输单位是报文段或用户数据段。
功能一:可靠传输、不可靠传输
功能二:差错控制
功能三:流量控制
功能四:复用分用
主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务。网络层传输单位是数据报。
功能一:路由选择 最佳路径
功能二:流量控制
功能三:差错控制
功能四:拥塞控制
主要任务是把网络层传下来的数据报组装成帧。数据链路层/链路层的传输单位是帧 。
功能一:成帧(定义帧的开始和结束)
功能二:差错控制 帧错+位错
功能三:流量控制
功能四:访问控制 控制对信道的访问
主要任务是在物理媒体上实现比特流的透明传输。
物理层传输单位是比特
透明传输:指不管所传数据是什么样的比特组合,都应当能够在链路上传送。
功能一:定义接口特性
功能二:定义传输模式 (单工、半双工、双工)
功能三:定义传输速率
功能四:比特同步
功能五:比特编码
主要协议:Rj45、802.3



物理层解决如何在连接各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体。
物理层主要任务:确定与传输媒体接口有关的一些特性
电压范围、阻抗匹配、传输速率和距离限制等。某一电平表示何种意义,接口部件的信号线的用途。
通信的目的是传送消息。
数据:传送信息的实体,通常是有意义的符号序列。
信号:数据的电气/电磁的表现,是数据在传输过程中的存在形式。

信源:产生和发送数据的源头。
信宿:接收数据的终点。
信道:信号的传输媒介。一般用来表示向某一个方向传送信息的介质,因此一条通信线路往往包含一条发送信道和一条接收信道。

从通信双方信息的交互方式看,可以有三种基本方式:
一个方向的通信而没有反方向的交互,仅需要一条信道。不能同时发送和接收,需要两条信道。同时发送和接受信息,也需要两条信道。
码元是指哦那个一个固定时长的信号波形(数字脉冲)了,代表不同离散数值的基本波形,是数字通信中数字信号的计量单位,这个时长内的信号称为k进制码元,而该时长称为码元宽度。当码元的离散状态有M个时(M大于2),此时码元为M进制码元。
1码元可以携带多个比特的信息量。例如,在使用二进制编码时,只有两种不同的码元,一种表示0,一种表示1状态。
例:
4进制码元→码元的离散状态有四个→4个高低不同的洗脑波形 00、01、10、11
速率也叫数据率,是指数据的传输速率,表示单位时间内传输的数据量。可以用码元传输速率和信息传输速率。
1)码元传输速率:它表示单位时间内数字通信系统所传输的码元个数,单位是波特(Baud)。1s传输多少个码元。
2) 信息传输速率:别名信息速率比特率等,表示单位时间内数据通信系统传输的二进制码元个数(即比特数),单位是比特/秒。1s传输多少个比特。
关系:若一个码元携带n bit的信息量,则M Baud的码元传输速率所对应的信息传输速率为M×n bit/s。
带宽:表示在单位时间内从网络中的某一点到另一点所通过的最高数据率,常用来表示传输数据的能力。单位是b/s。


码间串扰:接收端收到的信号波形失去了码元之间清晰界限的现象。
奈氏准则:在理想低通(无噪声,带宽受限)条件下,为了避免码间串扰,极限码元传输速度位2W Baud,W是信道带宽,单位是Hz。


香农定理:在带宽受限且有噪声的信道中,为了不产生误差,信息的数据传输速率有上限值。







高1低0,编码容易实现,但没有检错功能,且无法判断一个码元的开始和结束,以至于收发双方难以保持同步。同1异0。若为1,则与前一个相同,若为0,则与前一个相反。一个码元之内都要恢复到0的这种编码成编码方式。




传输介质也称为传输媒体,它就是数据传输系统中再发送设备和接收设备之间的物理通路。
传输媒体并不是物理层。传输媒体再物理层的下面,因为物理层是体系结构的第一层,因此有时称传输介质为第0层。
在传输媒体中传输的是信号,但传输媒体并不知道所传输的信号是什么意思。但物理层规定了电气特性,因此能够识别所传送的比特流。
传输媒体比物理层管的更少。





光纤的特点:



结点:主机、路由器
链路:网络中两个结点之间的物理通道,链路的传输介质主要有双绞线,光纤和微波。分为有线链路和无线链路。
数据链路:网络中两个结点之间的逻辑通道,把实现控制数据传输协议的硬件和软件加到链路上构成数据链路。
帧:链路层的协议数据单元,封装网络层数据报。
数据链路层负责通过一条链路从一个结点向另一个物理链路直接相连的相邻结点传送数据报。



透明传输是指不管所传数据是什么样的比特组合,都应当能够在链路上传送。因此,链路层就“看不见”有什么妨碍数据传输的东西。











海明码设计思路:将信息位分组进行偶校验→多个校验位→多个校验位标注出错位置。

海明码求解步骤:

纠错:

补充:







RTT表示往返时延






重点总结:


GBN发送方必须响应的三件事:



点对点链路:两个相邻节点通过一个链路相连,没有第三者。应用:PPP协议,常用于广域网。
广播式链路:所有主机共享通信介质。应用:早期的总线以太网,无线局域网,常用于局域网。典型拓扑结构:总线型,星型。

信道划分介质访问控制:将使用介质的每个设备与来自同一信道上的其他设备的通信隔离开,把时域和频域资源合理地分配给网络上的设备。






https://blog.csdn.net/penguinyao/article/details/104631154

纯ALOHA协议

时隙ALOHA协议



1-坚持CSMA

非坚持CSMA

p-坚持CSMA






最小帧长


主要使用总线型拓扑。




IEEE 802标准











1.有固定基础的设施无线局域网

2.无固定基础设施无线局域网的自组织网络


点对点PPP是目前使用最广泛的数据链路层协议,用户使用拨号电话接入因特网时一般都使用PPP协议。只支持全双工链路。









https://www.bilibili.com/video/BV19E411D78Q?p=37










最佳路由:“最佳”是相对于某一种特定要求下得出的较为合理的选择而已。
路由算法是找到最佳路由,然后填入下面的表中。
























最大传输单元MTU:链路层数据帧可封装数据的上限。
以太网的MTU是1500字节




分类的IP地址:

https://www.jianshu.com/p/66bd9c1e08d8
特殊IP地址:

私有IP地址:

分类的IP地址:




























IGMP协议让路由器知道本局域网上是否有主机(的进程)参加或退出了某个组播网。





















这里是Ruby新手。完成一些练习后碰壁了。练习:计算一系列成绩的字母等级创建一个方法get_grade来接受测试分数数组。数组中的每个分数应介于0和100之间,其中100是最大分数。计算平均分并将字母等级作为字符串返回,即“A”、“B”、“C”、“D”、“E”或“F”。我一直返回错误:avg.rb:1:syntaxerror,unexpectedtLBRACK,expecting')'defget_grade([100,90,80])^avg.rb:1:syntaxerror,unexpected')',expecting$end这是我目前所拥有的。我想坚持使用下面的方法或.join,
我想在Ruby中创建一个用于开发目的的极其简单的Web服务器(不,不想使用现成的解决方案)。代码如下:#!/usr/bin/rubyrequire'socket'server=TCPServer.new('127.0.0.1',8080)whileconnection=server.acceptheaders=[]length=0whileline=connection.getsheaders想法是从命令行运行这个脚本,提供另一个脚本,它将在其标准输入上获取请求,并在其标准输出上返回完整的响应。到目前为止一切顺利,但事实证明这真的很脆弱,因为它在第二个请求上中断并出现错误:/usr/b
网络编程套接字网络编程基础知识理解源`IP`地址和目的`IP`地址理解源MAC地址和目的MAC地址认识端口号理解端口号和进程ID理解源端口号和目的端口号认识`TCP`协议认识`UDP`协议网络字节序socket编程接口`sockaddr``UDP`网络程序服务器端代码逻辑:需要用到的接口服务器端代码`udp`客户端代码逻辑`udp`客户端代码`TCP`网络程序服务器代码逻辑多个版本服务器单进程版本多进程版本多线程版本线程池版本服务器端代码客户端代码逻辑客户端代码TCP协议通讯流程TCP协议的客户端/服务器程序流程三次握手(建立连接)数据传输四次挥手(断开连接)TCP和UDP对比网络编程基础知识
目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称
最近在学习CAN,记录一下,也供大家参考交流。推荐几个我觉得很好的CAN学习,本文也是在看了他们的好文之后做的笔记首先是瑞萨的CAN入门,真的通透;秀!靠这篇我竟然2天理解了CAN协议!实战STM32F4CAN!原文链接:https://blog.csdn.net/XiaoXiaoPengBo/article/details/116206252CAN详解(小白教程)原文链接:https://blog.csdn.net/xwwwj/article/details/105372234一篇易懂的CAN通讯协议指南1一篇易懂的CAN通讯协议指南1-知乎(zhihu.com)视频推荐CAN总线个人知识总
深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal
项目介绍随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱小学生兴趣延时班预约小程序的设计与开发被用户普遍使用,为方便用户能够可以随时进行小学生兴趣延时班预约小程序的设计与开发的数据信息管理,特开发了小程序的设计与开发的管理系统。小学生兴趣延时班预约小程序的设计与开发的开发利用现有的成熟技术参考,以源代码为模板,分析功能调整与小学生兴趣延时班预约小程序的设计与开发的实际需求相结合,讨论了小学生兴趣延时班预约小程序的设计与开发的使用。开发环境开发说明:前端使用微信微信小程序开发工具:后端使用ssm:VU
我对如何计算通过{%assignvar=0%}赋值的变量加一完全感到困惑。这应该是最简单的任务。到目前为止,这是我尝试过的:{%assignamount=0%}{%forvariantinproduct.variants%}{%assignamount=amount+1%}{%endfor%}Amount:{{amount}}结果总是0。也许我忽略了一些明显的东西。也许有更好的方法。我想要存档的只是获取运行的迭代次数。 最佳答案 因为{{incrementamount}}将输出您的变量值并且不会影响{%assign%}定义的变量,我
给定一个nxmbool数组:[[true,true,false],[false,true,true],[false,true,true]]有什么简单的方法可以返回“该列中有多少个true?”结果应该是[1,3,2] 最佳答案 使用转置得到一个数组,其中每个子数组代表一列,然后将每一列映射到其中的true数:arr.transpose.map{|subarr|subarr.count(true)}这是一个带有inject的版本,应该在1.8.6上运行,没有任何依赖:arr.transpose.map{|subarr|subarr.in
我完全不是程序员,正在学习使用Ruby和Rails框架进行编程。我目前正在使用Ruby1.8.7和Rails3.0.3,但我想知道我是否应该升级到Ruby1.9,因为我真的没有任何升级的“遗留”成本。缺点是什么?我是否会遇到与普通gem的兼容性问题,或者甚至其他我不太了解甚至无法预料的问题? 最佳答案 你应该升级。不要坚持从1.8.7开始。如果您发现不支持1.9.2的gem,请避免使用它们(因为它们很可能不被维护)。如果您对gem是否兼容1.9.2有任何疑问,您可以在以下位置查看:http://www.railsplugins.or