Day one
电路交换(Circuit Switching):通过物理线路的连接,动态地分配传输线路资源。
过程:1.建立连接(尝试占用通信资源)
2.通信中(一直占用通信资源)
3.释放连接(归还通信资源)
优点:通信前从主叫端到被叫端建立一条专用的物理通路,在通信的全部时间内,两个用户始终占用端到端的线路资源。数据直送,传输效率高(适合与低频次、大量地传输数据。)
缺点:建立或释放连接,需要额外的时间开销;线路被通信双方独占,利用率低;线路分配的灵活性差(一个接电话了会影响线路,必须修好);交换节点不支持“差错控制”(无法发现传输过程中的数据错误,线路中间节点不检查数据有没有错误)。
通俗理解:打电话10小时,等电话2分钟,这种比较适合电路交换。
计算机之间数据往往是“突发式”传输,即往往会高频次、少量地传呼数据。
报文交换:传输数据:报文,报文包括:控制信息、用户数据。
优点:1.不需要提前建立连接
2. 数据以报文为单位被交换节点存储转发,通信线路可以灵活分配(一个节点坏了,线路会自动寻找其他节点线路)
3. 在通信时间内,两个用户无需独占一整条物理线路。相比于电路交换,线路利用率高
4. 交换节点支持“差错控制”(通过校验技术)
缺点:
1.报文不定长,不方便存储转发管理
2.长报文的存储转发时间开销大、缓存开销大
3.长报文容易出错,重传代价高
分组交换:将报文交换中的报文固定长度,变成分组,还是在头部放置控制信息等信息(例如起点和终点等信息)
优点:1.通信前无需建立连接
2.分组定长,方便存储转发管理
3.分组的存储转发时间开销小、缓存开销小
4.分组不易出错,重传代价低
缺点:1.相较于报文交换,控制信息占比增加
2.相比于电路交换,依然存在存储转发时延
注意:报文交换和分组交换要等一个分组或报文被一个节点完全接收之后才能解析并转发。

计算机网络分类:分类标准:分布范围、传输技术、拓扑结构、使用者、传输介质
分布范围:广域网、城域网、局域网、个人网

交换机一般都是以太网交换机,
局域网和广域网之间通过路由器连接,交换机是连接局域网内设备的仪器,它通过MAC地址来判断数据转发给哪个设备,而不用广播。
个域网:比如蓝牙等, 智能门锁等智能家居小物件通过网关连接,然后智能网关又通过网线和路由器连接,通过路由器连接到了广域网,进而手机操控(下面是小米的智能家居的展示图,他这种会更省电)。

传输技术:广播式网络、点对点网络
广播式网络:当一台计算机发送数据分组时,广播范围内所有计算机都会收到该分组,并通过检查分组的目的地址决定是否接收该分组。
点对点网络:数据只会从发送方“点对点”发送到接收方,精准送达。
拓扑结构:总线型、环形、星型、网型


最后一种常见于广域网,前三种常见于局域网
使用者:公用网、专用网
公用网:向公众开放的网络
专用网:仅供某个组织内部使用的网络,如争渡、军队、电力、银行系统等。
传输介质:有线网络、无线网络
有线网络:网线、光纤
无线网络:5G、WiFi、卫星等

计算机网络的功能举例:
1.差错控制:确保数据在传输过程中不出错
2.流量控制:发送端的发送速率必须保证接收端来得及接收,不要太快
3.分段和重装:发送端将要发送的数据划分为更小的单位,并在接收端将其还原。
4.复用和分用:发送端几个高层会话复用一条底层的连接,在接收端再进行分用。
5.连接建立和释放:交换数据前先建立一条逻辑连接,数据传输结束后释放连接。
计算机网络分层架构:
网络的体系结构:计算机网络的各层及其协议的集合,就是这个计算机网络及其构建所应完成的功能的精确定义(不涉及实现)。体系结构是抽闲的,实现是具体的。
是现实遵循这种体系结构的前提下用何种硬件或软件完成这些功能的问题。
1.五层网路:物理层、数据链路层、网络层、传输层和应用层

OSI七层(法律上的标准):物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
TCP/IP模型(事实上的标准):网络接口层、网际层、传输层、应用层

