数据通信与网络

计算机网络的组成

计算机网络是由计算机系统、网络节点和通信链路等组成的系统。

逻辑上分为资源子网通信子网

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、数据在传输过程中可能会丢失,如何检测丢失,丢失以后如何处理?

丢失检测: 发送方会设置一个超时计时器,用于监视数据包在传输过程中是否丢失。如果在超时时间内未收到接收方的确认或回复数据包,发送方会假定数据包已丢失,并重新发送数据包。

丢失处理:接收方在接收到重复的数据包时会丢弃重复的数据,并根据需要处理的数据。接收方也可能通过协议的机制通知发送方丢失的情况,以触发重发。

对于一个复杂的问题,人们所采取的最常用的方法就是分布处理,也就是分层

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/26628.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构——02-算数表达式-栈-实验题目分享

一、实验题目 算数表达式计算: 设计算法根据用户输入的合法表达式计算结果并显示出来 表达式中的符号为、-、*、/、(、) 表达式中数字为整数 二、实验环境 Windows 11 Visual Studio Code (总体代码在最后) 三…

编程入门费用:揭开学习成本的神秘面纱

编程入门费用:揭开学习成本的神秘面纱 编程,这一曾被视为专业领域的技能,如今已逐渐走入大众视野。越来越多的人开始尝试学习编程,然而,对于初学者来说,编程入门费用无疑是一个重要的考虑因素。那么&#…

论文笔记:ATime-Aware Trajectory Embedding Model for Next-Location Recommendation

Knowledge and Information Systems, 2018 1 intro 1.1 背景 随着基于位置的社交网络(LBSNs),如Foursquare和Facebook Places的日益流行,大量用户签到数据变得可用 这些大量签到数据的可用性带来了许多有用的应用,以…

kotlin类型检测与类型转换

