热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【通讯原理】Ch.0:从物联网了解协议与软件的关系5G时代展望

课程概述介绍数据在交互过程中的表现形式介绍以计算机网络中物理层与数据链路层为核心的通信知识,了解通信的基本概念必要时将扩充部分网络层相关知识以及最近5G相关的动态&
课程概述
  • 介绍数据在交互过程中的表现形式
  • 介绍以计算机网络中物理层与数据链路层为核心的通信知识,了解通信的基本概念
  • 必要时将扩充部分网络层相关知识以及最近5G相关的动态,该部分作为扩充知识而非通讯原理必须掌握的知识

本课程结束时,学生应能够:

  • 了解通信的概念与通信的过程
  • 理解协议是什么、物理层与数据链路层的功能
  • 能够在最近的OS中进行相关的实际操作
  • Ethernet、WIFI、LTE/5G的网络特点

涉及到的其他知识领域:

  • 高等数学(如拉普拉斯和傅里叶变换)
  • 线性代数
  • 概率与统计学(机器学习领域中常用)
  • C/C++

讲座材料:Forouzan, Data Communications and Networking 5E, McGraw-Hill, 2013.



Chapter0.Brief Introduction to Network Protocols & Software

在这里插入图片描述

1. 未来物联网

在这里插入图片描述
走向万物互联的社会:社会中所有的物品都附加上通信功能,来举一个有趣的例子。名侦探柯南中的个高科技眼镜,钢铁侠铠甲中搭载的AI系统等。眼镜中的GPS定位或者高级作弊功能,都是实时连接网络,从而进行信息交流。最近我们的高考也开始加强对高科技犯罪的重视,比如无人机、可交互眼镜等都是物联网的实例。
ABI研究公司称,到2020年超过500亿的无线连接设备
75%的增长将来自non-hub设备:传感器节点及配件
在这里插入图片描述

  1. Network Protocol
    协议:设备之间通信要遵守的规则。根据设备种类不同,对应的规则也不同。
    ex)任何通信都存在“协议”。对于打电话,人们并不是想怎么打就怎么打,必须要遵循使用通信设备-拨号-等待对方接听-询问现在是否有时间-【开始自由通话】-告别-挂电话。这一个流程中,每个人虽然对话内容不同,但是他们想要通过电话交流时,都要进行一个标准的流程步骤。
    哪怕是现实中相遇,也要有一个简单模式:客套话−【谈话内容】−告别客套话-【谈话内容】-告别,不遵循这些模式去执行某个行为,通常会使某行为无法继续执行或影响后序执行。对于人而言,没有礼节自然其他人不会想和你继续交流或者第二次交流。
    在这里插入图片描述
    对于计算机而言,网络交互(非UDP时)需要先建立TCP连接服务器并返回响应请求,然后TCP会再一次返回一个确认,完成三次握手。(详细内容参照计算机网络原理传输层)当计算机建立起TCP连接后,就可以进行数据传输了。
    世界上需要通信的设备绝对不止两台,所以需要建立和协调多个链路,并以多跳方式扩展这些链路。
    多跳方式:通过路由器和网关,数据并非一步直达的传输,而是不断中转最后到达终点。
    在这里插入图片描述【1】物理层:主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后在转化为1、0,也就是我们常说的数模转换与模数转换),这一层的数据叫做比特。
    【2】数据链路层:定义了如何让格式化数据以进行传输,以及如何让控制对物理介质的访问,这一层通常还提供错误检测和纠正,以确保数据的可靠传输。
    【3】网络层:在位于不同地理位置的网络中的两个主机系统之间提供连接和路径选择。也能规划IP地址。
    【4】传输层:定义了一些传输数据的协议和端口号,主要是将从下层接收的数据进行分段和传输,到达目的地址后再进行重组,常常把这一层数据叫做段。负责可靠传输-流量控制 不可靠传输 传输信息 纠错。
    【5】应用层:用户最直接访问到的所有能产生【网络流量】的应用程序,有具体可实现的功能。

  2. Wireless Network Protocol
    网络协议并没有具体区分无线网络和有线网络的具体差别。
    在这里插入图片描述
    【1】不可靠和时变的无线信道:在无线信道中传输的数据非常容易受到外界影响,温度、介质、颜色等都可以影响数据,从而可能使得接收到的数据发生了改变,没有完整收到发送端想要发送的数据。
    【2】动态拓扑:特设路由,邻居发现,位置管理等。有一套不同于计算机网络协议的拓扑方式。因为无线网络强调的是移动设备的便利性,因此移动设备可能经常变更活动地,从而使固定的拓扑显得局限性过强。
    【3】移动设备电量:移动设备存在电量问题,当设备不使用时,应该不再连接网络,从而节省电池电能消耗进而方便用户体验。
    6LoWPAN:
    在这里插入图片描述
    从结果来看,本来IPv4分配的32位地址在有私网限制的情况下已经不足,如果进一步发展物联网,使得每一个个体的每一件物品都拥有联网功能,则势必要给他们每一个设备分配一个地址,而IPv4的地址空间不允许这样做。因而物联网的普及势必需要使用IPv6的充足网络地址来完成,但是128位的地址本身相较于32位,在通信过程中,对于设备、信道的负荷都会提高很多,对于内置于物品内的芯片或电子设备要求进一步提高。而实际上没有低成本低功耗的物理设备,因此物联网普及进入了一个天平系统,需要兼顾二者平衡去完成某一项任务,考虑的变量越来越多,因此直至今日物联网仍然是世界的课题之一。
    从而衍生出的新技术:6LoWPAN:适用于IPv6的低功率个人网络。一个6LoWPAN设备不仅可以连接到无线lowpan网络,也可以连接到互联网。
    在这里插入图片描述
    为了IPv6修改用于网络低功耗和低成本的无线设备,IEEE 802.15.4标准诞生。对6LoWPAN进行了5阶层的规划。具体如上图所示。
    在这里插入图片描述
    6LoWPAN允许用小链路层帧携带IPv6数据包,但是对于这个标准而言,IPv6的数据量仍然是非常庞大的。只不过对于当下诞生出的多设备共用一个IPv4地址的技术产生的缓冲力,可以使得并不多用的IPv6问题得以暂缓。
    在这里插入图片描述
    解决上述问题的具体方法如上所示,随着后续的深入学习会具体展开,这里只做一下简单说明。
    【1】数据头压缩:如果没有网络相关知识背景,即便这里不理解也无妨。数据量与数据单元的所需长度是直接相关的,因此如果想要压缩数据量,在不能压缩想要传输的数据的前提下,自然要想办法把数据包的非有效数据部分进行简化。
    【2】破碎封装:讲一个数据包分段处理,从而实现在带宽一定的信道中传输大容量数据,速度受到的限制会比较大。
    【3】透明传输:不管所传数据是什么样的比特组合,都应当能够在链路上传送。当所传数据中的比特组合恰巧与某一个控制信息完全一样时,就必须采取适当的措施,使收方不会将这样的数据误认为是某种控制信息。
    上述对策的影响:
    1.无线分组传输对无线信道环境有更强的适应性和响应性
    2.减少传输功率、无线资源和所需内存

  3. 软件设计
    在这里插入图片描述
    实现某一项结果可以有不同的途径,但是效率会存在差距,人们一定会选择效率高的方式去执行某件任务。1+1=2且1+1-1=2且1+1*2-1=2,你可以列出无数个至少包含两个1且结果为2的等式,但是哪个效率更高不用多说了吧。
    由于物联网实际上就是赋予某些小物品一部分电脑的功能,因此物联网设备可以被看做一个小电脑。 在这里插入图片描述
    芯片设计:三种模式。
    【1】单芯片模式:将应用、传输以及6LoWPAN功能合并到一个芯片上。
    【2】双芯片模式:将传输芯片单独出一个芯片
    【3】应用-通信芯片:将应用和通信两个领域分开,独立设计两块芯片。
    在这里插入图片描述
    Contik:物联网开源操作系统,连接小型低成本、低功耗微控制器到互联网。
    uIPv6:在Contik上的6LoWPAN协议的实现。uIPv6非常适合内存受限的设备,总代码大小11kb,RAM是2kb。相较于linux的IP栈是1MB而言,非常小。

