跟着小德学C++之TCP基础

嗨,大家好,我是出生在达纳苏斯的一名德鲁伊,我是要立志成为海贼王,啊不,是立志成为科学家的德鲁伊。最近,我发现我们所处的世界是一个虚拟的世界,并由此开始,我展开了对我们这个世界本源的探索。那么就由我来带领大家拨开迷雾,深入探究我们世界的根本。

上一篇我们介绍了AZ端authserver启动监听,本期我们先来讲讲TCP的内容,为以后打下基础。

什么是TCP

TCP,全称为传输控制协议(Transmission Control Protocol),是一种在网络中用于数据传输的通信协议。以下是TCP的一些关键特性:

  1. 面向连接:在进行数据传输之前,TCP需要建立一个连接,确保数据能够从源头准确到达目的地。
  2. 可靠性:TCP通过各种机制(如确认应答、重传等)来保证数据的可靠传输,即数据不会在传输过程中丢失或出错。
  3. 字节流服务:TCP处理数据时,将数据视为一连串的字节流,而不是独立的数据包。
  4. 流量控制:TCP有能力调节数据传输的速度,以防止快速的发送者压倒慢速的接收者。
  5. 与IP协议共同使用:TCP通常与互联网协议(IP)一起工作,共同构成了TCP/IP协议族,这是互联网通信的基础。
  6. 头部结构:TCP数据包有一个特定的头部结构,包含了源端口、目的端口、序列号、确认号等信息,这些信息用于确保数据的正确传输和接收。
  7. 套接字端点:应用程序通过套接字(Socket)接口与TCP进行交互,套接字定义了通信的端点,包括IP地址和端口号。
  8. 适应多种网络:TCP设计上可以在不同的网络类型上运行,无论是硬线连接还是分组交换网络。
  9. 分层协议体系:TCP位于OSI模型的传输层,为上层的应用层提供服务,同时依赖下层的网络层来进行实际的数据包传输。
  10. 滑动窗口机制:TCP使用滑动窗口机制来进行流量控制,确保数据的有效传输,并允许接收方根据自身的缓冲区大小调整接收数据的速度。

综上所述,TCP是一种复杂的协议,它提供了许多机制来确保数据在不可靠的网络环境中能够可靠地传输。它是互联网通信的基础之一,对于支持全球数据通信至关重要。

为什么需要TCP

在计算机最开始发展的时期,网络传输速率低,而且不稳定,那如何在两台计算机之间进行可靠的数据传输呢?所以就需要有双方的认证机制、重传机制和流量控制机制等。最经典的例子就是TCP连接开始的三次握手协议。

三次握手协议

假如战场上两个将军A和B需要建立可靠的通信,A将军先命令通讯员携带者书信(SYN标记)到B将军处;B将军看到书信后,写了封回信(ACK标记),并命令通讯员返回;A将军看到B将军回信后,又写了一份回信(SYN标记)。至此,A将军和B将军就建立了可靠的连接。

思考

上述连接真的是可靠的吗?其实还是有风险,风险点在哪里呢?就在最后一次握手。最后一次A发出信息后,不再接收B的反馈,所以实际A并不知道B收没收到消息,所以还是有风险。那怎么办呢?别着急,TCP还有重传机制,当一个消息发出去后没回复,TCP会重新发送消息。这两个机制共同确保只要三次握手执行完毕,就可以算作是建立了可靠的连接。

攻击点——Synflooding攻击

这种攻击手段一点也不新鲜,是一种最古老的攻击手段,用通俗的话讲,就是拒绝服务攻击(DoS),该攻击利用TCP/IP协议天生的特点,通过大量的虚假IP地址建立不完整连接,使得服务器超载,陷入瘫痪状态。这种攻击的特点是简单,没有任何技术含量。

面对这种攻击,目前也有很多技术手段反制,比如Syn Cache、Syn Cookie、SYN Proxy防火墙等技术,都可以防御此攻击。

好了,今天就到这里吧,我要去呵护我的世界之树了,拜拜。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/461478.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【用unity实现100个游戏之17】从零开始制作一个类幸存者肉鸽(Roguelike)游戏1(附项目源码)

文章目录 本节最终效果前言素材使用TileMap绘制地图角色移动和动画控制添加虚拟摄像跟随无限地图参考源码完结 本节最终效果 前言 他来了他来了,万众期待的类幸存者肉鸽(Roguelike)游戏。我将从0带大家制作一款肉鸽游戏。 这款游戏采用经典的 Roguelike 游戏玩法&…

2024.2.5

#include<stdio.h> #include<string.h> #include<math.h> #include<stdlib.h> typedef int datatype; //定义结点结构体 typedef struct Node {datatype data;struct Node *next; }*node; //创建结点 node creat_node() {node s(node)malloc(sizeof(st…

【Linux】Linux开发工具(yum、gdb、git)详解

一、软件包管理器 yum 1、什么是软件包 在 Linux 下安装软件&#xff0c;通常的办法是下载到程序的源代码&#xff0c;并进行编译&#xff0c;得到可执行程序。但这样太麻烦了&#xff0c;于是有些人把一些常用的软件提前编译好&#xff0c;做成软件包&#xff08;可以理解成…

深度学习入门笔记(八)可以不断思考的模型:RNN与LSTM

8.1 循环神经网络RNN 之前学到的 CNN 和全连接&#xff0c;模型的输入数据之间是没有关联的&#xff0c;比如图像分类&#xff0c;每次输入的图片与图片之间就没有任何关系&#xff0c;上一张图片的内容不会影响到下一张图片的结果。但在自然语言处理领域&#xff0c;这就成了…

Redis Centos7 安装到启动

文章目录 安装Redis启动redis查看redis状况连接redis服务端 安装Redis 1.下载scl源 yum install centos-release-scl-rh2.下载redis yum install rh-redis5-redis 3. 创建软连接 1.cd /usr/bin 2. In -s /opt/rh/rh-redis5/root/usr/bin/redis-server ./redis-server 3. …

JPEG图像的压缩标准(1)

分3个博客详细介绍JPEG图像的压缩标准&#xff0c;包含压缩和解压缩流程&#xff0c;熵编码过程和文件存储格式。 一、JPEG压缩标准概述 JPEG压缩标准由国际标准化组织 (International Organization for Standardization, ISO) 制订&#xff0c;用于静态图像压缩。JPEG标准包…

redhat grub.cfg配置文件丢失或报错解决

1.实验环境&#xff1a;把grub.cfg删除 [rootexample ~]# rm -rf /boot/grub2/grub.cfg 2.重启服务器 3&#xff0c;发现进入系统失败 输入以下命令 ls: 列出当前设备上的文件和目录。 grub> ls (hd0) (hd0,msdos3) (hd0,msd0s2) (hd0,msdos1) #一般第一个为/boot分区se…

Vue事件中如何使用 event 对象

在Vue中&#xff0c;事件处理函数常常需要获取事件触发时的相关信息&#xff0c;比如鼠标位置、按键信息等。而要获取这些信息&#xff0c;就需要使用event对象。那么在Vue的事件中如何正确使用event对象呢&#xff1f;接下来就来详细介绍一下。 首先&#xff0c;在Vue的事件中…

Gitlab和Jenkins集成 实现CI (一)

Gitlab和Jenkins集成 实现CI (一) Gitlab和Jenkins集成 实现CI (二) Gitlab和Jenkins集成 实现CI (三) 版本声明 部署时通过docker拉取的最新版本 gitlab: 16.8 jenkins: 2.426.3 安装环境 可参考这篇文章 停止防火墙 由于在内网&#xff0c;这里防火墙彻底关掉&#xff…

数码管扫描显示-单片机通用模板

数码管扫描显示-单片机通用模板 一、数码管扫描的原理二、display.c的实现1、void Display(void) 各模式界面定义数据2、void BackupRamToDisRam(void)从缓存区刷新显示映射Ram3、void FreshDisplay(void) 映射显示Ram到主控的IO口4、void LcdDisplay_8bit(void) 映射显示Ram到…

华为配置交换机KPI信息上报分析器示例组网图形

配置交换机KPI信息上报分析器示例 组网图形 图1 KPI信息上报拓扑图 组网需求操作步骤配置文件 组网需求 如图1所示&#xff0c;某企业网络用一台华为公司iMaster NCE-CampusInsight作为分析器对交换机设备进行智能运维管理。iMaster NCE-CampusInsight与交换机之间已经实现路由…

国际物流数字化运输方式选择指南 | 箱讯科技

国际物流涉及多种运输方式&#xff0c;每种方式都有其独特的优势和适用场景。选择合适的运输方式对于确保货物安全、及时到达目的地并控制成本至关重要。以下是对六种主要国际运输方式的简要介绍和选择建议&#xff1a; 国际快递&#xff1a;适用于小件、高价值或急需的货物。…