计算机网络的组成
计算机网络是由计算机系统、网络节点和通信链路等组成的系统。
逻辑上分为资源子网和通信子网。
CCP:communication control processor
通信控制处理机,网络节点,交换机、路由器等设备。
逻辑组成:
(1)通信子网
负责数据通信的设备与通信线路,由物理通道、通信设备、通信控制软件组成。
要解决的两大问题:提高信道利用率、传输可靠问题。
两种通信子网类型:点对点、广播式。
(2)资源子网
负责数据处理以实现网络资源共享的计算机与终端。
硬件组成:
计算机网络是由主机、网络设备(modem、路由器等)、传输介质(光纤、红外等)组成。
(1)资源硬件
服务器(server)
工作站(workstation)
共享的外围设备
(2)通信硬件
网卡(网络适配器)
通信线路
通信设备
软件组成
计算机网络是由网络协议和通信软件、网络操作系统、网络管理及网络应用软件组成。
网络协议和协议软件:通过协议程序实现网络协议功能。
网络通信软件:实现网络工作站之间的通信。
网络操作系统(NOS,Network Operating System)
它是最主要的网络软件,实现系统资源共享、管理用户对不同资源访问的应用程序。
网络操作系统是网络的心脏和灵魂,它是负责管理整个网络的资源和方便网络用户使用的软件集合;也是网络用户与计算机网络之间的接口。
网络操作系统从根本上说是一种管理器,用来管理链接、资源和通信量的流向。
计算机网络的分类
1、按通信媒体划分:有线网和无线网
2、按网络的管理方式划分:对等网和客户机/服务器网络。
3、按使用对象划分:公用网和专用网
4、按距离划分:局域网、广域网(互相连接组成互联网)
5、按网络的传输技术划分:
(1)广播式网络:所有联网计算机共享一个公共通信信道。
(2)点到点网络:每条物理线路连接一对计算机。
计算机网络的功能
(1)数据通信
(2)资源共享
共享软件、硬件和数据资源
(3)分布式处理
通过一定的算法将任务分交给不同的计算机,达到均衡使用网络资源,实现分布处理的目的。
计算机网络的拓扑结构
计算机网络拓扑结构指一个网络中各节点之间互连的几何构形,可表示出网络服务器、工作站各种实体间的网络配置和互相之间的连接和结构关系。
总线型拓扑结构// 环形拓扑结构// 星型拓扑结构
树形拓扑结构// 网状拓扑结构// 混合型结构
网络中的计算机和其他通信设备均连接到一条公用的总线上,所有结点共同使用这条总线,共享总线的全部带宽
一个结点向另一个结点发送数据时,所有结点都被动的侦听该数据,只有目标结点接收并处理数据。
特点:该拓扑结构容易实现,组建成本低,但扩展性较差,容差能力较差。
(总线型结构)
网络中的每个节点通过一个中央设备连接在一起。中心节点是主节点,网络中的各个节点通过点到点的方式连接到一个中心节点上,再由中心节点向目的节点传输信息。
特点:单个结点故障不会影响其他结点;中心结点时一个瓶颈;易于拓展。
树型结构实际上是星型结构的一种变形,它将原来用单独链路直接连接的结点通过多级处理主机进行分级连接。
特点:与星型结构相比降低了通信线路的成本,但增加了网络复杂性。网络中除最低层节点及其连线外,任一节点或连线的故障均影响其所在支路网络的正常工作。
每个节点与两个最近的节点相连接以使整个网络形成一个环形,数据沿着环路逐点传输。
特点:单纯的环型拓扑结构非常不灵活或不易于扩展。单个结点或一处线缆发生故障将会造成整个网络的瘫痪。
物理链路所能接受和传递的形式是电磁信号
电磁信号在物理链路上表现为电压或电流的变化。
所以,要先把信息用0,1比特的组合表示出来,再将0,1比特转换成特定的电流或电压,通过物理链路发送出去。
在网络通信中会遇到各种各样的问题:
1、发送方如何确定接收方愿意接收数据或已经准备好了接收数据?
答:在数据通信开始前,发送方通常无法直接确定接收方是否愿意接收数据或已经准备好接收数据。为了确保双方同意进行数据交换,通常使用协议来管理通信过程。例如,TCP(Transmission Control Protocol)使用三次握手的过程来建立连接:发送方首先发送一个带有SYN标志的数据包给接收方,接收方收到后回复SYN和ACK标志的数据包,最后发送方回复一个带有ACK标志的数据包,确认连接建立,这样就可以确保双方都同意开始数据传输。
2、发送方和接收方之间可能间隔了多个网络,如何在网络之间找到一条正确的路,使得数据能够到达接收方?
答:找到正确的路由路径,数据在传输过程中需要经过多个网络节点和路由器,通过网络中的路由表来确定正确的路径。每个路由器根据目标IP地址查找路由表,决定将数据包转发到下一个最佳的网络节点,直到数据包到达目标接收方。这个过程叫做路由选择。
3、数据在传输过程中可能受了干扰而产生了差错,如何检测差错?出了差错如何处理?
差错检测:在数据传输中,为了确保数据的完整性和正确性,常用的方法包括校验和和循环冗余检测(CRC)。发送方在发送数据前会计算校验和或CRC码,并将其附加到数据包中。接收方收到数据包后,也会计算校验和或CRC码,并与接收到的校验和或CRC码进行比较,从而检测数据包是否出现差错。
差错处理:如果接收方检测到差错,例如校验和或CRC码不匹配,它可以选择丢弃数据包并请求发送方重新发送(这是TCP协议中的一种处理方式)。在其他情况下,差错恢复技术如前向纠错(Forward Error Correction)也可以用来自动纠正某些类型的错误
4、数据在传输过程中可能会丢失,如何检测丢失,丢失以后如何处理?
丢失检测: 发送方会设置一个超时计时器,用于监视数据包在传输过程中是否丢失。如果在超时时间内未收到接收方的确认或回复数据包,发送方会假定数据包已丢失,并重新发送数据包。
丢失处理:接收方在接收到重复的数据包时会丢弃重复的数据,并根据需要处理的数据。接收方也可能通过协议的机制通知发送方丢失的情况,以触发重发。
对于一个复杂的问题,人们所采取的最常用的方法就是分布处理,也就是分层。