实体:在计算机网络的分层结构中,不同机器上的同一层是对等层,同一层的尸体称为对等实体。
协议:即网络协议,是控制对等实体之间通信的规则的集合,是水平的。
接口:同一节点内相邻两层的实体交换信息的逻辑接口,又称为服务访问点(SAP)
服务:服务是指下层为紧邻的上层提供的功能调用,它是垂直的。
上一层实体通过“接口”请求相邻层下层的“服务”。
协议数据单元(PDU):对等层次之间传送的数据单位
服务数据单元(SDU):为完成上一层实体所要求的功能而传送的数据
协议控制信息(PCI):控制协议操作的信息
协议:网络协议,是控制对等实体之间进行通信的规则的集合,是水平的。
协议由语法、语义和同步三部分组成,协议三要素。
语法:数据与控制信息的格式,例如协议信息首部部分占几个字节,每个字节什么含义
语义:需要发出何种控制信息、完成何种动作及做出何种应答。例如,协议中需要明确规定:发送方发完数据后,接收方是否需要“应答”,以及应答的种类有哪些(如传输失败或者传输成功)
同步(或时序):执行各种操作的条件、时序关系等,即事件实现顺序的详细说明。例如,发送方发完数据后,接受方需要立即应答。如果发送方在10s内未收到“传输成功”应答,则发送方会再次发送数据。

OSI七层模型每层的功能:
物理层任务:任务:实现相邻节点之间比特的传输
①定义接口参数
②定义传输信号的含义、电器特征(比如:5V表示1,1V表示0;每比特电信号持续时间0.1ms)
③物理层传输的单位是比特
数据链路层:任务:确保相邻节点之间的链路逻辑上无差错。
①差错控制:检错+纠错;或检错+丢弃+重传
②流量控制:协调两个节点的速率。
③数据链路层传输的是帧(含有多个比特)
网络层:任务:把“分组”从源结点转发到目的结点。
①路由选择:构造并维护路由表,决定分组到达目的节点的最佳路径
②分组转发:将“分组”从合适的端口转发出去
③拥塞控制:发现网络拥塞,并采取措施缓解拥塞
④网际互连:实现异构网络互联
⑤传输单位:分组,又称数据报
⑥其他功能:差错控制、流量控制、连接建立与释放、可靠传输管理
以差错控制为例:数据链路层也有,如果一个分组由三个帧组成,数据链路层确保帧都是正确的,但是传输的时候丢了一个帧,接收方确认收到的两个帧都是正确的,但是这时候分组只有两个帧了,分组是错的,数据链路层不知道,所哟网络层需要差错控制。
传输层:任务:实现端到端通信(即实现进程到进程的通信,端指的是端口)
①复用和分用:发送端几个高层实体复用一条低层的连接,在接收端在进行分用。
②其他功能:差错控制、流量控制、连接建立与释放、可靠传输管理
连接建立与释放:确保报文段有序、不重复到达
可靠传输管理:接收方需返回报文段确认消息
③传输单位:报文段
会话层:任务:管理进程间会话
主要功能:会话管理;采用检查点机制,当通信失效时会从检查点继续回复通信(比如微信文件传输到500M中断了,那下次连接之后接着上次的继续传输。)
表示层:任务:解决不同主机上信息表示不一致的问题。(比如两台主机编码格式不一样,就需要转换,压缩、解压、解密等都在这一层)
应用层:任务:实现特定的网络应用。(功能繁多,根据应用需求设计,例如HTTP等),应用层以报文为单位进行数据传输。

从高层到低层,把数据分段,从底层到高层称为数据的重装。

TCP/IP参考模型的功能:



数据:信息 实体,如文字、声音、图像等,在计算机内部数据通常是二进制
信源:信号的来源(即数据的发送方)
新宿:信号的“归宿”(即数据接收方)
信道:信号的道路,通常来说一条物理线路包含两条信道,即:发送信道、接受信道
信号:数字信号、模拟信号
数字信号:信号值是离散的
模拟信号:信号值是连续的
传输介质:常用的传输介质:导向型、非导向型
导向型(信号朝固定方向传播):双绞线、同轴电缆、光纤
非导向型(信号朝四面八方传播):无线传输介质
物理层接口特性:





物理层的接口特性:机械特性、电气特性、功能特性和过程特性
机械特性:指明接口所用接线器的形状和尺寸、引脚数目和排列、固定和锁定装置等
电气特性:指明在接口电缆的各条线上出现的电压的范围、传输速率、距离限制等
功能特性:指明某条线上出现某一电平的电压的意义
过程特性(规程特性):指明对于不同的功能的各种可能事件的出现顺序
物理层设备:中继器、集线器
中继器:中继器只有两个端口。通过一个端口接收信号,将失真信号整形再生,并转发至另一端口(信号再生会有一些时延);中继器仅支持半双工(两端连接的结点不可同时发送数据,会导致冲突);中继器两个端口对应两个“网段”
集线器:本质上是多端口中继器。集线器将其中一个端口接到的信号整形后再生,转发到所有其他端口;各端口连接的结点不可同时发送数据,会导致冲突;集线器的N个端口对应N个“网段”,各网段属于同一个“冲突域”。
冲突域:如果两台主机同时发送数据会导致“冲突”,则这两台主机处于同一个“冲突域”。
信道争用:处于同一冲突域的主机在发送数据前需要进行信道争用。

