计算机网络参考模型

一、OSI 七层参考模型

1. 分层思想

网络传输的真正过程非常复杂,因此应首先建立分层模型。

分层模型是一种用于开发网络协议的设计方法,而分层思想本质上讲就是把节点间通信这个复杂问题分成若干简单的问题逐一解决,而每个问题对应一层。

每一层实现一定的功能,相互协作即可实现数据通信这个复杂任务。

在网络节点间使用分层思想,赋予每一层一定得功能,相邻层之间通过接口来进行通信,下层为上层提供服务。一旦网络发生故障,很容易确定问题是由那一层得功能没有实现而导致的,将故障产生的原因聚焦于一点,有助于更加清晰明了地分析问题、解决问题。
另外,将网络最终的通信目标分解成各个子层的目标,然后逐一研究每一层的功能是如何实现的,这种思想有助于将复杂问题简单化、清晰化。

2. OSI 参考模型

由于各个计算机厂商都采用私有的网络模型,因此给通信带来了诸多麻烦,ISO 于1984年颁布了 OSI 参考模型。
OSI 是一个开放式体系结构,它规定将网络分为七层,从下往上依次是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。

每一层的功能:

  • 应用层:网络服务与最终用户的一个接口(将原始数据转换电脑能识别的二进制数)
  • 表示层:数据的表示、安全、压缩
  • 会话层:建立、管理、中止会话
  • 传输层:定义传输数据的协议端口号,以及流控和差错校验
  • 网络层:进行逻辑地址寻址,实现不同网络之间的路径选择
  • 数据链路层:建立逻辑连接、进行硬件地址寻址、差错校验等功能
  • 物理层:建立、维护、断开物理连接(将二进制数转换为传输的电信号或光信号)

3. 每一层详解

  • 物理层
    • 物理层的主要功能是完成相邻节点之间原始比特流的传输。
    • 物理层协议关系的典型问题是使用什么样的物理信号来表示数据 1 和 0,一位持续的时间有多长,数据传输是否可同时在两个方向上进行,最初的连接如何建立及完成通信后连接如何终止,物理接口(插头和插座)有多少针及各针的用处,物理层的设计主要涉及物理层接口的机械,电气,功能和过程特性,以及物理层几口连接的传输介质等问题。另外,物理层的设计还涉及通信工程领域内的一些问题。
  • 数据链路层
    • 数据链路层负责将上层数据封装成固定格式的帧,在数据帧内封装发送和接收端的数据链路层地址(在以太网中为 MAC 地址,MAC 地址是用来标识网卡的物理地址,在广域网中点到多点的连接情况下,可以是一个链路的标识),并且为了防止在数据传输过程中产生误码,要在帧尾部加上校验信息,当发现数据错误时,可以重传数据帧。
  • 网络层
    • 网络层的主要功能是实现数据从源端到目的端的传输,在网络层,使用逻辑地址来标识一个点,将上层数据封装成数据包,在包的头部封装了源和目的端的逻辑地址,网络层根据数据包头部的逻辑地址选择最佳的路径,将数据送达目的端。
  • 传输层
    • 传输层的主要功能是实现网络中不同主机上用户进程之间的数据通信。
    • 网络层和数据链路层负责将数据送达目的端的主机,而这个数据需要什么用户进程去处理,就需要传输层帮忙了。
    • 例如,用 QQ 发送消息,网络层和数据链路层负责将消息转发到接收人的主机,而接收人应该用 QQ 程序来接受还是用 IE 浏览器来接收,就是在传输层进行标识
      传输层要决定对会话层用户(最终的网络用户)提供什么样的服务,因此,我们经常把 1~3 层的协议称为点到点的协议,而把 4~7 层的协议称为端到端的协议。
      由于绝大多数主机都支持多进程操作,因此机器上会同时有多个程序访问网络,这就意味着将有多条连接进出于这台主机,因此需要以某种方式区别报文属于哪条连接,识别这些连接的信息可以放在传输层的报文头中,除了将几个报文流多路复用到一条通道上,传输层还必须管理跨网连接的建立和拆除,这就需要某种命名机制,使机器内的进程能够说明它系统交谈的对象。
      会话层
      绘画层允许不同机器上的用户之间建立会话关系,会话层允许进行类似传输层的普通数据传送,在某些场合还提供了一些有用的增强型服务,允许用户利用一次会话在远端的分时系统上登录,或在两台机器间传递文件
      会话层提供的服务之一是管理对话控制。会话层允许信息同时双向传输,或任意一个时刻只能单向传输。如果属于后者,则类似于物理信道上的半双工模式,会话层将记录此时该轮到哪一方。一种与对话控制有关的服务是令牌管理(Token Manegerment). 有些协议会保证双方不能同时进行同样的操作,这一点很重要。为管理这些活动,会话层提供了令牌,令牌可以在会话双方之间移动,只有持有令牌的一方可以执行某种关键性操作。另一种会话层服务是同步的,如果在平均每小时出现一次大故障的网络上,两台机器间要进行一次两小时的文件传输, 会出现什么样的问题呢?每一次传输中途失败后,都不得不重新传送这个文件。当网络再次出现大故障时,可能又会半途而废。为解决这个问题,会话层提供了一种方法,即在数据中插入同步点,当每次网络出现故障后,仅需重传最后一个同步点以后的数据。
      表示层
      表示层用于完成某些特定功能,对这些功能人们常常希望找到普遍的解决方法,而不必由每个用户自己来实现。值得-提的是,表示层以下各层只关心从源端机到目标机可靠地传送比特,而表示层关心的是所传送信息的语法和语义。表示层服务的一个典型例子是用一种大家一致选定的标准方法对数据进行编码。大多数用户程序之间并非交换随机比特,而是交换诸如人名、日期、货币数量和发票之类的信息。这些对象是用字符串,整型数.浮点数的形式,以及由几种简单类型组成的数据结构来表示的。
      在网络上,计算机可能采用不同的数据表示法,所以在数据传输时需要进行数据格式转换。例如,在不同的机器上常用不同的代码来表示字符串(ASCI 码和EBCDIC)、整型数(二进制反码或补码)及机器字的不同字节顺序等。为了让采用不同数据表示法的计算机之间能够相互通信并交换数据,我们在通信过程中使用抽象的数据结构(如抽象语法表示ASN.1)来表示所传送的数据,而在机器内部仍然采用各自的标准编码。管理这些抽象数据结构,并在发送方将机器的内部编码转换为适合网上传输的传送语法及在接收方做相反的转换等工作都是由表示层来完成的。
    • 另外,表示层还涉及数据压缩和解压、数据加密和解密等工作。
  • 应用层
    • 联网的目的在于支持运行于不同计算机上的进程之间的通信,而这些进程则是为用户完成不同任务而设计的。应用是多方面的,不受网络结构的限制。应用层(Application Layer)包含大量人们普遍需要的协议。显然,对于需要通信的不同应用来说,应用层的协议都是必需的。例如,PC (Personal Computer,个人计算机)用户利用仿真终端软件通过网络使用该远程主机的资源。这个仿真终端程序使用虚拟终端协议将键盘输入的数据传送到主机的操作系统,并接收显示于屏幕的数据。
    • 又如,当用户想要获得远程计算机上的一个文件副本时,他要向本机的文件传输软件发出请求,这个软件与远程计算机上的文件传输进程通过文件传输协议进行通信,这个协议主要处理文件名、用户许可状态和其他请求细节的通信。远程计算机上的文件传输进程使用其他进程来传输文件内容。

