计算机网络之TCP连接的建立和终止

【计算机网络】Layer4-Transport layer 分用是传输层的重要功能,用于将接收到的IP数据报分发到正确的应用程序(或套接字)。具体分用过程:源IP地址和目标IP地址(来自网络层)。源端口号和目标端口号(来自传输层)。每个数据报包含一个传输层段(TCP或UDP段)。传输层通过IP地址和端口号将数据分配到正确的套接字(socket)。 阅读详情

TCP提供一种面向连接的、可靠的基于流的服务。

面向连接:在彼此交换数据之前必须先建立一个TCP连接,双方互相确认,仅有两方彼此通信。

可靠:数据被分割成TCP认为最适合发送的数据块;TCP发出一个段后启动一个定时器,超时重传;TCP收到另一端的数据后,将回复一个确认;TCP将保持它首部和数据的校验和,以检测数据在传输过程中的任何变化;必要时TCP将对收到的数据进行重新排序;TCP还能提供流量控制。

基于流的服务:应用程序对数据的发送和接受是没有边界限制的,发送段指定的写操作和接受段执行的读操作的次数之间没有任何的数量关系。

提供全双工通信。数据在两个方向上独立的进行传输,连接的每一端必须保持每个方向上的输出数据序号。

TCP首部

这里写图片描述

通常是20个字节。

发送端和目的端的端口号:用于标识发端和收端的应用进程。一个IP地址和一个端口号称为一个socket,插口对(包含源端IP、源端口、目的IP、目的端口)可唯一确定一个TCP连接。

32位序号:用来标识从TCP发端向TCP收端发送的数据字节流,表示在这个报文段中第一个数据字节,TCP用序号对每个字节进行计数。用来解决网络包乱序问题。

32位确认序号:希望对端发送的数据字节,只有ACK标志位为1时,确认序号字段才有效。确认方ack=发送方seq+1。用来解决不丢包问题。

4位首部长度:TCP首部除固定长度外,还有可选项,因此TCP首部长度是可变的。UDP就没有,UDP的长度是固定的。

标志比特位:

URG:紧急指针有效
ACK:确认序号有效
PSH:接收方应该尽快将这个报文段交给应用层
RST:重置连接
SYN:同步序号用来发起一个连接
FIN:发端完成发送任务,释放连接

窗口大小:这个值是接受端正期望接收的字节,16位所以窗口大小最大为65535字节。著名的滑动窗口,解决流量控制。

校验和:这是一个强制性字段,一定是由发端计算和存储,并由收端进行验证。

紧急指针:只有当URG为1时才有效,是发送端向另一端发送紧急数据的一种方式。

问题一:为什么TCP首部中要把端口号放入最开始的4个字节?

答:在ICMP的差错报文中,要包含IP首部后面的8个字节的内容,而这里面有TCP首部中的源端口号和目的端口号。当TCP收到ICMP差错报文时需要用这两个端口来确定是哪条连接出了差错。

问题二:TCP提供了一种字节流服务,而收发双方都不保持记录的边界

手机银行应用架构设计 网上银行借助互联网、移动通信网络等技术向客户提供金融服务,易受到通讯层面的安全威胁,金融机构应从通讯协议、安全认证、通信链路安全等层面,采取措施有效应对相关风险。网上银行系统服务器端提供网上银行应用服务和核心业务处理功能,金融机构应充分利用物理环境、通信网络、计算环境等领域的防护技术,在攻击者和受保护的资源间建立多道严密的安全防线。 网上银行除直接向用户提供金融服务外,也可能与外部机构开展业务合作。在网上银行系统设计、开发、部署和运营过程中,应充分考虑外部机构的系统可能存在的安全风险,并针对各类风险进行有效 阅读详情

相关推荐

Mamba再封神!与YOLO结合,拿下二区!好发不卷!

相比传统的YOLO改进,Mamba是新技术,两者结合尚在蓝海阶段,可发挥空间大!更为关键的是,它在检测精度和速度方面,都让以往的YOLO模型难以望其项背!比如代表模型Mamba YOLO,便在参数减少45.5%、FLOPs减少50%的同时,精度还比YOLOv8高6.1%!这主要得益于,Mamba能够捕捉长期依赖关系,而YOLO则擅长捕捉局部特征,两者能够优势互补,且Mamba线性复杂度的特性,也有利于提高计算效率!为了让大家能够紧跟前沿发展,找到更多灵感启发,我给大家10种。

2401_88190197的博客 2506

打开LWIP_DEBUG的打印信息调试

在lwip 2.1.2的版本,打开的debug 调试的步骤: 1.在debug.h 文件中找到debug打印的定义 默认LWIP_DEBUG这个宏没有定义, 2.在lwipopt.h 文件中或者其他文件定义 一下LWIP_DEBUG这个宏, 3.在opt.h 中可以打开各种宏的调试信息, /* --------------------------------------- ---------- Debugging options ---------- ---------...

haidscs的博客 9878

eDP/DP接口简介

目前,在视频传输协议以及接口领域,外部接口主要是DP与HDMI两分天下,当然之前出现过很多接口-VGA, DVI等等,最新平台基本以这两个为主;笔记本内部接口就基本上使用eDP((Embedded Display Port))作为标准接口来驱动液晶屏了。那么问题来了,eDP和DP,是完全兼容的么?eDP,DP,HDMI,这三种接口的显示器,可以插在同一个接口上使用么?这篇文章,就会从硬件和一部分协议的角度分析一下这三大协议。

weixin_50518899的博客 2万+

Uniapp+Vue3+Monorepo:如何优化你的前端开发流程(附完整配置代码)

本文详细介绍了如何利用Uniapp+Vue3+Monorepo技术栈优化前端开发流程,提升代码可维护性和团队协作效率。通过Monorepo架构实现依赖管理智能化、代码复用最大化和构建流程统一化,结合完整配置代码和实战指南,帮助开发者快速构建高性能跨端应用。

weixin_29011993的博客 452

Python实现多元线性回归(Multiple Linear Regression)

多元线性回归是一种用于建立多个自变量与因变量之间关系的统计学方法。在多元线性回归中,我们可以通过多个自变量来预测一个因变量的值。每个自变量对因变量的影响可以用回归系数来表示。

优快云 精品推荐 4326

环境配置与基础教程:当前大厂主流套路:使用 MLflow 全链路管理 YOLO 实验参数、指标与模型版本

YOLO26与MLflow结合实现高效实验管理 YOLO26通过移除DFL模块和实现无NMS端到端推理,在CPU推理速度上提升43%,同时简化了模型导出流程。MLflow 3.10/3.11版本新增多工作区支持、成本追踪和安全序列化等功能,为机器学习实验提供全生命周期管理。两者结合可解决传统"截图+Excel"式实验管理的痛点,实现参数追踪、指标对比和模型版本控制的自动化。 关键优势: YOLO26架构优化带来显著性能提升 MLflow提供实验到生产的全链路管理 原生集成简化了计算机视觉

ZXSXJ的博客 190

GJB设计开发各阶段的文件和记录要求

GJB设计开发各阶段的文件和记录要求

Abel的博客 4050

LabVIEW实现TCP通信

在本节中,我们将简要探讨TCP通信的基础知识,并以工业物联网平台TLINK中的云端设备数据发布设计为例,详细阐述在互联网环境下TCP客户端应用程序设计的基本方法。

不脱发的程序猿 1959

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

上一篇: 计算机网络之基础篇
下一篇: TCP半连接与全连接队列及accept建立连接
Tanswer_
博客等级 码龄11年 231粉丝 91原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值