一、是什么是TCP/IP协议
TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP 和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇, 只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议。
IP - 网际协议
IP 负责计算机之间的通信。
IP 负责在因特网上发送和接收数据包。
HTTP - 超文本传输协议
HTTP 负责 web 服务器与 web 浏览器之间的通信。
HTTP 用于从 web 客户端(浏览器)向 web 服务器发送请求,并从 web 服务器向 web 客户端返回内容(网页)。
HTTPS - 安全的 HTTP
HTTPS 负责在 web 服务器和 web 浏览器之间的安全通信。
作为有代表性的应用,HTTPS 会用于处理信用卡交易和其他的敏感数据。
SSL - 安全套接字层
SSL 协议用于为安全数据传输加密数据。
SMTP - 简易邮件传输协议
SMTP 用于电子邮件的传输。
POP - 邮局协议
POP 用于从电子邮件服务器向个人电脑下载电子邮件。
FTP - 文件传输协议
FTP 负责计算机之间的文件传输。
NTP - 网络时间协议
NTP 用于在计算机之间同步时间(钟)。
DHCP - 动态主机配置协议
DHCP 用于向网络中的计算机分配动态 IP 地址。
SNMP - 简单网络管理协议
SNMP 用于计算机网络的管理。
LDAP - 轻量级的目录访问协议
LDAP 用于从因特网搜集关于用户和电子邮件地址的信息。
ICMP - 因特网消息控制协议
ICMP 负责网络中的错误处理。
ARP - Address Resolution Protocol
ARP - 用于通过 IP 来查找基于 IP 地址的计算机网卡的硬件地址。
RARP - Reverse Address Resolution Protocol
RARP 用于通过 IP 查找基于硬件地址的计算机网卡的 IP 地址。
BOOTP - Boot Protocol
BOOTP 用于从网络启动计算机。
PPTP - 点对点隧道协议
PPTP 用于私人网络之间的连接(隧道)。
二、三次握手
三、四次挥手
四次挥手即终止TCP连接,就是指断开一个TCP连接时,需要客户端和服务端总共发送4个包以确认连接的断开。在socket编程中,这一过程由客户端或服务端任一方执行close来触发。由于TCP连接是全双工的,因此,每个方向都必须要单独进行关闭,这一原则是当一方完成数据发送任务后,发送一个FIN来终止这一方向的连接,收到一个FIN只是意味着这一方向上没有数据流动了,即不会再收到数据了,但是在这个TCP连接上仍然能够发送数据,直到这一方向也发送了FIN。首先进行关闭的一方将执行主动关闭,而另一方则执行被动关闭。