计算机网络:是一个将分散的具有独立功能的计算机系统通过通信设备与线路连接起来有功能完善的软件实现资源的共享和信息传递的系统(是互联的,自治的计算计集合)
功能:数据通信,资源共享(硬件,软件,数据),分布式处理(多台计算机各自承担同一个工作任务的不同部分 HadDoop),提高可靠性,负载均衡…
组成部分:硬件,软件,协议
工作方式:边缘部分用户直接使用(C/S、P2P),核心部分,为边缘部分服务
功能组成:通信子网(实现数据通信),资源子网(实现资源共享/数据处理)(应用层,表示层,会话层,传输层,网络层,数据链路层,物理层)
按分布范围分:广域网,局域网,城域网,个人局域网
使用者分:公用网,专用网
交换技术分:电路交换,报文交换,分组交换
按拓扑结构分:总线型,星型,环形,网状型
按传输技术分:广播式网路,点对点网络(使用分组存储转发和路由选择机制)
速率: 定义:连接在计算机网络上的主机在数字信道上传送数据位数的速率
单位:b/s,Kb/s,Mb/s,Tb/s,
如果用字节表示,则是B/s,KB/s,MB/s,TB/s
1Byte=8Bit
带宽: 在计算机网络中,指的是网络设备所支持的最高速度,单位同速率,是理想条件下最高速率
吞吐量: 指的是单位时间内通过某个网络的数据总量
2.1 时延:数据从网路的一一端传送到另一端所需的时间也叫延时或迟延单位事s
使用高速链路(提高网速),只能减小发送时延,无法减少其他三个时延
2.2 时延带宽积
公式:时延带宽积=传播时延x带宽
意思是链路上有多少比特的数据
2.3往返时延RTT:
发送端发送数据开始,到发送端收到来自接收端的确认(接收端收到数据后便立即发送确认),总共经历的时延 RTT=传播时延x2+处理时间(有时可能直接忽略)
信道利用率:信道利用率=有数据通过 时间 /有+无数据通过时间
网络利用率:网络利用率=所有信道利用率加权求平均值
分层的作用:
(1)发起通信的计算机必须将数据通信的通路进行激活。
(2)要告诉网络如何识别目的主机。
(3)发起通信的计算机要查明目的主机是否开机,并且与网络连接正常。
(4)发起通信的计算机要弄清楚,对方计算机中文件管理程序是否已经做好准备工作。
(5)确保差错和意外可以解决。
分层结构:
OSI模型:
物理层,数据链路层,网络层属于通信子网(数据通信),传输层属于接口,会话层,表示层,应用层属于资源子网层(数据处理)
中间系统没有上四层:只有下三层(物理层,数据链路层,网络层)
数据链路层在进行向下传输时加了头部与尾部
网络的传输如同生活中的打包与拆包过程
七层概述
应用层:所有能与用户交互产生网路流量的程序(典型的应用层服务:文件传输:FTP 电子邮件:SMTP 万维网:HTTP)
表示层:用于处理在两个通信系统中交换信息的表示方式(功能:1.数据格式转换:将二进制代码转化为JPG等格式 2.数据加密 3.数据压缩与恢复)
会话层:向表示层的实体/用户进程提供建立连接并在连接有序的传输数据 只是回话也是建立同步(syn) 功能:(1.建立、管理、终止回话 2.使用校验点可使会话在通信失效时从校验点/同步点继续恢复通信,实现数据同步【使用与传输大文件】主要协议:ADSP\ASP)
传输层:负责主机中两个进程通信,及端到端的通信,传输单位是报文段或用户数据报(功能:1.可靠传输,不可靠传输,2.差错控制 3.流量控住 4. 复用分用 主要协议:TCP UDP)
网络层:把分组从源端传到目的地,为分组交换网上的不同主机提供通信服务,传输单位是数据报(功能:1.路由选择 2.流量控制 3.差错控制 4.拥塞控制)【若所有节点都来不及接受分组,而要丢弃大量分组的话网络就处于拥塞状态因此要采取一些措施来缓解这种拥塞】主要协议:IP、IPX、ICMP iGMP ARP PARP OSPF
数据链路层:把网络层传下来的数据报组装成帧(数据链路层/链路层的传输单位是帧)【功能:成帧:定义帧的开始和结束 差错控制:帧错+位错 流量控制 访问控制:控制对信道的访问】主要协议:SDLC HDLC PPP STP
物理层:在物理媒体上实现比特流的透明传输 单位:bit 透明传输:不管所传输数据是什么样的bit组合,都应当能够在链路上传送 功能:定义接口特性 定义传输模式 (单工,双工,半双工) 定义传输速率 比特同步 比特编码(主要协议:RJ45 802.3)
通讯方式:
传输方式:
![在这里插入图片描述](https://img-blog.csdnimg.cn/8a28a510fb124084b84d50fd365e940e.png#pic_center
码元(Symbol)定义:码元是指用一个固定时长的信号波形(数字脉冲),代表离散数值的基本波形。是数字通信中数字信号的计量单位,这个时长内的信号称为k进制码元而该时长称为码元宽度买的那个码元的离散状态有m个时,此时码元为M进制码元
波特(Baud):用来指一秒可以传输多少个码元
速率:分为码元传输速率和信息传输速率,信息传输速率就是b/s,就是我们平常说的网速,码元可以理解为几个比特的集合,所以信息传输速率(网速)=码元传输速率x码元所带信息量(多少比特)码元所带信息量(比特数)=log2(码元进制数)
带宽(Band Width):用来表示最高数据速率
失真:
码间串扰:接收端收到的信号波形失去了码元之间清晰界限的现象
香农定理(Shannon)
基带信号和宽带/带通信号(Base band,pass band)
编码:将数据转化为数字信号,数字数据(digtal data)通过 数字发送器(digit emitter) 转化为 数字信号(digtal signal)
模拟数据(analog data)通过 PCM编码器(PCM coder) 转化为 数字信号 (digtal signal)
物理层设备
数据链路层功能概述:
概念:
节点:主机,路由器
链路:网络中两个节点之间的物理通道,链路的传输介质主要有双绞线,光纤和微波,分为有限链路,无线链路
数据链路:网络中两个节点之间的逻辑通道,把实现控制数据传输协议的硬件和软件加到链路上就构成数据链路,
帧:链路层的协议数据单元,封装网路层数据报
数据链路层负责通过一条链路从一个节点向另一个物理链路直接相连的相邻节点传输数据报
封装成帧就是加将网络数据报加头加尾,相当于将数据打包
指不管所传输的数据是什么样的比特组合,都应当在链路路上传送,因此,链路层就“看不见“有什么妨碍数据传输得东西,当所有数据中的比特组合恰巧与某个控制信息完全一样时,就必须采取适当的措施使得收方不会就这样的数据误认为是某个控制信息这样才能保证数据链路层的传输时透明的
透明传输的实现方法:
字符计数法:
就是在帧的首部做计数,这个字符记录了当前帧有多少个字符。
缺点:如果在某一个帧内,标记位后面的某个字节的数据丢失,那么会影响后面的帧
比如3 1 1 和 4 2 2 2,如果前面的帧丢失变成 3 1,那么后面的4就会被补到前面变成 3 1 4导致错误
字符填充法:就是加头加尾分别标记开始结束,和零比特填充法(见下)对比,开始和结束的对应的字符不一样但有可能出现数据内某段比特流数据正好 与标记字段重复 ,从而导致误判断的情况
解决方法:添加转义字符。即对于那些与标记字符重复的数据流,在它们的前面添加一段转义字符,这样接收方在解析帧时,看到这些转义字符就不会认为那些特殊的数据当成帧的开始/结束了
零比特填充法:
违规编码法:因为曼彻斯特编码不使用高-高,低-低来表示,所以如果使用高-高,低-低来表示帧起始和终止就不会与数据冲突
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gS5G1ZV6-1660396989425)(assets/
差错控制
数据链路层的差错检测的是比特的错误需要注意的是,即使采用差错检测比特,也还是可能有未检出比特差错的情况。因此,主要是选择一个差错检测方案,使得这种事件发生的概率很小
为什么要在数据链路层进行差错控制?
因为错误可以尽早发现,不会让一个错误的数据包发送了很长时间到达最终目的地之后才被发现,从而导致网络资源的浪费
数据链路层的流量控制和可靠传输
流量控制与可靠传输
流量控制是为了让传输过程中的发送速度和接受速度匹配,减少传输出错与资源浪费
可靠传输是发送端发送什么,接收端就要受到什么
选择重传协议(SR)
吸取了GBN协议的教训,我们打算尝试只重传错误的帧,这样的话就不用浪费资源把已经收到的帧再重传一次了。在GBN中,仅有接收端有一个窗口来存放数据帧,在SR中,两者都有窗口了。和GBN的区别其实就是做了一个数据缓存,已经收到的帧不用扔了,等待之前因意外丢失的帧收到的时候确认即可,但是只能缓存窗口尺寸内的包含的帧(注释:缓存不可能无限大)SR运行过程
重传错误的帧:设置单个确认,同时加大接受窗口,设置接受缓存,缓存乱序到达的帧
同样的,因为编号的问题,发送窗口不能无限大,当发送窗口最后和接受窗口大小相同时,利用率比较高
后退N帧协议:
发送窗口:发送方维持一组连续的允许发送的帧的序号
接受窗口“接收方维持一组连续的允许接受帧的序号
GBN接收方要做的事:如果正确收到n号帧,并且按序,那么接收方为n帧发送一个ACK并将该帧中的数据部分交付给上层,其余情况丢弃帧,并为最近按接受的帧重新发送ACK接收方无需缓存任何失序帧,只需要维护一个信息
滑动窗口长度:若采用n个比特对帧编号,那么发送窗口的尺寸W应该满足1<=W<2^N -1 因为发送窗口尺寸过大,就会使得接收方无法区别新帧和旧帧
介质访问控制技术
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GSagkuNi-1660396989428)(assets
信道划分介质访问控制:将使用介质的每个设备与来自同一信道上的其他设备的通信隔离开,把时域和频域资源合理地分配给网络上的设备
多路复用技术:把多个信号组合在一条物理信道上进行传输,使得对个计算机或终端设备共享信道资源,提高信道利用率
信道划分协议
虽然使用一条共享信道,但是通过多路复用技术组合进行传输,提高了信道的利用率
时分多路复用TDM:TDM的缺点就是利用率低,所以又衍生出了STDM
统计时分复用STDM:STDM的原则是先到先走,满了就发,相对于TDM提高了利用率
波分多路复用WDM:
码分多路复用CDM:每个节点分配一种不同的编码,每个节点使用其唯一的编码来对发送的数据进行编码(如果精心选择编码,不同节点能同时传输)
随机接入协议:所有用户都可以随机发送信息,发送时可以占用全部带宽,理论上个人使用时比静态分配信道的速度更快
ALOHA协议:帧到达节点时,立刻传输。如果发生碰撞,节点将立即(在完全传输碰撞帧后)以概率p重传。否则,等待一个帧传输时间,再以概率p重传。信道有效传输速率实际不是R bps,而是时隙ALOHA的一半
时隙ALOHA协议
时间被划分为时隙,每个节点的时间同步,帧的传输只在时隙的开始时进行。如果发生碰撞,在下一个时隙开始时以概率p重传,否则等待一个时隙再以概率p重传…(信道有效传输速率实际不是R bps,而是0.37R bps)
CSMA协议(载波侦听多路访问)
概述:因为链路实际有长短,发送数据需要时间,这个时间内可能就被其他节点当成空闲状态导致发生碰撞。先侦听信道,如果没有其它节点在使用信道,则传输数据。但是有碰撞检测,如果发生碰撞,会停止传输剩下的数据,等待一个随机时间(通常比传输一帧短)后,再进行尝试。知道自己发生碰撞的最长时间是2τ(两倍的传播时延),就是一去一回
由此我们可以想到最小帧长的问题,因为如果帧太短,帧都发送完了才检测到碰撞导致停止,导致无法停止碰撞
主要包括两大类,一个是 轮询协议 ,另一个是令牌传递协
轮询协议:就是选出一个代表,让他控制所有的传输
注释:轮询开销在随着服务的节点越多,需要用于查询是否发送数据发送的数据帧也就越多,会造成一定开销等待延迟就是因为这是轮流“邀请”,所以难免某个节点需要发送数据,但是主节点还在较远的需要里有需求的节点那边,导致需求得不到立即响应单点故障很好理解,就是代表挂了
令牌传递协议
注释:在节点之间没有收发数据的需求时,令牌在节点之间循环。
发送数据的流程
----》当一个节点需要时就可以获得这个令牌。然后修改这个令牌的状态(空闲->占用)
----》再将令牌与数据帧结合,让其在节点构成的环之间流动
----》不是目的地的节点收到令牌也不接受,直接略过,目标节点收到信息并复制一份到本地(传输完成),因为是个闭环,所以发送节点最后得到令牌
----》最后,发送令牌的节点对令牌的内容进行检查,如果发现数据出错还要重新发一遍
问题基本和轮询协议相同
)]
CSMA/CA协议
CSMA/CD 与 CSMA/CA的区别
局域网概括:范围大小,速度快,延迟低,节点平等
局域网传播介质:
*局域网介质访问方法
以太网提供无连接,不可靠的服务:
无连接:发送方和接受方之间无“握手的过程”
不可靠:不对发送方的数据帧编号,接收方不向发送方进行确定,差错帧直接丢弃,差错纠正由高层负责
以太网只实现无差错接受,不实现可靠传输
10BASE以太网:时传送基带信号的双绞线以太网没T表示采用双绞线,现10BASE-T采用的是无屏蔽双绞线(UTP)传输速率为10mb/s
广域网
PPP协议(Point-to-Point Protocol):
PPP协议是目前使用最广泛的数据链路层协议,拨号基本都是PPP协议
PPP协议仅支持全双工链路
ppp协议状态图:
PPP协议的帧格式
两种网桥
透明网桥:通过自学习来构建转发表。每一个通过网桥的数据包都会被记录下网桥收到数据时数据对应的地址和网桥自己的接口,通过许许多多的数据包的构造的缓存,网桥就可以知道哪个数据包在哪个接口,以后如果要穿数据包就知道要往哪个接口发送数据包了
原路由网桥:在发送时,直接将最佳路径放到帧首部。那么网桥如何获得最佳路径?通过广播方式想目标地址发送广播,此时可能会经过不同路由产生不同的路径,目标地址收到后再将每一条路径都发一个响应帧给网桥,网桥经过对比就知道哪个接口最快了
交换机:
1)交换机转发与过滤
过滤:交换机决定一个帧是应该转发还是应该丢弃
转发:决定一个帧应该被导向哪个接口
2)自学习(即插即用)
交换机表是自动、动态、自治地建立的,没有来自网络管理员或配置协议的任何干预。换句话说,交换机是自学习的
任务:把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务,传输单位是数据报
无连接:无连接服务:不实现为分组的传输确定传输路径,每个分组独立确定传输路径,不同分组传输路径可能不同
数据报与虚电路
数据报方式为网络层提供无连接服务,虚电路方式为网络层提供连接服务
无连接服务:不事先为分组的传输确定传输的路径,传输路径不同分组传输路径可能不同
连接服务:首先为分组的传输确定传输路径(建立连接)然后沿该路径传输系列分组,系列分组传输路径相同,传输结束后拆除连接
AS就是多个路由器之间构成的单独的小圈子,圈子内使用自己的协议,圈子和圈子之间用的是BGP协议
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
ip数据报格式:
注释:连接内网和外网,就是找个代理的用它的ip地址与外面收发数据,NAT需要构建NAT转换表,既要存广域网(WAN,外网)也要存局域网(LAN,内网)的ip地址和端口号
)]
超网:
最长前缀匹配:使用CIDR查找路由表可能得到几个匹配结果,应选择具有最长网络前缀的路由,前缀越长,地址块越小,路由越具体
ARP协议
IPV6:
ipv6数据报格式
IPV4与ipv6的区别
如果是ipv6的数据报到了ipv4,就用ipv4重新封装,把ipv6数据报前面加上ipv4伪装成ipv4数据报继续传输,直至到了ipv6路由再解开ipv4伪装
RIP协议特点:就是来回更新路由表,错误信息被覆盖,导致直至达到距离上限强制错误时才可以得知出错
OSPF协议:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WxGTbr5f-1660396989448)(assets/
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-acFW0j6l-1660396989448)(assets/
BGP协议:
BGP协议交换信息的过程:BGP所交换的网络可达性的信息就是要到达某个网络所要经过的一系列AS当BGP发言人相互交换了网络可达信息后各BGP发言人就根据采用的策略从收到的路由信息中心找出到各达各AS的较好路由
IP组播(多播)
ip主播
路由器构造:
功能:1.提供进程与进程之间的逻辑通信 2.复用与分用 3.传输层对接收到的报文进行差错检测 4.传输层的两种协议
1.UDP怎么保证能收到数据?
UDP将可靠传输的实现放到了应用层,然后类似于TCP,实现确认机制,重传机制UDP不属于连接型协议,因而具有消耗资源小,处理速度快等优点,所以通常音频、视频通话在传送时使用UDP比较多,因为它们即使丢失一两个数据包也不会对结果产生太大影响UDP传输层无法保证数据的可靠传输,只能通过应用层来实现了;实现的方式可以参考TCP可靠传输的方式,只是实现不在传输层,转移到了应用层目前有如下开源程序利用UDP实现了可靠的数据传输;分别有RUDP, RTP, UDT
TCP是提供可靠传输,UDP这种本身还是不可靠传输的就再靠应用层解决了
tcp流量控制:
TCP拥塞控制