1.什么是 socket 现在的网络编程几乎都是 socket 编程,不理解 socket 本质,很多知识是无法串联起来的,今天我们就一起揭开 socket 的神秘面纱,探究一下 socket 到底是什么。 1.初识 socket 首先我们以 TCP 编程为例整体感受一下 socket 的存在,在 TCP 通信编程的过程中,我们的编程思路如下: 只要按顺序实现了这些关于 socket 的调用,我们就能完成客户端和服务端之间 系统运维 2023-10-08 大猫
字节一面:服务端挂了,客户端的 TCP 连接还在吗? 收到一位读者的私信,说字节面试有这么一个问题:服务端挂了,客户端的 TCP 连接会发生什么? 如果「服务端挂掉」指的是「服务端进程崩溃」,那么这个读者猜的想法是对的,服务端的进程在发生崩溃的时候,内核会发送 FIN 报文,与客户端进行四次挥手。 但是,如果「服务端挂掉」指的是「服务端主机宕机」,那么是不会发生四次挥手的,具体后续会发生什么?还要看客户端会不会发送数据? 如果客户端会发送数据,由于服 系统运维 2023-10-08 泡泡
从零实现gin day01 前言 刚开始学go想着不能一直输入,得有点输出才能记得住学的东西,故决定写一些学习笔记来记录自己的学习历程. 知识点 使用go开启TCP服务 使用go发送http请求 实现TCP监听回调服务 http请求封装 怎么用go开启TCP服务 package main import ( "fmt" "log" "net/http" ) func main() { http.HandleFunc("/", 开发运维 2023-10-06 向阳逐梦
Node.js 是如何处理请求的 TCP 协议的核心概念 要了解服务器的工作原理首先需要了解 TCP 协议的工作原理。TCP 是一种面向连接的、可靠的、基于字节流的传输层全双工通信协议,它有 4 个特点:面向连接、可靠、流式、全双工。下面详细讲解这些特性。 面向连接 TCP 中的连接是一个虚拟的连接,本质上是主机在内存里记录了对端的信息,我们可以将连接理解为一个通信的凭证。如下图所示。 那么如何建立连接呢?TCP 的连接是通过三次 开发运维 2023-10-04 宇宙之一粟
网络编程之TCP协议 TCP协议属于网络分层中的传输层,传输层作用的就是建立端口与端口的通信,而其下一层网络层的主要作用是建立"主机到主机"的通信,所以在我们日常进行网络编程时只要确定主机和端口,就能实现程序之间的数据交流,在Unix系统中就把主机+端口,叫做"套接字"(socket),所以一般网络编程都是基于对于socket的操作来做的。 TCP协议其实是一个非常复杂的协议,做过网络编程开发的都听过一句话‘’TCP本 开发运维 2023-10-03 向阳逐梦
redis知识积累 这里会记录redis的一些常用命令与理论 redis常用命令 ps -ef|grep redis which redis-cli redis-cli -h 192.168.201.208 auth redis_pwd 查询配置 config get tcp-keepalive redis知识理论 redis默认的tcp-keepalive是300秒,可以通过添加依赖,自定义tcp_user_tim 系统运维 2023-09-30 向阳逐梦
手写RPC(2) 今天开始就要开始我们的写代码啦,首先我们从要发送的数据开始。 🚀首先放上我的GitHub的完整项目地址:github.com/Poison02/rp… 自定义协议内容 本项目是基于TCP进行端到端的通信的,我们都知道TCP在传输的时候因为数据包的大小会有粘包以及拆包的问题,通俗点就是我有两段数据,另一端收到的数据包可能不完整也可能多了。但是TCP使用各种方法如滑动窗口、拥塞控制等算法减少这种情景的 开发运维 2023-09-25 三掌柜
下一代TCP: 网络演进的平台 随着今年TCP最新规范RFC 9293的发布,IETF对过去几十年TCP的发展做处理阶段性总结,同时也是下一阶段发展的起点。随着网络规模的扩大和发展,也许有一天TCP会消失,或者演变为基于业务的可编程平台,相信今后会有很多好玩的东西出现。原文: [TCP: The "P" is for Platform](systemsapproach.substack.com/p/tcp-the-p… "TCP 开发运维 2023-09-25 共饮一杯
TCP建连为啥是三次握手 前言 前几天一朋友去面试,回来灰头土脸的,我一打听,才知道是一道网络相关的很基础的八股没回答好,没错就是本文的标题,面试官问他为什么TCP建连需要是三次握手,我那朋友其实是背了这个问题的八股答案的,他回答道是为了防止历史TCP连接建立,面试官则继续追问,什么是历史TCP连接建立,体现在TCP报文上是什么样的形式,发生了历史TCP连接建立会产生什么影响。面试官的追问其实挺有道理,但是我那朋友并没有解 开发运维 2023-09-22 向阳逐梦
TCP协议的秘密武器:流量控制与拥塞控制 TCP可靠性传输 相信大家都熟知TCP协议作为一种可靠传输协议,但它是如何确保传输的可靠性呢? 要实现可靠性传输,需要考虑许多因素,比如数据的损坏、丢失、重复以及分片顺序混乱等问题。如果不能解决这些问题,就无法实现可靠传输。 因此,TCP采用了序列号、确认应答、重发控制、连接管理和窗口控制等机制来实现可靠性传输。 在本文中,我们将重点介绍TCP的滑动窗口、流量控制和拥塞控制。重传机制将在下一章节单 开发运维 2023-09-22 贤蛋大眼萌
如何保持 SSH 会话处于活动状态 体验无忧的 SSH 会话。按照我们的指南保持您的连接畅通并消除冻结问题。 在远程服务器管理和安全数据传输中,SSH(Secure Shell)是不可或缺的工具。然而,它的便利性和安全性有时会因常见的问题而受到损害:冻结 SSH 会话。 此外,会议的突然中断可能会导致工作丢失、项目延迟和无助感。 但不用担心,因为解决方案就在眼前。这份综合指南揭示了维持活跃且响应迅速的 SSH 连接的秘密,确保无缝体 系统运维 2023-09-22 大猫
解密TCP连接断开:四次挥手的奥秘和数据传输的安全 TCP 连接断开 在当今数字化时代,互联网已经成为了人们生活中不可或缺的一部分。而在互联网的基础之上,TCP协议扮演着关键的角色,它负责着数据在网络中的可靠传输。在TCP连接的建立过程中,我们已经了解了三次握手的过程和原理。然而,连接的建立只是TCP协议的一部分,同样重要的是连接的断开过程。本文将重点探讨TCP连接的断开过程,包括四次挥手的过程和状态变迁,以及为什么挥手需要四次和为什么需要TIME 开发运维 2023-09-21 向阳逐梦
TCP与UDP协议:网络通信中的两大重要角色 引言 在这个像点点滴滴组成的虚拟宇宙中,网络通信就像是我们的超级高速公路系统,让信息在世界间飞速穿梭。想象一下,如果网络是一条繁忙的交通道路,那么协议就是交通信号灯,确保数据的流量在虚拟世界中保持有序。在这篇文章中,我们将揭开TCP和UDP这两个“交通指挥官”的神秘面纱,看看它们是如何在这个数字迷宫中引导我们的数据来去自如的,就像是在网络高速公路上开着各种“车”一样,有小巧敏捷的UDP跑车,也有稳 开发运维 2023-09-18 张二河
如何保持 SSH 会话不中断? 哈喽大家好,我是咸鱼 不知道小伙伴们有没有遇到过下面的情况: 使用终端(XShell、secureCRT 或 MobaXterm 等)登录 Linux 服务器之后如果有一段时间没有进行交互,SSH 会话就会断开 如果正在执行一些非后台命令,SSH 会话断开就可能会使得这些命令可能会被中断,导致任务无法完成 那如何保持 SSH 会话不中断呢?我们来看一下 原文链接:linuxiac.com/how- 系统运维 2023-09-12 贤蛋大眼萌
为什么 TCP 需要三次握手? TCP 三次握手是一道经典的面试题,它是指 TCP 在传递数据之前,需要进行 3 次交互才能正式建立起连接,并进行数据传递。 TCP 之所以需要 3 次握手是因为 TCP 双方都是全双工的。 所谓全双工指的是,TCP 任何一端既是发送数据方,又是接收数据方,因此这就要求 TCP 通讯双方既要保证自己的发送能力,又要保证自己的接收能力才行。这就好像打电话时,通讯双方都要保证自己能话筒(传递声音)和耳 开发运维 2023-09-07 泡泡
TCP 与 UDP:深入解析两种网络协议的主要区别 写了这么多篇关于 TCP 和 UDP 的文章,还没有好好聊过这两个协议的区别,这篇文章我们就来开诚布公的谈一谈。 关于 TCP 和 UDP ,想必大家都看过一张这样的图。 有一个小姑娘在对着瓶口慢慢的喝水,下面写着可靠的传输,少女的衣服没有被水浸湿,这张图被称为 TCP 。 然后又有一个小姑娘在举着水瓶以很快的速度向下倒水,少女的头发凌乱,脸色泛红,衣服也被水浸湿,这张图被称为 UDP 。 这两张 开发运维 2023-09-06 穿过生命散发芬芳
Http的演进1.0、1.1、2.0、3.0 前段时间面试 遇到的这个问题 当时答得不好,现在做个复盘整理 Http1.1 首先介绍一下Http1.1 性能 长连接 1.0存在一个很大的性能问题就是,每次TCP都要三次握手,1.1就采用长连接的方式,减少重复建立连接带来的性能问题,长时间没有数据交互就会断开连接。 管道网络传输 简而言之,不用等回复,就可以直接发下一个请求,但是接受响应还是要延迟的,因为是根据请求的顺序返回响应的,所以解决了队 开发运维 2023-09-03 张二河
HTTP 框架的优化手段 | 青训营 本文主要讲述 HTTP 框架的优化手段,从性能优化方面入手,浅探 HTTP 中的优化问题。 一、 启用长连接 TCP 和 SSL 建立新连接的成本是非常高的,有可能会占到客户端总延迟的一半以上。长连接虽然不能优化连接握手,但可以把成本“均摊”到多次请求里,这样只有第一次请求会有延迟,之后的请求就不会有连接延迟,总体的延迟也就降低了。 二、 启用 “TCP Fast Open” 在现代操作系统上启用 系统运维 2023-08-29 大树
oracle1 0、新库按照最新的19C软件安装手册; 1、SCAN监听配置1526/1527/1528 [grid@cnsz083680 ~]$ srvctl modify scan_listener -p tcp:1526/tcp:1527/tcp:1528 [grid@cnsz083680 ~]$ 2、配置一个1530的静态监听给部署使用(每台机器上都创建一个静态监听); GBS1 = (D 数据运维 2023-08-29 穿过生命散发芬芳
TCP相关内容一 | 青训营 TCP相关内容 | 青训营 这篇文章尝试理解一下TCP的重传和滑动窗口机制。当然TCP机制很复杂,全然是些皮毛。 重传机制:TCP是可靠的传输协议,实现可靠性,重传机制十分重要。常见有几种重传机制,超时重传、快速重传、SACK、D-SACK。 超时重传,一方发送请求,并附上自己的序列号和确认应答号(就是下次期望收到数据的序列号),当出于各种原因没有收到对方的应答消息,超过一定时间就会重发数据,就是 系统运维 2023-08-28 竹子爱熊猫