1

1 来源

1.1 OSI 和 TCP/IP

为了使不同体系结构的计算机网络能够互连,国际标准化组织ISO提出了著名的“开放系统互连基本参考模型OSI/RM (Open System Intercommunication Reference Model)简称为 OSI。

开放”指的是只要遵循OSI标准,一个系统就可以和世界上任何地方的也遵循这个标准的系统通信。
系统”指的是现实的系统中与互连有关的各部分。

由于OSI的层次划分不太合理,有些功能在多个层次中重复出现。等各种原因,现在得到最广泛应用的不是法律上的国际标准OSI,而是非国际标准TCP/IP。

1.2 五层协议的体系结构

OSI的七层协议体系结构概念清楚,理论完整,可是它太过复杂,实用性也不高。
TCP/IP的四层体系结构简洁很多。
而五层体系结构是综合了OSI和TCP/IP的优点,这样既简洁又能将概念阐述清楚。

image.png

2 五层体系结构的介绍

2.1 每一层的作用

  • 应用层:定义了应用进程间的通信和交互的规则
  • 运输层:向两个主机中进程之间的通信提供通用的数据传输服务
  • 网络层:为分组交换网上的不同主机提供通信服务。
  • 数据链路层:将网络层交下来的IP数据报组成帧(Frame),在两个相邻结点间的链路上传送。
  • 物理层:确保原始的数据可在各种物理媒体上传输

我们来通过一个比喻来认知下这几个层的作用。
假设我们有一天需要与世界上其他地方的人交换货物。那我们会经过哪些步骤呢。

  • 应用层:如果我们需要买一个电子产品,我们可能会选择京东,如果是书本,我们会选择当当。

    这个就像是我们如果要发送电子邮件我们选择SMTP协议,发送文件选择FTP一样。
  • 运输层:下单后,下面就涉及到如何把寄送货物的问题。我们需要选择快递公司,如果是重要的文件的话,我们会选择EMS,如果是对速度有要求的话,我们会选择顺丰。

    这个就像如果我们需要可靠的数据传输,我们可以选择TCP,如果我们需要实时性高的话选择UDP。
  • 网络层:快递公司收到快递订单,根据订单上的地址信息(相当于IP地址),选择最优的运输路径

    这个就像网络层基于IP地址为数据的传输进行网络间的路由选择
  • 数据链路层:快递小哥上门取件(或者之后的派件),都是根据收发人的手机号和名字(相当于mac地址)来取送件。

    这个就像是物理地址寻址,为网络层提供数据传送服务
  • 物理层:司机使用不同的交通工具进行运输。

    这个就像是物理层为数据传输提供物理媒体,进行数据的实际传输

2.2 每一层的数据传输

  • 应用层:含有data,这个data之后会被拆分成一个个小的segments,每个segment都带着个一个header
  • 运输层:每个segment的header包含source和destination的端口信息
  • 网络层:segment加上source和destination的IP地址,生成一个packet。
  • 数据链路层:每个packet加上source和destination的MAC地址,生成Frame
  • 物理层:把frame转换成二进制代码进行传输

具体如下图:
image.png

2.3 网络包的旅途

image.png
image.png

参考:《网络是怎样连接的》


lucy
18 声望7 粉丝