TCP/IP 协议
一、TCP/IP 是什么?
TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)体系结构是指能够在多个不同网络间实现的协议簇。
TCP/IP 是一种体系结构,也代表了一系列的协议簇,同时,TCP 和 IP 又分别是建立在传输层和网络层的协议。而传输层协议还包含常见的面向无连接的 UDP 协议等。
二、基础知识
2.1 IP 地址
网络上每一个节点都必须有一个独立的 IP地址 。现在,通常使用的IPv4标准的 IP地址 是一个32bit的数字,这32bit的数字分成四组,也就是常见的 255.255.255.255 的样式(点分十进制)。IPv4标准上,地址被分为五类,我们常用的是B类地址。具体的分类请参考IP地址的分类。需要注意的是IP地址是网络号+主机号的组合,这非常重要。
2.2 域名解析
域名解析是把域名(eg: www.baidu.com)指向网站空间IP (eg: 163.177.151.110),让人们通过注册的域名可以方便地访问到网站的一种服务。为了方便记忆,采用域名来代替IP地址标识站点地址。域名解析就是域名到IP地址的转换过程。域名的解析工作由DNS服务器完成。
2.3 端口号(port)
注意,这个号码是用在TCP,UDP上的一个逻辑号码,并不是一个硬件端口,我们平时说把某某端口封掉了,也只是在IP层次把带有这个号码的IP包给过滤掉了而已。
2.4 应用编程接口
现在常用的编程接口有socket和TLI。
2.5 OSI 七层参考模型
-
应用层
为应用程序提供服务并规定应用程序中通信相关的细节。包括文件传输、电子邮件、远程登录(虚拟终端)等协议。
-
表示层
将应用处理的信息转换为适合网络传输的格式,或将来自下一层的数据转换为上层能够处理的格式。因此它主要负责数据格式的转换。具体来说,就是将设备固有的数据格式转换为网络标准传输格式。不同设备对同一比特流解释的结果可能会不同。因此,使它们保持一致是这一层的主要作用。
-
会话层
负责建立和断开通信连接(数据流动的逻辑通路),以及数据的分割等数据传输相关的管理。
-
传输层
起着可靠传输的作用。只在通信双方节点上进行处理,而无需在路由器上处理。
-
网络层
将数据传输到目标地址。目标地址可以是多个网络通过路由器连接而成的某一个地址。因此这一层主要负责寻址和路由选择。
-
数据链路层
负责物理层面上互连的、节点之间的通信传输。例如与1个以太网相连的2个节点之间的通信。
将0、1序列划分为具有意义的数据帧传送给对端(数据帧的生成与接收)。 -
物理层
负责0、1比特流(0、1序列)与电压的高低、光的闪灭之间的互换。
三、TCP/IP 协议与 OSI 7 层参考模型的关系
OSI参考模型注重 ”通信协议必要的功能是什么”,而TCP/IP则更强调 “ 在计算机上实现协议应该开发哪种程序 ” 。
3.1 应用层
TCP/IP的分层中,将OSI参考模型中的会话层、表示层和应用层的功能都集中到了应用程序中实现。这些功能有时由一个单一的程序实现,有时也可能会由多个程序实现。因此,细看TCP/IP的应用程序功能会发现,它不仅实现OSI模型中应用层的内容,还要实现会话层与表示层的功能。
TCP/IP应用的架构绝大多数属于客户端/服务端模型。提供服务的程序叫服务端,接受服务的程序叫客户端。在