一、定义:
TCP/IP 是供已连接因特网的计算机进行通信的通信协议。
TCP/IP 指传输控制协议/网际协议 (Transmission Control Protocol / Internet Protocol)。
TCP/IP 定义了电子设备(比如计算机)如何连入因特网,以及数据如何在它们之间传输的标准。
二、TCP/IP中包含一系列用于处理数据的通信协议:
TCP (传输控制协议) - 应用程序之间通信
- 固定连接的
当应用程序希望通过 TCP 与另一个应用程序通信时,它会发送一个通信请求。这个请求必须被送到一个确切的地址。在双方“握手”之后,TCP 将在两个应用程序之间建立一个全双工 (full-duplex) 的通信。
这个全双工的通信将占用两个计算机之间的通信线路,直到它被一方或双方关闭为止。
UDP 和 TCP 很相似,但是更简单,同时可靠性低于 TCP。
UDP (用户数据包协议) - 应用程序之间的简单通信
IP (网际协议) - 计算机之间的通信
当一个 IP 包从一台计算机被发送,它会到达一个 IP 路由器。
IP 路由器负责将这个包路由至它的目的地,直接地或者通过其他的路由器。
在一个相同的通信中,一个包所经由的路径可能会和其他的包不同。而路由器负责根据通信量、网络中的错误或者其他参数来进行正确地寻址。
ICMP (因特网消息控制协议) - 针对错误和状态
DHCP (动态主机配置协议) - 针对动态寻址
TCP/IP 意味着 TCP 和 IP 在一起协同工作。
TCP 负责应用软件(比如你的浏览器)和网络软件之间的通信。
IP 负责计算机之间的通信。
TCP 负责将数据分割并装入 IP 包,然后在它们到达的时候重新组合它们。
IP 负责将包发送至接受者。
三、TCP/IP是不同通信协议的大结合
TCP - 传输控制协议
TCP 用于从应用程序到网络的数据传输控制。
TCP 负责在数据传送之前将它们分割为 IP 包,然后在它们到达的时候将它们重组。
IP - 网际控制协议
IP 负责计算机之间的通信。
IP 负责在因特网上发送和接收数据包。
HTTP - 超文本控制协议
HTTP 负责 web 服务器与 web 浏览器之间的通信。
HTTP 用于从 web 客户端(浏览器)向 web 服务器发送请求,并从 web 服务器向 web 客户端返回内容(网页)。
HTTPS - 安全的HTTP
HTTPS 负责在 web 服务器和 web 浏览器之间的安全通信。
作为有代表性的应用,HTTPS 会用于处理信用卡交易和其他的敏感数据。
SSL -安全套接字
- SSL 协议用于为安全数据传输加密数据。
SMTP - 简单邮件传输协议
- SMTP 用于电子邮件的传输。
FTP - 文件传输协议
- FTP 负责计算机之间的文件传输。
ICMP - 因特网消息控制协议
ICMP 负责网络中的错误处理。
PPTP - 点对点隧道协议
PPTP 用于私人网络之间的连接(隧道)。
四、三次握手和四次挥手:
1.三次握手过程:
- 第一次握手:当传输的数据到达尾部时,host1向host2发送SYN标志位,ACK=0的数据包给host2,并随机产生一个sequence1序列,当host2接收到这个数据后,host2由SYN=1可知客户端是想要建立连接。
- 第二次握手:host2要对客户端的联机进行确认,向host1发送应答号ACK=1、SYN=1、确认号是sequence1+1,同时产生一个随机序列sequence2,这样就告诉host1可以进行连接;
- 第三次握手:host收到数据检查是否为sequence1+2,以及ACK值是否为1,如果符合host1会发送ACK=1.sequence2+2告诉Host2请求已建立,可以进行连接。
2.四次挥手过程
- 第一次挥手:数据传输到达尾部,host1向host2发送FIN=1标志位,通知host2要断开连接。
- 第二次挥手:host2收到host1发来的FIN=1标志后,host2不会立刻向host1发送FIN=1的请求关闭信息,而是先向host1发送一个ACK=1的应答信息,表示:你得请求我已收到,但我的有的数据可能还没有结束传送,你等一下。
- 第三次挥手:host2数据传输完成,向host1发送FIN=1.
- 第四次挥手:host1 收到FIN=1后,host1担心网络不稳定,host2不知道他要断开连接,向host2发送ACK=1确认信息,把自己设置为TIME_WAIT状态并启动定时器,如果host2没有收到ACK,host2端的定时器到达后会要Host1重新发送ACK,当host2收到确认信息后,host2断开连接。host11等待2MLS,host没有再请求发送ACK,知道host2已经收到ACK,此时host1关闭自己的连接。