集线器不能隔绝冲突域,连接了主干集线器之后,主干集线器还是会把接收到的信号像是广播一样发送给所有的电脑。
交换机可以隔绝冲突域;


5-4-3原则:使用集线器(或者中继器)连接10Base5网段时,最多智能串联个网段,使用4台集线器(或中继器),只有3个网段可以挂接计算机。
集线器逻辑上是总线型拓扑,是因为总线型的拓扑结构,数据广播式传输,存在信道争用的问题。

数据链路层功能概述:在物理层提供服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠的传输到相邻节点的目标机网络层。其主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造成逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路。
封装成帧就是在一段数据的前后部分添加首部和尾部,这样就构成了一个帧,接收端在收到物理层上交的比特流后就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束。
首部和尾部包含许多的控制新,他们的一个重要作用:帧定界(确定帧的界限)
帧同步:接收方应当能从接收到的二进制比特流中区分帧的起始和终止。
组成帧的四种方法:学符计数法、字节/字符填充法、零比特填充法、违规编码法
透明传输:不管传输数据是什么样的比特组合,都应当能够在链路上传送。因此,链路层就“看不见”有什么妨碍数据传输的东西。(当所传数据中的比特组恰巧与某一个控制信息完全一样时,就必须采取适当的措施,使接收方不会将这样的数据误认为是某种控制信息。这样才能保证数据链路层的传输时透明的。)
概括来说传输中的差错都是犹豫噪声引起的。
全局性:1.由于线路本身电器特性所产生的随机噪声(热噪声)是信道固有的,随即存在的。
解决办法:提高信噪比来减少或避免干扰(对传感器下手)
局部性:2.外界特定的短暂原因造成的冲击噪声,是产生差错的主要原因。
解决办法:通常利用编码技术解决。
差错分为:位错(比特位出错,1变成0,0变成1)、帧错(重复、丢失、失序)
链路层为网络层提供服务:无确认无连接服务(通信质量好,有线传输链路)、有确认无连接服务、有确认面向连接服务(后面两个适合:通信质量差的无线传输链路)。

流量控制与可靠传输机制
较高的发送速度和较低的接受能力的不匹配就会造成传输错误。发送方发送速度太快,接收方接受速度太慢。
数据链路层流量控制手段:接收方收不下就不回复确认。
数据链路层的流量控制是点对点的,而传输层的流量控制是端到端的。
数据链路层点对点:它只负责直接相连的两个设备之间的数据传输,是局部的
传输层的端到端:要解决的是整个路径上的,确保数据能够顺利可靠的到达终点
数据链路层流量控制的手段:接收方收不下就不回复确认
传输层流量控制手段:接收端给发送一个端口公告
数据链路层流量控制的方法:1.停止-等待协议;2.滑动窗口协议(后退N帧协议(GBN)、选择重传协议(SR))
1.停止等待协议:每发送完一个帧就停止发送,等待对方的确认,在收到确认后再发送下一个帧。
2.后退N帧协议、选择重传协议:


上面做这三个协议有些说是在传输层,有些是在数据链路层,这是因为最初的时候通信链路质量不够好,出现差错的次数比较多,所以就用在了传输层,后面越来越好,就把可靠传输放在传输层。
存在停止等待协议的原因:除了比特出差错,底层信道还会出现丢包问题以及为了实现流量控制;

丢包:物理线路故障、设备故障、病毒攻击、路由信息错误等原因会导致数据包的丢失
停止等待协议的应用情况:无差错情况、有差错情况
后退N帧协议(GBN):

发送方可以发送0,接收到0的确认帧之后窗口前移,在等待0的确认帧的时候还可以接着发1、2、3、4…等,然后接收方可以挨个回复1、2、3、4…等数据的确认帧,也可以只回复一个4的确认帧,这就代表着1-4都确认收到了。