无线数据网络协议的软件设计:
【1】嵌入式单片机,通过微处理器的软件实现
【2】专业化和资源限制,而不是一般用途
【3】随着物联网时代的到来,它变得越来越重要

2. 5G网络展望

在这里插入图片描述
在这里插入图片描述
【1G】1980年出现移动手机,使用模拟信号进行通信。由于模拟信号抗干扰性差且容纳数据量低,进而催生了数字信号的出现。
【2G】数字信号是0与1的数据流组合,通过字符映射表,使得传输文本与数字成为可能。代表的有诺基亚,Ericsion等。在2G后期便出现了手机游戏,虽然不能兼容网络交互,但是通过信息来进行交互(在线支付等)的手机游戏开始出现。
【3G】与1G和2G时代相同,仍然是以语音通话为中心。在3G初期虽然尝试进行视频通话以及视频实时交互,但是并没有顺利的成功。最大兼容2Mpbs的传输速度,但是实际传输速度达不到这个数值,可能只有60kbps左右,虽然能够视频通话但是质量非常差。由于视频通话的失败,导致3G继续以语音 通话为中心发展,到中后期出现了iphone。大家都知道谷歌市场中有很多付费app,这打破了用户从企业单位获得被企业安排好的app的环境,能够允许用户自己选择想要使用的app,开发者和用户直接交互。随着个体交互的出现,对于网速的要求就自然上升了,进而催生了4G。
【4G】真正实现了利用网络的实时交互,越来越多的需求出现,越来越多功能的APP应运而生,速度也足够负荷映像实时传输。
在这里插入图片描述
【5G】更高的带宽:能够实现对数据量传输要求更大的VR,3D环境数据。更巨大的网络规模:设备足够多时,尤其是物联网中,传输的数据量自然也会对应的增大,这些大量的数据处理是4G无法实现的瓶颈。更体系化的服务:不同专业领域有不同精度的要求,高可用、低延迟、更安全。


