VMware NSX原理与实践----网络基础之网络分层_vmware nsx 三层网络-程序员宅基地

技术标签: 网络  虚拟化  运维  服务器  

一、网络分层以及详解

1.1、OSI模型包含7层,可以将它们分为两组,上3层指定了终端中的应用程序如何彼此通信以及如何与用户进行交流;下4层指定了如何进行端到端的数据传输。从上到下,共有以下七层:应用层(提供用户界面)、表示层(表示数据进行加密等处理)、会话层(将不同应用程序的数据进行分离)、传输层(提供可靠或不可靠的传输,在重传前执行纠错,端到端连接)、网络层(提供逻辑地址,路由器使用他们来选择路径)、数据链路层(将分组拆分为字节,并将字节组合成帧,使用MAC地址提供介质访问,执行错误检测但不纠错)、物理层(在设备之间传输比特,指定电平、电缆速度和电缆针脚)。

由此,可以简单理解为:上三层负责主机之间的应用程序通信,都对联网和网络地址一无所知,那是下四层的事。下四层定义了如何通过物理电缆、交换机和路由器进行数据传输,它们还定义了如何重建从发送方主机到目的主机的应用程序的数据流。

1.2.1、应用层:应用层是用户与计算机交流的场所,当且仅当马上需要访问网络时,这一层才会发生作用。应用层是实际应用程序间的接口(即是应用程序与下一层的接口),这就意味着诸如WORD等应用程序并不在应用层,只是与应用层协议交互。

1.2.2、表示层:它向应用层提供数据,负责数据转换和代码格式化。从本质上说,该层是一个转换器,提供编码和格式转换功能。即将数据转换为标准格式再进行传输。

1.2.3、会话层:会话层负责在表示层实体之间建立、管理和终止会话。为此提供了三种不同的模式:单工,半双工,全双工。总之会话层的基本功能是将不同应用程序的数据分离。

1.2.4、传输层:负责将数据进行分段并重组为数据流,并确保数据的完整性,位于传输层的服务(TCP:可靠的服务,UDP:不可靠的服务)将来自上层的数据进行分段和重组,将他们合并到同一个数据流中。他们提供了端到端的数据服务,并可在互联网络中的发送主机和目的主机之间建立连接。

1.2.5、网络层:用于管理设备地址,跟踪设备在网络中的位置并确定最佳的传输路径,这意味着网络层必须在位于不同网络中的设备之间传输数据流,路由器便是在网络层。

1.2.6、数据链路层:数据链路层负责对本地网络中的每台设备进行唯一标识,用于提供数据的物理传输,并处理错误通知以及流量控制等等,它会使用硬件地址确保报文被传输到LAN中的正确设备,还把来自网络层的报文转化为比特,供物理层传输。数据链路层会将报文封装成帧,并添加定制的报头,其中包含目标硬件地址和源硬件地址。

1.2.7、物理层:物理层的主要功能就是发送和接收比特。

二、零散知识点

2.1、集线器:集线器的主要功能是对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上。它工作在物理层,属于纯硬件网络底层设备,基本不具备交换机的“智能记忆”能力和“学习”能力,它也不具备交换机所具备的MAC地址表,所以它发数据时都是没有针对性的,而是采用广播的方式发送,简单来说,它发数据时不是直接将数据发送到目的节点,而是采用广播的方式发送,将所有的数据包发送给与集线器相连的所有节点,但是由于它的这种特性,会造成信号之间的碰撞机会很大,而且信号也有可能被窃听,因此大部分集线器已经被交换机取代。

2.2、流量控制:流量控制可以避免作为发送方的主机让作为接收方的主机的缓存区溢出,这样可能会导致数据丢失,流量控制旨在提供一种机制,让接收方能够控制发送方发送的数据量。这种机制类似于刹车灯,用信号告诉发送方设备不要再继续向不堪重负的接收方传输数据段。

2.3、面向连接的通信:在可靠的传输操作中,要传输数据的设备会与远程设备建立一个会话,传输设备首先与对等系统建立面向连接的会话,称为呼叫建立或三方握手,然后传输数据,传输结束后,呼叫终止并拆除虚电路(这种虚电路建立称为开销)。该通信应具有以下功能:(1)建立虚电路,比如三方握手(2)使用排序技术(3)使用确认(4)使用流量控制。

2.3、窗口技术:发送方可以利用发送方传输数据段到处理完毕来自接收方确认的这段时间传输更多的数据,而在收到确认之前,传输方可以发送的数据段数量(以字节为单位)称为窗口。简单来说,窗口就是用来控制未确认的数据段数量。

2.4、确认:要想实现可靠的数据传输,确保数据不会重复和丢失,是通过肯定确认和重传实现的,这种方法要求接收方在收到数据后向发送方发送一条确认消息。收到接收方确认后,发送方继续发送数据。在发送数据段之后,发送方会启动定时器,如果定时器到期后仍未收到确认消息,就重传该数据段。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Gao068465/article/details/103843743

智能推荐

oracle 12c 集群安装后的检查_12c查看crs状态-程序员宅基地

文章浏览阅读1.6k次。安装配置gi、安装数据库软件、dbca建库见下:http://blog.csdn.net/kadwf123/article/details/784299611、检查集群节点及状态:[root@rac2 ~]# olsnodes -srac1 Activerac2 Activerac3 Activerac4 Active[root@rac2 ~]_12c查看crs状态

解决jupyter notebook无法找到虚拟环境的问题_jupyter没有pytorch环境-程序员宅基地

文章浏览阅读1.3w次,点赞45次,收藏99次。我个人用的是anaconda3的一个python集成环境,自带jupyter notebook,但在我打开jupyter notebook界面后,却找不到对应的虚拟环境,原来是jupyter notebook只是通用于下载anaconda时自带的环境,其他环境要想使用必须手动下载一些库:1.首先进入到自己创建的虚拟环境(pytorch是虚拟环境的名字)activate pytorch2.在该环境下下载这个库conda install ipykernelconda install nb__jupyter没有pytorch环境

国内安装scoop的保姆教程_scoop-cn-程序员宅基地

文章浏览阅读5.2k次,点赞19次,收藏28次。选择scoop纯属意外,也是无奈,因为电脑用户被锁了管理员权限,所有exe安装程序都无法安装,只可以用绿色软件,最后被我发现scoop,省去了到处下载XXX绿色版的烦恼,当然scoop里需要管理员权限的软件也跟我无缘了(譬如everything)。推荐添加dorado这个bucket镜像,里面很多中文软件,但是部分国外的软件下载地址在github,可能无法下载。以上两个是官方bucket的国内镜像,所有软件建议优先从这里下载。上面可以看到很多bucket以及软件数。如果官网登陆不了可以试一下以下方式。_scoop-cn

Element ui colorpicker在Vue中的使用_vue el-color-picker-程序员宅基地

文章浏览阅读4.5k次,点赞2次,收藏3次。首先要有一个color-picker组件 <el-color-picker v-model="headcolor"></el-color-picker>在data里面data() { return {headcolor: ’ #278add ’ //这里可以选择一个默认的颜色} }然后在你想要改变颜色的地方用v-bind绑定就好了,例如:这里的:sty..._vue el-color-picker

迅为iTOP-4412精英版之烧写内核移植后的镜像_exynos 4412 刷机-程序员宅基地

文章浏览阅读640次。基于芯片日益增长的问题,所以内核开发者们引入了新的方法,就是在内核中只保留函数,而数据则不包含,由用户(应用程序员)自己把数据按照规定的格式编写,并放在约定的地方,为了不占用过多的内存,还要求数据以根精简的方式编写。boot启动时,传参给内核,告诉内核设备树文件和kernel的位置,内核启动时根据地址去找到设备树文件,再利用专用的编译器去反编译dtb文件,将dtb还原成数据结构,以供驱动的函数去调用。firmware是三星的一个固件的设备信息,因为找不到固件,所以内核启动不成功。_exynos 4412 刷机

Linux系统配置jdk_linux配置jdk-程序员宅基地

文章浏览阅读2w次,点赞24次,收藏42次。Linux系统配置jdkLinux学习教程,Linux入门教程(超详细)_linux配置jdk

随便推点

matlab(4):特殊符号的输入_matlab微米怎么输入-程序员宅基地

文章浏览阅读3.3k次,点赞5次,收藏19次。xlabel('\delta');ylabel('AUC');具体符号的对照表参照下图:_matlab微米怎么输入

C语言程序设计-文件(打开与关闭、顺序、二进制读写)-程序员宅基地

文章浏览阅读119次。顺序读写指的是按照文件中数据的顺序进行读取或写入。对于文本文件,可以使用fgets、fputs、fscanf、fprintf等函数进行顺序读写。在C语言中,对文件的操作通常涉及文件的打开、读写以及关闭。文件的打开使用fopen函数,而关闭则使用fclose函数。在C语言中,可以使用fread和fwrite函数进行二进制读写。‍ Biaoge 于2024-03-09 23:51发布 阅读量:7 ️文章类型:【 C语言程序设计 】在C语言中,用于打开文件的函数是____,用于关闭文件的函数是____。

Touchdesigner自学笔记之三_touchdesigner怎么让一个模型跟着鼠标移动-程序员宅基地

文章浏览阅读3.4k次,点赞2次,收藏13次。跟随鼠标移动的粒子以grid(SOP)为partical(SOP)的资源模板,调整后连接【Geo组合+point spirit(MAT)】,在连接【feedback组合】适当调整。影响粒子动态的节点【metaball(SOP)+force(SOP)】添加mouse in(CHOP)鼠标位置到metaball的坐标,实现鼠标影响。..._touchdesigner怎么让一个模型跟着鼠标移动

【附源码】基于java的校园停车场管理系统的设计与实现61m0e9计算机毕设SSM_基于java技术的停车场管理系统实现与设计-程序员宅基地

文章浏览阅读178次。项目运行环境配置:Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。项目技术:Springboot + mybatis + Maven +mysql5.7或8.0+html+css+js等等组成,B/S模式 + Maven管理等等。环境需要1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。_基于java技术的停车场管理系统实现与设计

Android系统播放器MediaPlayer源码分析_android多媒体播放源码分析 时序图-程序员宅基地

文章浏览阅读3.5k次。前言对于MediaPlayer播放器的源码分析内容相对来说比较多,会从Java-&amp;amp;gt;Jni-&amp;amp;gt;C/C++慢慢分析,后面会慢慢更新。另外,博客只作为自己学习记录的一种方式,对于其他的不过多的评论。MediaPlayerDemopublic class MainActivity extends AppCompatActivity implements SurfaceHolder.Cal..._android多媒体播放源码分析 时序图

java 数据结构与算法 ——快速排序法-程序员宅基地

文章浏览阅读2.4k次,点赞41次,收藏13次。java 数据结构与算法 ——快速排序法_快速排序法