比如接收方接到到了0 1 2 4 5,接收方等待3却一直没有,最终只会确认2,然后发送方重发3 4 5…
GBN总结:
1.累积确认(偶尔稍带确认)
2.接收方只按顺序接收帧,不按序无情丢弃
3.确认序列号最大的、按序到达的帧
4.发送窗口最大为2^n-1,接收窗口大小为1(n代表序列号的位数,因为序列号的范围是有限的,0-2 ^2-1,是循环使用的,所以不能太大)
缺点:累积确认导致需要批量重传
选择重传协议(SR)
每个帧都有自己的定时器,一个超时事件发生后只重传一个帧

总结:
1.对数据帧逐一确认,收一个确认一个
2.只重传出错帧
3.接收方有缓存
4.发送窗口=接收窗口=2^(n-1)
传输数据的两种链路
1.点对点链路:两个相邻节点通过一个链路相连,没有第三者。应用:PPP协议,常用于广域网
2.广播式链路:所有主机共享通信介质。应用:早期的总线以太网、无线局域网,常用于局域网;典型拓扑结构:总线型、星型(逻辑总线型)
介质访问控制:采取一定的措施,使得两对节点之间的通信不会发生互相干扰的情况。









纯ALOHA:超时后在一定概率下重传
时隙ALOHA协议:把时间分成若干相同的时间片,所有用户在时间片开始时刻同步接入网络信道,若发生冲突,则必须等到下一个时间片开始时刻在发送(控制想发就发的随意性)
CSMA协议:先听再说






CSMA/CD:常用于总线型以太网

注:C是隐蔽站



注:轮询的询问时间通常是固定的,但是传输数据的时间是不一样的。

数据是复制到令牌上进行传输的,最后令牌回到发送方的时候发送方根据令牌上数据的信息判断数据有没有错误。
概念回顾:







可靠的传输服务还报错纠错、确认等功能,尤其是纠错,以太网并不提供。
计算机与外界有局域网的连接时通过通信适配器完成的。

无线局域网中:



传统局域网的局限



协议
PPP协议:电对点协议PPP时目前使用最广泛的数据链路层协议,用户使用拨号电话接入因特网时一般都是用PPP协议;PPP只支持全双工链路。
应满足的要求:1.简单:无需纠错、无需序号、无需流量控制(PPP协议通常应用在电话线、光纤等物理介质上,这些物理介质通常有自己的流量控制,不需要PPP在提供)





网络层






SDN:可以使用软件定义路由表的计算管理,路由器从远程控制器那里获得路由表









数据的最大:MTU
数据太大了,就需要分片然后进行传输。






网络地址转换NAT

子网:





ARP、DHCP、ICMP协议:
ARP协议用于在同一局域网中,将IP地址解析成对应的MAC地址。网络通信需要将IP地址映射到底层的物理地址(如以太网的MAC地址),ARP协议负责完成这个过程。
工作原理
当一台设备需要发送数据到同一局域网中的另一台设备时,它首先知道目标设备的IP地址,但并不知道该设备的物理地址(MAC地址)。ARP协议通过以下步骤来获取:
1.ARP请求(ARP Request):
发送方构造一个ARP请求,包含目标设备的IP地址,并通过广播方式发送到整个局域网(发送到FF:FF:FF:FF:FF:FF的MAC地址,即所有设备都能接收到这个请求)。
2.ARP响应(ARP Reply):
网络中的所有设备都会接收到ARP请求,但只有目标IP地址的设备会回应该请求,返回自己的MAC地址(ARP响应)。
3.ARP缓存(ARP Cache):
发送方收到响应后,会将该IP地址和对应的MAC地址缓存到本地的ARP表中,以便后续通信时直接查找,而不需要再次请求。
ARP欺骗:由于ARP没有认证机制,攻击者可以伪造ARP响应,将虚假的MAC地址与真实的IP地址关联,导致数据流量被引导到错误的设备上。
DHCP协议是一种自动分配IP地址和其他网络配置的协议,主要用于简化设备在网络中的连接过程。通过DHCP,网络中的设备可以动态获取IP地址、子网掩码、默认网关、DNS服务器等信息,而无需手动配置。
工作原理
1.DHCP的工作过程包含以下步骤,通常称为DORA过程(Discover, Offer, Request, Acknowledge):
2.DHCP Discover(发现):
当设备首次连接到网络时,它会发送一个广播的DHCP Discover消息,寻找可用的DHCP服务器。
3.DHCP Offer(提供):
DHCP服务器接收到请求后,选择一个可用的IP地址,并通过广播向设备发送一个DHCP Offer消息,包含IP地址、子网掩码、网关、租约时间等配置信息。
DHCP Request(请求):
设备从多个可能的DHCP Offer中选择一个,并发送DHCP Request消息,向服务器确认将使用的IP地址。
4.DHCP Acknowledge(确认):
DHCP服务器收到DHCP Request后,发送DHCP Acknowledge消息,确认该IP地址已分配给设备。设备收到确认后,开始使用该IP地址。
DHCP协议基于UDP传输协议
DHCP服务器分配的IP地址通常有租约时间,当租约到期时,设备需要重新请求IP地址。设备可以在租约到期前发送DHCP Request来更新租约。
DHCP的类型
静态DHCP分配:管理员手动配置某些设备(如服务器)的固定IP地址。
动态DHCP分配:IP地址从池中动态分配给设备。
自动DHCP分配:服务器分配永久IP地址给设备,一旦分配成功,该IP地址不再改变。
安全问题
DHCP欺骗:恶意DHCP服务器可以通过提供错误的网络配置,导致网络流量被劫持或重定向。
IP地址冲突:如果手动配置的设备使用的IP地址与DHCP服务器分配的地址相同,则可能导致IP冲突。
总结:DHCP大大简化了网络中设备的IP地址配置过程,使得网络管理更加高效和自动化。
ICMP协议是用于诊断网络问题和报告网络错误的协议。它主要用于传输控制消息,向源主机报告IP数据包处理过程中的各种问题。ICMP协议通常与IP协议一起工作,属于网络层协议。
功能
ICMP主要有以下几种功能:
错误报告:当路由器或主机无法传递IP数据包时,发送ICMP错误消息,报告问题。
网络诊断:常用工具如ping和traceroute使用ICMP协议来检测网络连接情况。
路径控制:帮助设备发现数据包通过的网络路径。
常见的ICMP消息类型
回显请求(Echo Request)和回显应答(Echo Reply):
用于网络连通性检测的工具ping,回显请求发送给目标设备,目标设备应答。
目标不可达(Destination Unreachable):
如果路由器或主机不能传递数据包,则发送目标不可达消息,可能的原因有:网络不可达、主机不可达、协议不可达、端口不可达等。
超时(Time Exceeded):
当数据包的TTL(生存时间)为0时,路由器丢弃该数据包并发送超时消息,traceroute工具就是利用此功能。
重定向(Redirect):
当主机的路由信息有误时,路由器可以发送重定向消息,告诉主机应从另一个路由器转发数据包。
源抑制(Source Quench):
用于控制流量。当设备发送数据过快导致网络拥塞时,路由器可以发送源抑制消息,要求发送方降低发送速率(现代网络很少使用这种方式)。
安全问题
ICMP攻击:由于ICMP数据包不携带用户数据,攻击者可以利用它进行ICMP洪水攻击(Ping Flood),通过发送大量ICMP回显请求耗尽目标系统的资源。
总结
ICMP是确保网络正常运作的重要协议,负责错误报告和网络诊断。常见工具如ping和traceroute依赖于ICMP协议来测试网络的连通性和路由路径。
总结对比:
ARP协议:用于将IP地址映射为MAC地址,在局域网中通过广播实现地址解析。
DHCP协议:用于动态分配IP地址,简化了设备的网络配置过程。
ICMP协议:用于网络的错误报告和诊断,帮助定位网络故障。
这三者在不同的层次和场景下提供了重要的网络功能,共同确保IP网络的正常通信和管理。
MAC地址
MAC地址是网络接口卡(NIC)在局域网中的物理地址,用于唯一标识网络设备。在OSI七层模型中,MAC地址属于数据链路层的地址,与硬件设备(如网卡)直接相关。
MAC地址的主要作用是在局域网内唯一标识网络设备,确保网络设备之间的数据能够通过数据链路层正确传递。它主要用于以下场景:
局域网通信:在以太网中,数据帧通过MAC地址进行路由和交换。例如,交换机使用MAC地址表(CAM表)来决定将帧发送到哪个端口。
ARP协议:IP地址无法直接用于局域网中的通信,ARP协议使用MAC地址进行IP地址到MAC地址的映射,使得IP通信能够在数据链路层实现。
IP地址(Internet Protocol Address)是网络层的地址,用于标识设备在网络中的逻辑位置。它主要用于在互联网上传输数据包,并确保数据能够从源设备路由到目的设备。

