TCP/IP协议简介(一)
一丶 体系结构的基本认识
TCP/IP协议并不是如字面意思所述是一个具体协议,事实上TCP/IP协议是一个协议族,该协议族里面最核心的协议是TCP(Transmision control protocal,传输控制协议)协议和IP(Internetprotocal)协议,本文主要介绍TCP协议的具体内容。在介绍TCP协议之前我们需要了解几个常见的概念——OSI七层模型,TCP/IP四层模型以及TCP/IP五层模型。
-
OSI(Open System InterconnectionReference Model,开发系统互联参考模型)是国际标准化组织ISO推出的计算机网络体系结构,其功能的划分十分的完善,具有理论研究价值,但是在实际中并不采用。
-
TCP/IP四层模型指的是TCP/IP协议族构成的网络体系结构,是对OSI模型的一种简化是事实上的标准。
-
TCP/IP五层模型,是综合OSI模型和TCP/IP四层的模型的优点,为了清晰的描述网络体系结构而产生的一个划分方法。
图 1 OSI模型和TCP模型比对
上述的三个模型,每个层与层都之间相互独立的,每层的内部都是高聚合,不同的层不负责处理计算机网络中的不同的问题。下面以TCP/IP五层模型为例简介计算机网络中每层的功能。
- 应用层:应用层是计算机网络中的最高层,也是用户有可能直接接触的层面,比如HTTP协议,SMTP协议,FTP协议都是应用层的协议,许多开发工作中接触的也是该层的协议,在android开发中Retrofit就是一个HTTP请求的框架。java sdk也提供了对http请求的原生支持,比如HttpClient和HttpUrlConnextion。
- 传输层:传输层主要是为通信双方主机中的进程提供数据传输服务。传输层主要的协议包括TCP协议和UDP协议。
- 网络层:网络层主要是完成路由选择的功能,让运输层传送下来的TCP报文能够通过网络中的路由器找到目的主机。
- 链路层:链路层主要考虑三个问题,封装成帧,差错控制和透明传输。
- 物理层:物理层主要是是数据通信相关的内容,涉及到信源编码,信道编码,调制技术等等机制,是通信中的基础核心。
二丶数据在体系结构中的流向
TCP/IP五层模型的各层的功能不仅仅是上述描述的几个简单的功能,其详细和完备的功能描述这里不总结,此处主要是建立计算机网络的基本概念,在有了上述计算机网络体系的基本知识后,详细的介绍在通信的过程中信号流向,认识TCP/IP体系中的各层扮演什么的角色。
图2信号在协议栈中的流向上述的信号流程图中,可以清晰的看到发送方应用产生的数据,是如何一步步通过计算机网络传送到接收方对应的应用程序中的。用户直接操作的对象是应用程序,应用程序将用户产生的数据,一层一层的交付下去,通过中间路由器的路径选择送达目的主机,最后再次一层层的交付到对应的应用程序中。
在一般的开发过程中,例如app开发和web开发,应用程序在捕获用户的交互操作后(比如,点击提交,双击获取细节,文本框输入等),利用对应用层协议进行封装的api接口,将用户产生数据传送到应用层,接着下层协议会按照指定的协议内容,一步步的将数据交付到指定主机的指定应用上,开发人员无需关系下层协议的设计,下层协议对上层协议是透明且可靠的服务。
这里需要特别强调,协议的各层遵循,上层向下层传送数据,下层向上层提供透明服务。
Reference:
[1] 计算机网络.谢希仁,第六版
[2] csdn博客原文
网友评论