精华内容
下载资源
问答
  • 对等层之间通信使用的是
    2020-11-29 22:47:39

    对等通信

    在这里插入图片描述
    在OSI模型中:
    每一层都使用自己的协议
    每一层都利用下层提供的服务与对等层通信

    应用层数据称为APDU(Application Protocol Data Unit,应用层协议数据单元),表示层数据称为PPDU(Presentation Protocol Data Unit,表示层协议数据单元),会话层数据称为SPDU(Session Protocol Data Unit,会话层协议数据单元);传输层数据称为段(segment),网络层数据称为数据包(packet),数据链路层数据称为帧(frame),物理层数据称为比特(bit)。在OSI参考模型中,终端主机的每一层都与另一方的对等层次进行通信,但这种通信并非直接进行的,而是通过下一层为其提供的服务来间接与对端的对等层交换数据。下一层通过服务访问点(SAP,Service Access Point)为上一层提供服务。例如,一个终端设备的传输层和另一个终端设备的传输层利用数据段进行通信。传输层的段成为网络层数据包的一部分,网络层数据包又成为数据链路层帧的一部分,最后转换成比特流传送到对端物理层,又依次到达对端数据链路层、网络层、传输层,实现了对等层之间的通信。
    为了保证对等层之间能够准确无误地传递数据,对等层间应运行相同的网络协议。例如,应用层的E-mail程序不会与对端应用层Telnet程序通信,但可以与对端E-mail应用程序通信。

    数据的封装与解封装

    在这里插入图片描述
    封装(encapsulation)是指网络节点将要传送的数据用特定的协议打包后传送。多数协议是通过在原有数据之前加上封装头(header)来实现封装的,一些协议还要在数据之后加上封装尾(trailer),而原有数据此时便成为载荷(payload)。在发送方,OSI七层模型的每一层都对上层数据进行封装,以保证数据能够正确无误地到达目的地;而在接收方,每一层又对本层的封装数据进行解封装,并传送给上层,以便数据被上层所理解。

    更多相关内容
  • OSI七网络模型与TCP-IP模型对照详解 一.引子 准备了好久才开始动手整理,不是因为懒,而是这个知识点确实涉及到很底层的东西了,笔者想让大家体验到最好的,也是给自己一个交代,不能搞粗制滥造的东西。当然就算...

    OSI七层网络模型与TCP-IP模型对照详解

    一.引子

    准备了好久才开始动手整理,不是因为懒,而是这个知识点确实涉及到很底层的东西了,笔者想让大家体验到最好的,也是给自己一个交代,不能搞粗制滥造的东西。当然就算粗制滥造也得看上去精美,哈哈。网络服务的基础,搞懂了这两个模型,对网络服务的理解那是事半功倍,让笔者带大家进入底层模型的世界。

    二.OSI七层网络模型与TCP-IP模型对照

    1.分层的意义及模型对照

    结构清晰
    简化设计与实现
    便于更新与维护
    较强的独立性和适应性

    在这里插入图片描述
    2.OSI分层及典型设备

    1)物理层:物理设备(网线,双绞线)
    2)数据链路层:数据帧(网桥交换机网卡)
    3)网络层:路由器
    4)传输层:TCP,udp端口,计算机与计算机(网关,协议转换器)段
    5)会话层:计算机与用户建立管理终止会话 分组/包
    6)表示层:编译压缩应用层 帧
    7)应用层:网络协议 比特(bit)在这里插入图片描述

    3.TCP-IP模型分层及TCP-IP协议数据封装过程(注意TCP-IP协议)

    1)网络接口层
    2)网络层
    3)数据链路层
    4)应用层

    在这里插入图片描述
    4.对等网络通信协议(基于模型之间的对等层级相互通信)

    1)网络分层体系结构原理禁止不同主机的对等层之间进行直接通信

    2)每一层必须依靠下层提供的服务来与另一台主机的对等层通信
    上层使用下层提供的服务
    下层向上层提供服务

    3)对等层实体实现的是虚拟的逻辑通信,实际通信在最底层完成

    4)源进程从最高层开始自上到下逐层封装,目标系统将收到的信息自下而上开始拆封

    5)在各层中实现的主要功能
    差错控制
    流量控制
    分段和重装:发送端将数据块分成更小单位,在接收端重组
    复用和分用
    建立连接和释放连接

    6)通信协议三要素
    语义(讲什么):对协议中各协议元素的含义的解释
    语法(怎么讲):报文格式
    时序(因果关系):通信过程中,通信双方操作的执行顺序和规则

    说实话,一通整理下来专有确实让人感觉有点多,但是笔者建议初学者还是细细品味其中的味道,你就会发现越来越香。香到不能自拔,当你感觉比女朋友还香的时候,差不多就能在我们这一行干出一番大事业了。下个回合便是网络服务的重点TCP的三次握手与四次挥手啦。最后感谢大家一键三连。

    #所有图片均来自网络。

    展开全文
  • OSI/RM参考模型的对等传输原理

     OSI/RM”是英文“Open Systems Interconnection Reference Model”的缩写

    OSI/RM参考模型

    OSI参考模型是一个具有七层结构的体系模型。发送和接收信息所涉及的内容和相应的设备称为实体。OSI的每一层都包含多个实体,处于同一层的实体称为对等实体。 [2]

    OSI参考模型也采用了分层结构技术,把一个网络系统分成若干层,每一层都去实现不同的功能,每一层的功能都以协议形式正规描述,协议定义了某层同远方一个对等层通信所使用的一套规则和约定。每一层向相邻上层提供一套确定的服务,并且使用与之相邻的下层所提供的服务。从概念上来讲,每一层都与一个远方对等层通信,但实际上该层所产生的协议信息单元是借助于相邻下层所提供的服务传送的。因此,对等层之间的通信称为虚拟通信。 [2]

    该模型定义了不同计算机互联的标准,是设计和描述计算机网络通信的基本框架。OSI参考模型共分为7个层次,从低到高依次为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

    实体与对等实体

    每一层中,用于实现该层功能的活动元素被称为实体(Entity),实体既可以是软件实体(如一个进程、电子邮件系统、应用程序等)也可以是硬件实体(如终端、智能输入/输出芯片等)。软件实体可以嵌入在本地操作系统中,或者用户应用程序中。不同机器上位于同一层次、完成相同功能的实体被称为对等实体(Peer Entity)。如主机A和主机B传输层中的传输实体为对等实体。 [4]

    对等层和对等协议

    不同主机之间的相同层次被称为对等层(Peer)。主机A的应用层和主机B的应用层互为对等层、主机A的会话层和主机B的会话层互为对等层。 [4]

    对等层之间存在协议关系。即对等实体之间互相通信需要遵守一定的规则,如通信的内容、通信的方式等。这种对等实体之间交换数据或通信时必须遵守的规则称为对等层协议(Peer Protocol)。除了物理层外,OSI模型中的其他6个对等层都存在对应的协议,如数据链路层协议、网络层协议等,对等实体利用对等协议进行通信以向高层提供服务。实际上,对等层之间的通信是虚拟通信,它们之间的通信是使用下--层提供的服务来实现的。 [4]

    同一网络中不同主机的对等层,要安装运行相同的网络协议,主机间才能进行有效通信。这可以概括为“协议是水平的”。 [4]

    服务与接口

    在OSI分层结构模型中,每一层实体为相邻的上一层实体提供的通信功能称为服务。N层实体利用N-1层实体所提供的服务,向N+I层实体提供功能更强大的服务。这可以概括为“服务是垂直的”。例如,传输层实体利用网络层实体的服务,向应用层实体提供网页传输服务。 [4]

    N层实体使用N-1层实体所提供的服务时,不需要知道N-1层实体所提供的服务是如何实现的以及N-1层实体间的协议,而只需要知道下一层可以为自己提供哪些服务(是快速昂贵通信还是慢速低廉通信),以及通过什么样的接口提供的。 [4]

    在OSI模型中,各层之间的接口都有统一的规则。N层的服务访问点SAP(Service Access Point)是N层实体提供服务给N+1层的地方,SAP可以理解为下层实体之间的逻辑传输通道。每一层的SAP都有一个唯一标明它的地址。一个N层可能存在多个SAP。 [4]

    数据单元

    在OSI环境中,对等实体间按协议进行通信,上下层实体间按服务进行通信。这些通信都依靠3种数据单元的传输来实现。 [4]

    服务数据单元

    为实现N层服务所要传送的逻辑数据单元,称为N层服务数据单元(Service Data Unit,SDU),简称SDU。例如,用户需要浏览某网站的网页,该用户所在计算机的应用层实体(如浏览器生成应用层SDU,再通过下一层实体提供的服务,最后将该SDU传送到对等应用层实体(如某网站计算机上Web服务器)。 [4]

    协议数据单元

    对等实体之间为实现该层协议所交换的信息单元(Protocol Data Unit,PDU),称为协议数据单元。为了发送厅层的SDU,N层实体可能根据N层协议,将一个SDU划分为多个PDU。而在接收端,N层实体可能要将多个PDU恢复成一个N层的SDU。例如,用户请求网页信息被附加上HTTP(超文本传输协议)报头,变成PDU,而在网站服务器那端,如果用户申请的网页(即SDU)太长,则要被划分成多个PDU传送。 [4]

    接口数据单元

    在同一系统上下两层实体的交换信息中,经过SAP的信息单元(Interface Data Unit,IDU),称为接口数据单元,N层IDU由两部分组成,N层服务数据单元和一些供下一层实体用的控制信息(称为接口控制信息ICI)。 [4]

    服务类型

    在计算机网络协议的层次结构中,层与层之间具有服务与被服务的单向依赖关系,下层向上层提供服务,而上层调用下层的服务。因此可称任意相邻两层的下层为服务提供者,上层为服务用户。下层为上层提供的服务可分为两类:面向连接服务Connection Oriented service)和无连接服务(Conectionless Service)。 [4]

    (1)面向连接服务:两个N层实体在数据交换前,必须先建立连接,即首先初始化状态信息。并且为N+1层实体的信息传输建立一个通道。在数据传输阶段,通过这些状态信息,第N层实体可以跟踪在它们之间的PDU交换及它们与更高层的SDU交换。当数据交换结束后应释放这个连接,即去除状态信息,释放建立连接时所分配的资源。 [4]

    (2)无连接服务:两个N层实体通信前,不需要先建立一个连接,即不需要事先进行预定保留状态信息。同一个用户到相同目的地的信息块都独立发送,接收端无需返回确认信息。如果信息在传输中丢失,就不再重发。不可靠的无连接的服务通常被称为数据报服务。 [4]

    服务原语

    服务是通过一组服务原语(Primitive)来描述的,这些原语供用户和其他实体访问服务,通知服务提供者采取某些行动或报告某个对等实体的活动。服务原语被分为如下4类。 [4]

    ●请求(Request):由服务用户发往服务提供者,请求它完成某项工作。 [4]

    ●指示(Indication):由服务提供者发往服务用户,指示发生了某些事件。 [4]

    ●响应(Response):由服务用户发往服务提供者,对前面发生的指示的响应。 [4]

    ●证实(Confirmation):由服务提供者发往服务用户,对前面发生的请求的证实。 [4]

    拓展:OSI参考模型_百度百科 (baidu.com)

    层次划分原则

    OSI是分层的体系结构,每一层是一个模块,用于完成某种功能,并具有自己的通信协议。ISO将整个OSI划分成七个层次,划分层次依据以下五个原则: [5]

    (1)网络中各节点具有相同的层次; [5]

    (2)网络中各节点同等层次功能相同; [5]

    (3)同一节点内相邻层通过接口通信; [5]

    (4)同一节点内底层向高层提供服务; [5]

    (5)网络中各节点同层通过协议通信。 [5]

    OSI划分的七个层次由高到低依次为:Application(应用层)、Presentation(表示层)、Session(会话层)、Transport(传输层)、Network(网络层)、DataLink(数据链路层)和Physical(物理层)。其中应用层、表示层和会话层可以视为应用层,而剩余层则可视为数据流动层。 [5]

    层次结构及功能

    编辑 语音

    物理层

    物理层是参考模型中的最底层,主要定义了系统的电气、机械、过程和功能标准。如:电压、物理数据速率、最大传输距离、物理联接器和其他的类似特性。物理层的主要功能是利用传输介质为数据链路层提供物理联接,负责数据流的物理传输工作。物理层传输的基本单位是比特流,即0和1,也就是最基本的电信号或光信号,是最基本的物理传输特征。 [5]

    数据链路层

    数据链路层是在通信实体间建立数据链路联接,传输的基本单位为“帧”,并为网络层提供差错控制和流量控制服务。数据链路层由MAC(介质访问控制子层)和LLC(逻辑链路控制子层)组成。介质访问控制子层的主要任务是规定如何在物理线路上传输帧。逻辑链路控制子层对在同一条网络链路上的设备之间的通信进行管理。数据链路控制子层主要负责逻辑上识别不同协议类型,并对其进行封装。也就是说数据链路控制子层会接受网络协议数据、分组的数据报并且添加更多的控制信息,从而把这个分组传送到它的目标设备。 [5]

    网络层

    网络层主要为数据在节点之间传输创建逻辑链路,通过路由选择算法为分组选择最佳路径,从而实现拥塞控制、网络互联等功能。网络层是以路由器为最高节点俯瞰网络的关键层,它负责把分组从源网络传输到目标网络的路由选择工作。互联网是由多个网络组成在一起的一个集合,正是借助了网络层的路由路径选择功能,才能使得多个网络之间的联接得以畅通,信息得以共享。网络层提供的服务有面向联接和面向无联接的服务两种。面向联接的服务是可靠的联接服务,是数据在交换之前必须先建立联接,然后传输数据,结束后终止之前建立联接的服务。网络层以虚电路服务的方式实现面向联接的服务。面向无联接的服务是一种不可靠的服务,不能防止报文的丢失、重发或失序。面向无联接的服务优点在于其服务方式灵活方便,并且非常迅速。网络层以数据报服务的方式实现面向无联接的服务。 [5]

    传输层

    传输层是网络体系结构中高低层之间衔接的一个接口层。传输层不仅仅是一个单独的结构层,而是整个分析体系协议的核心。传输层主要为用户提供End—to—End(端到端)服务,处理数据报错误、数据包次序等传输问题。传输层是计算机通信体系结构中关键一层,它向高层屏蔽了下层数据的通信细节,使用户完全不用考虑物理层、数据链路层和网络层工作的详细情况。传输层使用网络层提供的网络联接服务,依据系统需求可以选择数据传输时使用面向联接的服务或是面向无联接的服务。 [5]

    会话层

    会话层的主要功能是负责维护两个节点之间的传输联接,确保点到点传输不中断,以及管理数据交换等功能。会话层在应用进程中建立、管理和终止会话。会话层还可以通过对话控制来决定使用何种通信方式,全双工通信或半双工通信。会话层通过自身协议对请求与应答进行协调。 [5]

    表示层

    表示层为在应用过程之间传送的信息提供表示方法的服务。表示层以下各层主要完成的是从源端到目的端可靠地的数据传送,而表示层更关心的是所传送数据的语法和语义。表示层的主要功能是处理在两个通信系统中交换信息的表示方式,主要包括数据格式变化、数据加密与解密、数据压缩与解压等。在网络带宽一定的前提下数据压缩的越小其传输速率就越快,所以表示层的数据压缩与解压被视为掌握网络传输速率的关键因素。表示层提供的数据加密服务是重要的网络安全要素,其确保了数据的安全传输,也是各种安全服务最为重视的关键。表示层为应用层所提供的服务包括:语法转换、语法选择和联接管理。 [5]

    应用层

    应用层是OSI模型中的最高层,是直接面向用户的一层,用户的通信内容要由应用进程解决,这就要求应用层采用不同的应用协议来解决不同类型的应用要求,并且保证这些不同类型的应用所采用的低层通信协议是一致的。应用层中包含了若干独立的用户通用服务协议模块,为网络用户之间的通信提供专用的程序服务。需要注意的是应用层并不是应用程序,而是为应用程序提供服务。 [5]

    数据封装过程

    编辑 语音

    在OSI参考模型中,当一台主机需要传送用户的数据(DATA)时,数据首先通过应用层的接口进入应用层。在应用层,用户的数据被加上应用层的报头(AH),形成应用层协议数据单元,然后通过应用层与表示层的接口数据单元,递交到表示层。 [4]

    表示层并不“关心”应用层的数据格式,而是把整个应用层递交的数据报看成是一个整体进行封装,即加上表示层的报头(PH),然后递交到会话层。 [4]

    同样,会话层、传输层、网络层、数据链路层也都要分别给上层递交下来的数据加上自己的报头。它们是会话层报头(SH)、传输层报头(TH)、网络层报头(NH)和数据链路层报头(DH)。其中,数据链路层还要给网络层递交的数据加上数据链路层报尾(DT)形成最终的一帧数据。 [4]

    当一帧数据通过物理层传送到目标主机的物理层时,该主机的物理层把它递交到数据链路层。数据链路层负责去掉数据帧的帧头部DH和尾部DT(同时还进行数据校验)。如果数据没有出错,则递交到网络层。 [4]

    同样,网络层、传输层、会话层、表示层、应用层也要做类似的工作。最终,原始数据被递交到目标主机的具体应用程序中。 [4]

    运作方式

    编辑 语音

    数据由传送端的最上层(通常是指应用程序)产生,由上层往下层传送。每经过一层,都在前端增加一些该层专用的信息,这些信息称为报头,然后才传给下一层,可将加上报头想象为套上一层信封。因此到了最底层时,原本的数据已经套上了七层信封,而后通过网线、电话线、光纤等介质,传送到接收端。 [6]

    接收端接收到数据后,从最底层向上层传送,每经过一层就拆掉一层信封(即去除该层所认识的报头),直到最上层,数据便恢复成当初从传送端最上层产生时的原貌。 [6]

    如果以网络的术语来说,这种每一层将原始数据加上报头的操作,便是数据的封装,而封装前的原始数据则称为数据承载。在传送端,上层将数据传给下层,下层将上层传过来的数据当成数据承载,再将数据承载封装成新的数据,继续传给更下层去封装,直到最底层为止。 [6]

    OSI参考模型与TCP/IP模型对比

    编辑 语音

    层次结构

    OSI参考模型与TCP/IP模型都采用了分层体系结构,将庞大而复杂的问题转化为若干个较小且易于处理的子问题。不同的是OSl参考模型划分7层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,而TCP/IP参考模型最多划分了5个层次,分别是物理层,数据链路层、网络层、传输层和应用层,将OSI参考模型中的高三层合并为一层统称应用层。有些情况甚至只有三个或四个层次。 [7]

    在层次结构上,相同之处:都采用了分层体系结构;不同之处:TCP/IP参考模型比OSI参考模型更简化。 [7]

    层次关系

    OSI参考模型与TCP/IP模型各自层与层之间关系相似。在OSI参考模型中规定数据为协议数据单元(PDU),通常在该层的PDU前面增加一个字母的前缀,标识为哪一层数据。如会话层通过传送会话层协议数据单元(SPDU)和对等的会话层进行通信。相应的有应用层协议数据单元(APNJ)、表示层协议数据单元(PPDU)、段(Segment)、数据包(Packet)、(Frame)、比特流(Bit)。在网络通信中,通过传输层的PDU到对方的对等层,以实现通信。从逻辑上讲,对等层间的通信,是两个设备的同一层直接通信。而物理上,每一层都只与自己相邻的上下两层直接通信,下层通过服务访问点为上一层提供服务。当接受数据时,数据是自下而上传输;当发送数据时,数据则是自上向下传输的。在这一点上TCP/IP参考模型与OSI参考模型是一致的。只是TCP/IP参考模型相比OSI参考模型少了会话层协议数据单元(SPDU)和表示层协议数据单元(PPDU)。 [7]

    在层次间关系上,相同之处:都是对等的层间通信;不同之处:TCP/IP参考模型比OSI参考模型层次更清晰简练。 [7]

    功能

    在功能上,大致相同,在两个模型中,传输层及以上的各层都是为了通信的进程提供点到点、与网络无关的传输服务;TCP/IP参考模型比OSI参考模型有更好的网络管理功能。 [7]

    数据传输原理

    把TCP/IP模型的数据传输原理分成几个步骤: [7]

    (1)当应用进程A的数据传送到应用层时,应用层为数据加上本层的控制报头后,将其组织成应用层的数据服务单元,然后向下传输到传输层。 [7]

    (2)传输层收到该数据单元后,加上本层的控制报头,构成传输层的数据服务单元,该数据服务单元被称为报文(message)。 [7]

    (3)传输层将报文传送到网络层时,由于网络层数据单元的长度有限制,因此,传输层的长报文将被分为若干个较短的数据段。每个数据段再加上网络层的控制报头,就构成了网络层的数据服务单元,它被称为分组。 [7]

    (4)网络层的分组传送到数据链路层时,加上数据链路层的控制信息后构成数据链路层的数据服务单元,它被称为帧。 [7]

    (5)数据链路层的帧传送到物理层后,物理层将以比特流的方式通过传输介质传输出去。当比特流到达目的结点主机B时,再从物理层依层上传,每层对其对应层的控制报头进行处理,将用户数据交给高层,最终将进程A的数据送给主机B的进程B,实现了数据的透明传输。 [7]

    在OSI参考模型中数据的传输和TCP/IP模型原理是完全一样的,只不过OSI参考模型在前面说的第二和第三步骤中还要加上对表示层和会话层数据单元的封装。实际上,不管是OSI参考模型还是TCP/IP模型,都是数据发送方的各层相当于将各自的控制信息添加到上层传来的数据上,然后一起打包继续向前传递,而数据接收方的各层则是将接到的数据包进行解压,去掉发送方对等层添加在数据上的控制信息,然后传递给上层,最终实现数据的传输。在数据传输原理上二者是没有太大区别的,但OSI模型会话层在大多数应用中很少用到,表示层几乎是窄的。 [7]

    在数据链路层与网络层之间有很多的子层插入,每个子层有不同的功能。OSI模型将“服务”与“协议”的定义结合起来,使得参考模型变得格外复杂,使它的实现是困难的。同时,寻址、流控与差错控制在每一层里都重复出现,必然降低系统效率。而TCP/IP在服务、接口与协议的区别上不清楚。一个好的软件工程应该将功能与实现方法区分开来,TCP/IP恰恰没有很好地做到这点,这就使得TCP/IP模型对于使用新技术的指导意义不够。另外,TCP/IP的丰机一网络层本身并不是实际的一层,它定义了网络层与数据链路层的接口。物理层与数据链路层的划分是必要和合理的,一个好的参考模型应该将它们区分开来,而TCP/IP参考模型却没有做到这点。 [7]

    OSI参考模型的诞生

    编辑 语音

    经过20世纪60年代、70年代前期的发展,人们对组网技术,组网方法和组网理论的研究日趋成熟。为了促进网络产品的开发,各大计算机公司纷纷制定了自己的网络技术标准。1974年,IBM公司首先提出了系统网络体系结构( System Network Architecture,SNA标准。1975年,DEC公司也公布了数字网络体系结构( Digital Network Architecture,DNA)标准。这些标准只在一个公司范围内有效。遵从一个标准、能够互连的网络通信产品,只是同一公司生产的同构型产品。网络市场的这种状况使得用户在投资方向上无所适从,也不利于厂商之间的公平竞争。人们迫切要求制定一套标准,各厂商遵从这个标准生产网络产品,使各种不同型号的计算机能方便地互联成网。为此,1977年国际标准化组织(ISO)的SC16分技术委员会着手制定开放系统互联参考模型(Reference Model of Open System Interconnection,OSI/RM)。1981年正式公布了这个模型,并得到了国际上的承认,被认为确立了新一代网络结构。所谓开放系统是指,只要网络产品(软件、硬件)符合OSI标准,任何型号的计算机都可以互联成网。

    OSI参考模型规定了在节点间传送的分组(一个信息传送单位)格式。它将网络应用软件的共同部分分为7个层次,称为协议。从第1层到第7层依次是:物理层、链路层、网络层、传输层、会话层、表示层、应用层。每一层利用下一层的功能实现一些本层次的新功能,为上一层提供增值服务。因此,任意一层的功能都包含了它下面所有层次的功能。层与层之间留有若干接口,称为服务访问点(Service Access Point,SAP)任意一层就通过这些服务访问点来调用相邻的下一层的功能,以实现本层的新功能。同时规定,任意一层都只能调用它相邻的下一层的功能。

    OSI模型适用于将不同型号的计算机互连成一个单一的网络。它极大地推动了网络标准化的进程,而这个进程又反过来促进了计算机网络的迅速发展。这一阶段是网络的标准化时期。 [8]

    总结

    (1)OSI参考模型和TCP/IP模型之共同点:都是基于独立的协议栈的概念;它们的功能大体相似,在两个模型中,传输层及以上的各层都是为了通信的进程提供点到点、与网络无关的传输服务;OSI参考模型,与TCP/IP模型传输层以上的层都以应用为主导。 [7]

    (2)OSI参考模型与TCP/IP模型的主要差别:TCP/IP一开始就考虑到多种异构网的互联问题,并将网际协议IP作为TCP/IP的重要组成部门。但ISO最初只考虑到使用一种标准的公用数据网将各种不同的系统互联在一起。TCP/IP一开始就对面向连接和无连接并重,而OSI在开始时只强调面向连接服务。TCP/IP有较好的网络管理功能,而这方面OSI至后来才开始这个问题,两者有所不同。 [7]

    (3)OSI参考模型与TCP/IP模型的相互关系:OSI模型是对发生在网络设备间的信息传输过程的一种理论化的描述,他仅仅是一种模型,并没有定义如何通过硬件和软件实现每一。层功能,但可以很有效地帮助我们理解数据传输的过程。 [7]

    OSI参考模型的优点

    综观整个OSI模型的设计,可以归纳出以下优点。

    1、分工合作,责任明确

    性质相似的工作划分在同一层,性质相异的工作则划分到不同层。如此一来,每一层所负责的工作范围,都区分得很清楚,彼此不会重叠。万一出了问题,很容易判断是哪一层没做好,就应该先改善该层的工作,不至于无从着手。 [6]

    2、对等交谈

    对等是指所处的层级相同,对等交谈意指同一层找同一层谈,例如:第3层找第3层谈、第4层找第4层谈...依此类推。所以某一方的第N层只与对方的第N层交谈,是否收到、解读自己所送出的信息即可,完全不必关心对方的第N-1层或第N+1层会如何做,因为那是由一方的第N-1层与第N+1层来处理。 [6]

    其实,双方以对等身份交谈是常用的规则,这样的最大好处是简化了各层所负责的事情。因此,通信协议是对等个体通信时的一切约定。 [6]

    3、逐层处理,层层负责

    既然层次分得很清楚,处理事情时当然应该按部就班,逐层处理,决不允许越过上一层,或是越过下一层。因此,第N层收到数据后,一定先把数据进行处理,才会将数据向上传送给第N+1层,如果收到第N+1层传下来的数据,也是处理无误后才向下传给第N-1层。任何一层收到数据时,都可以相信上一层或下一层已经做完它们该做的事,层级的多少还要考虑效率与实际操作的难易,并非层数越多越好。 [6]

    词条图册更多图册

    概述图册

    概述图册(1)

    展开全文
  • 一文读懂两台计算机之间是如何通信

    千次阅读 多人点赞 2021-02-17 13:51:41
    其实计网通篇研究的核心就是不同计算机之间通信过程,???? 本文将从小白的角度,讲解两台计算机之间是如何精确的找到对方的位置并发送和接收消息的,以帮助读者从宏观角度把握计算机网络的体系结构。 1. 五...

    前言

    计算机网络的知识点非常杂乱且琐碎,非常容易让人产生畏惧心理。其实计网通篇研究的核心就是不同计算机之间的通信过程,👍 本文将从小白的角度,讲解两台计算机之间是如何精确的找到对方的位置并发送和接收消息的,以帮助读者从宏观角度把握计算机网络的体系结构

    1. 五层协议参考模型

    所谓通信协议就是通信双方都必须要遵守的通信规则。如果没有网络通信协议,计算机的数据将无法发送到网络上,更无法到达对方计算机,即使能够到达,对方也未必能读懂。有了通信协议,网络通信才能够发生

    一般我们用五层协议参考模型来进行计算机网络的学习:

    • 应用层

    • 运输层

    • 网络层

    • 数据链路层

    • 物理层

    上述各层的作用会在下文详细讲解,我们首先要明白为什么要分层

    协议的实现是很复杂的。因为协议要把人读得懂的数据,如网页、电子邮件等加工转化成可以在网络上传输的信号,需要进行的处理工作非常多。

    两个系统中实体间的通信是一个十分复杂的过程。为了减少协议设计和调试过程的复杂性,网络协议通常都按结构化的层次方式来进行组织,每一层完成一定功能,每一层又都建立在它的下层之上。不同的网络协议,其层的数量、各层的名字、和功能不尽相同。

    👍 也就是说,每一层都是在下一层的基础上,通过层间接口向上一层提供一定的服务,而把 “这种服务是如何实现的” 细节对上层加以屏蔽

    ❓ 那么,我们将一个大型网络体系分成了若干个层,各个层之间是如何进行通信的呢

    • 1)对等层之间通信(不同开放系统中的相同层次之间的通信,对等层实体之间的信息交换):OSI 标准为每一层的通信都严格定义了 协议数据单元 PDU的格式。 对等层之间的通信是目的,对等层实体的协作保证该层功能和服务的实现

    • 2)相邻层之间通信(相邻的上下层之间的通信,属于局部问题):相邻层之间的通信是手段,保证对等层实体之间的通信得以实 施

    ⭐ 假设网络协议分为若干层,那么 A、B 两节点通信,实际是节点 A 的第 n 层与节点 B 的第 n 层进行通信,故协议总是指某一层的协议,例如物理层协议、传输层协议、应用层协议。每一相邻层协议间有一接口,下层通过该接口向上一层提供服务。

    2. 物理层

    两台计算机之间要进行通信,必然需要传输介质/物理媒介来连接两台计算机,这样,我们才能把数据传输过去。传输介质分为:

    • 导向型传输介质

      • 双绞线:适用于近距离

      • 同轴电缆(抗干扰性强):适用于远距离

      • 光纤:带宽远远大于其他传输媒体

    • 非导向型传输介质

      • 无线电波

      • 微波

      • 红外线、激光

    ⭐ 也就是说,物理层的作用就是实现计算机之间的数据传送,这个数据其实是比特流,物理层需要尽可能屏蔽掉具体传输介质和物理设备的差异, 使其上面的数据链路层不必考虑网络的具体传输介质是什么,即实现比特流的透明传输

    3. 数据链路层

    物理层只是简单的把计算机连接起来并在上面传输比特流,它还是存在着很多问题的:

    • 1)物理连接是有差错和不可靠的

    • 2)物理设备之间可能存在传输速度不匹配问题

    也就是说仅仅靠物理层是无法保证数据传输的正确性的

    ⭐ 这样,数据链路层的主要作用就是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路。在物理层提供服务的基础上,数据链路层还肩负着为网络层提供服务的责任,其最基本的服务是将来自网络层的 IP 数据报封装成帧,可靠的传输到相邻结点的目标网络层。

    ① 封装成帧

    首先了解一下为什么需要封装成帧:前面说了,物理层它只是简单的把计算机连接起来并在上面传输比特流(0、1 序列),如果这些 0,1 组合的传送毫无规则的话,计算机是解读不了的。因此,我们需要制定一套规则来进行 0、1 的传送,让计算能够读懂这些序列。

    ⭐ 封装成帧就是:发送端的数据链路层接收到上层网络层传过来的 IP 数据报后,在其前后部分添加首部、尾部,这样就构成了一个。接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束。

    把一台计算的的数据通过物理层和链路层发送给另一台计算机,究竟是谁发给谁的,计算机与计算机之间如何区分,你总得给他们一个唯一的标识吧?

    于是,MAC 地址出现了 👇

    ② MAC 地址

    MAC 地址就是链路层地址,长度为 6 字节(48 位),用于唯一标识网络适配器(网卡)。计算机之间的数据传送,就是通过 MAC 地址来唯一寻找、传送的。

    一台主机拥有多少个网络适配器就有多少个 MAC 地址。例如笔记本电脑普遍存在无线网络适配器和有线网络适配器,因此就有两个 MAC 地址。

    ❓ 那么,一台计算机它是如何知道另一台计算机的 MAC 地址的呢?这是网络层的 ARP 地址解析协议做的事情,详见下文 👇

    4. 网络层

    在 计算机网络中进行通信的两个计算机之间可能会经过很多个数据链路,也可能还要经过很多通信子网。

    网络层的任务就是选择合适的网间路由和交换结点, 确保数据及时传送。 在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组和包进行传送。

    在 TCP/IP 体系结构中,由于网络层使用 IP 协议,因此分组也叫 IP 数据报 ,简称数据报。

    ① IP 协议

    IP 协议用于屏蔽下层物理网络的差异,为上层提供统一的 IP 数据报

    IP 协议定义的地址,我们称之为 IP 地址IP 数据报中含有发/收方的 IP 地址

    IP 协议提供无连接的、不可靠的、尽力的数据报投递服务

    • 1)无连接的投递服务

      发送端可于任何时候自由发送数据,而接收端永远不知道自己会在何时从哪里接收到数据。每个数据报独立处理和传输, 一台主机发出的数据报序列,可能取不同的路径, 甚至其中的一部分数据报会在传输过程中丢失;

    • 2)不可靠的投递服务

      IP 协议本身不保证数据报投递的结果。 在传输的过程中,数据报可能会丢失、重复、延迟和乱序等, IP协议不对内容作任何检测,也不将这些结果通知收发双方; I 数据报的丢失,通过路由器发 ICMP报文 告知; 必要时,由高层实体(如TCP)负责差错恢复动作。

    • 3)尽力投递服务

      执行数据报的分段和封装,以适应具体的传输网络, 由最终结点的IP模块进行合段处理

      不同物理网络对传输的帧 /分组的体积有不同的规定; 当数据报长度 > MTU(最大传输单元 MTU—Maximun Transfer Unit )时,需对数据报分段 。

    ② ARP 地址解析协议

    OK,有了上面 IP 协议的知识,我们来讲解一台计算机它是如何知道另一台计算机的 MAC 地址的,这就是网络层的 ARP 地址解析协议做的事情。

    网络层实现主机之间的通信,而链路层实现具体每段链路之间的通信。因此在通信过程中,IP 数据报的源地址和目的地址始终不变,而 MAC 地址随着链路的改变而改变

    ⭐ ARP(Address Resolution Protocol )协议就可以实现由 IP 地址得到 MAC 地址。

    每个主机都有一个 ARP 高速缓存,里面有本局域网上的各主机和路由器的 IP 地址到 MAC 地址的映射表

    如果主机 A 知道主机 B 的 IP 地址,但是 ARP 高速缓存中没有该 IP 地址到 MAC 地址的映射,此时主机 A 通过广播的方式发送 ARP 请求分组(该分组携带自己的 IP 地址 和 MAC 地址 以及 目标主机的 IP 地址),主机 B 收到该请求后会发送 ARP 响应分组 给主机 A 告知其 MAC 地址,随后主机 A 向其高速缓存中写入主机 B 的 IP 地址到 MAC 地址的映射。

    💡 对应的,RARP 协议可以实现由 MAC地址转化为 IP 地址

    ❓ 那么,我们如何知道对方计算机的 IP 地址呢,这是 DNS 协议做的事情,在应用层我们会详细讲解。

    5. 传输层

    通过物理层、数据链路层以及网络层的互相作用,我们已经把数据成功从计算机 A 传送到计算机 B 了,可是,计算机 B 里面有各种各样的应用程序,计算机 B 该如何知道这些数据是给哪个应用程序的呢

    所以,我们在从计算机 A 传数据给计算表 B 的时候,还得指定一个端口(Port),以供特定的应用程序来接受处理。即 IP 地址 + 端口号就可以唯一确定某个主机上的某个应用进程

    ⭐ 也就是说,网络层的功能是建立主机到主机的通信,而传输层的功能就是建立端口到端口的通信(也可以说是进程到进程之间的通信)

    传输层最常见的两大协议是 TCP 协议和 UDP 协议,其中 TCP 协议与 UDP 最大的不同就是 TCP 提供可靠的传输,而 UDP 提供的是不可靠传输。

    • 1)用户数据报协议 UDP(User Datagram Protocol)

      UDP 在传送数据之前不需要先建立连接,远程主机在收到 UDP 报文后,不需要给出任何确认。虽然

      UDP 不提供可靠交付,但在某些情况下 UDP 确是一种最有效的工作方式(一般用于即时通信),比

      如: QQ 语音、 QQ 视频 、直播等等

    • 2)传输控制协议 TCP(Transmission Control Protocol)

      TCP 提供面向连接的服务。在传送数据之前必须先建立连接,数据传送结束后要释放连接。

      TCP 不提供广播或多播服务。由于 TCP 要提供可靠的,面向连接的传输服务(TCP 的可靠体现在 TCP 在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认、窗口、重传、流量控制、拥塞控制机制,在数据传完后,还会断开连接用来节约系统资源。这不仅使协议数据单元的首部增大很多,还要占用许多处理机资源。TCP 一般用于文件传输、发送和接收邮件、远程登录等场景

    6. 应用层

    应用层最接近于用于,它的任务就是通过应用进程间的交互来完成特定网络应用。

    应用层协议定义的是应用进程间的通信和交互的规则。由于传输层传来的数据五花八门,有 html 格式的,有 mp4 格式等等,所以对于不同的网络应用需要不同的应用层协议。在互联网中应用层协议很多,如域名系统 DNS,支持万维网应用的 HTTP 协议,支持电子邮件的 SMTP 协议等等。我们把应用层交互的数据单元称为报文

    由于本文的关键就是讲解计算机之间的通信,所以其他协议我们就不讲了,只讲解一下 DNS 协议是如何将域名转化为 IP 地址的

    DNS 域名解析协议

    域名系统 Domain Name System 缩写 DNS,是因特网的一项核心服务,它作为可以将域名和 IP 地址相互映射的一个分布式数据库 (这里的分布式数据库是指,每个站点只保留它自己的那部分数据),能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的 IP 地址

    域名具有层次结构,从上到下依次为:根域名、顶级域名、二级域名。

    DNS 可以使用 UDP 或者 TCP 进行传输,使用的端口号都为 53。

    大多数情况下 DNS 使用 UDP 进行传输,这就要求域名解析器和域名服务器都必须自己处理超时和重传从而保证可靠性。

    域名解析方式:

    • 递归查询

    • 迭代查询

    基本原理

    1)浏览器搜索自己的 DNS 缓存,缓存中维护一张域名与 IP 地址的对应表;

    2)若没有,则搜索操作系统的 DNS 缓存

    3)若没有,则操作系统将域名发送至本地域名服务器(递归查询方式),本地域名服务器查询自己的 DNS 缓存,查找成功则返回结果,否则,通过以下方式迭代查找:

    • 本地域名服务器向根域名服务器发起请求,根域名服务器返回 com 域的顶级域名服务器的地址;

    • 本地域名服务器向 com 域的顶级域名服务器发起请求,返回权限域名服务器地址

    • 本地域名服务器向权限域名服务器发起请求,得到 IP 地址

    4)本地域名服务器将得到的 IP 地址返回给操作系统,同时自己将 IP 地址缓存起来

    5)操作系统将 IP 地址返回给浏览器,同时自己也将 IP 地址缓存起来

    至此,浏览器已经得到了域名对应的 IP 地址。

    总结

    🎉 计算机之间的通信过程至此完毕,当然,里面很多的细节并没有详细叙述,计算机网络的知识点比较杂乱,本篇只作为大家构建计算机网络知识体系的开篇之旅,后续会讲解更多细节部分。

    🎉 关注公众号 | 飞天小牛肉,即时获取更新

    • 博主东南大学研究生在读,利用课余时间运营一个公众号『 飞天小牛肉 』,2020/12/29 日开通,专注分享计算机基础(数据结构 + 算法 + 计算机网络 + 数据库 + 操作系统 + Linux)、Java 基础和面试指南的相关原创技术好文。本公众号的目的就是让大家可以快速掌握重点知识,有的放矢。希望大家多多支持哦,和小牛肉一起成长 😃

    • 并推荐个人维护的开源教程类项目: CS-Wiki(Gitee 推荐项目,现已 0.9k star), 致力打造完善的后端知识体系,在技术的路上少走弯路,欢迎各位小伙伴前来交流学习 ~ 😊


    参考资料:

    植物大战僵尸破解版: http://www.pvzbaike.com/archives/pvz_pojie/

    展开全文
  • TCP/IP基础----对等通信

    千次阅读 2018-01-29 22:01:06
    《 TCP/IP基础----ISO/OSI参考模型》《TCP/IP基础----网络分层模型----七》《 TCP/IP基础----TCP/IP四模型》《TCP/IP基础----对等通信》《TCP/IP基础----MTU》对等通信 编辑本词条缺少名片图,补充相关内容使...
  • 计算机网络 两个网络模型计算机网络模型分层机制----规划通讯细节层与层之间之间是独立的、屏蔽的,下层为上层提供服务。一些概念实体:任何发送/接收信息的软件/硬件进程。对等层:两个不同系统的同级层次。对等...
  • 分类将一个MAC SDU映射到一个特定MAC对等实体之间的传输连接上,使MAC SDU与一个连接联系在一起, 同时与连接的服务流特性建立联合。该过程有利于具有适当QoS限制的MAC SDU传输。  一个分类器是一组应用于IEEE 802...
  • 计算机通信网自学笔记(2)

    千次阅读 2021-02-16 00:32:46
    计算机通信网自学笔记(2) 计算机网络体系结构(1) 1、网络体系结构的定义 网络体系结构提出的背景 计算机网络具有复杂性: 不同的通信介质:有线、无线……… ...将整个系统分为多个层次,每一实现一种特定的服务
  • 853-两台计算机之间是如何通信的?

    千次阅读 2021-11-23 13:23:48
    1. 五协议参考模型 所谓通信协议就是通信双方都必须要遵守的通信规则。如果没有网络通信协议,计算机的数据将无法发送到网络上,更无法到达对方计算机,即使能够到达,对方也未必能读懂。有了通信协议,网络通信才...
  • OSI模型中各层次对等通信

    千次阅读 2018-03-08 15:51:01
    物理层:Bit(比特)数据链路层:Frame(帧)网络层:Packet(包)传输层:Segment(段)会话层:SPDU... 每一层都利用下层提供的服务与对等层通信。(在HostA与HostB之间) 转载于:https://blog.51cto.com/12484...
  • 3:对等层之间通信使用的是协议。 4:通信子网向端系统提供虚电路和数据报两种网络服务。 5:网络体系结构可以定义为建立和使用通信硬件和软件的一套规则和规范 6:TCP/IP 的网络层最重要的协议是( IP)互连网...
  • 1、计算机网络体系 ...TCP/IP四网络通信协议:由于在OSI开始使用前,TCP/IP已经被广泛使用了,且OSI实现比TCP/IP复杂很多,所以从市场角度,最终OSI没有被广泛的应用。目前Internet上使用的是TCP/I
  • 计算机网络 两个网络模型计算机网络模型分层机制----规划通讯细节层与层之间之间是独立的、屏蔽的,下层为上层提供服务。一些概念实体:任何发送/接收信息的软件/硬件进程。对等层:两个不同系统的同级层次。对等...
  • 本文简要说明了3G的现状,重点对TD-SCDMA分组数据标准TD_PRS的逻辑链路控制(LLC)进行了...LLC提供通过逻辑连接移动台和支持GPRS的节点的对等实体之间的消息传送,其中的一些技术也可应用在其他的无线通信系统中。
  • 具有五协议的体系结构 数据流(包)分析 1. 层次模型与网络协议计算机网络是个非常复杂的系统。涉及:无差错的信息传送、多个用户共享一条物理线路、按照地址信息,进行路由选择、信息缓冲和流量控制、会话控制、...
  • 网络的层次结构一、 为什么要层次化二、服务与协议1、概念2、 区别与联系三、 Internet协议栈(五层参考模型)信息传输过程(封装与解封装) 一、 为什么要层次化 【另一种实现方式:模块化】 ...2、协议是对等层实体
  • 只有位于网络边缘部分的主机的协议栈才有运输,和网络不同,网络是为主机之间提供逻辑通信,而运输为应用进程之间提供端到端的逻辑通信。 TCP/IP 的运输有两个主要协议: 用户数据报协议 UDP (User ...
  • 以太网是一种计算机局域网通信技术,主要由介质访问(MAC L2) 协议、物理(PHY L1)协议、电子信号连接组成。MAC主要有交换芯片实现,物理由PHY芯片实现,电信号连接主要定义电信号的接口规范。 经过几十年...
  • 网络设备之间的相互通信

    千次阅读 2018-08-01 14:09:06
    比如,如何探测到通信目标、由哪一边先发起通信使用哪种语言进行通信、怎样结束通信等规则都需要事先确定。不同的硬件、操作系统之间通信,所有的这一切都需要一种规则。而我们就把这种规则称为协议(protocol)...
  • Socket的通信原理和使用

    千次阅读 2022-04-29 15:05:52
    三、 使用Socket进行通信【php】 3.1 PHP中Socket常量和函数介绍 3.2 php实现Socket通信过程 一、什么是 Socket? Socket 的中文翻译过来就是“套接字”。套接字是什么,我们先来看看它的英文含义:插座。 ...
  • 客户/服务器方式(C/S方式)和对等方式(P2P方式)2.2 课后练习3. 动态主机配置协议DHCP3.1 总结3.2 课后练习 1. 应用概述   ■ 应用是计算机网络体系结构的最顶层,是设计和建立计算机网络的最终目的,也是...
  • socket通信

    2018-01-15 18:51:47
    1. 两天计算机通信需要协议,通信的两台计算机IP必须唯一2. 同一个计算机可以进行多个应用程序与其他计算机通信,...对等层实体之间虚拟通信| 9. TCP:面向连接的可靠的传输协议 10. UDP:面向无连接的不可靠的传输协议
  • 博主是搞是个FPGA的,一直没有真正的研究过以太网相关的技术,现在终于能静下心学习一下,希望自己能更深入的掌握这项最基本的通信接口技术。下面就开始搞了。一、OSI参考模型        ...
  • 计算机网络考试重点

    千次阅读 2021-07-27 09:26:25
    第一章 绪论1、计算机网络的定义计算机网络是利用通信设备和线路将分布在地理位置不同的、具有独立功能的多个计算机系统连接起来,在功能完善的网络软件(网络通信协议及网络操作系统等)的控制下,进行数据通信,实现...
  • 高等计算机网络期末复习

    千次阅读 2020-12-29 10:02:39
    二.网络体系结构 网络体系结构 ...接口:相邻层之间交互的界面,接口定义下层向上层提供的原语操作和服务。接口告诉上层进程应当如何来访问 协议:通信双方在通信中必须遵守的规则 对等层:两个不同系统的同
  • 实验四 对等网的组建

    千次阅读 2022-04-28 22:24:04
    (3)掌握对等网共享资源的配置与使用 2.实验内容 在一个项目组中,完成网络设备的物理连接,实现各主机间的IP连通性。同时实现项目组主机之间的网络资源共享 3.实验原理 对等网每台计算机的地位平等,都允许...
  • 端系统之间的两种通信方式: 端系统之间通信方式通常分为两大类: (1)客户-服务器方式(C/S方式) 即Client/Server方式,简称C/S方式。绝大多数设备采用该方式通信。 客户(Client)和服务器(Server)都是之...
  • 通信与网络技术笔记(一)

    千次阅读 2021-12-09 17:11:21
    通信与网络技术知识点
  • 物联网中使用的常见通信技术

    千次阅读 2021-11-10 12:54:28
    HPLC通信频段为700KHz~12MHz之间(频段可配置),应用层通信速率最大可达2Mbps,支持多级组网与自动选路等 特性,完全满足综合能源服务主要场景中对带宽、通信距离和可靠性需求。智慧用能物联网解决方案采用HPLC技术...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 28,496
精华内容 11,398
热门标签
关键字:

对等层之间通信使用的是