结合使用
在典型的网络通信中,MAC地址和IP地址是一起工作的:
当一台设备要在局域网中发送数据时,使用IP地址决定数据要发送到哪个逻辑设备。
通过ARP协议,IP地址被解析为MAC地址,确保数据能够通过底层物理网络发送到正确的设备。
总结
MAC地址:用于局域网中的物理通信,唯一标识网络设备的硬件地址,适用于数据链路层。
IP地址:用于网络层的逻辑通信,标识设备在网络中的位置,并用于数据包的路由。
MAC地址主要在局域网中用于设备之间的通信,而IP地址则跨局域网和广域网,用于网络设备之间的逻辑通信。
拓展:
ARP协议、DHCP协议和ICMP协议在OSI模型中的层次分布如下:
ARP协议(Address Resolution Protocol,地址解析协议)
DHCP协议(Dynamic Host Configuration Protocol,动态主机配置协议)
ICMP协议(Internet Control Message Protocol,互联网控制消息协议)
ping和traceroute等工具依赖于ICMP协议来检查网络的连通性和路径信息。这些协议都在TCP/IP协议栈中起着至关重要的作用,但它们分别位于不同的层次,服务于不同的网络功能。
IPv6
IPv6(Internet Protocol version 6)是下一代互联网协议,用于替代当前广泛使用的IPv4(Internet Protocol version 4)。它是为了应对IPv4的地址枯竭问题而开发的,提供了更大规模的IP地址空间和一些新的网络特性。
2001:0db8:85a3:0000:0000:8a2e:0370:7334)。IPv4地址枯竭:
增加地址空间:
简化路由表:
增强的功能:
改进的数据包处理:
IPv6和IPv4是两种不同的网络层协议,用于网络中的地址分配和数据包传输,但它们有以下几点区别和联系:
地址长度:
192.168.1.1)。2001:0db8:85a3::8a2e:0370:7334)。地址空间:
地址类型:
自动配置:
安全性:
封装和头部设计:
IPv6是为了应对IPv4地址枯竭问题而开发的新一代互联网协议,提供了巨大的地址空间和多种改进的网络功能。它与IPv4有着不同的结构和设计,但仍在逐步过渡和共存中,以适应未来互联网的需求。
IP组播
IP组播(IP Multicast)是一种网络通信方式,允许主机向一个特定的组播组中的多个接收者同时发送数据,而无需为每个接收者单独发送。这种方式能够提高网络传输的效率,特别是在视频会议、在线广播等场景下具有重要作用。
组播:是一种网络数据传输模式,介于单播(Unicast)和广播(Broadcast)之间。在组播中,数据从一个源主机发送到一个组播组,该组中包含多个接收主机。源主机只需要发送一次数据,网络将负责把数据分发给该组中的所有接收者。
组播组:组播组是通过一个特定的组播地址来标识的,任何主机都可以加入或离开这个组。组播地址属于D类IP地址,范围是224.0.0.0 ~ 239.255.255.255。这些地址不能用于单播通信,而是专门为组播通信保留的。
工作方式:组播的工作依赖于组播路由协议(如PIM)和组播的加入/离开协议(如IGMP)来实现。组播路由协议负责在网络中转发组播数据,确保数据包只在必要的网络链路上传输,而IGMP协议允许主机加入或离开一个组播组。
减少带宽消耗:在单播模式下,数据源需要为每个接收者发送一个单独的数据包,即使这些数据内容完全相同,这样会浪费大量的网络带宽。而组播只需要发送一次数据,网络自动负责复制和分发,避免了重复传输相同内容的开销,从而减少了带宽的消耗。
提高传输效率:组播确保数据只在必要的网络路径上传输。比如当多个用户请求同样的实时视频流时,组播可以有效地减少重复流量的产生,极大提高了网络传输效率。
支持动态加入和离开:组播组是动态的,接收者可以随时加入或离开,不需要对源主机做任何改变。任何设备只要发送加入组的请求就可以接收到组播数据,从而提供了灵活的扩展性。
视频会议:在视频会议中,多个与会者同时接收相同的视频流。使用组播可以减少服务器和网络带宽的压力,因为源只需要发送一次视频流,网络将流分发给多个接收者。
直播流媒体:组播广泛用于在线直播场景,如网络电视、直播视频或音频广播等。通过组播技术,用户可以实时接收同一流媒体数据,避免多个单播数据流占用带宽。
分布式数据库同步:在分布式系统中,数据更新常常需要广播到多个数据库节点,使用组播可以确保同步更新的高效性。
股票市场数据分发:实时股市数据往往需要被众多金融机构或交易系统接收,组播可以确保这些实时数据以最少的带宽占用传输给所有订阅者。
组播地址:组播使用的是D类IP地址,地址范围从224.0.0.0到239.255.255.255。其中,224.0.0.0到224.0.0.255是保留给网络协议使用的组播地址,不能用于应用层通信。
IGMP协议:Internet Group Management Protocol(IGMP)是一个用于管理主机加入或离开组播组的协议。通过IGMP,主机可以告诉路由器它要接收某个组播组的数据。当主机不再需要组播数据时,可以通过IGMP离开该组。
组播路由协议:为了在网络中高效转发组播数据,需要组播路由协议。常用的组播路由协议包括PIM(Protocol Independent Multicast)和DVMRP(Distance Vector Multicast Routing Protocol)。这些协议确保组播数据包只在必要的网络链路上传输,避免了冗余的组播数据流。
单播(Unicast):数据包只发送给一个指定的接收者,适用于一对一通信。随着接收者数量的增加,单播会占用大量的带宽,降低效率。
广播(Broadcast):数据包发送给网络中的所有设备,适用于网络中需要全局通告的场景,但容易造成网络中的设备过载,因为即使不需要数据的设备也会收到广播。
组播(Multicast):数据包发送给一个组播组中的多个接收者,介于单播和广播之间,适用于一对多或多对多的场景。组播只会发送给需要接收的设备,避免了带宽浪费。
IP组播通过高效的方式将同一份数据发送给多个接收者,在节省带宽、提高网络效率的同时,灵活地支持接收者的动态加入和离开。它广泛用于需要实时数据分发的应用场景,如视频直播、在线教育、股票市场数据等。虽然组播的配置和管理相对复杂,但在局域网内使用得当时,能带来极大的性能优势。
RIP、OSPF、BGP协议
三者都是网络层协议

