网络原理初识(2)

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
简介: 网络原理初识(2)

一、协议分层


       1、分层的作用

       网络通信过程中,涉及到的细节非常多,如果要有一个协议来完成网络通信,就要约定好方方面面的内容,因为细节非常多,就导致协议非常麻烦。

       一个协议太庞大复制,就把它拆分成多个功能单一的协议,拆分出来的协议太多了,为了让这些协议更好的相互配合,就引用了协议分层

       网络协议被拆分出来后,就把这些协议进行分层,把功能相似的协议放到同一层,上层协议能调用下层协议的功能,下层协议给上层协议提供服务。类似公司的老板--领导--组织--员工体系。

       协议分层的初心就是让一个复制的协议变成多个简单的协议,这还附带了一些好处,如图:

       (1)上层协议直接使用下层协议就好了,不需要了解下层协议的细节

       如上图,语言层,不管老人还是小孩,只要会说汉语,就能打电话,并不需要知道电话机的工作原理。

       (2)某一层协议进行替换后,对其他协议并没有啥影响

       如上图,电话机协议换成汉语协议和英语协议,还是能打电话,说汉语的就使用无线电,说英语的就使用电话机,还是可以实现打电话这个功能,并没有啥影响。

       2、OSI七层模型

       最初大佬设计的方案,后来在实施过程中,因为太麻烦了,就简化成五层。

       OSI:即Open System Interconnection,开放系统互连.

OSI七层网络模型是一个逻辑上的定义和规范:把网络从逻辑上分为了七层.

OSI七层模型是一种框架性的设计方法,其最主要的功能使就是帮助不同类型的主机实现数据传输;

       OSI:七层模型划分为以下七层:

       3、TCP / IP五层(或四层)模型

       这里的或四层的意思是不算物理层,物理层是纯硬件的,而程序员往往不用理会物理层。

       1)应用层:程序拿到数据后,要用来干嘛,解决什么问题。

       类似网上下单商品后,装进快递盒贴码后交给快递小哥,快递小哥拿快递盒开始运送。

       2)传输层:负责关注网络数据包的 起点和终点(从哪来到哪去),端口和端口之间的传输。

       类似网购的商品发送地址和收货地址,广东-->上海

       3)网络层:负责关注起点和终点之间的 路径规划(怎么走)。

       类似规划路线:广东-->武汉-->河北-->...-->上海

       4)数据链路层:负责两个相邻节点的传输。

       类似上海-->南京:飞机空运;南京-->无锡:铁路运输。

       5)物理层:通信过程的基础设施

       类似公路,铁路,航线....

       4、网络设备所在分层

       对于一台主机:它的操作系统内核实现了从传输层到物理层的内容,即TCP / IP五层模型的下四层

      对于一台路由器:它实现了从网络层到物理层,即TCP / IP五层模型的下三层

       对于一台交换机:它实现了从数据链路层到物理层,即TCP / IP五层模型的下二层

       对于一台集线器:它只实现了物理层

      注意:这里谈到的路由器和交换机是 “经典”的路由器、交换机(教科书上的);事实上,真实世界中的交换机 / 路由器要更复杂,功能也更强大。

      很多交换机,也具备一些路由器的的功能,也能工作在网络层。

      很多路由器,也具备一些交换机的功能,也能工作在数据链路层。

       现实世界的情况和考试的情况 可能存在差异。

       5、网络分层对应

       网络数据传输时,经过不同的网络结点(主机,路由器)时,网络分层需要对应.

       以下为同一个网段中两台主机进行文件传输:

       两台计算机通过TCP/IP协议通讯的过程如下图所示:

       TCP/IP通讯过程:

       以下为跨网段的主机文件传输:数据从一台计算机到另一台计算机传输过程中要经过一个或多个路由器.    


二、封装和分用


       封装和分用是网络传输过程中,最核心的过程。

1.不同协议层对数据包有不同的称谓:包(packet)->IP数据包,;段(segment)->TCP数据段;

报(datagram)->UDP数据报;帧(frame)->以太网数据帧.

2.应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header),称为封装

3.首部信息中包含了一些类似于首部有多长,载荷有多长,上层协议是什么等信息.

4.数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥离出相应的首部,根据首部中的"上层协议字段"将数据交给对应的上层协议处理.

       举个例子,介绍分装分用的过程:A 通过QQ 给 B 发送一个 hello。

发送过程(封装)

1、应用层(应用程序) QQ

       QQ从消息输入框,获取到用户输入的 “hello”,就要把这个字符串构造成应用层的数据包;QQ这样的程序内部就设置了一个应用层协议:应用层数据包就是按照这个应用层协议约定的格式来构造的。

       约定格式如下:

       应用程序就会调用操作系统的api,把这个数据包交给传输层。