二、TCP/IP 四层和五层参考模型

1. TCP/IP参考模型

另一个著名的模型是 TCP/IP 模型。
TCP/IP 是传输控制协议/网际协议(Transmission Control Protocol/Internet Protocol)的坚持。早期的TCP/IP模型是一个四层结构,从下往上依次是网络接口层、互联网层、传输层和应用层。在后来的使用过程中,借鉴OSI的七层参考模型,将网络接口层划分为物理层和数据链路层,形成了一个新的五层结构。TCP/IP 是一系列协议的集合,所以严格的称呼应该是 TCP/IP协议簇。

需要注意的是,OSI参考模型没有考虑任何一组特定的协议,因此 OSI 更具有通用性;而 TCP/IP 参考模型与 TCP/IP 协议簇吻合得很好,虽然该模型不适合于其他任何协议栈,但如今的网络多以 TCP/IP 协议簇作为基础,使得在分层设计上没有过多考虑协议的 OSI 分层理念,所以没有广泛地应用实际工作中。相反,更多地应用 TCP/IP 分层模型在实际工作中分析问题、解决问题。

2. 每层对应的协议

  • 物理层和数据链路层:
    在物理层和数据链路层,TCP/IP 并没有定义任何特定的协议,它支持所有标准的,专用的协议,网络可以是局域网(如广泛使用的以太网)、城域网或广域网。所以,TCP/IP实际上只有三个层次。
  • 网络层:
    在网络层,TCP/IP 定义了 IP(Internet Protocol 网际协议),而 IP 又由四个支撑协议组成:ARP(地址解析协议)、RARP(逆地址解析协议)、ICMP(网际控制报文协议)和 IGMP(网际组管理协议)。
  • 传输层:
    传统上,TCP/IP 有两个传输层协议:TCP(传输控制协议)和 UDP(用户数据报协议)。TCP 协议传输更加稳定可靠,UDP协议传输效率更高。
  • 应用层:
    在应用层,TCP/IP 定义了许多协议,如 HTTP(超文本传输协议)、FTP(文件传输协议)、SMTP(简单邮件传输协议)、DNS(域名系统)、TELNET、SSH、HTTPS、TFTP、NTP、POP3、IMAP 等。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值