RIP(Routing Information Protocol)、OSPF(Open Shortest Path First)、和BGP(Border Gateway Protocol)是三种重要的路由协议,广泛用于网络路由选择。它们都属于网络层(Layer 3)的协议,用于管理网络中的路由信息和路由表的更新。下面分别介绍这三种协议的详细工作原理、优缺点及应用。
简单易实现:RIP实现简单、配置容易,是早期小型网络中常用的路由协议。
协议负担小:由于使用的度量值单一(跳数),计算简单,适用于小型网络。
缺点:
规模限制:RIP协议的最大跳数限制为15,因此无法支持大规模网络。
收敛慢:由于RIP定期更新路由表的机制,收敛速度较慢,可能会导致网络不稳定。
度量值不精确:仅使用跳数作为路由选择的标准,无法反映实际的网络情况(如带宽、延迟等)。
工作层次
RIP工作在网络层(Layer 3),用于路由器之间交换路由信息。
2. OSPF协议(Open Shortest Path First)
工作原理
OSPF协议是一种链路状态路由协议,通过使用Dijkstra的最短路径优先算法来选择最优路由。每个路由器维护整个网络的链路状态图,并根据网络拓扑计算到每个目标的最短路径。
区域化设计:OSPF支持将网络划分为多个区域(Area),其中区域0称为骨干区域。不同区域之间通过骨干区域连接,减小了网络中的路由信息广播范围,提高了效率。
LSA(Link-State Advertisement)机制:路由器通过发送**链路状态通告(LSA)**报告自身的链路状态,LSA会在整个网络内扩散,确保所有路由器对网络拓扑有相同的视图。
认证与多播:OSPF支持认证机制,确保路由信息的安全性。它使用多播地址224.0.0.5和224.0.0.6来与其他OSPF路由器通信。
优缺点
优点:
快速收敛:OSPF能够快速收敛,更新网络变化后迅速计算最优路径。
无跳数限制:与RIP不同,OSPF没有跳数限制,适用于大规模网络。
精确的度量值:OSPF可以根据带宽、延迟等多种参数计算路径的优劣,选择最优路由。
区域划分:通过划分区域,可以减少路由表的大小和协议的开销,适用于大型复杂的网络结构。
缺点:
实现复杂:相比RIP,OSPF的配置和实现复杂,尤其是区域划分和认证等功能需要更多的配置。
协议开销大:OSPF维护整个网络的拓扑视图,需要消耗更多的CPU和内存资源,且LSA会在网络中频繁传播,增加了网络开销。
工作层次
OSPF也是工作在网络层(Layer 3),用于内部网关路由选择,是一种内部网关协议(IGP)。
3. BGP协议(Border Gateway Protocol)
工作原理
BGP协议是一种基于路径向量的路由协议,用于在自治系统(Autonomous Systems, AS)之间交换路由信息,主要用于互联网的外部网关路由选择。与RIP和OSPF不同,BGP不仅考虑路径长度,还考虑策略、自治系统的数量等因素,来选择路由。
BGP使用TCP协议(端口179)进行通信,保证数据传输的可靠性。BGP路由器之间通过建立对等会话(Peering)来交换路由信息,并维护一个BGP路由表,记录到达每个目标的路径信息。
路由聚合:BGP支持路由聚合(Route Aggregation),减少路由表的规模。它允许多个路由前缀合并为一个条目,减少网络负载。
路径选择算法:BGP根据路径属性选择路由,包括AS路径、下一跳、优先级、路由器ID等多个属性来选择最佳路径。
优缺点
优点:
适用于大规模网络:BGP适合全球互联网这种大规模网络,并支持复杂的路由策略。
高灵活性:BGP允许网络管理员基于策略进行路径选择,能灵活地控制网络流量。
稳定性强:BGP可以避免网络中的路由环路,且使用TCP进行通信,保证路由信息的可靠性。
缺点:
收敛速度慢:BGP的收敛速度较慢,尤其是在全球范围的大规模网络上,可能导致网络不稳定。
复杂性高:BGP的配置和管理非常复杂,需要具备专业的网络知识才能维护,特别是当涉及跨多个AS的路由策略时。
工作层次
BGP同样工作在网络层(Layer 3),主要用于外部网关路由选择(EGP),连接不同自治系统之间的路由器。
移动IP、IP组播



