一、概述

Transmission Control Protocol,传输控制协议,是一种面向连接的、可靠的、基于字节流传输层通信协议。

Internet Protocol,网际互连协议,是 TCP /IP 体系中的网络层协议。

TCP/IP传输协议,即传输控制/网络协议,也叫作网络通讯协议,它是在网络的使用中的最基本的通信协议。它不仅仅指的是TCP 和 IP 两个协议,而是指一个由 众多协议构成的协议簇, 只是因为其中的 TCP 协议和 IP 协议最具代表性,所以被称为 TCP / IP 协议。

二、层次模型

OSI 七层模型

功能

传输单位

网络协议

TCP 四层模型

应用层

为用户的应用程序提供网络通信服务

数据包

HTTP、TFTP、FTP、NFS、WAIS、SMTP

应用层

表示层

主要负责数据格式的转换,管理数据的加密与解密,确保各个系统中应用层之间数据的发送与读取

数据包

Telnet、Rlogin、SNMP、Gopher

会话层

负责建立和断开通信连接。通过传输层建立数据传输的通路,在系统之间发起会发和接收会话

数据包

SMTP、DNS

传输层

定义了一些传输数据的协议和端口号,为应用进程之间提供端到端的逻辑通信

报文段/用户数据报

TCP、UDP

传输层

网络层

为不同主机之间提供网络连接,用于数据的传输

数据报

IP、ICMP、ARP、RARP、AKP、UUCP

网际层

数据链路层

定义了在单个链路上如何传输数据,控制网络层和物理层之间的通信


FDDI、Ethernet、Arpanet、PDN、SLIP、PPP

数据链路层

物理层

定义了物理设备的标准

比特

IEEE

三、TCP连接传输

2.1 连接建立

tcpdump 精通容器请求 精通tcpip协议_网络协议


三次握手:

  1. 客户端发送连接请求报文段,无应用层数据。
  2. 服务端为该TCP连接分配缓存和变量,并向客户端返回确认报文段,允许连接,无应用层数据。
  3. 客户端为该TCP连接分配缓存变量,并向服务器返回确认的确认,可以携带数据。

2.2 数据传输

2.3 连接释放

tcpdump 精通容器请求 精通tcpip协议_TCP_02


四次挥手:

  1. 客户端发送连接释放报文段,停止发送数据,主动关闭TCP连接。
  2. 服务端回送一个确认报文段,客户到服务器这个方向的连接就释放了(半关闭状态)。
  3. 服务器端发完数据,就发出连接释放报文段,主动关闭TCP连接。
  4. 客户端回送一个确认报文段,再等到事件等待计时器设置2MSL(最长报文段寿命)后,连接彻底关闭。

四、TCP & UDP

TCP

UDP

可靠性

可靠

不可靠

连接性

面向连接

无连接

报文

面向字节流

面向报文

效率

传输效率低

传输效率高

双工性

全双工

一对一、一对多、多对一、多对多

流量控制

滑动窗口


拥塞控制

慢开始、拥塞避免、快重传、快恢复


传输速度



应用场景

效率要求低,准确性要求高,要求有连接

效率要求高,准确性要求低

可靠性:是指保证接收方进程从缓存区读取出的字节流与发送方发出的字节流是完全一样的。