一、is与!is操作符 1、使用 is 操作符或其否定形式 !is 在运行时检测对象是否符合给定类型。 fun main() {var a "1"if(a is String) {println("a是字符串类型:${a.length}")}// 或val b a is Stringprintln(b) } 二、"不安全的"转换操作符…

【面试手撕】CAS实现 线程安全的链表结构的栈

利用Atomic原子引用,采用CAS的方式,实现线程安全的链表栈的实现 关键点 关键在于用 AtomicReference原子类包装栈顶节点,在更改新的栈顶节点的时候,判断原子引用的栈顶是否还是之前获取时的栈顶,如果不是则重新通过Ato…

搜索是门艺术,大神都是这样找资源

以下所有资源均可在星云导航找到,网站地址:https://www.xygalaxy.com/ 浏览器搜索高级用法 1、排除干扰,指定关键词 1.1、排除指定关键字 格式:关键字1 -关键字2比如搜索:星云导航,不想要CSDN的内容 星…

Stable Diffusion 3 开源发布可下载体验

本文来自huggingface翻译 Stable Diffusion 3 Medium是一种多模态扩散变换器 (MMDiT) 文本到图像模型,其在图像质量、排版、复杂提示理解和资源效率方面的性能有极大提升。 有关更多技术细节,请参阅研究论文。 请注意:此模型是根据 Stabilit…

C# —— 条件运算符

条件运算符的作用: 用于比较两个变量或者常量 // > // < // // ! // > // < 条件运算符 一定存在左右两边的内容 左边内容 条件运算符 右边内容 int a 30; int b 50; 条件运算符 不…

java面试题:hashMap扩容机制

初始容量和加载因子&#xff1a; HashMap在初始化时有一个默认的初始容量&#xff08;capacity&#xff09;&#xff0c;通常是16。这个容量也可以在创建HashMap时通过构造函数指定。 HashMap还有一个加载因子&#xff08;load factor&#xff09;&#xff0c;这是一个表示Has…

【全开源】快递寄件小程序源码(FastAdmin+ThinkPHP+原生微信小程序)

&#x1f4e6;快递寄件小程序&#xff1a;轻松寄送&#xff0c;便捷生活 &#x1f69a;一、引言&#xff1a;告别繁琐&#xff0c;让寄件更简单 在繁忙的生活中&#xff0c;寄送快递往往成为我们的一大难题。传统的寄件方式需要前往快递公司网点&#xff0c;填写繁琐的寄件信…

单目标应用:基于蛇鹫优化算法SBOA的微电网优化(MATLAB代码)

一、微电网模型介绍 微电网多目标优化调度模型简介_vmgpqv-CSDN博客 参考文献&#xff1a; [1]李兴莘,张靖,何宇,等.基于改进粒子群算法的微电网多目标优化调度[J].电力科学与工程, 2021, 37(3):7 二、蛇鹫优化算法求解微电网 2.1算法简介 蛇鹫优化算法&#xff08;Secre…

基于python多光谱遥感数据处理、图像分类、定量评估及机器学习

原文链接&#xff1a;基于python多光谱遥感数据处理、图像分类、定量评估及机器学习 普通数码相机记录了红、绿、蓝三种波长的光&#xff0c;多光谱成像技术除了记录这三种波长光之外&#xff0c;还可以记录其他波长&#xff08;例如&#xff1a;近红外、热红外等&#xff09;光…

企业中的绩效管理

背景 企业中为何需要绩效管理&#xff0c;企业绩效管理为何比较难&#xff0c;这在企业管理中是非常难&#xff0c;同样也是非常有价值的命题&#xff0c;那么首先应该对这个命题有清晰的认知&#xff0c;特别是要想明白为何企业需要绩效管理&#xff0c;应该先明白企业。 企…

Uniapp实现页面滚动Tab吸顶,点击tab内容滚动到对应tab内容位置

1.template结构 <view class"content-tabs-box"><view class"content-tabs" :class"{is-fixed: isTabFixed}"><viewv-for"(item, index) in detailTabs" :key"index" class"tab" :class"{act…

【git使用四】git分支理解与操作(详解)

目录 &#xff08;1&#xff09;理解git分支 主分支&#xff08;主线&#xff09; 功能分支 主线和分支关系 将分支合并到主分支 快速合并 非快速合并 git代码管理流程 &#xff08;2&#xff09;理解git提交对象 提交对象与commitID Git如何保存数据 示例讲解 &a…

lnmp的介绍与源码部署以及 |什么是正向、反向、透明代理 | 常见的集群有哪些

lnmp 文章目录 lnmp1.LNMP是什么2. lnmp简介3.系统特点4.优点5.lnmp部署5.1 nginx安装5.2 mysql安装5.3 php安装5.4配置nginx服务处理php 6.扩展知识点1.什么是集群2.常见的集群有哪些集群的分类1、高可用集群2、负载均衡集群3、分布式计算集群4、高性能集群(High Performance …

TCP标志

SYN (Synchronize) 和 ACK (Acknowledgement) 是TCP协议中的两种重要标志&#xff08;flags&#xff09;&#xff0c;用于建立和维护连接。它们通常在TCP三次握手过程中使用。 1、SYN标志&#xff1a; 当客户端想要建立于服务器的TCP连接时&#xff0c;它会发送一个带有SYN白…

嵌入式常用调试方法

目录 调试工具 日志打印 1. Debug日志打印 2. RTT日志打印 3. 串口日志打印 总结 嵌入式系统的调试是一个复杂且关键的过程&#xff0c;涉及多种工具和技术的综合应用。以下是对嵌入式常见调试工具、日志打印方式的全面报告&#xff0c;包括Debug、RTT&#xff08;Real-T…

重生奇迹mu魔法师介绍

魔法师擅长&#xff1a;远距作战、攻击&辅助魔法使用 转职&#xff1a;魔导师&#xff08;2转&#xff09;&#xff0c;神导师&#xff08;3转&#xff09; 魔法师可以通过多样的魔法&#xff0c;展现华丽的效果和强大的实力。成长初期因为体力少&#xff0c;经常受到死亡…

Linux Shell命令vim使用

一、引例 以判断引出&#xff08;学过C其他语言容易接受&#xff09;。 简单命令说明&#xff1a; -e 测试文件是否存在 -f 测试文件是否为普通文件 -d 测试文件是否为目录 -r 测试当前用户对某文件是否具有“可读”权限 -w 测试当前用户对某文件是否具有“可写”权限…