完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 michael_llh 于 2016-10-29 16:09 编辑
本次我们简要谈谈网络通信的相关内容,最早网络通信的发展由来就是从我们的进程间通信得来的,我们知道进程间通信中有一个通信方式是socket,我们称之为网络域套接字。简单通俗的说就是网络通信就是不同主机之间的不同进程的一种通信,而反应到我们本地其实是和两个进程间同时是类似的,就是我们这里的socket。 网络通信的发展历程: 1.单机阶段,这个阶段就是说每个电脑都是独立的,没有进行所谓的通信,如果要通信的话只能通过移动存储设备进行拷贝,早期我们知道有磁盘等相应的存储设备。 2.到了局域网阶段,我们就可以在一个范围内进行多机通信的实现了。 3.广域网Internet阶段就将局域网扩散到整个广域网当中,相当于说从农村走向世界。 4.移动互联网阶段,就是手机发展的阶段,从最初的2G、3G发展到现在的4G,以及正在发展的5G,让我们移动设备对上网通话的需求变得越来越方便。 5.物联网阶段,这个也是最近几年兴起的概念,但是现在对于家用的物联网怎么说还没有真正的说普及吧,可能在农业工业上面,物联网真正的是帮助生产制造上面有了非常重要的帮助。 那么现在主要有下面这三大网络: 1.电信网:主要是提供我们的电话,短消息的业务 2.电视网络:主要提供的是我们的电视节目,CCTV等 3.互联网:主要提供的就是我们的互联网的相关内容 那么对于网络我们需要看下一些层次架构的内容,我们知道OSI模型中是将我们的网络划分成为了一个7层模型,我们来一一看下这个几个层级模型是用来做什么的。 1.物理层:这个层面主要是有关于传输介质的一些特性标准,什么传输介质呢,比如说双绞线、同轴电缆、光纤等等。包括一些连接头什么的电影规划等等。比如RJ45。在这个层级传输的最原始的比特流。 2.数据链路层:这个层级定义了在单个链路上面如何传输数据,这些协议与被讨论的介质有关。比如说ARP、ATMP等。主要负责的物理寻址,同时将原始的比特流转换成逻辑传输线路。 3.网络层:控制子网的运行,比如说逻辑编址、分组传输、路由选择,IP协议的话就是工作在网络层,包括ICMP互联网控制信息协议。在这个层级中对端到端的包传输进行定义,定义了能够标识所有结点的逻辑地址,还定义了路由实现的方式和学习的方式。 4.传输层:这个层的功能是否选择差错回复协议和无差错恢复协议,以及统一主机上对不同的应用的数据流输入进行复用,还包括对收到顺序不对的书包的重新排序功能。它接收了上一层的数据,在必要的时候进行数据分割,并将这些数据交给网络层,且保证这些数据段有效到达对端。 5.会话层:它定义了如何开始、控制和结束一个会发,包括对多个双向消息的控制和管理,以便在只完成连续消息的一部分是可以通知应用,从而使得表好似曾看到的数据是连续的,在某些情况下如果表示层收到了所有的数据,则用数据代表表示层。 6.表示层:这一层主要功能是定义数据格式以及加密,例如,FTP允许你选以二进制或者是ASCII的格式进行数据传输。信息的语法语义以及他们的关联,如加密解密,转换翻译,压缩解压缩等。 7.应用层:与其他计算机进行通讯的一个应用,它是对对应应用程序的通信服务的。这层级包含了各种的通信协议,相信很多大家都会听说过,比如说,HTTP、FTP、SMTP、POP3等等。 对于TCP/IP模型的话就是将其简化层了4层, 1.网络接入层 网络接入层对应的是OSI七层模型中的物理层和数据链路层,负责监视数据在网络和主机之间的交换,事实上,TCP/IP本身并未定义这层的协议,而是有参与互联的各网络使用自己的物理层和数据链路层的洗衣,然后与TCP/IP的网络接入层进行连接,地址解析协议(ARP)工作在此层,即参考了魔心汇总的数据链路层。 2.网际互联层 网际互联层对于OSI参考模型中的网络层,解决的是主机到主机的通信问题,所包含的协议设计数据包在整个网络上的逻辑传输,注重重新赋予主机一个IP地址来完成对主机的寻址,还负责数据包在多种数据包在多种网络中的路由,该层中有三个主要的协议,网际协议(IP)、互联网组管理协议(IGMP)、互联网控制报文协议(ICMP)。 3.传输层 传输层对应于OSI参考模型中的传输层,为应用层实体提供端到端的通信功能,保证了数据包的顺序传送和数据完整性,该层主要定义了两个协议,分别是传输控制协议(TCP)和用户数据报协议(UDP)。 4.应用层 应用层对应于OSI参考模型中的高层,为用户提供所需要的各种服务,例如我们说FTP、Telnet、DNS、SMTP等等。 参考内容:百度百科,关键词,TCP/IP OSI参考模型 上面是一些对于互联网模型的基本介绍,刚开始看的时候可能会觉得很难理解为什么要怎么分,而且每一个层级具体为什么要这样,本质的原因就是为了简化设计,每一层有自己功能,和上下层通信,自己完成本层要实现的功能即可,使得在每一个层级上面不用考虑其他层级的事情,使得设计更加简单,同时也是为了解决互联网通信复杂度。 这里需要说明一点: 关于TCP/IP的很多东西需要去看,找工作中必考题,特别是TCP中的三次握手四次挥手,以及TCP和UDP的区别,如果在UDP上实现可靠传输,这些都很重要,参加公司的笔试面试中一定要看(前提是找相应的互联网公司,电子类行业的公司) 下面我们来看下一些常见的网络硬件设备: 1.网卡(工作在链路层) 相信这个大家不会熟悉,一台电脑需要上网,网卡是必不可少的硬件设备,通过网卡来连接外部网络,这是基本的功能,具体的内容有包括以下几部分内容,一个是网卡是属于串转并设备,和网络连接是串行通信的,而和CPU进行通信的时候是通过并行操作的,所以两者需要一个转换;一个是网卡针对数据有一个拆包和封包的部分,加工成网络帧。接收的时候将以太网中的帧去掉首部和尾部,提交给上一层;还有一个是由于网络上的数据速率和计算机总线上的速率并不相同,因此在网卡中必须装有对数据进行缓存的存储芯片。 2.集线器 集线器就是我们常说的hub,这里和我们的USB hub对比一下就知道了,USB hub是一个口转换成多个口,网络中的集线器也是多个口的。主要功能是对接收到的信号进行再生整型放大,能够帮助扩大网络的传输距离,同时把所有的节点集中到以他为中心的节点上。集线器本身是一个纯硬件设备也就是说的不具备学习能力,记忆能力,对于数据的发送是没有针对性的,而是采用广播的方式。每个人都会收到这个数据,由收到数据的终端自行判断这个数据是否有效。 3.交换机(工作在链路层) 交换机就是加强版的集线器,除了再生整形数据意外,交换机还能自动生成一张MAC地址表,和相应的端口对应,往后对于相同的MAC地址,就往一个端口发送,而需要进行广播发送。也就是说它是一种选择转发的方式。 4.路由器(工作在网络层) 最常见的就是我们家里WiFi的那个设备就是路由器,这个是我们家里用的路由器,但是在实际网络中。在网络中路由器是作为一个网关设备,用于连接多个逻辑不同的网络。简单来说,就是连接我们的局域网和外部网络。其实网关可以类比到我们生活中的海关,海关是做什么的,海关是控制两个国家之间进出口的,同样对于网关就是控制两个网络的出入。对外的端口为WAN,对内的端口为LAN。 路由器对内管理子网(局域网),可以在路由器设置子网的网段,设置有线端口的IP地址,设置DHCP功能等,因此局域网的IP地址是有路由器决定的,路由器对外实现联网,联网方式由外部网络决定的,比如说ADSL拨号上网,宽带上网,局域网等等。 总的来说就是相当于说路由器有两个网卡,对内是网关,对外是一个网络节点,路由器的主要功能是为经过路由器的每个数据包寻找到一条最佳路径把数据转发出去。 差不多基本的网络知识我们就说到这里,网络是一个很复杂的东西,三言两语也说不清楚,最好是找一本书看看,很多的知识点,需要慢慢去理解。有机会后面再进行补充,下一节我们继续分享相应的Linux环境下的基本函数编程。 |
|
相关推荐 |
|
只有小组成员才能发言,加入小组>>
「含关键代码」基于AM3352/AM3354/AM3359的Linux开发案例分享
4867 浏览 0 评论
87354 浏览 0 评论
【高手问答】如何做到精通linux技术?资深工程师带你突破难点
4673 浏览 2 评论
3565 浏览 2 评论
解读Linux :先从创建一个文件夹用来存放jdk压缩文件开始
2451 浏览 0 评论
1947浏览 3评论
这是i.mx6ull的关于usb的宏定义,能解释下这些宏定义的意思
1317浏览 1评论
1224浏览 1评论
求解:aarch64交叉编译工具已经安装成功,环境变量已经配置,怎么将系统架构切换为ARM的架构
1293浏览 0评论
电脑和虚拟机可以互ping,电脑和开发板也可以互ping,但是虚拟机和开发板ping不通是什么原因
1209浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 01:29 , Processed in 1.001600 second(s), Total 69, Slave 53 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号