协议的概念
网络设备之间需要相互通信,双方就需要基于相同的方法。比如如何探测到对方设备、由哪一方先发起通信、使用哪种语言进行通信、怎样结束通信等规则都需要事先确定。这些规则通常被称为协议(protocol)。
TCP/IP协议族
网络设备在通信时需要遵守各种各样的协议,如电缆的规格、IP地址格式、对方设备的寻址、建立通信的顺序等都需要事先规定,我们把互联网相关的协议的集合总称为TCP/IP,TCP/IP是各类协议的总称,也就是协议族。
TCP/IP的分层
TCP/IP协议族按层析分别分为以下五层:应用层、传输层、网络层、数据链路层、物理层。
应用层:为用户提供各种需要的服务,如FileTransferProtocol文件传输协议(FTP)、DomainNameSystem域名系统(DNS)、Telent远程登录协议、HTTP超文本转移协议。
DNS域名系统将人们按照一定规则自定义的简单好记的服务器地址转化为计算机设备能识别的IP地址。该服务对应的端口号是53。DNS域名系统实际上是一个数据库,它存储着域名和IP地址之间的映射关系。
FTP文件传输协议是提供文件的交互式访问,用于对文件的存取。其对应的端口号是21和20,21端口用于FTP的登陆认证,21端口用于实际的数据传输。
传输层:提供两台网络设备之间的数据传输,其最大的作用是向高层屏蔽下层数据通信的细节,即向用户透明地传送报文。在传输层有两个不同性质的协议:传输控制协议TCP(Transmission Control Protocol)和用户数据报协议UDP(User Data Protocol)。
重点搞清楚:传输控制协议TCP和用户数据报协议UDP的区别
TCP/IP是一个协议族,其中包含了TCP和IP在内的很多协议,为什么这个协议族要以TCP和IP命名?原因是这两个协议和其他协议相比,很重要。
TCP传输控制协议是面向连接的协议,在进行数据传输之前,收发数据的双方必须建立可靠的连接,一个TCP协议的连接需要通过三次对话才能建立起来:
第一次对话:A主机向B主机发出连接请求数据包,“我可以给你发数据吗?”
第二次对话:B主机发送同意连接和要求同步的数据包给A主机,“可以,你什么时候发?”
第三次对话:A主机发送一个数据包确认主机B的要求同步,“我现在发给你,你准备接收!”
在三次对话中,主机之间的对话方式是发送数据包,经过三次对话后,主机A才开始正式给主机B发送数据。
对话是大白话的说法,一般我们将这三个过程叫做三次握手。
网络层(网络互连层):提供路由和寻址的功能,使两终端系统能够互连且决定最佳路径,并具有一定的拥塞控制和流量控制的能力。