概述
网络体系结构是从功能上描述计算机网络结构的,其结构为分层结构,每层遵循相应的网络协议完成本层功能。计算机网络体系结构是计算机网络的各层及其协议的集合。
计算机网络为什么要分层(分层的优点)
- 易于实现和维护,计算机网络是庞大的,分层可以将难以处理的复杂问题简化成比较容易处理的小问题。
- 各个层次之间相互独立,下层向上一层提供服务仅需要通过相邻层次间的接口,不需要考虑如何实现。
- 灵活性好,当某一层发生变化时,其以上或以下的其他层因为通过接口服务的关系不会受到这一层变化的影响,同样便于针对某一层的修改。
- 结构上可分隔开。每一层相互独立,使用最为合适的技术进行实现。
- 促进标准化工作,每一层的功能已有了明确的定义说明。
- 当某一层不需要时,甚至可以直接取消。
计算机网络分层需要注意的是:分层应当少而精,每一层功能明确
- 层数太少,就会使每一层的协议太复杂。(层数少一层需要解决的问题多,问题复杂。)
- 层数太多又会在描述和综合各层功能的系统工程任务时遇到较多的困难。(层数多导致一些功能在多层之间重复出现,导致产生额外开销)
各层需要完成的功能
- 差错控制
- 流量控制
- 分段和重装
- 复用和分用
- 连接建立和释放
差错控制
由于数据通信系统传输特性的不理想和外部干扰的存在,传输中出现差错是不可避免的。概括的说,传输中的差错都是由于噪声引起的。
差错控制的目的:确保所有的帧按顺序正确递交到数据链路层用户(网络层实体)。
差错控制的原理:在发送的数据码元序列中加入监督位,使监督位和数据位之间存在某种约束关系;在接收端检测约束关系是否被破坏从而查错,甚至可以纠错。
差错控制的几种编码:奇偶校验,海明校验码,循环冗余。(以上的奇偶校验等在学习计算机组成原理时已经学过,后续我会新写一篇博客复习相关的知识。)
流量控制
流量控制可以让发送端根据接收端的实际接受能力控制发送的数据量。它的具体操作是,接收端主机向发送端主机通知自己可以接收数据的大小,于是发送端会发送不会超过该大小的数据,该限制大小即为窗口大小,即窗口大小由接收端主机决定。说人话就是例如:我的舍友给我发文件时,他的带宽要大于我的带宽时,为了保证我可以成功接收到完整的文件,他所发送的最大速率是我的带宽大小。
为什么需要流量控制:双方在通信的时候,发送方的速率与接收方的速率是不一定相等,如果发送方的发送速率太快,会导致接收方处理不过来,这时候接收方只能把处理不过来的数据存在缓存区里,如果缓存区满了,但是发送方还在不停的发送数据,接收方无法接收到这些无法存入缓存区的数据而产生丢包现象。因此,我们需要控制发送方的发送速率,让接收方与发送方处于一种动态平衡才好。
分段和重装
可以看上一篇提到的——分组交换
复用和分用
什么是复用和分用:当用户很多,而资源不足的时候,我们就会重复使用并且彼此分享
多个用户使用一个IO资源 发送消息 时,我们称之为“复用”。
多个用户使用一个IO资源 接收消息 时,我们称之为 “分用” 。
连接建立和释放
像是电路交换时,在进行数据交换时候要先建立一条逻辑连接,最后再释放连接。
如何进行分层
我们可以通过送信的例子进行理解。
1.比如说我有一个很喜欢的女孩子,想给她写一封信送过去。于是我就趴在桌子上把信写好啦。
2.信写好以后我就需要把他装入信封,信封上面写了送信的我的信息,写了收信人的地址
3.信封装好以后,我就到邮局把信放到邮筒里面。
4.邮局通过像空运或者高速什么的送到她在的城市
5.邮递员小哥把信封送到女生的手上
6.女生拆开信封一看就知道我的心意了。
在上面这个例子中我们将送信这个过程分为了三层,第一层传递的是信的内容,里面是我所要传递的内容,第二层传递的是送信信息,告诉了信从哪来到哪里去,第三层传递的是交通运输方式,告知从哪条国道走或者通过什么航线来运输。
计算机网络的分层也是如此,通过类比上面的送信过程可以想一想计算机网络的分层。
第一层传输文件内容(信的内容),通过下层的通信服务模块提供的服务,封装成一个报文包含文件的接收端地址(信封上信息),再通过网络接入模块完成报文的通信(上面的交通手段)
实体、接口、服务与协议
实体:计算机网络中某一层中的实例,同一层的实体叫对等实体。 (上述例子中的我与收信人)
接口(访问服务点SAP):是统一结点内相邻两层间交换信息的连接点,是一个系统内部的规定。(两层之间的位置)
服务:服务是指下层为紧向邻的上层提供的功能调用(垂直方向)
协议:网络中对等实体进行数据交换而建立的规则(水平方向)
协议的组成:
- 语法:规定传输数据的格式
- 语义:规定要完成的功能
- 同步:规定完成操作的顺序
总结:上层 “实体” 按照 “协议”规定所交换数据格式,通过“接口”调用下层实体提供的“服务”。
OSI的七层模型
应用层:为应用程序或用户请求提供各种请求服务。OSI参考模型最高层,也是最靠近用户的一层,为计算机用户、各种应用程序以及网络提供接口,也为用户直接提供各种网络服务。
表示层:数据编码、格式转换、数据加密。提供各种用于应用层数据的编码和转换功能,确保一个系统的应用层发送的数据能被另一个系统的应用层识别。同时数据压缩和加密也是表示层可提供的转换功能之一。
会话层:创建、管理和维护会话。接收来自传输层的数据,负责建立、管理和终止表示层实体之间的通信会话,支持它们之间的数据交换。
传输层:数据通信。建立主机端到端的链接,为会话层和网络层提供端到端可靠的和透明的数据传输服务,确保数据能完整的传输到网络层。
网络层:IP选址及路由选择。通过路由选择算法,为报文或通信子网选择最适当的路径。控制数据链路层与传输层之间的信息转发,建立、维持和终止网络的连接。数据链路层的数据在这一层被转换为数据包,然后通过路径选择、分段组合、顺序、进/出路由等控制,将信息从一个网络设备传送到另一个网络设备。
数据链路层:提供介质访问和链路管理。接收来自物理层的位流形式的数据,封装成帧,传送到网络层;将网络层的IP数据报封装成帧,拆装为比特流形式的数据转发到物理层;负责建立和管理节点间的链路,通过各种控制协议,将有差错的物理信道变为无差错的、能可靠传输数据帧的数据链路。
物理层:管理通信设备和网络媒体之间的互联互通。传输介质为数据链路层提供物理连接,实现比特流的透明传输。实现相邻计算机节点之间比特流的透明传送,屏蔽具体传输介质和物理设备的差异。
TCP/IP
应用层:
应用层是TCP/IP协议的第一层,是直接为应用进程提供服务的。
(1)对不同种类的应用程序它们会根据自己的需要来使用应用层的不同协议,邮件传输应用使用了SMTP协议、万维网应用使用了HTTP协议、远程登录服务应用使用了有TELNET协议
(2)应用层还能加密、解密、格式化数据
(3)应用层可以建立或解除与其他节点的联系,这样可以充分节省网络资源
运输层:
向两台主机中进程之间的通信提供通用的数据传输服务
使用以下两种传输协议:
- TCP传输控制协议,其数据传输单位为报文
- UDP用户数据报协议,其数据传输单位为用户数据段
网络层(ip数据报)
网际层:
网络层在TCP/IP协议中的位于第三层。在TCP/IP协议中网络层可以进行网络连接的建立和终止以及IP地址的寻找等功能。与网络层功能相似。
网络接口层:
在TCP/IP协议中,网络接口层位于第四层。由于网络接口层兼并了物理层和数据链路层。所以,网络接口层既是传输数据的物理媒介,也可以为网络层提供一条准确无误的线路
TCP/IP协议与OSI协议的不同:
- 考虑到异构网络互连,TCP在网际层的传输上为无连接的分组交换方式,将IP作为重要层次
- 通信方式的不同。OSI协议的传输协议只有TCP,必须面向连接。TCP/IP协议的传输协议的多了UDP的无连接尽最大努力的数据传输服务。
- OSI为七层模型,TCP/IP协议为四层模型
具有五层协议的体系结构(括号内为所传数据的单位)
应用层(报文)应用层是网络体系结构中的最高层
任务:通过进程间交互完成特定的网络应用(这里的进程指的是主机正在运行的程序)
运输层
任务:向两台主机中进程之间的通信提供通用的数据传输服务
主要使用以下两种传输协议:
- TCP传输控制协议,其数据传输单位为报文
- UDP用户数据报协议,其数据传输单位为用户数据段
网络层(ip数据报)
任务:
- 为每一个路由器生成一个转发分组的转发表
- 通过路由选择算法,为运输层产生的报文打包成分组或包,通过通信子网选择最适当的路径。这一层定义的是IP地址,通过IP地址寻址,所以产生了IP协议。
数据链路层(帧)
任务:
- 在网络层传输下来的IP数据报的前后分别添加首部和尾部,然后就构成了一个帧。
- 节点A把封装好的帧发送给结点B的数据链路层
- 若结点B的数据链路层收到的帧无差错,则从收到的帧中提取出IP数据报上交给网络层,否则丢弃此帧
帧中包含了数据和必要的控制信息(地址信息,差错控制,同步信息等),因此数据链路层具有检错的功能,为了改正数据在整个数据链路层传输时出现的差错,需要采用可靠的传输协议来纠正出现的错误。
物理层(比特)
任务:
(1)机械特性:指明接口所用的接线器的形状和尺寸,引脚和排列,固定和锁定装置
(2)电气特性:指明在接口电缆的各条线上出现的电压的范围。
(3)功能特性:指明某条线上出现的某一电平的电压表示何种意义
。
(4)过程特征:指明对于不同功能的各种可能事件的出现顺序。
简单说就是考虑的是怎样才能在连接各种计算机的传输媒体上传输数据比特流。
应用进程在各层传递过程中的变化
在此图中主机1的进程AP1向主机二的进程AP2 发送数据。主机1先将数据交给本机的第五层(应用层),加上必要的控制信息H5,成为了下一层的数据单元,第四层(运输层)接收此数据单元后加上此层的控制信息,成为新的数据单元,同理下推,不过在数据链路层时控制信息被分为首尾两部分,而物理层是比特流,所以不再加入控制信息。
SDU服务数据单元:为完成用户要求功能而传输的数据(送信例子的信中内容,最开始传输的数据)
PCI协议控制信息:控制协议操作的信息
PDU协议数据单元:对等层次之间传输的数据单元
PCI+SDU=PDU
这一层的PDU在到达下一层时候作为SDU,在加上此层的PCI成为新的PDU
最后
以上就是快乐美女为你收集整理的计算机网络学习笔记——计算机网络体系结构计算机网络为什么要分层(分层的优点)各层需要完成的功能 如何进行分层 OSI的七层模型TCP/IP的全部内容,希望文章能够帮你解决计算机网络学习笔记——计算机网络体系结构计算机网络为什么要分层(分层的优点)各层需要完成的功能 如何进行分层 OSI的七层模型TCP/IP所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复