目录
OSI七层模型
TCP/IP四层模型
OIS七层模型和TCP/IP模型图
七层详解
两种模型比较
为什么OSI七层体系结构不常用
四层详解
网络为什么要分层?
说说 OSI 七层模型和 TCP/IP 四层模型的关系和区别
OSI七层模型
- OSI(Open System Interconnect),即开放式系统互联。 一般都叫OSI参考模型,是ISO(国际标准化组织)组织在1985年研究的网络互连模型。
- ISO为了更好的使网络应用更为普及,推出了OSI参考模型。其含义就是推荐所有公司使用这个规范来控制网络。这样所有公司都有相同的规范,就能互联了。
- OSI七层协议模型主要是:应用层(Application)、表示层(Presentation)、会话层(Session)、传输层(Transport)、网络层(Network)、数据链路层(Data Link)、物理层(Physical)。
TCP/IP四层模型
- TCP/IP是一个四层的体系结构,主要包括:应用层、运输层、网际层和网络接口层。从实质上讲,只有上边三层,网络接口层没有什么具体的内容。
OIS七层模型和TCP/IP模型图
七层详解
两种模型比较
相同点:
- OSI参考模型和TCP/IP参考模型都采用了层次结构的概念。
- 都能够提供面向连接和无连接两种通信服务机制。
不同点:
- 对可靠性要求不同(四层可靠性要求更高)。
- OSI模型是在协议开发前设计的, 具有通用性.TCP/IP是先有协议集然后建立模型, 不适用于非TCP/IP网络。
- 实际市场应用不同(OSI模型只是理论上的模型,并没有成熟的产品,而TCP/IP已经成为“实际上的国际标准”)。
为什么OSI七层体系结构不常用
- OSI 的专家缺乏实际经验,他们在完成 OSI 标准时缺乏商业驱动力
- OSI 的协议实现起来过分复杂,而且运行效率很低
- OSI 制定标准的周期太长,因而使得按 OSI 标准生产的设备无法及时进入市场(20 世纪 90 年代初期,虽然整套的 OSI 国际标准都已经制定出来,但基于 TCP/IP 的互联网已经抢先在全球相当大的范围成功运行了)
- OSI 的层次划分不太合理,有些功能在多个层次中重复出现
四层详解
应用层
应用层主要提供两个终端设备上的应用程序之间信息交换的服务,它定义了信息交换的格式,消息会交给下一层传输层来传输。我们把应用层交互的数据单元称为报文message。
应用层协议定义了网络通信规则,对于不同的网络应用需要不同的应用层协议。在互联网中应用层协议很多,如支持 Web 应用的 HTTP 协议,支持电子邮件的 SMTP 协议等等。
传输层的主要任务就是负责向两台终端设备进程之间的通信提供通用的数据传输服务。应用进程利用该服务传送应用层报文。“通用的”是指并不针对某一个特定的网络应用,而是多种应用可以使用同一个运输层服务。运输层的分组称为报文段segement。
运输层主要使用以下两种协议:传输控制协议 TCP(Transmisson Control Protocol)——提供面向连接的,可靠的数据传输服务。用户数据协议 UDP(User Datagram Protocol)——提供无连接的,尽力而为的数据传输服务(不保证数据传输的可靠性)。
网络层
网络层负责为分组交换网上的不同主机提供通信服务。在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组和包进行传送。在 TCP/IP 体系结构中,由于网络层使用 IP 协议,因此分组也叫 IP 数据报,简称数据报datagram。网络层的还有一个任务就是选择合适的路由,使源主机运输层所传下来的分组,能通过网络层中的路由器找到目的主机。
互联网是由大量的异构(heterogeneous)网络通过路由器(router)相互连接起来的。互联网使用的网络层协议是无连接的网际协议(Internet Prococol)和许多路由选择协议,因此互联网的网络层也叫做IP层。
网络层常见协议 :
- IP:网际协议 :网际协议 IP 是TCP/IP协议中最重要的协议之一,也是网络层最重要的协议之一,IP协议的作用包括寻址规约、定义数据包的格式等等,是网络层信息传输的主力协议。目前IP协议主要分为两种,一种是过去的IPv4,另一种是较新的IPv6,目前这两种协议都在使用,但后者已经被提议来取代前者。
- ARP 协议 :ARP协议,全称地址解析协议(Address Resolution Protocol),它解决的是网络层地址和链路层地址之间的转换问题。因为一个IP数据报在物理上传输的过程中,总是需要知道下一跳(物理上的下一个目的地)该去往何处,但IP地址属于逻辑地址,而MAC地址才是物理地址,ARP协议解决了IP地址转MAC地址的一些问题。
- NAT:网络地址转换协议 :NAT协议(Network Address Translation)的应用场景如同它的名称——网络地址转换,应用于内部网到外部网的地址转换过程中。具体地说,在一个小的子网(局域网,LAN)内,各主机使用的是同一个LAN下的IP地址,但在该LAN以外,在广域网(WAN)中,需要一个统一的IP地址来标识该LAN在整个Internet上的位置。
网络接口层
可以把网络接口层看作是数据链路层和物理层的合体。
数据链路层:作用是将网络层交下来的 IP 数据报组装成帧frame,在两个相邻节点间的链路上传送帧。每一帧包括数据和必要的控制信息(如同步信息,地址信息,差错控制等)。
物理层:作用是实现相邻计算机节点之间比特流的透明传送,尽可能屏蔽掉具体传输介质和物理设备的差异。
网络为什么要分层?
- 各层之间相互独立:各层之间相互独立,各层之间不需要关心其他层是如何实现的,只需要知道自己如何调用下层提供好的功能就可以了(可以简单理解为接口调用)。这个和我们对开发时系统进行分层是一个道理。
- 提高了整体灵活性 :每一层都可以使用最适合的技术来实现,你只需要保证你提供的功能以及暴露的接口的规则没有改变就行了。这个和我们平时开发系统的时候要求的高内聚、低耦合的原则也是可以对应上的。
- 大问题化小 : 分层可以将复杂的网络间题分解为许多比较小的、界线比较清晰简单的小问题来处理和解决。这样使得复杂的计算机网络系统变得易于设计,实现和标准化。 这个和我们平时开发的时候,一般会将系统功能分解,然后将复杂的问题分解为容易理解的更小的问题是相对应的,这些较小的问题具有更好的边界(目标和接口)定义。
说说 OSI 七层模型和 TCP/IP 四层模型的关系和区别
OSI 七层从下往上依次是:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层
TCP/IP 四层从下往上依次是:网络接口层、网络层、传输层、应用层
这两个网络模型的特点:
- 层与层之间相互独立又相互依靠
- 上层依赖于下层,下层为上层提供服务