⑴ 关于网络通信原理的困惑,求网络达人赐教,万分感谢!!!
首先说明一下,OSI七层模型是一种思想、思路,是各厂商开发软件时遵循的通用标准。它诠释了数据通信的过程。它是个抽象的概念。
回答1:既不是操作系统的TCP/IP协议也不是是网络设备。因为这两个只是完成7层中的某个功能。tcp(a和b两台电脑的虚通道建立)工作在传输层,ip(路由转发)工作在网络层。而网络设备。比如路由器(三层交换机也有这个功能,只是和路由器的侧重点不一样)只把数据解析到第三层,在第三层封装后的数据叫做包。而二层交换机只把数据解析到第二层,在第二层封装后的数据包叫做帧。
回答2:物理层也就是第一层,处理的数据是比特流。而“本地连接”是工作在应用层也就是第7层。一块以太网网卡包括OSI(开方系统互联)模型的两个层。物理层和数据链路层。物理层定义了数据传送与接收所需要的电与光信号、线路状态、时钟基准、数据编码和电路等,并向数据链路层设备提供标准接口。数据链路层则提供寻址机构、数据帧的构建、数据差错检查、传送控制、向网络层提供标准的数据接口等功能。
回答3:其实数据链路层是把网络层的数据加上头和尾形成帧再交付给物理层。这就是封装。
之所以要加上头和尾是因为物理层只管电信号,必须要有一个特殊的电信号告诉物理层这是一个帧的开始和结尾。
一般头和尾的电信号是连续的10101010这样的形式,当物理层接收到信号后,知道这是一个帧来了,经过模数转换后交付给数据链路层,数据链路层剥离头和尾把数据交付给上面的网络层,这就是解封装的过程。
其实网络的七层结构基本上都是封装和解封装的过程,上层数据下来的时候就给他加特定的头,相当于装了个信封,就这样一层层的装下来。下层的数据送到上层就一层层的剥离头(信封),直到最后没有信封得到最终的数据为止。
数据封装的原理:
数据封装是指将协议数据单元(PDU)封装在一组协议头和尾中的过程。在OSI7层参考模型中,每层主要负责与其它机器上的对等层进行通信。该过程是在“协议数据单元”(PDU)中实现的,其中每层的PDU一般由本层的协议头、协议尾和数据封装构成。
每层可以添加协议头和尾到其对应的PDU中。协议头包括层到层之间的通信相关信息。协议头、协议尾和数据是三个相对的概念,这主要取决于进行信息单元分析的各个层。例如,传输头(TH)包含只有传输层可以看到的信息,而位于传输层以下的其它所有层将传输头作为各层的数据部分进行传送。在网络层,一个信息单元由层3协议头(NH)和数据构成;而数据链路层中,由网络层(层3协议头和数据)传送下去的所有信息均被视为数据。换句话说,特定OSI层中信息单元的数据部分可能包含由上层传送下来的协议头、协议尾和数据。
例如,如果计算机A要将应用程序中的某数据发送至计算机B应用层。计算机A的应用层联系任何计算机B的应用层所必需的控制信息,都是通过预先在数据上添加协议头。结果信息单元,其包含协议头、数据、可能包含协议尾,被发送至表示层,表示层再添加为计算机B的表示层所理解的控制信息的协议头。信息单元的大小随着每一层协议头和协议尾的添加而增加,这些协议头和协议尾包含了计算机B的对应层要使用的控制信息。在物理层,整个信息单元通过网络介质传输。
计算机B中的物理层接收信息单元并将其传送至数据链路层;然后B中的数据链路层读取包含在计算机A的数据链路层预先添加在协议头中的控制信息;其次去除协议头和协议尾,剩余部分被传送至网络层。每一层执行相同的动作:从对应层读取协议头和协议尾,并去除,再将剩余信息发送至高一层。应用层执行完后,数据就被传送至计算机B中的应用程序接收端,最后收到的正是从计算机A应用程所发送的数据。
网络分层和数据封装过程看上去比较繁杂,但又是相当重要的体系结构,它使得网络通信实现模块化并易于管理。
解封装正好是封装的反向操作,把封装的数据包还原成数据.
希望对你有帮助,如果你还困惑,建议你看一下网络工程师教程。