深入浅出TCP协议,为什么需要TCP协议?

深入浅出TCP协议,为什么需要TCP协议?

前面我们介绍了网络层的IP协议、ICMP协议、ARP协议,后续给大家介绍下传输层的TCP和UDP协议。今天先讲讲TCP协议。

本篇文章概要:

正文

我们知道TCP是传输层协议,用于为应用层提供服务,通过端口号可以唯一标识一个应用。

1

什么是TCP?

TCP 是面向连接的,提供端到端可靠性服务的传输层协议。

面向连接:

面向连接中通信中,会在在两个端点之间建立了一条可靠的数据通信信道。

电话就是一种面向连接的服务,双方建立连接后才能够通话,可以确保对方听到你说话;而发短信就不是一种面向连接的服务,你随时可以发送短信,但是不能确保对方及时收到。

端到端可靠:

保证从发送端发送的报文都可以被目的端收到,哪怕被丢弃,也可以让发送端重传;

2

为什么需要TCP,TCP可以解决什么问题?

IP 层是「不可靠」的,它只负责数据包的发送,但它不保证数据包能够被接收、不保证网络包的按序交付、也不保证网络包中的数据的完整性。

如果需要保障网络数据包的可靠性,那么就需要由上层(传输层)的 TCP 协议来负责。

因为 TCP 是一个工作在传输层的可靠数据传输的服务,它能确保接收端接收的网络包是无损坏、无间隔、非冗余和按序的。后续会讲TCP协议是如何确保数据包的可靠传输的?

3

TCP报文格式

我们知道待发送的数据是根据TCP/IP四层模型层层封装的,那么TCP协议是如何封装的?下面我们看下TCP的报文格式。

如图所示为TCP报文头格式。

TCP数据段由TCP Header(头部)和TCP Data(数据)组成。TCP最多可以有60个字节的头部,如果没有Options字段,正常的长度是20字节。

下面我们一起看下TCP头部的各个字段:

1、16位源端口号:源主机的应用程序使用的端口号。

相关推荐

为什么90%的中小型企业数字化转型都失败在起步?
365bet网址主页

为什么90%的中小型企业数字化转型都失败在起步?

📅 07-18 👁️ 3155
MacBook 能用多久(更换新的迹象)
Bet体育365怎么提款

MacBook 能用多久(更换新的迹象)

📅 07-02 👁️ 2347
Linux:在VMware中,如果虚拟机之前可以上网,之后突然不能上网,怎么办?
如何计算婴儿的月龄和月份
Bet体育365怎么提款

如何计算婴儿的月龄和月份

📅 07-05 👁️ 3608
【中国移动】流量不限量可选套餐(促销)
365bet游戏平台

【中国移动】流量不限量可选套餐(促销)

📅 06-29 👁️ 9208
Rh[化学元素符号]
365bet网址主页

Rh[化学元素符号]

📅 06-27 👁️ 2263