UDP
TCP
DNS




FTP协议、电子邮件、万维网、HTTP、HTTPs
FTP(文件传输协议)是一种用于在客户端与服务器之间进行文件传输的标准网络协议。
电子邮件使用了多种协议来实现邮件的发送、接收和存储。最主要的协议包括:SMTP(Simple Mail Transfer Protocol)、POP3(Post Office Protocol 3)、和IMAP(Internet Message Access Protocol)。
万维网(World Wide Web,简称WWW)是通过HTTP协议和HTML网页技术构建的全球信息网络,允许用户通过网页浏览器在互联网上访问各种内容。
HTTP(超文本传输协议)是用于客户端和服务器之间通信的协议,主要用于传输网页资源。
HTTPS是HTTP协议的安全版本,它通过在HTTP上增加一个加密层来保障数据的安全传输。该加密层通常是SSL(Secure Sockets Layer)或TLS(Transport Layer Security)协议。
这些协议共同构成了互联网中不同类型的数据通信方式,满足了文件传输、网页浏览、电子邮件等不同场景下的需求。
动态路由规划算法
动态路由算法主要用于路由器之间交换路由信息,帮助网络设备动态选择最佳路径传输数据。常见的动态路由协议大致可以分为距离矢量路由算法和链路状态路由算法。以下详细介绍几种常见的动态路由规划算法:
距离矢量路由算法是基于跳数和距离的路由选择算法。每个路由器维护一个路由表,记录到其他网络节点的距离(跳数)和下一跳路由器。常见的距离矢量路由协议包括RIP协议。
RIP 是一种早期的动态路由协议,基于距离矢量算法。它使用跳数作为度量标准来确定到达目的地的最佳路径。RIP会周期性地将其路由表广播给邻居路由器,邻居收到信息后更新自己的路由表。
链路状态路由算法每个节点维护整个网络的拓扑结构,并通过计算每条链路的成本来选择最佳路径。常见的链路状态路由协议有OSPF协议。
OSPF 是一种链路状态路由协议,广泛应用于大型企业网络。它采用Dijkstra算法计算从源节点到所有节点的最短路径。
路径矢量路由算法是距离矢量路由算法的扩展,主要用于自治系统之间的路由选择。其核心思想是,不仅传递到目的地的距离,还传递完整的路径信息,以避免环路问题。常见的路径矢量协议是BGP协议。
BGP 是互联网的核心路由协议,用于在不同自治系统(AS)之间交换路由信息。每个BGP路由器会向相邻的BGP路由器发送其路由表,并包含通向目标网络的路径信息。
一些路由协议结合了距离矢量算法和链路状态算法的特点,以期在性能和收敛速度之间取得平衡。常见的混合路由协议是EIGRP协议。
EIGRP 是Cisco开发的增强型内部网关路由协议,它结合了距离矢量和链路状态的特点,是一种高效的混合路由协议。
这些动态路由算法各有特点,适用于不同规模和需求的网络,选择时应考虑网络拓扑、规模、设备支持和管理复杂性等因素。