TCP和IP协议(一)
互联网协议套件(Internet Protocol Suite)是互联网和类似计算机网络中使用的一个概念模型或者说是一套通信协议。由于该套件中的基础协议是传输控制协议(TCP)和互联网协议(IP),因此它通常被称为TCP/IP协议。
互联网协议套件提供了端到端的数据通信,规定了数据应该如何打包、寻址、传输、路由和接收。这种功能被组织成四个抽象层,根据所涉及的网络范围对所有相关的协议进行分类,从低到高分别是链路层,包含了停留在单一网段(链路)内的数据的通信方法;网络层,提供独立网络之间的互联;传输层,处理主机与主机之间的通信;应用层,为应用程序提供流程间的数据交换。
正式规格和标准
互联网协议套件及其组成协议的基本技术标准已委托互联网工程任务组(IETF)制定。
互联网协议套件的特点是将构成其核心功能的协议根据操作范围进行划分。该套件的定义规范是RFC 1122,它大体上概括为四个抽象层。IETF从未修改过这个结构,由此不难看出这些都是经过时间验证的。作为这样一个网络模型,互联网协议套件早于OSI模型,而OSI模型则是一个更全面的通用网络系统参考框架。
主要架构原则
随着时间的推移,端到端原则也在不断发展。其最初的表述是将状态和整体智能的维护放在边缘,并假设连接边缘的互联网不保留状态,专注于速度和简单。现实世界对防火墙、网络地址翻译器、网络内容缓存等的需求迫使这一原则发生了变化。
鲁棒性原则指出,“一般来说,每一次执行必须具有保守的发送行为以及自由的接收行为。也就是说,它必须小心翼翼地发送格式良好的数据包,但必须接受任何它能解释的数据包(例如,不反对含义明确的技术错误)。”“该原则的第二部分几乎同样重要:其他主机上的软件可能包含缺陷,因此,利用合法但晦涩的协议特性是不明智的。”
封装的作用是提供协议和服务的抽象化。封装通常与协议套件的功能层划分相一致。一般来说,一个应用程序(模型的最高层)使用一组协议将其数据向下各层发送。数据在每一层都被进一步封装。
早期的一份架构文件RFC 1122,更强调架构原则而非分层。RFC 1122的标题为《主机需求》,其结构是以段落的形式提及层,但该文件提及了许多其他架构原则,并没有强调分层。它松散地定义了一个四层模型,各层有名称而不是数字,如下所示:
- 应用层的范围是应用程序或进程,创建用户数据并将这些数据传达给另一个或同一主机上的其他应用程序。应用程序利用底层提供的服务,特别是传输层,它为其他进程提供可靠或不可靠的管道。通信伙伴的特点是应用架构,如客户-服务器模式和点对点网络。这是所有应用协议,如SMTP、FTP、SSH、HTTP运行的层。进程通过端口寻址,端口基本上代表服务。
- 传输层在本地网络或由路由器分隔的远程网络上进行主机到主机的通信,它为应用的通信需求提供了通道。UDP是基本的传输层协议,提供不可靠的无连接数据包服务。传输控制协议可以控制流量、建立连接和可靠的传输数据。
- 网络层跨越网络边界交换数据包。它提供了一个统一的网络接口,隐藏了底层网络连接的实际拓扑结构(布局)。因此,它也是建立互联网的一层。事实上,它定义并建立了互联网。这一层定义了TCP/IP协议套件使用的寻址和路由结构。这个范围内的主要协议是定义IP地址的Internet协议。它在路由中的功能是将数据包传送到下一个主机,作为IP路由器,该主机可以连接到更接近最终数据目的地的网络。
- 链路层定义了本地网络链路范围内的联网方法,主机在此链路上进行通信,不需要路由器的介入。这一层用于描述本地网络拓扑结构的协议并且影响向下一个相邻主机传输互联网层数据包所需的接口。
注:文案部分图片及内容来源于网络,版权归原创作者所有,如有侵犯到您的权益,请您联系我们进行删除,给您带来困扰,我们深感抱歉。