零基础学计算机网络《四》

计算机网络体系结构的形成

在计算机网络的概念中,分层次的体系结构是最基本的。
为了研究复杂的网络系统,我们将通信简化,假设连接在网络上的两台计算机要互相传送文件:
显然,在两台计算机之间必须要有一条传送数据的通路,但这远远不够,至少还有一下几项工作需要解决:

  1. 发起通信的计算机必须将数据通道进行激活。所谓激活就是要发出一些信令,保证数据能在通道中正确发送和接收
  2. 要告诉网络如何识别接收数据的计算机
  3. 发起通信的计算机必须查明对法计算机是否开机,网络连接是否正常
  4. 发起通信的计算机必须弄清楚,对方计算机的文件系统是否已经做好接收文件和存储文件的准备工作。
  5. 如果计算机的文件格式不兼容,则至少需要其中一台计算机完成数据格式的转换
    6.对出现的各种差错和意外事故,应当有可靠的保证措施你保证对方计算机最终能够接收到正确的数据。

为了设计这样法则的计算机网络,在网络设计时提出了分层的方法。分层可将庞大而复杂的问题转化为若干较小的局部问题,而这些小问题就比较易于研究和处理。
为了使不同体系结构的网络都能互连,国际标准组织ISO制定了著名的ISO 7498国际标准,也就是所谓的七层协议的体系结构。其中使用的是开放系统互连基本参考模型OSI/RM(open System Interconnection Reference Model)。但是由于TCP/IP抢先在全球范围内运行,使OSI失败了。
通常来说,只有符合国际标准才能大范围的或得工程上的应用,但现在情况反过来了,得到广泛应用的不是法律上的国际标准OSI,而是非国际标准TCP/IP。就这样,TCP/IP就常被称为事实上的国际标准。一个新标准的出现,有时不一定反映其技术水平是最先进的,而是往往有着一定的市场背景。

协议与划分层次

为了进行网络中的数据交换而建立的规则,标准或约定,称为网络协议,网络协议也简称为协议。网络协议主要由以下三个要素组成
1.语法:即数据与控制信息的结构或格式
2.语义:即需要发出何种信息,完成何种动作以及做出何种响应
3.同步:即事件实现顺序的详细说明
现在我们假定:在主机1和主机2之间通过一个通信网络传送文件:
在这里插入图片描述
我们可以将要做的工作分为三类:
第一类工作与发送文件直接相关,发送端必须确保接收端已经做好了接收好存储的准备,若两台通信主机所用的文件格式不一样,至少有一方应完成文件格式的转换,这些工作可以交给上图中的文件传输模块来完成。这样,两台主机可将文件传送模块作为最高的一层。但是我们并不想让文件传输模块完成全部的工作细节这样会使文件传输模块过于复杂。
第二类工作是保证文件可靠的在两台主机之间交换,我们设立一个通信服务模块,如上图。也就是说,位于上层的文件传送模块可以利用下层的通信服务模块提供的服务。
第三类工是将两台主机接入网络进行通信。我们再构造一个网络接入模块,如上图。网络接入模块复杂把主机接入网络并向上层提供服务,使上面的通信模块能够完成可靠的通信任务。
分层带来的好处:

  1. 各层之间是独立的:上层不需要知道下层是如何实现的,只需使用下层提供的服务即可。
  2. 灵活性好:每一层的变化不会影响上层或下层,可以根据需求增加服务或减少服务
  3. 结构上可分割开:各层都可采用最合适的技术来实现
  4. 易于实现和维护:分层使得一个庞大而又复杂的系统变得简单易处理
  5. 能促进标准化工作:每一层的功能及其提供的服务都有明确的说明

通常各层完成的功能有一下一些:
1.差错控制:使数据的交互更加可靠
2.流量控制:发送端的发送速率必须使接收端来得及接收,不要太快
3.分段和重装:发送端将数据拆分,接收端将数据还原
4.复用和分用:发送端几个高层的会话复用一条底层的连接。在接收端再进分用
5.连接建立和释放:交换数据前先建立一条逻辑连接,数据交换结束后释放连接
网路体系结构:计算机网络的各层及其协议的集合就是网络的体系结构(architecture).完成功能的硬件和软件是对网络体系结构的实现,网络体系结构是标准,是接口,而正在运行的计算机硬件和软件是实现。

五层协议的体系结构

在这里插入图片描述
OSI的七层协议体系结构概念清楚理论完整,但是复杂不实用。TCP/IP是一个四层的体系结构,包含了应用层,运输层,网际层和网络接口层(解决不同网络的互连问题)。不过本质上TCP/IP只有上面三层,第四层并没有什么具体的内容。
我们在学习计算机网络的时候综合OSI和TCP/IP的有点,采用一种只有五层协议的体系结构。

应用层

应用层是体系结构中的最高层,它的任务是通过应用层进程间交互来完成特定网络应用。应用层协议定义的是进程间通信和交互的规则,对于不同的网络应用需要有不同的应用层协议。应用层的协议很多,如域名系统DNS,支持万维网应用的HTTP协议,支持电子邮件的SMTP协议等等,我们把应用层交互的数据单元称为报文。

运输层

运输层的任务是为两台主机的通信提供通用的数据传输服务。所谓通用的是指并不针对某个特定的网络应用,而是多个网络应用可以使用同一个运输层服务。
由于一台主机可同时运行多个进程,因此运输层有复用和分用的功能。复用就是多个进程同时使用下层的运输层服务。分用是运输层把收集到的信息交付给应用层的相应进程。
运输层主要使用一下两种协议:
1.传输控制协议TCP(transmission Control Protocol):提供面向连接的、可靠的数据传输服务,其数据传输的单位是报文段。
‘2.用户数据报协议UDP(User Datagram Protocol):提供无连接的、高效的数据传输服务,不保证数据传输的可靠性,其数据传输的单位是用户数据报。
运输层也叫传输层。

网络层

网络层负责为不同主机进行数据交互提供通信服务。网络层把运输层产生的报文段或用户数据报分装成分组或着包进行传送。TCP/IP协议中,由于网络层使用IP协议,因此分组也叫作IP数据报,简称为数据报。
分组=数据报
无论在哪一层传输的数据单元都可以笼统的用分组来表示。
网络层还有一个任务就是要选择合适的路由,把源主机从运输层传下来的分组通过网络中的路由找到目标主机。
互联网使用的网络层协议是无连接的网际协议IP和许多种路由器协议,因此互联网的网络层也叫网际层或IP层。
网络层=网际层=IP层

数据链路层

数据链路层简称为链路层,在相邻的节点之间传输数据时,数据链路层将网络层传下来的IP数据报组装成帧,在两个相邻结点的链路上传送帧,每一帧包括数据和必要的控制信息。
在接收数据时,控制信息能够清晰的展现一个帧是从哪个比特开始到哪个比特结束。
控制信息还能检测到所收到的帧有无差错,如果发现有差错,数据链路层就简单的丢弃这个出错的帧,如果需要改正,就采用可靠传输协议来纠正出现的差错。

物理层

在物理层上所传数据的单位是比特。发送发发送1或0时,接收方也必须接收到1或0,而不是0或1.因此物理层要考虑用多大的电压代表1或0.物理层还需要确定连接电缆的插头应当有多少根引脚以及各引脚应如何连接。
请注意,传递信息所利用的一些物理媒体,如双绞线、同轴电缆、光缆、无线信道等,并不在物理层协议之内,而是在物理层协议的下面,因此也有人把物理层下面的物理媒体当做第0层。
下图说明的是两个进程的数据在各层之间的传递过程:
在这里插入图片描述
假定主机1的进程AP1向主机2的进程AP2发送数据,AP1先将数据交给本主机的第五层应用层,应用层加上必要的控制信息H5就变成了下一层的数据单元。第四层传输层收到这个数据单元后,加上基本的控制信息H4,再交给第三层网络层,成为第三层的数据单元,以此类推。不过到了第二层数据链路层之后控制信息被分成两部分,分别加到本层数据单元的首部H2和尾部T2.而第一层物理层由于是比特流传送,所以不再加上控制信息。请注意,传送比特流时应该从首部开始传送。
OSI模型把对等层次之间传递的数据单位称为该层的协议数据单元PDU(protocol Data Unit)。
当这一串比特流离开主机1经网络物理媒体传输到路由器时,就从路由器的第一层依次上升到第三层,每一层都根据控制信息进行必要的操作,然后将控制信息剥去,将该层剩下的数据单元上交给更高层。当分组上升到第三层时,就根据首部的目的地址查找路由中的转发表,找出转发分组的接口,然后往下传送到第二层,加上新的首部和尾部后再传递到第一层,然后在物理媒体上把每一个比特发送出去。
当这一串比特流离开路由器到达主机2时,就从主机2的第一层按照上面讲过的方式依次上升到第五层,最后,把完整的数据交给进程AP2.
上面的例子就像一封信从最高层向下传,没经过一层就包上一个新的信封,写上必要的地址信息,包有多个信封的信件送到目的地,就从第一层起,每层拆开一个信封然后交给上层,传到最高层后取出信交给收信人。
各层之间的协议就是对等曾之间传递数据的各项规定。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值