本篇文章是对TCP/IP协议栈的概述,不涉及具体细节。TCP/IP协议栈主要分为四层:应用层、传输层、网络层、数据链路层,每层都有相应的协议,如下图
假设在一个局域网中有两台主机,二者都运行FTP协议,两台计算机通过TCP IP协议通讯的过程如下所示:
传输层及其以下的机制由内核提供,应用层由用户进程提供,应用程序对通讯数据的含义进行解释,而传输层及其以下处理通讯的细节,将数据从一台计算机通过一定的路径发送到另一台计算机.应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header),称为封装(Encapsulation),如下图所示
不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报(datagram),在链路层叫做帧(frame).数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部,最后将应用层数据交给应用程序处理.。下面我们根据第一幅图从下到上简单介绍TCP/IP协议栈中各层涉及到的协议:
链路层: