当前位置:首页>HTTP>Web及网络基础>网络基础 TCP/IP

网络基础 TCP/IP

作者:微学网发布时间:2019-09-05 23:13:31

为了理解HTTP,有必要事先了解TCP/IP协议族。
通常使用的网络(包括Internet)是基于TCP/IP协议家族运行的。HTTP属于其中的一个子集。
接下来,我们将只介绍了解HTTP所需的TCP/IP协议系列的概述。
如果您想了解更多关于TCP/IP的信息,请参阅有关TCP/IP的其他专业书籍。

TCP/IP 协议族

为了使计算机和网络设备相互通信,双方必须基于相同的方法。例如,如何检测通信目标、哪一方先发起通信、使用哪种语言通信、如何结束通信等规则需要事先确定。不同硬件和操作系统之间的通信需要一个规则。我们称之为规则协议。

TCP/IP 是互联网相关的各类协议族的总称

协议中有各种各样的内容。从电缆规格到IP地址的选择方法、异地用户的查找方法、双方建立通信的顺序、显示待处理网页的步骤等。

这样的Internet关联的协议的集合称为TCP/IP。也有人说TCP/IP是指TCP和IP两种协议。另一种观点认为,TCP/IP是IP协议通信过程中使用的协议族的总称。

TCP/IP 的分层管理

TCP/IP协议族中的一个重要点是分层。TCP/IP协议族按层次划分为四层:应用层、传输层、网络层和数据链路层。

TCP/IP的层次结构是有益的。例如,如果互联网仅由一个协议协调,当一个地方需要改变其设计时,它必须整体替换所有部分。

分层后,只能替换更改的层。层间接口规划完成后,各层内的设计可以自由变更。

值得一提的是,经过等级划分,设计变得相对简单。

应用层的应用程序只能考虑分配给它们的任务,而不知道对方在地球上的位置,对方的传输路径是什么,以及是否能够保证传输。

TCP/IP 协议族各层的作用如下:

应用层

当向用户提供应用程序服务时,应用层决定通信活动。

TCP/IP 协议族内预存了各类通用的应用服务。 比如, FTP(File Transfer Protocol, 文件传输协议) 和 DNS(Domain Name System, 域名系统) 服务就是其中两类。

传输层

传输层对上层应用层, 提供处于网络连接中的两台计算机之间的数据传输。

在传输层有两个性质不同的协议: TCP(Transmission Control Protocol, 传输控制协议) 和 UDP(User Data Protocol, 用户数据报协议) 。

网络层

网络层用来处理在网络上流动的数据包。 数据包是网络传输的最小数据单位。

该层规定了通过怎样的路径(所谓的传输路线) 到达对方计算机, 并把数据包传送给对方。

与对方计算机之间通过多台计算机或网络设备进行传输时, 网络层所起的作用就是在众多的选项内选择一条传输路线

链路层(又名数据链路层)

用来处理连接网络的硬件部分。

包括控制操作系统、 硬件的设备驱动、 NIC(Network Interface Card, 网络适配器, 即网卡),及光纤等物理可见部分(还包括连接器等一切传输媒介)。

硬件上的范畴均在链路层的作用范围之内。

TCP/IP 通信传输流

TCP/IP 通信传输流

当使用TCP/IP协议族在网络中相互通信时,它按层次顺序相互通信。

发送者从应用层向下,接收者从应用层向上。

让我们以http为例来说明,首先,作为发送者的客户端,在应用层中。

(http协议)发送一个希望查看网页的http请求。

接着, 为了传输方便, 在传输层(TCP 协议) 把从应用层处收到的数据(HTTP 请求报文) 进行分割, 并在各个报文上打上标记序号及端口号后转发给网络层。

在网络层(IP协议)中,添加MAC地址作为通信目的地并将其转发到链路基。这样,到网络的通信请求就准备好了。

接收端的服务器在链路层接收到数据, 按序往上层发送, 一直到应用层。 当传输到应用层, 才能算真正接收到由客户端发送过来的 HTTP请求。
HTTP 通信举例
发送端在层与层之间传输数据时, 每经过一层时必定会被打上一个该层所属的首部信息。 反之, 接收端在层与层传输数据时, 每经过一层时会把对应的首部消去。

这种把数据信息包装起来的做法称为封装(encapsulate) 。