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

TCP是一种面向连接、提供端到端可靠服务的传输层协议,确保数据包无损、有序、非冗余传输。本文详细介绍了TCP报文格式、三次握手建立连接、确认机制确保数据可靠性、滑动窗口实现流量控制以及四次挥手关闭连接的过程,帮助读者深入理解TCP协议的工作原理。
摘要由CSDN通过智能技术生成

前面我们介绍了网络层的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位源端口号:源主机的应用程序使用的端口号。

 

2、16位目的端口号:目的主机的应用程序使用的端口号。每个TCP头部都包含源和目的端的端口号,这两个值加上IP头部中的源IP地址和目的IP地址可以唯一确定一个TCP连接。

 

 

 

TCP允许一个主机同时运行多个应用进程。每台主机可以拥有多个应用端口,每对端口号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

网络工程师笔记

如果对你用于就鼓励下吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值