目录
概述
TCP/IP协议并不仅仅只是指TCP和IP两个协议,而是指基于TCP和IP这两个基本协议之上的不同通信协议构成的协议簇。
TCP/IP协议是针对因特网的通信协议。通信协议可以理解是需要连接因特网的计算机必须遵守的通信规则的描述,只有遵守通信协议,计算机之间才能实现通信。
TCP/IP协议定义了计算机如何连入因特网,以及它们之间传输信息所需要遵守的标准。
客户端的浏览器通过TCP/IP协议向服务器请求数据,服务器通过TCP/IP协议向提交数据请求的客户端的浏览器返回数据。
TCP/IP使用32个比特来编址,也就是用到了4个计算机字节,所以TCP/IP地址是介于0到255之间的4个数字。
用于TCP/IP地址的名字称为域名,DNS服务器将域名翻译为TCP/IP地址,同时负责使用新的域名信息更新彼此的系统。
TCP/IP概念层模型分为四层:应用层、传输层、网络层、链路层。
TCP - 传输控制协议
TCP协议用于应用程序与网络之间的数据传输控制。
TCP负责将数据分割并装入IP数据包,并在IP数据包到达的时候重新组合它们。
TCP将在两个应用程序之间建立全双工的通信,这个全双工的通信将占用两个计算机之间的通信线路,直到它被一方或者双方关闭为止。
TCP面向连接,是指在发送数据之前必须在两端建立连接。建立一个TCP连接经过了”三次握手“(客户端请求建立服务器端的连接;服务器端针对客户端的请求确认应答并请求建立客户端的连接;客户端针对服务器端的请求确认应答),断开一个TCP连接,经过了”四次挥手“(客户端请求断开服务器端的连接;服务器端针对客户端的请求确认应答;服务器端请求断开客户端的连接;客户端对服务器端的请求确认应答)。
每条TCP传输连接只能有两个端点,只能是一对一通信,不支持多播和广播传输方式。TCP不像UDP那样一个个报文独立地传输,而是在不保留报文边界的情况下以字节流的方式进行传输。当网络拥塞时,TCP能够减少向网络注入数据的速率,缓解拥塞。
TCP适用于要求可靠传输的应用,例如文件传输。
IP - 网际协议
IP协议负责计算机之间的通信。
IP是无连接的通信协议,IP负责在因特网上发送和接收数据包。
当一个IP数据包从一台计算机里发出后,会到达一个IP路由器,IP路由器负责将这个IP数据包直接地或者通过其它的IP路由器间接地路由至这个IP数据包的目的地。
在一个相同的通信中,不同IP数据包所经由的路径可能是不同的,路由器负责根据通信量、网络中的错误或者其它的参数设置来进行正确寻址。
UDP - 用户数据包协议
UDP协议为应用程序提供了一种无须建立连接就可以发送封装的IP数据包的方法。
UDP是一种无连接的协议,不使用流量控制和拥塞控制,不会因为网络不好而调整发送频率,所以当网络不好时容易丢包。
使用UDP协议,数据包首部开销小,仅用到8字节。因为UDP协议的控制选项较少,所以在数据传输过程中延迟低,数据传输效率高,适用于可靠性要求不高的应用程序。UDP传输的可靠性由应用层负责。
UDP协议支持一对一,一对多,多对一和多对多交互通信,适用于某些实时性要求高的场景(例如电话会议、直播、视频聊天)。
HTTP - 超文本传输协议
HTTP协议负责web服务器与web浏览器之间的通信,HTTP用于web客户端(浏览器)向web服务器发送请求,并从web服务器向web客户端返回内容(网页)。
HTTPS - 安全的HTTP
HTTPS协议负责web服务器与web浏览器之间的安全通信,可用于处理信用卡交易及其它敏感数据。
SSL - 安全套接字层
SSL协议用于安全数据传输加密数据。
DHCP - 动态主机配置协议
DHCP协议用于向网络中的计算机分配动态IP地址。
FTP - 文件传输协议
FTP协议负责计算机之间的文件传输。
SMTP - 简易邮件传输协议
SMTP协议用于电子邮件的传输。
IMAP - 因特网消息访问协议
IMAP用于连接上邮件服务器,使人能够在下载邮件之前,先在邮件服务器端查看邮件,进而选择是下载还是删除邮件。
POP - 邮局协议
POP协议用于从电子邮件服务器下载邮件到个人电脑。
MIME - 多用途因特网邮件拓展
MIME协议用于使SMTP协议能够通过TCP/IP协议传输多媒体文件,例如声音、视频和二进制数据。