1.2 网络基础
本书的目的并非让读者深刻理解网络协议和标准,而是对云数据中心网络内部的技术进行全面概述。为了更好地理解本书介绍的某些主题,最好重温网络原理的基础知识。如果你对网络基础知识已经非常熟悉,那么可以跳过本节的内容。
1.2.1 网络协议栈
几乎每一本教科书都会介绍7 层OSI(Open Systems Interconnect,开放系统互连)网络协议栈的相关知识。该模型设计于20 世纪70 年代,最初是OSI 项目的一部分,目标是提供一个支持多厂商互操作的通用网络标准。OSI 并未得到认可,相反,TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/ 网际协议)变成了今天互联网通信的主流标准。不过, OSI 协议栈现在仍然出现在许多技术论文和教科书中。
虽然网络界仍然会提到OSI 模型,但是当前使用的大多数协议都少于7 层。在数据中心网络中,虽然以太网包含第1 层和第2 层两部分,但我们将其看作一个第2 层的协议。同样,虽然TCP/IP 也有第3 层和第4 层两部分,但我们仍将其看作第3 层协议。第5 ~ 7 层在业界中通常被看作应用层。在本书中,我们将第2 层视为交换层(也就是以太网),将第3 层视为路由层(也就是TCP/IP)。在此之上的其他层被视为应用层。图1-1 展示了一个简化的模型,以及简单的数据中心事务处理。
在这个简化了的例子中,发送端应用程序将数据提交给TCP/IP 层(有时简称为第3 层)。这些数据被分割成若干帧(数据包),在将每一帧数据提交给以太网层(有时简称为第2 层)之前都需要添加TCP/IP 报头。接下来,为数据帧添加一个以太网报头并将其发送到接收设备。在接收端,接收到的帧首先在以太网层去掉以太网报头,然后在TCP/IP 层去掉TCP/IP 报头,之后被重新组装成数据提交给应用层。虽然这是一个非常精简的解释,但是可以让你了解一些有关第2 层和第3 层协议的背景知识。本书的后续章节还将更加详细地介绍相关内容。
假设你要从公司的邮件收发室发送一个包裹。你本人就好比应用层,告诉收发室必须把包裹送到公司在另一个城市指定的邮件服务站。收发室就是第3 层,将包裹放在一个盒子里,查看目的地邮件服务站的编码并附上一个基于该编码的地址,然后将包裹交给运输公司。运输公司拿到包裹后,会查看目的地的地址,然后加上自己特定的条码标签(相当于第2 层),以便包裹能够到达目的地配送中心。在运输途中,运输公司只需要关注第2 层的标签。到达目的地配送中心之后,需要再次检查本地地址(第3 层)以确定最终目的地。这种分层方法简化了第2 层运输公司的任务。