2、传输层

       输入层就会把上述数据作为一个整体,再构造成一个传输层的数据包。

       此处假定使用UDP来进行通信,就会构造成一个UDP的数据包。如图:

       UDP报头:虽然不能保护数据,但能起到类似 “贴标签”的效果,就能承载一些关键的、用来转发数据的信息。对于UDP报头来说,承载的最重要的信息就是源端口目的端口

       形如上述添加报头的过程,就叫做封装,其实就是字符串拼接,只不过拼的报头,具有一定的结构。

       拼装好传输层数据包之后,就要把这个数据包进一步的交给下层,网络层继续进行封装。

3、网络层

       这里涉及的最核心的协议:IP协议。

       网络层根据IP协议,把刚才传输层的UDP数据包作为一个整体,再拼上IP协议的报头,构造成一个IP数据包。如图:

       IP协议的报头,相当于把整个UDP数据包当成一个整体了。这里也会包含一些辅助转发的关键信息,此处最关键的信息就是 源IP目的IP

       构造完成完整的IP数据包后,IP协议继续调用数据链路层的 api,再把数据交给数据链路层的协议处理。

4、数据链路层

       这里涉及核心的协议:以太网,此处的 “以太” 用来表示网络数据传输的介质。

       以太网就是日常最常见到的 有线网络,日常用到的网线,也叫做 “以太网线”,日常用到的网口,也叫做 “以太网口”,用到的交换机,也叫做 “以太网交换机”。

       在数据链路层中,会把IP数据包作为一个整体,再添加以太网数据帧,在IP数据包基础上,添加帧头和帧尾。如图下就是以太网数据帧:

       构造完以太网数据帧后,以太网协议就会把以数据交给物理层。

5、物理层

       物理层涉及到的是硬件设备,把上述这样的以太网数据帧,它是二进制结构(一串 0 1 0 1 这样的数据),转换成光信号 / 电信号 / 电磁波。

       光信号:光纤,通过光的频谱进行编码。

       电信号:网线,高电平 / 低电平

       电磁波:无线WiFi

经过上述流程,数据才从你电脑上发送出去

接收过程(分用)

       中间过程暂时不考虑,假定数据包已经到达B的网卡了,B如何处理这个数据包的过程,就称为 分用。

1、物理层

       B的物理层收到光信号 / 电信号 / 电磁波,就会把这些物理信号转换成数字信号(二进制的 0 1 0 1),得到一个以太网数据帧,进一步的把这个数据帧交给数据链路层处理。

2、数据链路层--以太网

       按照以太网数据帧的格式,来解析,取出其中的载荷,再交给上层协议。(发送方和接收方得使用一样的协议才行)如图:

3、网络层--IP协议

       按照IP协议的格式进行解析,取出其中的载荷,再交给上层协议。如图:

       

4、传输层--UDP协议

       按照UDP协议的格式来解析,取出其中的载荷,再交给上一层。如图:

5、应用层--QQ应用程序

       按照QQ应用程序内部的应用层协议格式来解析数据,如图:

       qq拿到上面数据后,就会再窗口给你弹出提示,并且把消息、发送者、发送时间 都显示在连聊天窗口上。

现实世界的封装和分用

       上面这种情况是两台主机网线直连的情况,并不是真实情况,真实情况更加复杂,会通过一系列交换机 / 路由器 进行数据转发。

      但实际上,即使是经过路由器或者交换机,上述的封装分用过程,也同样适用,只不过,封装分用的程度不一定是到 应用层(五层都有)。

       对于经典的交换机来说,就只需要封装分用到数据链路层

       对于经典的路由器来说,就只需要封装分用到网络层

假设上面其中某个节点是交换机

       交换机就会把上述光电信号转换成以太网数据帧二进制,交给数据链路层。如图:

       交换机的数据链路层就会对上述数据进行解析,这个解析过程:一方面要取出载荷部分,另一方面要解析帧头的关键信息

       根据帧头中的信息,决定下一步把数据往哪里进行发送,根据这个情况,再构造出新的以太网数据帧。如图:

       把新的数据继续通过物理层发送出去。

假设上面其中某个节点是路由器

       路由器则比交换机要更复杂一些,就是封装分用到网络层。

       先是物理层拿到光电信号,转换成二进制数据,再交给数据链路层,如图:

       数据链路层根据上面的数据进行解析,取出载荷,交给网络层(IP协议)。

       网络层中,IP协议进一步对收到的数据进行解析,取出载荷。

       也要解析IP报头,路由器需要通过IP报头,得到目的IP,接下来才知道如何转发。

       取出IP报头,IP协议进行重新封装,得到新的IP报头,如图:

       继续交给数据链路层,继续加上新的帧头和帧尾,如图:

       这个数据再交给物理层,转成光电信号,继续传输。

上述是经典的交换机和路由器,现实情况要更复杂一些,比如交换机,就要截取 / 解析你传输的数据,会封装分用到应用层,把你的hello拎出来看看,你作为外人,无从得知。