EMBB:Enhancing Mobile Broadband 增强移动带宽——低延迟,大容量,高吞吐率
在这里插入图片描述


CMIT:Connecting the Massive Internet of Things 连接巨大物联网——大功率电池,低消耗,大覆盖范围
在这里插入图片描述


ENMCCS:Enabling New Mission-Critical Control Services 启动新的关键服务
在这里插入图片描述
高可靠性:传输更加可靠,丢包率下降
高可用:增加容错率,更多的链接来支持容错与移动
低延迟:延迟更低

本章作为通信原理的序章,是以在学习已经成熟的传统知识体系之前,着眼最新的技术发展动向。一切经典的沉淀服务于新星的诞生。下一章开始经典通讯原理内容,有必要时会补充一些关于现状的知识。


推荐阅读
  • GPT-3发布,动动手指就能自动生成代码的神器来了!
    近日,OpenAI发布了最新的NLP模型GPT-3,该模型在GitHub趋势榜上名列前茅。GPT-3使用的数据集容量达到45TB,参数个数高达1750亿,训练好的模型需要700G的硬盘空间来存储。一位开发者根据GPT-3模型上线了一个名为debuid的网站,用户只需用英语描述需求,前端代码就能自动生成。这个神奇的功能让许多程序员感到惊讶。去年,OpenAI在与世界冠军OG战队的表演赛中展示了他们的强化学习模型,在限定条件下以2:0完胜人类冠军。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • Linux防火墙配置—允许转发
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了VoLTE端到端业务详解|VoLTE用户注册流程相关的知识,希望对你有一定的参考价值。书籍来源:艾怀丽 ... [详细]
  • Java开发实战讲解!字节跳动三场技术面+HR面
    二、回顾整理阿里面试题基本就这样了,还有一些零星的问题想不起来了,答案也整理出来了。自我介绍JVM如何加载一个类的过程,双亲委派模型中有 ... [详细]
  • 引言随着企业安全意识的增强以及现代化管理水平的提高,对设备的远程监控在工业控制系统中得到了越来越广泛的应用。近年来,Web技术广泛普及,把 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • Linux环境变量函数getenv、putenv、setenv和unsetenv详解
    本文详细解释了Linux中的环境变量函数getenv、putenv、setenv和unsetenv的用法和功能。通过使用这些函数,可以获取、设置和删除环境变量的值。同时给出了相应的函数原型、参数说明和返回值。通过示例代码演示了如何使用getenv函数获取环境变量的值,并打印出来。 ... [详细]
  • 成功安装Sabayon Linux在thinkpad X60上的经验分享
    本文分享了作者在国庆期间在thinkpad X60上成功安装Sabayon Linux的经验。通过修改CHOST和执行emerge命令,作者顺利完成了安装过程。Sabayon Linux是一个基于Gentoo Linux的发行版,可以将电脑快速转变为一个功能强大的系统。除了作为一个live DVD使用外,Sabayon Linux还可以被安装在硬盘上,方便用户使用。 ... [详细]
  • 本人学习笔记,知识点均摘自于网络,用于学习和交流(如未注明出处,请提醒,将及时更正,谢谢)OS:我学习是为了上 ... [详细]
  • 由于同源策略的限制,满足同源的脚本才可以获取资源。虽然这样有助于保障网络安全,但另一方面也限制了资源的使用。那么如何实现跨域呢,以下是实现跨域的一些方法。 ... [详细]
  • 开发板:FL2440内核:linux3.0无线网卡:RT3070RT3070的工作模式分为STA(station)模式、SoftAP(AccessPoint)模式两种。STA ... [详细]
author-avatar
手机用户2602913753
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有