首页 > 其他分享 >计算机网络-传输层 TCP协议(上)

计算机网络-传输层 TCP协议(上)

时间:2024-12-14 19:32:01浏览次数:12  
标签:重传 确认 TCP 计算机网络 传输层 报头 机制 连接

目录

报头结构

TCP的可靠传输机制

核心机制一:确认应答

TCP的序号和确认序号

核心机制二:丢包重传

核心机制三:连接管理

建立连接-三次握手

断开连接-四次挥手

核心机制四:滑动窗口

数据包已经抵达, ACK被丢了

数据包就直接丢了​编辑


报头结构

4位TCP报头⻓度: 表⽰该TCP头部有多少个32位bit(有多少个4字节); 所以TCP头部最⼤⻓度是15 *4 = 60
UDP协议报头固定就是8个字节.
对于TCP来说,报头长度是可变长的,4个比特位,表示的数据范围是多少?
0000->1111
0x0->0xF(0->15)
此处的长度单位是4字节,不是字节.

保留(6位):

其他属性都要根据下面所有的机制来理解......

TCP的可靠传输机制

TCP基本特点:有连接、可靠传输、面向字节流、全双工

核心机制一:确认应答

TCP的序号和确认序号



核心机制二:丢包重传


主机A发送数据给B之后, 可能因为⽹络拥堵等原因, 数据⽆法到达主机B;

如果主机A在⼀个特定时间间隔内没有收到B发来的确认应答, 就会进⾏重发;但是, 主机A未收到B发来的确认应答, 也可能是因为ACK丢失了;

主机B会收到很多重复数据. 那么TCP协议需要能够识别出那些包是重复的包, 并且把重复的丢弃掉.


那么, 如果超时的时间如何确定?

确认应答和超时重传,相互补充,共同构建了TCP"可靠传输机制”网上很多资料,包括很多程序员的理解都是错误的,网上有人说:TCP的可靠传输,是通过"三次握手,和四次挥手保证的"(连接管理)。对于可靠传输,是有一点点作用的,但不是核心作用,核心作用,还是确认应答+超时重传。

核心机制三:连接管理

次数指的就是网络通信的次数。

三次握手/四次挥手,就是网络这个模块中,最高频的面试题,没有之一。

建立连接-三次握手

建⽴连接的意义:

1. 投⽯问路, 确认当前通信路径是否畅通.

2.确认通信双方各自的发送能力和接收能力是否都正常

3. 协商参数, 通信双⽅共同确认⼀些通信中的必备参数数值,比如TCP连接中的起始序号

断开连接-四次挥手

上述四个状态是比较重要的,尤其是后两个,是面试考过并难以应对的。

如果你面试中,被问到这个,你给面试官画图,你画哪个图?一定是画简图,不要画详细的图,水太深,你容易把握不住。画详图,画对了,不算加分项;画错了,可就没分了!试回答问题,一定是求稳,不要炫技。

核心机制四:滑动窗口

那么如果出现了丢包, 如何进⾏重传? 这⾥分两种情况讨论

数据包已经抵达, ACK被丢了

数据包就直接丢了

还有六个核心机制的详解请关注下篇文章⭐⭐⭐

标签:重传,确认,TCP,计算机网络,传输层,报头,机制,连接
From: https://blog.csdn.net/2301_80141037/article/details/144467894

相关文章

  • 深入理解网络通信和TCPIP协议
    网络协议计算机网络是什么?随着计算机技术发展,计算机的体积和价格都在下降,之前计算机多用于研究机构,现阶段逐步进入一般的公司用于办公。原来计算机之间传输数据需要通过软盘等第三方存储介质进行转存,人们需要将数据直接通过通信线路传输,来缩短传输时间,于是计算机网络开始诞生......
  • 计算机网络基础
    目录1.什么是计算机网络1.1计算机网络的产生与发展1.2计算机网络组成1.3计算机网络分类1.4计算机网络拓扑结构1.5计算机网络的传输介质1.6计算机网络的主要性能指标2.网络体系结构和网络协议2.1什么是网络体系结构2.2什么是网络协议2.3OSI参考模型(ISO国际标准化组......
  • 京准电钟:计算机网络监控系统搭建NTP校时服务器
    京准电钟:计算机网络监控系统搭建NTP校时服务器京准电钟:计算机网络监控系统搭建NTP校时服务器京准电钟官微——ahjzsz我们都知道,对于监控设备来说,设备时间的统一和精准,是保障录像文件及日志可靠的关键。虽然录像机、服务器等设备都有自己的时钟,但是随着时间的推移,就会出现累计......
  • 【网络协议基础+TCP协议】快速了解 TCP 连接的 11 种状态及其转换
    本文意在用简短的文字总结一下TCP的11种状态及其转换过程。相关文章:图解TCP连接生命周期TCP的11种状态1.CLOSED表示连接处于关闭状态。这是TCP连接的初始状态或连接终止后的状态。常见场景:服务端程序尚未启动监听,或者客户端和服务端都已完成连接释放。2.LI......
  • TCP 数据传输的拆包和粘包了解吗?
    前言:上一篇我们了解了什么是TCP协议,以及TCP协议3次握手4次挥手的原因,本篇来分享一下TCP数据的传输过程的拆包和粘包,以及TCP数据传输过程中的一些细节。计算机网络往期文章TCP为什么是3次握手4次挥手?TCP数据是如何发送接收的?我们知道TCP是传输层协议......
  • 【计算机网络】IP地址及子网划分
    随着互联网技术的飞速发展,网络已经成为现代社会的基础设施。在这样一个高度互联的世界中,有效的IP地址管理变得至关重要。IP子网划分作为网络设计和优化的关键技术之一,对于确保网络的可扩展性、性能和安全性起着决定性作用。本文旨在深入探讨IP子网划分的原理和实践,帮助读者......
  • 嵌入式系统中TCP/IP模型基本实现
    01OSI和TCP/IP参考模型想要了解以太网协议相关内容,首先需要了解OSI和TCP/IP参考模型。OSI(OpenSystemsInterconnection,即开放系统互连)七层模型是由ISO(国际标准化组织)开发的一套网络通信参考模型。该模型将网络通信过程分为七个层次,每一层都定义了不同的功能和协议,以便实现计......
  • 做了反向代理和负载均衡的nginx配置文件简单示例(nginx.conf) HTTP负载均衡/TCP负载均
    在默认配置的基础上,启用http反向代理和负载均衡。同时配置了TCP反向代理和负载均衡。另外,能够实现每天生成一个日志文件,日志用json格式,日志中的日期重新格式化成yyyy-MM-ddTHH:mm:ss.ZZZ这样子。nginx.conf#usernobody;worker_processes1;#error_loglogs/error......
  • 计算机网络八股(http篇)
    1、http是什么?HTTP是超文本传输协议,也就是HyperTextTransferProtocol。HTTP是一个在计算机世界里专门在「两点」之间「传输」文字、图片、音频、视频等「超文本」数据的「约定和规范」。2、http状态码?分为5类1xx,一般是表示请求成功,继续等待下......
  • Java实现TCP停等协议(计网实验四设计思路、问题回答、输出捕获)
    设计思路说明该项目实现了TCP协议的一个简单版本(不包括流量控制和)。它使用了由Fishnet提供的链接层API和网络拓扑仿真。实现TCP协议的核心代码在TCPSock.java和TCPManager.java中打印原理Node初始化的时候就会同时初始化一个TCPManage。当一个包到达node后,manage就会调......