首页 > 编程知识 正文

计算机网络的详细描述,计算机网络协议的定义

时间:2023-05-04 12:21:32 阅读:173846 作者:2692

介绍了网络所需的标准、要连接到网络的组件以及网络的范围,然后介绍了如何在各个节点之间传递信息。 其实是通过标准的通信协议。 但是,整个网络连接的过程相当复杂,包括硬件、软件的数据封装和APP应用之间的相互链接等,如果要写一个总结了网络连接所有功能的程序,当某个小部分出现问题时,就会出现问题。

那么怎么办? 没关系。 整个网络连接过程可以划分为几个级别(层)。 每一级都有特定的独立功能,各级程序代码都可以独立编写。 因为各级之间的功能互不干扰。 这样,在某个小部分发生问题的情况下,只要改写该级别的程序代码即可。 因此,程序的编写也很容易,整个网络的概念也更明确。 这就是现在经常听到的OSI七层协议(Open System Interconnection )的概念。

这七个水平的相互关系如图2-2所示。

根据定义,越接近硬件的阶层越是下层[layer1],越是接近APP的阶层[layer7]。 无论是接收方和发送方,每一层都只识别对方同一层的数据。 整个传输过程就像是人在玩整人的游戏,我们通过APP将数据放在第七层包裹里,第七层包裹放在第六层包裹里,依次放在第一层最大的包裹里,然后传输给收件人。 接收方主机必须从第一个包裹开始,按顺序将每个包裹拆开,逐一传递给对应的负责级别进行查看。 这就是应该注意OSI层协议分层定义的特色。

既然是包裹,就知道包裹的表面有重要的信息。 这些信息包括来自哪里、去哪里、收件人是谁等,包裹里是真正的数据。 同样,在七层协议中,每层都有自己的首部数据(header ),让对方知道其中的信息是什么,真正的数据以后再附上。 可以表示7楼每层的名称,以及每层包裹上数据的放置方式,如图2-3所示。

仔细看图2-3中每个数据包的部分,上层数据包被放入下层数据,数据之前是这个数据的报头。 其中,特别是由于第2层(数据链路层)是主要位于封装(packet )和硬件数据帧)中间的阶层,需要将软件包的封装放入硬件能够处理的封装中,因此因为很特殊,所以可以看到第2层的数据格式不同,末尾显示了校验码。

各级负责的任务是什么呢? 简而言之,各层承担的任务见表2-1。

表2-1 OSI层协议

分层

负责内容

第1层

物理层

物理层

因为网络传输介质只能传输0和1的比特,所以物理层需要定义使用的传输装置的电压和信号等,并且需要理解将数据帧转换成比特流的编码方式,最后与实际的传输介质连接来发送接收比特信号

第2层

数据链路层

数据链接层

此层是相对特殊的层,因为下层是图元的定义,而上层是软件包的定义。 因此,第2层再分为2个子层进行数据的转换操作。 脱离硬件媒体部分主要负责媒体访问控制(MAC ),这种数据包称为MAC数据帧(frame )。 MAC是网络接口设备可以处理的主要数据包,也是最终由物理层编码成比特流的数据。 MAC必须经由通信协议获得网络介质的使用权,目前常用的是IEEE 802.3的以太网协议。 有关详细的MAC和以太网,请参阅下一节中的说明

面向软件的部分由逻辑链路层Logical Link Control、LLC进行控制,它主要用于多任务处理来自物理层的分组数据packet并将其变换为MAC格式,包含信息交换、业务控制、错误

第三层

网络层

et工作层

这一层我们最感兴趣。 因为我们提到的互联网协议(IP )就是在这一层定义的。 另外,由于也定义了计算机间的连接确立、结束和维持等,数据包的传输路径的选择等,所以在这个阶层中最重要的是IP以外,数据包能否到达目的地的根(route )的概念[续表]

分层

负责内容

第4层

传输层

传输层

该层定义了发送端和接收端的连接技术,例如TCP、UDP技术,同时包括该技术的分组格式、分组发送、过程的控制、发送过程的检测和重发等,能够正确地到达目的地

第5层

斜层

会话层

在此层次中,主要定义了两个地址之间连接通道的连接和断开,还可以提供APP之间的会话建立、网络管理、建立和断开、会话控制等其他增强服务。 如果传输层确定数据分组是否能正确到达目标,则会话层确认网络服务建立连接

p>Layer 6

表示层

Presentation Layer

我们通过应用程序生成出来的数据格式不一定符合网络传输的标准编码格式,所以,在这个层次当中,主要的操作就是:将来自本地端应用程序的数据格式转换(或者是重新编码)成为网络的标准格式,然后再交给下面的传输层等的协议来进行处理。所以,在这个层次上面主要定义的是网络服务(或程序)之间的数据格式的转换,包括数据的加解密也是在这个层次上处理

Layer 7

应用层

Application Layer

应用层本身并不属于应用程序所有,而是在定义应用程序如何进入该层的沟通接口,以将数据接收或发送给应用程序,并最终展示给用户

事实上,OSI 七层协议只是一个参考的模型(model),目前的网络社会并没有什么很知名的操作系统在使用 OSI 七层协议的连接程序代码。不过,OSI 所定义出来的七层协议在解释网络传输的情况方面,可以解释得非常棒。因此大家都拿 OSI 七层协议来作为网络的教学与概念的理解。至于实际的联网程序代码,那就交给 TCP/IP吧。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。