相关文章
|
24天前
|
网络协议 安全 5G
网络与通信原理
【10月更文挑战第14天】网络与通信原理涉及众多方面的知识,从信号处理到网络协议,从有线通信到无线通信,从差错控制到通信安全等。深入理解这些原理对于设计、构建和维护各种通信系统至关重要。随着技术的不断发展,网络与通信原理也在不断演进和完善,为我们的生活和工作带来了更多的便利和创新。
61 3
|
2月前
|
并行计算 安全 网络协议
探索未来网络:量子互联网的原理与应用
本文深入探讨了量子互联网的基本概念、技术原理及其潜在应用。通过对量子纠缠、量子叠加和量子隐形传态等核心概念的解释,文章展示了量子互联网如何利用量子力学特性来实现超高速、超高安全性的通信。此外,还讨论了量子互联网在金融、医疗、国防等领域的应用前景,以及当前面临的技术挑战和未来的发展方向。
72 2
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习的奥秘:探索神经网络的核心原理
本文将深入浅出地介绍深度学习的基本概念,包括神经网络的结构、工作原理以及训练过程。我们将从最初的感知机模型出发,逐步深入到现代复杂的深度网络架构,并探讨如何通过反向传播算法优化网络权重。文章旨在为初学者提供一个清晰的深度学习入门指南,同时为有经验的研究者回顾和巩固基础知识。
73 11
|
6天前
|
运维 物联网 网络虚拟化
网络功能虚拟化(NFV):定义、原理及应用前景
网络功能虚拟化(NFV):定义、原理及应用前景
21 3
|
17天前
|
网络协议 安全 算法
网络空间安全之一个WH的超前沿全栈技术深入学习之路(9):WireShark 简介和抓包原理及实战过程一条龙全线分析——就怕你学成黑客啦!
实战:WireShark 抓包及快速定位数据包技巧、使用 WireShark 对常用协议抓包并分析原理 、WireShark 抓包解决服务器被黑上不了网等具体操作详解步骤;精典图示举例说明、注意点及常见报错问题所对应的解决方法IKUN和I原们你这要是学不会我直接退出江湖;好吧!!!
网络空间安全之一个WH的超前沿全栈技术深入学习之路(9):WireShark 简介和抓包原理及实战过程一条龙全线分析——就怕你学成黑客啦!
|
28天前
|
机器学习/深度学习 人工智能 监控
深入理解深度学习中的卷积神经网络(CNN):从原理到实践
【10月更文挑战第14天】深入理解深度学习中的卷积神经网络(CNN):从原理到实践
81 1
|
30天前
|
网络协议 Linux 应用服务中间件
Socket通信之网络协议基本原理
【10月更文挑战第10天】网络协议定义了机器间通信的标准格式,确保信息准确无损地传输。主要分为两种模型:OSI七层模型与TCP/IP模型。
|
1月前
|
存储 安全 算法
网络安全与信息安全:构建数字世界的防线在数字化浪潮席卷全球的今天,网络安全与信息安全已成为维系现代社会正常运转的关键支柱。本文旨在深入探讨网络安全漏洞的成因与影响,剖析加密技术的原理与应用,并强调提升公众安全意识的重要性。通过这些综合性的知识分享,我们期望为读者提供一个全面而深刻的网络安全视角,助力个人与企业在数字时代中稳健前行。
本文聚焦网络安全与信息安全领域,详细阐述了网络安全漏洞的潜在威胁、加密技术的强大防护作用以及安全意识培养的紧迫性。通过对真实案例的分析,文章揭示了网络攻击的多样性和复杂性,强调了构建全方位、多层次防御体系的必要性。同时,结合当前技术发展趋势,展望了未来网络安全领域的新挑战与新机遇,呼吁社会各界共同努力,共筑数字世界的安全防线。
|
1月前
|
存储 安全 自动驾驶
探索未来网络:量子互联网的原理与应用
【10月更文挑战第2天】 本文旨在探讨量子互联网的基本原理、技术实现及其在通讯领域的革命性应用前景。量子互联网利用量子力学原理,如量子叠加和量子纠缠,来传输信息,有望大幅提升通信的安全性和速度。通过详细阐述量子密钥分发(QKD)、量子纠缠交换和量子中继等关键技术,本文揭示了量子互联网对未来信息社会的潜在影响。
|
17天前
|
网络协议 安全 算法
网络空间安全之一个WH的超前沿全栈技术深入学习之路(9-2):WireShark 简介和抓包原理及实战过程一条龙全线分析——就怕你学成黑客啦!
实战:WireShark 抓包及快速定位数据包技巧、使用 WireShark 对常用协议抓包并分析原理 、WireShark 抓包解决服务器被黑上不了网等具体操作详解步骤;精典图示举例说明、注意点及常见报错问题所对应的解决方法IKUN和I原们你这要是学不会我直接退出江湖;好吧!!!