网络基础原理
也许,过去这一年,
你想赚点钱,结果没赚到;
你想搞对象,结果没搞到;
你想瘦下去,结果变胖了……
但是,咱业务上至少比踢球的强吧?
别想那么多,有钱没钱,回家过年!
隔壁狗剩过年开了辆法拉利回来,
街坊都上去围观,我觉得很可笑。
我问他会不会Java和MySQL?
他说,他听过但不会。
我又问他会不会网络原理?
他说,他听都没听过。
这人光有几个臭钱,没一点真本事,
开着法拉利我也瞧不起他。
我独自站在人群外面,
看着街坊跟乡巴佬一样围观法拉利,
心里一阵莫名的空虚,
这个世界,强者终归是孤独的。
我默默打开了CSDN技术交流站,
开始在站里指点江山。
“我不能,和你喝的一样多。
“但可以,和你喝的一样醉。”
仅供学习使用,大纲思维导图及参考地址:计算机网络知识汇总(超详细整理)_计算机网络全局理解-CSDN博客
一、计算机网络概述
1、互联网的构成
1.1、组成结构
互联网的拓扑结构非常复杂 ,并且在地理位置上覆盖了全球,从工作方式上看,可以划分为两大块:
1)边缘部分 这部分由所有连接在互联网上的主机组成。这部分是用户直接使用的,用来进行通信和资源共享。
2)核心部分 由大量网络和连接这些网络的路由器组成。这部分用来为边缘部分提供服务。
1.2、边缘部分
处在互联网边缘的部分就是连接在互联网上的所有主机。这些主机通常又被称为端系统(end system)或终端。端系统的拥有者可以是个人,也可以是单位(比如:学校、公司、政府等),当然也可以是某个ISP(Internet Service Provider)。边缘部分利用核心部分所提供的服务,使众多主机之间能够相互通信并交换或共享数据信息。
在网络边缘的端系统之间的通信方式可以划分为两大类:客户-服务器方式(C/S)和对等连接方式(P2P),下面分别介绍。
-2.1、客户-服务器方式
这种方式也是互联网上最常用的,也是传统的方式。比如我们使用 WEB 应用与发送电子邮件时,使用的都是这种方式。客户(client)和服务器(server)都是指通信中所涉及的两个进程。客户-服务器方式所描述的是进程之间服务和被服务的关系。
客户程序:
1)在通信时主动像远程的服务器发起通信,因此客户端程序必须知道服务器的地址。 2)不需要什么特殊的硬件和复杂的操作系统支持。
服务器程序:
1)是一种专门用来提供某种服务的程序,可同时处理多个远程或本地客户的请求。 2)系统启动后即自动调用并一直不断的运行着,被动的等待并接受来自各地的客户端的请求。因此服务器程序不需要知道客户程序的地址。 3)一般需要较强大的硬件和高级的操作系统支持。
-2.2、对等连接方式
对等连接(peer-to-peer)是指两台主机在通信时并不区分哪一个是服务请求方哪一个是服务提供方。只要两台主机都运行了对等连接软件,就可以进行平等的、对等连接通信。
1.3、核心部分
通过上面的介绍我们也可以看出来,终端之间不管是通过客户-服务器方式还是通过对等连接方式进行通信,都需要通过网络核心。网络核心部分可以说是互联网中最复杂的部分,因为网络中的核心部分要向网络边缘中的大量主机提供联通性,使边缘部分中的任何一台主机都能够与其他主机通信。
网络核心部分最重要的功能是路由和转发,起到这个作用的是路由器,路由器是实现分组交换的关键构件。那么在互连的路由器网络中,数据是如何从源主机到达目的主机的呢?答案是数据交换。下面介绍几种数据交换的类型。
3.1、电路交换(circuit switching)
整个报文的比特流连续不断的从源点到达终点,就像在一根管道中传送。电路交换最典型的应用就是电话网络,虽然电话的发明已经有了很长时间的历史,电话交换机也经过了多次更新换代,但是交换的方式一直是电路交换。当电话机的数量增多时,就需要使用彼此相连的交换机来完成全网的交换任务。使用这样的方法,就构成了覆盖全世界的电信网。
当使用电路交换来传送计算机的数据时,线路的传输效率往往是很低的。因为计算机的数据往往是突发式的出现在传输线路上,因此线路上真正用来传输数据的时间通常不到10%甚至更低。所以说用户占用的通信线路资源在绝大多数时间内都是空闲的。(解析: 线路的传输效率太低。计算机的数据是突发式地出现在传输线路的,线路上真正传输数据的时间是很短的,大部分时间都是空闲的。而电路交换的通信过程是一直占用着通信线路的,所以用电路交换的方式来传送计算机突发式数据,会极大地浪费通信资源。-浪费可耻)
3.2、报文交换(message switching)
整个报文先传送到相邻的节点,全部存储下来后查找转发表,转发到下一个节点,最终到达终点。
3.3、分组交换
将报文拆分成一系列相对较小的数据包,单个数据包传送到相邻节点,存储下来后查找转发表,转发到下一个节点。在发送报文之前,先把较长的一段报文划分成一个个更小的等长数据段,然后在每一个数据段前面加上一些必要的控制信息组成的首部后,就构成了一个分组。分组通常又被称为“包”,分组的首部也可以成为“包头”。
分组的首部通常包含了目的地址和原地址等重要的控制信息,正是因为这样,每一个分组才能在互联网中独立选择地选择传输路径,最终被正确的交付到分组传输的终点。
结:报文交换与分组交换都采取存储转发技术。区别是报文交换以完整的报文进行“存储转发”,分组交换是以较小的分组进行“存储转发”。
当路由器收到一个分组时,会暂时存储一下,检查其首部,查找转发表,按照首部中的目的地址,找到合适的接口转发出去,把分组交给下一个路由器。 这样一步步地以存储转发的方式(期间可能经过几十个不同的路由器),把分组交付给最终的目的主机。各个路由器之间必须经常交换彼此掌握的路由信息,以便创建和动态维护路由中的转发表。
路由表与转发表 参考:https://wenku.baidu.com/view/e89e7b6d52d380eb63946d76.html
路由表与转发表灵境矩阵解答: 路由表和转发表是计算机网络中的两个重要概念,它们在数据包转发过程中起着关键作用。 路由表(Routing Table)是一个存储路由信息的表,它包含了网络中的路由信息以及如何通过路由器或网络设备进行数据包转发的决策。路由表通常由路由器或网络设备使用路由选择协议(如RIP、OSPF、BGP等)自动生成,并根据网络拓扑的变化动态更新。在路由表中,每个条目都包含目标网络地址、子网掩码、下一跳地址和出口接口等信息,用于指导数据包按照最佳路径进行转发。 转发表(Forwarding Table)则是路由器或网络设备用于实际转发数据包的表。转发表根据路由表生成,但通常包含更详细的信息,如MAC地址、VLAN标签等,以便在数据链路层进行转发。当路由器或网络设备接收到一个数据包时,它会查找转发表以确定数据包应该从哪个接口转发出去,以及是否需要修改数据包的头部信息(如修改MAC地址)。 总的来说,路由表负责决策数据包的转发路径,而转发表则负责实际执行数据包的转发操作。在网络通信中,路由表和转发表协同工作,确保数据包能够按照正确的路径到达目的地。
分组在传输时一段一段的连续占用通信资源,中间还省去了建立连接和释放连接的开销,因而数据的传输效率更高。对于突发式的计算机数据来说非常合适,提高了通信线路的利用率。
3.4、数据交换类型总结
GPT4.0解答:
数据交换是计算机科学和信息技术中的一个核心概念,指的是信息或数据在不同设备、程序或系统之间的传输过程。以下是一些常见的数据交换类型及其简要描述:
1.电路交换:
原理
:在通信双方之间建立一条专用的物理或逻辑电路,直到通信结束。 特点
:通信期间,电路资源被独占,适用于大量连续数据的传输。 示例
:传统的电话网络。
2.报文交换:
原理
:信息以报文(完整的逻辑信息单元)为单位进行存储转发。 特点
:报文的大小和目的地址附在每个报文上,中间节点负责存储和转发。 示例
:电子邮件系统。
3.分组交换:
原理
:将长报文划分为较小的、固定长度的数据分组进行传输。 特点
:每个分组独立路由,提高了网络效率;但可能会导致乱序、丢失或重复。 示例
:IP网络中的数据包传输。
这些数据交换类型各有其特点和适用场景,选择哪种类型取决于特定的网络需求、性能要求和成本考虑。随着技术的发展,新的数据交换技术也不断涌现,例如软件定义网络(SDN)中的流交换等。
如要连续的传送大量的数据,且传送时间远大于连接建立时间,则电路交换的传输速率较快。报文交换与分组交换不需要预先分配带宽,在传输突发数据时可以提高整个网络的信道利用率。相较于报文交换,分组交换具有交换时延小,灵活性更小的特点。
2、网络分类
个域网PAN( Personal Area Network )
-
能在便携式消费电器与通信设备之间进行短距离通信的网络
-
覆盖范围一般在10米半径以内,如蓝牙耳机等
局域网LAN(Local Area Network)
-
局部地区形成的区域网络,如企业网络
-
分布地区范围有限,可大可小,大到一栋建筑、小到办公室内的组网
-
电脑WLAN接入,打印机共享等等
城域网MAN(Metropolitan Area Network )
-
范围覆盖一个城市的网络
广域网WAN(Wide Area Network)
-
覆盖很大地理区域,乃至覆盖地区和国家
无线网络
-
不使用物理线缆进行连接的网络,包括Wi-Fi、移动数据网络等。
有线网络
-
使用物理线缆(如以太网电缆、光纤等)进行连接的网络。
虚拟专用网络(VPN)
-
在公共网络上建立的加密通道,用于远程访问公司内部网络资源时保护数据安全。
3、接入网
接入网的用途
-
接入网的用途是将主机连接到边缘路由器上
-
边缘路由器是端系统Host去往任何其他远程端系统的路径上的第一台路由器
各种异构网络通过边缘路由器接入
接入网分类:
-
光纤到户FTTH
-
光纤到户(FTTH)是一种光纤通信的传输方法,具体说,FTTH是指将光网络单元(ONU)安装在住家用户或企业用户处,是光接入系列中除FTTD(光纤到桌面)外最靠近用户的光接入网应用类型。这种接入方式可以提供更高的带宽和更稳定的连接,是目前最先进的宽带接入方式之一。
-
FTTH的显著技术特点是不但提供更大的带宽,而且增强了网络对数据格式、速率、波长和协议的透明性,放宽了对环境条件和供电等要求,简化了维护和安装。在FTTH网络中,无论用户家中有多少台计算机、多少部电话或者多少种智能终端设备,都可以通过同一个光纤网络进行连接和通信。
-
带宽大:光纤的传输带宽远大于铜线或电缆,可以提供更高的下载和上传速度。
-
稳定性好:光纤传输不受电磁干扰,因此可以提供更稳定的连接。
-
距离远:光纤传输的损耗小,可以覆盖更远的距离。
-
安全性高:光纤传输难以被窃听或干扰,因此可以提供更高的安全性。
-
-
数字用户线DSL
-
DSL(Digital Subscriber Line)意为数字用户线路,是指以电话线为传输介质的传输技术组合。DSL包括ADSL(Asymmetric Digital Subscriber Line,非对称数字用户线)、RADSL、HDSL和VDSL等等 [1]。DSL技术在传递公用电话网络的用户环路上支持对称和非对称传输模式,解决了经常发生在网络服务供应商和最终用户间的“最后一公里”传输瓶颈问题。由于DSL 接入方案无需对电话线路进行改造,可以充分利用已经被大量铺设的电话用户环路,所以可以大大降低额外的开销。因此,利用铜缆电话线提供更高速率的因特网接入更受用户的欢迎,在一些国家和地区得到大量应用。
-
数字用户线DSL(Digital Subscriber Line)是一种高速数据传输技术,它利用现有的电话线进行高速数据传输。DSL技术在传输数据时,使用了更先进的调制技术,可以在同一对电话线上同时传输语音和数据信号,而互不干扰。这使得DSL成为了一种非常适合家庭和小型企业使用的高速互联网接入技术。
-
DSL有多种不同的类型,包括ADSL(非对称数字用户线)、SDSL(对称数字用户线)和VDSL(甚高速数字用户线)等。这些不同类型的DSL技术,在数据传输速率、传输距离、价格等方面都有所不同,用户可以根据自己的需求选择合适的DSL类型。
-
与传统的拨号上网相比,DSL具有更高的数据传输速率和更稳定的连接性能。同时,由于DSL利用了现有的电话线进行传输,因此用户无需重新布线,安装和使用都非常方便。
-
需要注意的是,DSL的传输速率受到多种因素的影响,包括电话线的质量、传输距离、噪声干扰等。因此,在选择DSL接入服务时,用户需要了解自己所在地区的电话线路状况,以及服务商所提供的DSL类型和速率等信息,从而选择最适合自己的DSL接入方案。
-
-
同轴电缆
-
“同轴电缆”是一种电线及信号传输线,一般是由四层物料造成:最内里是一条导电铜线,线的外面有一层塑胶(作绝缘体、电介质之用)围拢,绝缘体外面又有一层薄的网状导电体(一般为铜或合金),然后导电体外面是最外层的绝缘物料作为外皮。它可用于模拟信号和数字信号的传输,适用于各种各样的应用,包括有线电视、宽带互联网和局域网等。其主要优点是结构简单、传输效率高、抗干扰能力强等。
-
-
无线接入
-
看我另一篇文章:无线接入的概述:http://t.csdnimg.cn/sypXM
-
无线网络接入技术是一种将计算机或其他设备连接到无线网络的技术。它可以让用户在没有物理连接的情况下访问网络资源,如互联网、内部网络等。常见的无线网络接入技术包括Wi-Fi、蓝牙、Zigbee等。
-
Wi-Fi是一种广泛使用的无线网络接入技术,它可以让用户在一定的范围内连接到无线网络,并通过无线网络访问互联网或其他资源。蓝牙则是一种短距离无线通信技术,常用于连接手机、耳机、打印机等设备。Zigbee则是一种低功耗、短距离的无线通信技术,常用于智能家居、工业自动化等领域。
-
-
企业和家庭网络
-
企业网络通常需要支持大量的用户和设备,同时需要保证数据的安全性和可靠性。因此,企业网络通常采用更加复杂和安全的网络架构,包括防火墙、入侵检测系统、虚拟专用网络(VPN)等安全措施。此外,企业网络还需要支持各种业务应用,如电子邮件、文件共享、视频会议等,这些应用需要稳定的网络连接和高带宽。
-
相比之下,家庭网络的需求和环境要简单得多。家庭网络通常只需要支持少量的用户和设备,而且数据的安全性和可靠性要求相对较低。因此,家庭网络通常采用更加简单和易于管理的网络架构,如无线路由器和宽带调制解调器等。此外,家庭网络还需要支持各种娱乐应用,如在线游戏、视频流媒体等,这些应用需要良好的网络质量和足够的带宽。
-
4、网络核心的两大功能
-
网络核心的主要功能包括数据传输和网络资源的管理与分配。数据传输是指将信息从一个节点(可以是计算机、手机、服务器等设备)传输到另一个节点的过程,它通过各种网络协议确保数据的准确传输和完整性。而网络资源的管理与分配则涉及到对网络中的带宽、IP地址、域名等资源的有效管理和分配,以确保网络的高效运行和满足用户的需求。
-
具体来说,数据传输是网络核心的基本功能之一,它允许用户在不同设备之间共享和交换信息。无论是浏览网页、发送电子邮件、观看在线视频还是进行在线游戏,都需要通过网络核心进行数据传输。
-
另一方面,网络资源的管理与分配对于网络的正常运行至关重要。网络资源的管理包括对网络流量的监控和控制,以防止网络拥塞和性能下降。网络资源的分配则涉及到根据用户的需求和网络状况动态地分配带宽、IP地址等资源,以确保用户能够顺畅地访问网络资源。
5、网络分层
常见的网络协议HTTP、TCP/IP、UDP 参考:常见的网络协议HTTP、TCP/IP、UDP等【知识点整理】_常用网络协议-CSDN博客
5.1、OSI 7层模型
数据链路层 (Data Link Layer)
数据链路层是OSI(开放系统互联)模型中的第二层,位于物理层和网络层之间。它负责在网络节点之间建立、维护和释放数据链路连接,以及进行帧同步、差错控制和流量控制等功能。数据链路层的主要目的是将原始的、可能出错的物理线路改进成对网络层来说没有错误的数据链路。
-
实现相邻(Neighboring)网络实体间的数据传输
-
成帧(Framing):从物理层的比特流中提取出完整的帧
-
错误检测与纠正:为提供可靠数据通信提供可能
-
物理地址(MAC address):48位,理论上唯一网络标识,烧录在网卡,不便更改
-
流量控制,避免“淹没”(overwhelming):当快速的发送端遇上慢速的接收端,接收端缓存溢出
-
共享信道上的访问控制(MAC):同一个信道,同时传输信号。如同:同一个Wifi热点(AP)连接着多个无线用户(手机),则多个用户同时需要发送数据,如何控制发送顺序?
网络层 (Network Layer)
-
OSI(开放系统互联)模型中的网络层是第三层,位于数据链路层和传输层之间,负责处理数据包在网络中的传输路径。
-
逻辑寻址:网络层使用逻辑地址(即IP地址)来标识网络中的设备。每个设备都有一个唯一的IP地址,这使得数据包能够准确地从源设备传输到目标设备。
-
路由选择:网络层通过路由选择算法确定数据包的传输路径。路由器根据路由表选择最佳的路径将数据包从一个网络转发到另一个网络,直到达到目标设备。
-
数据包转发:网络层负责将数据包从源设备封装成数据报或数据包,并添加必要的头部信息,然后通过物理网络进行传输。在目标设备处,网络层负责解封装数据包并将其传递给上层协议。
-
拥塞控制:网络层还参与拥塞控制,通过一系列算法和机制来避免网络拥塞,确保数据包的可靠传输。当网络出现拥塞时,网络层可以采取措施,如减少数据包的发送速率,以减轻网络负载。
-
除了上述功能外,网络层还涉及一些重要的协议,如IP(Internet Protocol)、ICMP(Internet Control Message Protocol)、ARP(Address Resolution Protocol)和RARP(Reverse Address Resolution Protocol)等。这些协议共同协作,确保数据包能够在网络中正确、高效地传输。
传输层 (Transport Layer)
-
将数据从源端口发送到目的端口(进程到进程)
-
网络层定位到一台主机(host),传输层的作用域具体到主机上的某一个进程
-
网络层的控制主要面向运营商,传输层为终端用户提供端到端的数据传输控制
-
两类模式:可靠的传输模式,或不可靠传输模式
-
可靠传输:可靠的端到端数据传输,适合于对通信质量有要求的应用场景,如文件传输等
-
不可靠传输:更快捷、更轻量的端到端数据传输,适合于对通信质量要求不高,对通信响应速度要求高的应用场景,如语音对话、视频会议等
会话层 (Session Layer)
-
负责在网络中的两个节点之间建立、管理和终止会话。
-
会话建立:会话层负责在通信双方之间建立会话,确保会话的正确初始化。这包括确定通信参数、协商会话参数以及建立连接等步骤。
-
会话管理:会话层管理已经建立的会话,确保数据的顺序传输和正确处理。它提供了同步点,用于在通信中标记特定的消息或事件,以便在需要时可以回滚到某个同步点。会话层还负责在会话中进行对话控制,包括数据交换的定界和同步,对数据的发送和接收进行控制和管理。
-
会话终止:会话层负责在通信结束时正确地终止会话。这包括释放资源、清除会话状态以及发送终止消息等步骤。
-
需要注意的是,在实际的网络通信中,会话层的功能可能与其他层次有所重叠,并且不同的网络协议和实现方式可能对会话层的具体功能有所不同。然而,会话层的核心目标是提供可靠和有序的会话控制,以支持各种网络应用和服务。
-
会话层使用的协议有ZDAP(Zero Day Attack Protection,零日攻击保护)、ADSP(AppleTalk Data Stream Protocol,AppleTalk数据流协议)等,但实际应用中这些协议并不常用。在TCP/IP协议族中,会话层的功能被传输层的TCP和UDP协议所涵盖。
表示层(Presentation Layer)
-
表示层负责处理在两个通信系统中交换信息的语法和语义问题。它的主要功能包括数据格式转换、数据加密与解密、数据压缩与解压缩等,以确保不同系统之间的数据能够正确地理解和解释。
-
在数据格式转换方面,表示层将来自应用层的数据转换成适合网络传输的格式,或者将来自网络的数据转换成应用层能够理解的格式。例如,将文字从一种字符集转换为另一种字符集,或者将图像数据从一种格式转换为另一种格式。
-
在数据加密与解密方面,表示层提供了数据加密功能,以保护数据在传输过程中的安全性。它可以将敏感数据进行加密处理,以防止未经授权的访问和数据泄露。
-
在数据压缩与解压缩方面,表示层可以压缩数据以减少传输所需的时间和带宽。当接收方收到压缩后的数据时,表示层负责将其解压缩还原成原始数据。
-
需要注意的是,在实际的网络通信中,表示层的功能可能与其他层次有所重叠,并且不同的网络协议和实现方式可能对表示层的具体功能有所不同。然而,表示层的核心目标是提供一种标准的、独立于应用层的数据表示方式,以促进不同系统之间的互操作性。
应用层(Application Layer)
-
OSI(开放系统互联)模型中的最高层,也是与用户直接交互的一层。
-
应用层负责为用户提供各种网络应用服务,例如网页浏览、电子邮件、文件传输、远程登录等。它提供了应用程序之间的通信接口,支持应用程序之间的数据交换和协同工作。
-
在应用层中,有许多常见的协议,如HTTP(超文本传输协议)用于Web浏览器和Web服务器之间的通信,SMTP(简单邮件传输协议)用于电子邮件的发送,FTP(文件传输协议)用于文件的上传和下载,DNS(域名系统)用于将域名解析为IP地址等。
-
应用层协议通常是基于文本的,易于人类阅读和理解。它们通过特定的命令和响应格式来实现应用程序之间的通信,并提供了错误处理和身份验证等安全功能。
-
需要注意的是,在实际的网络通信中,应用层的功能可能与其他层次有所重叠,并且不同的网络协议和实现方式可能对应用层的具体功能有所不同。然而,应用层的核心目标是提供一种标准的、独立于底层网络技术的应用程序通信方式,以支持各种网络应用和服务。
5.2、TCP/IP 4层模型
传输控制协议/因特网互联协议,TCP/IP是Internet最基本、最广泛的协议。它定义了计算机如何连入因特网,以及数据如何在它们之间传输的标准。它的内容包含一系列的用于处理数据通信的协议,并采用4层分层模型。
每一层都呼叫它的下一层所提供的协议来完成自己的需求。
-
链路层(网络接口层):定义物理传输通道,通常是对某些网络连接设备的驱动协议,例如针对光纤、网线提供的驱动。
-
网络层(互联网层):是整个TCP/IP协议的核心,主要用于将传输的数据进行分组,将分组的数据发送到目标计算机或网络。
-
传输层:主要负责网络通信,在进行网络通信时,可以采用TCP协议,也可以采用UDP协议。
-
应用层:主要负责应用程序的协议,例如Http协议,FTP协议等。(比如访问网站时必须遵循https协议)
5.3、两种(OSI 7层模型与 TCP/IP 4层模型)模型比较
OSI(开放系统互联)模型和TCP/IP模型都是网络通信中常用的模型,但它们之间有一些差异。下面是它们之间的比较:
OSI 7层模型:
-
物理层(Physical Layer)
-
数据链路层(Data Link Layer)
-
网络层(Network Layer)
-
传输层(Transport Layer)
-
会话层(Session Layer)
-
表示层(Presentation Layer)
-
应用层(Application Layer)
TCP/IP 4层模型:
-
网络接口层(Network Interface Layer,大致对应OSI的物理层和数据链路层)
-
网络层(Network Layer,对应OSI的网络层)
-
传输层(Transport Layer,对应OSI的传输层)
-
应用层(Application Layer,对应OSI的会话层、表示层和应用层)
主要差异:
-
层次数量:OSI模型包含7个层次,而TCP/IP模型只有4个层次。OSI模型在描述网络通信过程中更加详细,将功能细分为更多的层次。而TCP/IP模型更加简洁,将某些功能合并到更少的层次中。
-
层次对应关系:虽然两个模型在某些层次上有对应关系,但它们并不完全一一对应。例如,TCP/IP模型的网络接口层涵盖了OSI模型的物理层和数据链路层的功能。另外,TCP/IP模型的应用层对应OSI模型的会话层、表示层和应用层,意味着TCP/IP模型在应用层上更加综合。
-
协议和应用:OSI模型是一个理论模型,用于描述和标准化网络通信过程,但并没有广泛的实际应用。而TCP/IP模型是实际应用中广泛使用的模型,其中的TCP和IP协议是互联网通信的基础。
OSI 7层模型的缺点:
-
复杂性:OSI模型包含7个层次,这使得它相对复杂。在实际的网络通信中,很难明确地区分每个层次的功能和边界。
-
实现困难:由于OSI模型的复杂性,完全按照该模型实现的网络系统很少见。许多实际使用的协议和网络技术并不完全符合OSI模型的标准。
-
冗余:在某些情况下,OSI模型的层次之间存在功能冗余。例如,会话层和表示层在某些应用中可能并不需要,但它们仍然存在于模型中。
TCP/IP 4层模型的缺点:
-
层次较少:虽然TCP/IP模型的简洁性是其优点之一,但这也意味着它的层次较少,功能划分不如OSI模型细致。这可能导致在某些情况下,TCP/IP模型难以准确地描述网络通信的某些方面。
-
缺乏标准化:TCP/IP模型最初是为互联网设计的,并没有像OSI模型那样经过广泛的标准化过程。这可能导致不同厂商和设备在实现TCP/IP协议时存在差异。
-
不易扩展:由于TCP/IP模型的层次较少且功能划分较粗,这使得它在面对新的网络技术和应用时可能不易扩展。需要在现有层次上增加新功能或开发新的协议来支持新的需求。
需要注意的是,尽管OSI模型和TCP/IP模型在理论上存在差异,但它们在实际应用中经常一起使用,相互补充。许多网络技术和协议都参考了这两个模型,并从中吸取了它们的优点。因此,了解这两个模型对于理解网络通信原理和技术非常重要。
二、物理层
OSI(开放系统互联)模型中的第一层。
-
物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体。
-
物理层的作用是要尽可能地屏蔽掉不同传输媒体和通信手段的差异。
-
用于物理层的协议也常称为物理层规程 (procedure)。
2.1、物理介质
1. 引导型介质
一种特殊的传输介质,主要用于有线通信系统中。它通常指的是一种具有物理结构的传输线,能够引导电磁波或光波沿着特定的路径进行传输。
常见的引导型介质包括双绞线、同轴电缆和光纤等。这些介质在物理层中起到了非常重要的作用,因为它们直接影响到数据的传输质量和速度。
光纤
-
由玻璃或塑料制成的细长纤维,能够传输光信号。光纤具有极高的传输带宽、低损耗和抗干扰能力,因此在长距离和高速通信中得到了广泛应用。
-
高速运行 高速点对点传输(10-100 Gbps)
-
低错误率 中继器相距很远,对电磁噪声免疫
双绞线
-
由两根相互绝缘的铜导线组成,通常用于低速或短距离通信,如电话线或以太网电缆。
-
两根绝缘铜线互相缠绕为一对
-
电话线为1对双绞线,网线为4对双绞线,广泛用于计算机网络(以太网)双向传输
-
第5类:100 Mbps~1 Gbps;第6类:10Gbps
-
传输距离一般为为100米
-
GPT4 回答参考:双绞线是一种常见的网络传输介质,由两根具有绝缘保护层的铜导线组成。这两根铜导线按一定密度互相绞在一起,可降低信号干扰的程度。双绞线一般用于星型网络的布线,每条双绞线通过两端安装的RJ-45连接器(俗称水晶头)将各种网络设备连接起来。双绞线的价格相对便宜,并且安装简单,是目前局域网中最常用的传输介质之一。根据传输速率的要求,双绞线可分为多种类别,如Cat5、Cat5e、Cat6等。在百兆局域网中,一般采用Cat5或Cat5e双绞线,而在千兆局域网中,则需要使用Cat6或更高级别的双绞线。
同轴电缆
-
由内导体、绝缘层、外导体和护套组成,具有较好的屏蔽性能和较高的传输带宽,常用于有线电视和高速数据网络。
-
两根同心铜导线,双向传输
-
电缆上的多个频率通道
-
带宽可达100Mbps
-
传输距离一般为200米
-
GPT4回答参考:同轴电缆是一种引导型传输介质,它由内导体、绝缘层、外导体和护套组成。这种结构使得同轴电缆具有较好的屏蔽性能和较高的传输带宽,常用于有线电视和高速数据网络等应用场景。与双绞线相比,同轴电缆的传输距离更远,抗干扰能力更强。但是,它的价格相对较高,安装和维护也比较复杂。
2. 非引导型介质
非引导型介质是指无线通信中使用的传输介质,与引导型介质(如有线通信中的双绞线、同轴电缆和光纤等)相对。非引导型介质不需要物理连接来传输数据,而是通过空气、真空或水等介质传输电磁波或光波来实现通信。常见的非引导型介质包括无线电波、微波、红外线和激光等。这些介质在无线通信、卫星通信、移动通信等领域得到了广泛应用。与引导型介质相比,非引导型介质具有更大的灵活性和便利性,但也面临着更多的干扰和安全问题。
无线电
-
电磁频谱中各种“波段”携带的信号
-
没有物理“电线”
-
不依赖介质的广播
-
半双工(发送方到接收方)
-
GPT回答参考:
-
无线电是指在自由空间(包括空气和真空)中传播的电磁波,是其中的一个有限频带,上限频率在300GHz(吉赫兹),下限频率较不统一, 在各种射频规范书, 常见的有三类,即:1.357kHz及以下的频率划分为无线低频;2.3MHz到30MHz的频率划分为无线中频;3.30MHz到300MHz的频率划分为无线高频,而300MHz以上到300GHz的频率划分为无线甚高频;有时,将30MHz到3000GHz的频率范围称为无线电波。
-
无线电技术是通过无线电波传播信号的技术。在天文学上,无线电波被称为射电波,因为它们的产生方式都是通过加速器中的电子在磁场的作用下做有规律的运动,所以又被称为电磁波。而习惯上,人们把低频率范围的电磁波称为无线电波,在不同频率上工作的无线电波,有不同的传播特性和不同的应用范围。
-
此外,无线电波是一种能量传播形式,电场和磁场在空间中是相互垂直的,并都垂直于传播方向,在真空中的传播速度等同于光速。
-
无线链路类型
-
无线局域网(WiFi)
-
无线局域网(WLAN)链路是一种无线网络技术,它允许计算机和其他设备在局部区域内(如家庭、办公室、咖啡馆等)通过无线方式连接并进行通信。无线局域网链路基于IEEE 802.11标准,通常被称为Wi-Fi,这是一种广泛使用的无线通信技术。
-
在无线局域网中,设备通过无线接入点(AP)或者无线路由器连接到网络。这些设备可以发送和接收无线电信号,使得在这个局部区域内的设备可以相互通信,并且可以连接到互联网或者其他网络。
-
无线局域网链路具有以下特点:
-
灵活性:无线局域网不需要布线,因此可以轻松地扩展网络,添加新设备或者移动设备位置。
-
高速传输:无线局域网支持高速数据传输,可以满足大多数日常应用的需求。
-
易于使用:无线局域网设备通常易于设置和使用,用户可以通过简单的操作连接到网络。
需要注意的是,无线局域网链路也存在一些缺点,如信号干扰、安全性问题等。因此,在设置和使用无线局域网时,需要注意这些问题,并采取相应的措施来保障网络的稳定性和安全性。
-
-
-
广域(如3/4/5G蜂窝)
-
在约10公里范围内
-
广域网络主要指的是覆盖广大地理区域的无线网络,其中最常见的就是3G、4G和5G蜂窝移动通信网络。
-
3G网络:第三代移动通信技术,提供了比第二代更高的数据传输速率,支持更丰富的多媒体服务,如视频通话、移动互联网接入等。
-
4G网络:第四代移动通信技术,相比3G,4G提供了更快的数据传输速率,更低的延迟,和更好的移动性。4G LTE(Long Term Evolution)是目前全球广泛部署的4G标准。
-
5G网络:第五代移动通信技术,是最新一代的蜂窝移动通信技术。5G提供了超高的数据传输速率(比4G快数十倍),极低的延迟,和更高的设备连接密度。这使得5G能够支持更多的应用场景,如自动驾驶、远程医疗、物联网等。
在蜂窝移动通信网络中,无线链路是通过基站(Base Station)和用户设备(如智能手机、平板电脑等)之间的无线电波进行建立的。基站负责将用户设备的信号转发到核心网络,以及将核心网络的信号转发给用户设备,从而实现用户设备与其他设备或网络的通信。
-
-
-
蓝牙
-
蓝牙(Bluetooth)是一种无线链路类型,它是一种近距离的无线通信技术,主要用于设备之间的短距离通信和数据传输。蓝牙通过无线电波在设备之间建立连接,并允许它们互相通信和交换数据。
-
蓝牙技术广泛应用于各种设备中,如智能手机、平板电脑、耳机、音箱、键盘、鼠标等。通过蓝牙连接,这些设备可以互相配对并建立通信,实现数据的传输和共享。例如,你可以使用蓝牙耳机与手机连接,接听电话或播放音乐,而无需使用线缆连接。
-
蓝牙具有低功耗、低成本和易于使用的特点。它可以在短距离内提供相对稳定的连接,并且支持多个设备之间的同时连接。蓝牙还提供了安全性功能,如加密和身份验证,以保护传输的数据的安全性。
-
需要注意的是,蓝牙的传输距离相对较短,通常在10米左右,具体距离取决于设备和环境。此外,蓝牙的传输速率相对较低,适合传输小量数据或音频流,但对于大文件传输可能较慢。
-
-
地面微波
-
无线链路类型中,地面微波是一种重要的通信技术。地面微波通信是利用微波频段(通常在300MHz到300GHz之间)的电磁波在地球表面附近进行信息传播的方式。
-
地面微波通信系统主要由发射机、接收机、天线和传输线路等组成。发射机将信息转换为微波信号,通过天线向空中发射。接收机接收到微波信号后,再将其转换回原始信息。地面微波通信可以在视线范围内进行传输,因此通常需要建立高塔或选择高地来确保通信的可靠性。
-
地面微波通信具有传输容量大、传输速度快、抗干扰能力强等优点。它可以提供高速的数据传输服务,适用于长途通信、移动通信和宽带接入等场景。此外,地面微波通信还可以与其他通信方式(如光纤通信、卫星通信)进行互补,构建更为灵活和可靠的通信网络。
-
然而,地面微波通信也存在一些局限性,如传输距离受限、受地形和建筑物遮挡影响等。因此,在实际应用中,需要综合考虑各种因素,选择合适的无线链路类型来满足通信需求。
-
-
同步卫星
-
36000km高空, 280毫秒的往返时延
-
无线链路类型中,同步卫星是一种特殊的通信链路。同步卫星是位于地球同步轨道上的卫星,它与地球自转保持同步,因此相对于地球表面上的某一点来说,它始终保持在同一位置上方。这使得同步卫星能够实现广覆盖、持续稳定的通信服务。
-
同步卫星通信系统由地面站、卫星和用户终端组成。地面站负责将信号发送到卫星,卫星接收到信号后,经过放大和处理,再将信号转发到用户终端。用户终端可以是各种通信设备,如手机、电视接收机等。
-
同步卫星通信具有覆盖范围广、通信容量大、传输质量好等优点。它可以实现全球或区域性的通信覆盖,为远洋航行、偏远地区提供通信服务。此外,同步卫星还可以用于广播电视信号的传输,为广大用户提供多样化的娱乐和信息服务。
-
需要注意的是,同步卫星通信也存在一些缺点,如传输延迟较大、建设成本高等。因此,在实际应用中,需要综合考虑各种因素,选择合适的无线链路类型来满足通信需求。
-
-
低轨卫星
-
低轨卫星(Low Earth Orbit Satellite,LEO Satellite)是无线链路类型中的一种,它位于地球低轨道上,通常距离地面高度在几百公里到两千公里之间。低轨卫星通信系统由一系列低轨道卫星和地面站组成,通过卫星之间的接力传输和地面站的连接,实现全球或区域性的通信覆盖。
-
低轨卫星具有较低的传输延迟和较高的信号强度,因为它们距离地面较近,信号传输路径相对较短。这使得低轨卫星在提供实时通信服务方面具有优势,如语音通话、数据传输等。此外,低轨卫星还可以用于遥感监测、导航定位、科学研究等领域。
-
需要注意的是,低轨卫星的覆盖范围相对较小,需要多个卫星组成星座才能实现全球覆盖。同时,由于低轨卫星的高速运动,地面站需要进行频繁的切换,以确保与卫星的连续通信。
-
总的来说,低轨卫星是一种重要的无线链路类型,它在实时通信、遥感监测等领域具有广泛的应用前景。\
-
2.数据交换方式
看章一、计算机网络概述 互联网构成的核心部分
3.信道复用
复用 (multiplexing) 是通信技术中的基本概念。 它允许用户使用一个共享信道进行通信,降低成本,提高利用率。
频分复用
-
信道复用中的频分复用(Frequency Division Multiplexing,FDM)是一种将多个信号调制到不同频率上,然后同时在一个通信线路上进行传输的技术。
-
在频分复用中,整个频带被划分为若干个较小的频段,每个频段用作一个独立的通道来传输一个信号。这些频段在频率上是不重叠的,因此可以同时传输多个信号而不会相互干扰。
-
频分复用的优点是技术成熟,实现简单,适用于模拟信号和数字信号的传输。然而,它需要较宽的频带,并且对于不同频率的信号,传输质量可能会受到不同程度的影响。
-
此外,频分复用还广泛应用于无线通信、广播电视、电话网络等领域。例如,在无线通信中,不同的移动设备可以使用不同的频段进行通信,从而实现多个设备同时通信的目的。
-
将整个带宽分为多份,用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。
-
频分复用的所有用户在同样的时间占用不同的带宽资源(请注意,这里的“带宽”是频率带宽而不是数据的发送速率)。
时分复用
-
信道复用中的时分复用(Time Division Multiplexing,TDM)是一种将多个信号在时间上分割成若干个小的时间段(时隙),然后依次在一个通信线路上进行传输的技术。
-
在时分复用中,每个信号源都被分配一个固定的时隙,在这个时隙内,信号源可以传输其数据。所有信号源按照顺序轮流使用通信线路,因此它们的数据在时间上是被分隔开的。这样,多个信号就可以在同一条线路上进行传输,而不会相互干扰。
-
时分复用有两种主要的方式:同步时分复用(Synchronous TDM,STDM)和统计时分复用(Statistical TDM,又称异步时分复用,Asynchronous TDM,ATDM)。在同步时分复用中,每个信号源的时隙是固定的,无论信号源是否有数据要传输,它的时隙都会被保留。而在统计时分复用中,时隙是动态分配的,只有当信号源有数据要传输时,才会被分配时隙。
-
时分复用的优点是可以有效地利用通信线路的带宽,适用于数字信号的传输。然而,它需要精确的同步机制来确保每个信号源在正确的时隙内传输数据。
-
时分复用则是将时间划分为一段段等长的时分复用帧(TDM 帧)。每一个时分复用的用户在每一个 TDM 帧中占用固定序号的时隙。
波分复用
-
信道复用中的波分复用(Wavelength Division Multiplexing,WDM)是一种将多个不同波长的光信号复合到同一根光纤上进行传输的技术。
-
在波分复用中,每个光信号都被调制到一个特定的波长上,然后这些不同波长的光信号被合并到一起,通过同一根光纤进行传输。在接收端,这些复合光信号会被分解开来,每个波长的光信号被单独接收和处理。
-
波分复用的优点是能够显著提高光纤通信系统的传输容量,因为它允许在同一根光纤上同时传输多个光信号。此外,波分复用技术还可以与其他复用技术(如时分复用和频分复用)结合使用,以进一步提高通信系统的性能。
-
需要注意的是,波分复用技术需要精确的光源和光检测器,以及复杂的光路设计和控制系统,因此在实际应用中需要相应的技术支持和设备投入。
-
波分复用就是光的频分复用。使用一根光纤来同时传输多个光载波信号。
-
图片白话理解:每个光信号通过光调制器被调至到一个特定的波长上,通过复用器合并到一起,通过一根光纤传输。接收端接收到后,通过分勇器将合并到一起的光信号分解开,每个光信号分别被接受和处理。
码分复用
-
码分复用(Code Division Multiplexing,CDM)是一种信道复用技术,它通过为每个信号分配一个独特的编码来实现多个信号的同时传输。不过,通常在通信领域中更常见的是码分多址(Code Division Multiple Access,CDMA),这是一种基于码分复用的多址接入技术。
-
在码分复用或CDMA中,每个信号都被赋予一个独特的扩频码(spreading code),这个扩频码将原始信号扩展到更宽的频带上。在接收端,通过使用与发送端相同的扩频码,可以将特定的信号从复合信号中解码出来。这样,多个信号可以在同一频带内同时传输,而不会相互干扰,因为它们具有不同的扩频码。
-
码分复用技术的优点包括抗干扰能力强、保密性好以及能够支持大量用户同时通信。然而,它也需要复杂的编码和解码技术,以及精确的同步机制来确保信号的准确传输和接收。
-
需要注意的是,码分复用和CDMA在通信领域中有着广泛的应用,包括无线通信系统(如蜂窝电话网络)和卫星通信系统等。这些系统利用码分复用技术来提供高效、可靠的通信服务。
三、数据链路层
1.功能(要解决的问题)
-
帧同步:数据链路层负责在物理层提供的比特流的基础上,通过帧同步技术,识别出一个个的数据帧,以便进行后续的处理。
-
差错控制:在数据传输过程中,由于各种原因(如噪声干扰),可能会出现数据错误。数据链路层通过差错控制机制(如CRC校验),检测并纠正这些错误,保证数据的正确传输。
-
流量控制:数据链路层通过流量控制技术,协调发送端和接收端的数据传输速率,避免发送端发送数据过快,导致接收端来不及处理而丢失数据。
-
链路管理:数据链路层还负责链路的建立、维护和释放。当网络中的两个节点需要通信时,数据链路层会建立一条链路;当通信结束时,数据链路层会释放这条链路。在链路建立后,数据链路层还需要定期检测链路的状态,确保链路的正常工作。
这些功能共同保证了数据在链路层上的可靠传输,为网络层提供了稳定、可靠的数据传输服务。
2.数据链路层提供的服务
数据链路层在物理层提供服务的基础上向网络层提供服务,其主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路。数据链路层通常可为网络层提供的服务有:
-
无确认的无连接服务:适用于实时通信或误码率较低的通信信道,如以太网。
-
有确认的无连接服务:适用于误码率较高的通信信道,如无线通信。
-
有确认的面向连接服务:适用于通信要求(可靠性、实时性)较高的场合。
-
有连接就一定要有确认,即不存在无确认的面向连接的服务。
3.成帧(Framing)
3.1 要解决的关键问题:如何标识一个帧的开始?
-
接收方必须能从物理层接收的比特流中明确区分出一帧的开始和结束,这个问题被称为帧同步或帧定界
-
关键:选择何种定界符?定界符出现在数据部分如何处理?
3.2 成帧(framing)的方式
数据链路层一个很重要的功能就是成帧和拆帧,因为帧是数据链路层的一个单元,数据链路层是对于帧进行处理的。
第一就是网络层的数据包交给链路层之后,按照怎样的格式封装成帧?第二就是,用什么来区分帧头和帧尾?也就是什么时候帧开始,什么时候结束的问题。以及,怎么看传送的帧是对的?能不能看出来帧的某个比特错了?这些都是成帧机制应该考虑的,所以帧的格式设计成如下这样:
能看出来,帧的组成主要是标志和字段两个部分,标志主要是标识了帧的开始和结束,字段部分主要有地址字段,控制字段,正文字段和校验字段四个部分。地址字段表明了帧的去向和来源,这是硬件的网卡地址,控制字段就是各种协议,正文字段是真正的信息,校验字段是用来检验帧是不是有错误,通常有CRC校验等等。这样来看,上面的几个问题就都解决了。标志是成帧的一个重要标志,链路层读到标志,就知道帧开始了,这也就界定了一个帧的范围。对于正文字段,链路层读不懂,他也不会在意正文字段是什么,他眼中的正文也就是一串0101而已。
数据链路层成帧的方法主要有三个:字符计数法,字符填充的首尾界定法、比特填充的首尾界定法。
-
字符计数法
用一个帧的第一字节来说明帧的总长度(总长度包含这个帧头)
看这张图,白色为帧头,指明了长度,比如第一帧长度为5,后面就跟了4个字节,第二帧的长度为5,后面也跟了4字节,之后是两个8字节长度的,所以各自跟了7字节的正文部分。但是很显然,如果头这一个字节出了问题,影响的就不仅仅是这一帧了,其他的都会出问题。比如:
第二个帧头出了问题,那么就会出现大问题:后面的全部帧都会出错,连锁反应。所以这种方法不太常用。
-
字符填充的首尾界定法
在帧的头之前和尾之后加一个特殊的字符,只要读到这个字符帧就开始了,再次读到就认为这个帧结束了
这种方法能够避免上面字符计数法的头出错问题,但是他也有问题:如果正文里面出现了flag特殊字符怎么办?解决办法是在正文里面flag字符前面加上转义字符esc,这样读到flag之前如果没有转义字符esc,那么认为帧结束,如果有esc那么认为他就是普通的数据就行。问题又来了,那么正文里面如果有esc字符呢?那么就在esc前面再加一个esc就行了,这两个的处理是一样的。如下图:
-
比特填充的字符界定法
这种方法和第二种比较类似,区别是他把flag具体化了,为6个1。这样当正文读取的时候一旦出现了5个连续的1,那么在后面填充一个0,避免出现6个1造成帧提前结束。如下图所示:
收端接收到之后,每读到5个连续的1之后,就把后面的0去掉一个,这样就得到了原文的数据了。
4.差错控制
4.1 背景
由于数据通信系统传输特性的不理想和外部干扰的存在,传输中出现差错是不可避免的。
链路层存在的一个问题:信道的噪声导致数据传输问题
-
差错( incorrect ):数据发生错误
-
丢失( lost ):接收方未收到
-
乱序(out of order):先发后到,后发先到
-
重复(repeatedly delivery):一次发送,多次接收
解决方案:差错检测与纠正、确认重传
-
确认:接收方校验数据(差错校验),并给发送方应答,防止差错
-
定时器:发送方启动定时器,防止丢失
-
顺序号:接收方检查序号,防止乱序递交、重复递交
4.2 差错检验与纠正
目标 保证一定差错检测和纠错能力的前提下,如何减少冗余信息量?
考虑的问题
-
信道的特征和传输需求
-
冗余信息的计算方法、携带的冗余信息量
-
计算的复杂度等
两种主要策略
-
检错码(error-detecting code)
-
在被发送的数据块中,包含一些冗余信息,但这些信息只能使接收方推断是否发生错误但不能推断哪位发生错误,接收方可以请求发送方重传数据主要用在高可靠、误码率较低的信道上,例如光纤链路偶尔发生的差错,可以通过重传解决差错问题
-
-
纠错码(error-correcting code)
-
发送方在每个数据块中加入足够的冗余信息,使得接收方能够判断接收到的数据是否有错,并能纠正错误(定位出错的位置)主要用于错误发生比较频繁的信道上,如无线链路也经常用于物理层,以及更高层(例如,实时流媒体应用和内容分发)使用纠错码的技术通常称为前向纠错(FEC,Forward Error Correction)
-
奇偶检验 (Parity Check)
奇偶校验码是在数据码后附加一个校验位,使构成的码组中“1”的个数为奇数(奇校验)或偶数(偶校验)。接收端收到这组二进制数据后,则校验“1”的个数是否为奇数(偶数),从而确定传输代码的正确性。
-
水平奇偶校验
在每一行数据的最后加上一个校验位,使信息位与校验位处于同一行。
-
垂直奇偶校验
把数据分成若干组,一组数据排成一列,每一列后面加一个校验位,针对每一列采用奇校验或偶校验,最后数据列向传输。
例: 有32位数据10100101 00110110 11001100 10101011 垂直奇校验 1011 0010 1101 0100 0011 1110 0101 1001 1110 校验位
-
二维奇偶校验码
就是同时用水平校验和垂直校验。
接收端收到这组二进制数据后,则校验“1”的个数是否为奇数(偶数),从而确定传输代码的正确性。 特点:奇偶校验码只能检测出奇数个错码,而不能检测出偶数个错码,更不能纠错。奇偶校验码检错能力不高,但易于实现。
循环冗余校验 (Cyclic Redundancy Check,CRC)
数据链路层广泛使用的校验方法
CRC校验码计算方法
-
设原始数据D为k位二进制位模式
-
如果要产生n位CRC校验码,事先选定一个n+1位二进制位模式G (称为生成多项式,收发双方提前商定),G的最高位为1
-
将原始数据D乘以2^n (相当于在D后面添加 n 个 0),产生k+n位二进制位模式,用G对该位模式做模2除,得到余数R(n位,不足n位前面用0补齐)即为CRC校验码
CRC校验码计算示例
-
D = 1010001101
-
n = 5
-
G = 110101 或 G = x5 + x4 + x2 + 1
-
R = 01110
-
实际传输数据:101000110101110
汉明码
目标:以奇偶校验为基础,找到出错位置,提供1位纠错能力
-
给定n位待发送的数据,首先确定校验位的个数k(根据2^k≥k+n+1)
-
确定校验位在码流中的位置,2^i,i=0,1,2,……,得到校验位P_1,P_2,P_4,P_8,……
-
确定分组,即每个校验位分别负责哪些数据位
P_1负责位置号的二进制符合XXXX1形式的数据位,即1,3,5,7,9,……
P_2负责位置号的二进制符合XXX1X形式的数据位,即2,3,6,7,10,……
P_3负责位置号的二进制符合XX1XX形式的数据位,即4,5,6,7,12,13,14,15,……
-
基于偶校验确定每组的校验位(0或1)
注: 汉明码是采用奇偶校验的码。它采用了一种非常巧妙的方式,把这串数字分了组,通过分组校验来确定哪一位出现了错误。
实际的海明码编码的过程也并不复杂,我们通过用不同过的校验位,去匹配多个不同的数据组,确保任何一个数据位出错,都会产生一个多个校验码位出错的唯一组合。这样,在出错的时候,我们就可以反过来找到出错的数据位,并纠正过来。当只有一个校验码位出错的时候,我们就知道实际出错的是校验码位了。
5.流量控制
-
数据链路层流量控制是在数据链路层上实现的一种网络通信控制机制,主要用于防止发送者向接收者发送过多的数据,以至于超过了接收者处理或接收能力的限制,从而导致数据丢失或网络拥塞。
-
在数据链路层,流量控制通常是通过接收端向发送端发送反馈信号来实现的。当接收端的数据缓冲区接近满载时,它会发送一个信号给发送端,要求其减缓发送速度或暂停发送。一旦接收端处理完缓冲区中的数据并有了可用空间,它会发送另一个信号给发送端,通知其可以恢复发送数据。
-
这种流量控制机制有助于确保数据在网络中稳定、可靠地传输,同时避免了因网络拥塞而导致的数据丢失或延迟。在实际应用中,数据链路层流量控制常常与其他网络层级的流量控制机制(如传输层流量控制)协同工作,以提供更全面、更有效的网络通信控制。
6.媒体接入控制 MAC (Medium Access Control)子层
数据链路层分为两个子层: MAC子层:介质访问 LLC子层:承上启下(弱层)
6.1 信道分配问题(缺点)
时分多址接入-TDMA
(TDMA: time division multiple access)
-
按顺序依次接入并使用信道
-
每个用户使用固定且相同长度的时隙
-
某时隙轮到某用户使用时,该用户没有数据要发送,则该时隙被闲置
例子: 6-user LAN, 1,3,4时隙有数据发送, 2,5,6时隙被闲置
频分多址接入-FDMA
FDMA: frequency division multiple access
-
信道总频带被划分为多个相同宽度的子频带
-
每个用户占用一个子频带,不管用户是否有数据发送
例子: 6-user LAN, 1,3,4频带有数据发送, 2,5,6频带被闲置
6.2 多路访问协议
6.2.1 随机访问协议
1. ALOHA
在ALOHA协议中,当网络中的节点(设备)需要发送数据时,它不需要先检查信道是否空闲,而是直接发送数据。如果发送的数据发生了碰撞(即两个或更多的节点同时发送数据,导致数据在接收端无法正确解析),那么发送节点会在随机等待一段时间后重试发送。
纯ALOHA协议
原理:节点可以在任何时间发送数据 (想发就发)
特点:
-
冲突:两个或以上的帧
-
随时可能冲突
-
冲突的帧完全破坏
-
破坏了的帧要重传
分隙ALOHA
原理:时间被划分成固定的“时槽”,节点只能在每个时槽的开始时发送数据
-
分隙ALOHA是把时间分成时隙(时槽)
-
时隙的长度对应一帧的传输时间。
-
帧的发送必须在时隙的起点。
-
冲突只发生在时隙的起点
ALOHA协议在现代网络中的应用已经比较有限,主要是因为它的效率相对较低。在节点数量较多或者数据流量较大的情况下,ALOHA协议可能会导致大量的数据碰撞和重试,从而降低网络的性能。然而,由于其简单性和易于实现的特点,ALOHA协议仍然在一些特定的场景和研究中被使用。
2. CSMA(载波侦听多路访问协议)
GPT4:一种分布式介质访问控制协议,它允许多个站点在共享介质上发送数据。在发送数据前,每个站点都会侦听信道是否空闲,如果空闲则发送数据,否则等待直到信道空闲。CSMA有助于减少数据碰撞和提高网络效率。
特点:“先听后发”
改进ALOHA的侦听/发送策略分类
非持续式CSMA
在非持续式CSMA中,当一个站点想要发送数据时,它会首先侦听共享介质(如总线或无线信道)是否空闲。如果介质空闲,站点会立即发送数据。如果介质忙,站点会等待一个随机的时间间隔后再次尝试发送,而不是持续侦听介质。
特点:站点在发送数据前会进行载波侦听,但不会持续侦听介质的状态。这意味着站点在发送数据后会释放介质,不再关心其后续状态。如果发送过程中发生了碰撞(即两个或多个站点同时发送数据导致数据冲突),发送站点会等待一个随机时间后重试,而不是立即重试,以减少连续碰撞的可能性。
缺点:非持续式CSMA可能会导致介质的利用率较低,因为在等待随机时间间隔期间,介质可能会保持空闲状态。此外,非持续式CSMA也无法完全避免数据碰撞的发生,尤其是在网络负载较重的情况下。
持续式CSMA
在持续式CSMA中,当一个站点想要发送数据时,它会首先侦听共享介质(如总线或无线信道)是否空闲。如果介质空闲,站点会立即发送数据。如果介质忙,站点会持续侦听直到介质变为空闲,然后立即发送数据。
特点:持续式CSMA中的站点在发现介质忙时会持续侦听,而不是等待一个随机时间间隔后再尝试。这种持续侦听的方式可以减少等待时间,提高介质的利用率。
缺点:增加了站点之间的冲突概率,因为多个站点可能同时检测到介质空闲并尝试发送数据。
为了减少冲突,持续式CSMA通常会结合退避算法(backoff algorithm)来使用。当发生冲突时,站点会按照退避算法选择一个随机的等待时间,然后再次尝试发送数据。这样可以分散站点的重试时间,降低连续冲突的可能性。
需要注意的是,持续式CSMA在网络负载较重的情况下可能会导致性能下降,因为站点会频繁地侦听介质并尝试发送数据,增加了冲突和重试的次数。因此,在实际应用中,需要根据网络的具体情况和需求来选择适合的介质访问控制方法。
1-持久CSMA和p-持久CSMA的区别:
-
1-持久CSMA(1-Persistent CSMA)
在1-持久CSMA中,节点会持续监听信道。一旦发现信道空闲,节点会立即发送数据。如果两个或多个节点同时检测到信道空闲并尝试发送数据,就会发生碰撞。发生碰撞后,这些节点会等待一个随机时间后重试。这种方法的缺点是,在高负载情况下,碰撞的概率会很高,导致网络性能下降。
-
p-持久CSMA(p-Persistent CSMA)
p-持久CSMA是1-持久CSMA的一个改进版本。在p-持久CSMA中,节点在发现信道空闲时,不是立即发送数据,而是以概率p发送数据,以概率1-p延迟一个时间单位。如果信道仍然空闲,节点会再次以概率p发送数据。这种方法可以减少碰撞的概率,因为不是所有节点都会在检测到信道空闲时立即发送数据。
对比
-
发送策略:1-持久CSMA在信道空闲时立即发送,而p-持久CSMA在信道空闲时以一定概率发送。
-
碰撞概率:在高负载情况下,1-持久CSMA的碰撞概率较高,而p-持久CSMA通过引入发送概率来降低碰撞概率。
-
性能:p-持久CSMA通常在高负载情况下比1-持久CSMA有更好的性能,因为它减少了不必要的碰撞和重试。
6.2.2 受控访问协议
受控访问协议(Controlled Access Protocol)是一种网络通信协议,它用于在计算机网络中控制和管理对共享资源的访问。该协议通过定义一系列的规则和机制,以确保网络节点在访问共享资源时能够遵循特定的访问控制和安全策略。
在受控访问协议中,通常会设定访问权限和访问控制列表(Access Control List,ACL),以限制不同节点对资源的访问权限。只有经过授权的节点才能获得访问共享资源的权限,而其他未经授权的节点则无法访问。
此外,受控访问协议还可以定义访问请求和响应的格式和流程。节点在发送访问请求时,需要包含必要的信息,如请求者的身份、请求的资源等。接收到请求后,受控访问协议会根据预设的规则和策略进行验证和决策,然后返回相应的响应,如授权访问、拒绝访问等。
受控访问协议的设计目标是保护共享资源的安全性和完整性,防止未经授权的访问和数据泄露。通过限制节点的访问权限和行为,可以提高网络的安全性和可靠性。
需要注意的是,具体的受控访问协议实现方式可能因网络类型、应用场景和安全需求等因素而有所不同。在实际应用中,需要根据具体情况选择合适的受控访问协议,并进行适当的配置和管理。
6.2.3 无冲突协议Collision-Free Protocols
就先看了这么点儿,吸收吸收,后续持续更新~