Skip to main content

moregeek program

请求数据包从发送到接收,都经历什么?-多极客编程

我的 个人网站 上线了,上面可以更好的检索历史文章,并且可以对文章进行留言,欢迎大家访问 之前讲了「从输入 URL 再到浏览器成功看到界面」中的域名是如何变成 IP 地址的,了解了 DNS 相关的东西。这篇文章就聊聊发生在 DNS 解析之后的操作——建立连接。也就是我们常说的三次握手。 看到三次握手你可能会说,这不是面试都被问烂了的题吗? 三次握手不就是: 服务器开始为 CLOSE 状态

Read More

一文搞懂如何使用Node.js进行TCP网络通信-多极客编程

​​​​​​摘要: 网络是通信互联的基础,Node.js提供了net、http、dgram等模块,分别用来实现TCP、HTTP、UDP的通信,本文主要对使用Node.js的TCP通信部份进行实践记录。本文分享自华为云社区​​《一文搞懂如何使用Node.js进行TCP网络通信》​​,作者:lwq1228 。1、构建TCP服务器1.1、使用Node.js创建TCP服务器为了使用Node.js创建TCP

Read More

180天Linux小白到大神-Linux网络管理-多极客编程

15 Linux网络管理 15 Linux网络管理 1.网络基本概述 1.1 为何需要网络 1.2 什么是网络 2.互联网通讯协议 2.1 物理层 2.2 数据链路层 2.3 网络层 2.4 传输层 2.5 应用层 2.6 OSI总结 3.TCP协议 3.1 三次握手 3.2 四次挥手 3.3 转换状态 3.4 UDP协议 4.网络配置 4.1 查询网络信息 4.2 修改网卡名称 4.3 配置网

Read More

【俗话说】换个角度理解TCP的三次握手和四次挥手-多极客编程

PS:通俗一点的解释都会在引用块中 Nothing is true, Everything is permitted. 0. 什么是TCP TCP,全称Transmission Control Protocol,是一种面向连接、可靠的、基于字节流的单播协议。与我们常说的TCP/IP协议不同,TCP/IP是一个协议族,涉及到OSI模型中的网络层、应用层和应用层。而我们要聊的TCP就是在传输层的协

Read More

万字45张图详解计算机网络基础知识-多极客编程

更多图解系列干货文章:万字45张图详解计算机网络基础知识精!万字15图详解OSPF路由协议【干货】万字详解BGP路由技术原理及配置命令!请收好这一份详细 & 清晰的计算机网络基础学习指南!上帝视角计算机网络如上图就是一张简单的计算机网络,那么什么是计算机网络呢?百度百科的定义: 网络是由若干节点和连接这些节点的链路构成,表示诸多对象及其相互联系。在我看来计算机网络通俗地讲就是通过传输介质将

Read More

那些你不知道的 TCP 冷门知识-多极客编程

最近在做数据库相关的事情,碰到了很多TCP相关的问题,新的场景新的挑战,有很多之前并没有掌握透彻的点,大大开了一把眼界,选了几个案例分享一下。 案例一:TCP中并不是所有的RST都有效背景知识:在TCP协议中,包含RST标识位的包,用来异常的关闭连接。在TCP的设计中它是不可或缺的,发送RST段关闭连接时,不必等缓冲区的数据都发送出去,直接丢弃缓冲区中的数据。而接收端收到RST段后,也不必发送AC

Read More

TCP报文发送的那些事-多极客编程

 今天我们来总结学习一下TCP发送报文的相关知识,主要包括发送报文的步骤,MSS,滑动窗口和Nagle算法。发送报文 该节主要根据陶辉大神的系列文章总结而来。如下图所示,我们一起来看一下TCP发送报文时操作系统内核都做了那些事情。其中有些概念在接下来的小节中会介绍。 首先,用户程序在用户态调用send方法来发送一段较长的数据。然后send函数调用内核态的tcp_sendmsg方法进行处理。 主要注

Read More

解Bug之路-TCP使用不当引起的Bug-多极客编程

解Bug之路-TCP使用不当引起的Bug 前言 关于TCP流 TCP是流的概念,解释如下 TCP窗口的大小取决于当前的网络状况、对端的缓冲大小等等因素, TCP将这些都从底层屏蔽。开发者无法从应用层获取这些信息。 这就意味着,当你在接收TCP数据流的时候无法知道当前接收了 有多少数据流,数据可能在任意一个比特位(seq)上。   详情见笔者另一篇博客https://blog.51cto.com/u

Read More

TCP/IP 和 IP 协议的区别?-多极客编程

TCP/IP 协议TCP/IP协议(Transmission Control Protocol/Internet Protocol)叫做传输控制/网际协议,又叫网络通讯协议,这个协议是Internet国际互联网络的基础。TCP/IP是网络中使用的基本的通信协议。虽然从名字上看TCP/IP包括两个协议,传输控制协议(TCP)和网际协议(IP),但TCP/IP实际上是一组协议,它包括上百个各种功能的协

Read More

TCP三次握手和四次挥手及对应端口状态-多极客编程

TCP三次握手和四次挥手及对应端口状态 一、三次握手 1、第一次握手:Client 将标志位置为1,并向Server发送个seq=j,j为随机产生的数;等待Server回复,此时Client的端口状态为SYN_SENT。2、第二次握手:Server收到Client的服务SYN=1的链接请求之后,服务器把SYN和ACK都置为1,然后返回个ack=j+1和seq=K,K为随机数;此时服务器的端口状态变

Read More

TCP的坚持定时器-多极客编程

引言TCP通过让接收方指明希望从发送方接收的数据字节数(即窗口大小)来进行流量控制。如果窗口大小为 0会发生什么情况呢?这将有效地阻止发送方传送数据,直到窗口变为非0为止。 TCP不对ACK报文段进行确认, TCP只确认那些包含有数据的ACK报文段。 如果一个确认丢失了,则双方就有可能因为等待对方而使连接终止:接收方等待接收数据(因为它已经向发送方通告了一个非 0的窗口),而发送方在等待允许它继续

Read More

TCP的超时与重传-多极客编程

引言TCP提供可靠的运输层。它使用的方法之一就是确认从另一端收到的数据。但数据和确认都有可能会丢失。TCP通过在发送时设置一个定时器来解决这种问题。如果当定时器溢出时还没有收到确认,它就重传该数据。对任何实现而言,关键之处就在于超时和重传的策略,即怎样决定超时间隔和如何确定重传的频率。超时与重传的简单例子首先观察TCP所使用的重传机制,我们将建立一个连接,发送一些分组来证明一切正常,然后拔掉电缆,

Read More

TCP Implementation in Linux: A Brief Tutorial-多极客编程

A. Introduction This document provides a brief overview of how TCP is implemented in Linux.It is not meant to be comprehensive,nor do we assert that it is without inaccuracies. B. TCP implementation i

Read More

TCP Implementation in Linux-多极客编程

A. IntroductionThis document provides a brief overview of how TCP is implemented in Linux. 1 It is not meant to be comprehensive, nor do we assert that it is without inaccuracies.本文档简要概述了如何在Linux中实现TC

Read More

计算机网络技术之OSI和TCP-多极客编程

1、简述osi七层模型和TCP/IP五层模型 简述osi七层模型 物理层:提供为建立、维护和拆除物理链路所需要的机械的、电气的、功能的和规程的特性;有关的物理链路上传输非结构的位流以及故障检测指示。 数据链路层:在网络层实体间提供数据发送和接收的功能和过程;提供数据链路的流控。 网络层:控制分组传送系统的操作、路由选择、拥护控制、网络互连等功能,它的作用是将具体的物理传送对高层透明。 传输层:提

Read More

TCP/IP之TCP报文简介-多极客编程

一、传输控制协议传输控制协议(Transmission Control Protocol,TCP)的最终目的是为数据提供可靠的端到端传输。TCP工作在OSI模型中的第4层。它能够处理数据的顺序和错误恢复,并且最终保证数据能够到达其应到达的目的地。二、TCP的段结构 因为TCP是应用于大数据量传输的情况,所以需要将长的数据流分段,TCP的段结构如下图:源端口目的端口序列号确认号头长度标志窗口校验和紧

Read More

TCP通信中文件上传多线程方法-多极客编程

文件上传多线程方法创建一个Upload类,继承Runnable接口,并将Socket封装起来,构造方法有参构造和无参构造,再创建一个run方法,public class UPload implements Runnable {private Socket socket;    public UPload() {super();     }public UPload(Socket socket) {

Read More

本文把 TCP/IP 讲绝了!-多极客编程

一、TCP/IP模型 TCP/IP协议模型(Transmission Control Protocol/Internet Protocol),包含了一系列构成互联网基础的网络协议,是Internet的核心协议。 基于TCP/IP的参考模型将协议分成四个层次,它们分别是链路层、网络层、传输层和应用层。下图表示TCP/IP模型与OSI模型各层的对照关系。TCP/IP协议族按照层次由上到下,层层包装。

Read More

理论 | 三天两夜,万字长文,吃透TCP/IP-多极客编程

思维导图计算机体系网络结构分层概述物理层物理层上传送的单位为比特,规定了网络的一些电器特定,主要负责0,1比特流与电子信号之间的转换,如果没有物理层,0,1 构成的比特流将会无法在物理介质中传播。链路层数据链路层,又称作为链路层,单纯的0和1是没有任何意义的,必须规定其解读方式,多少个电信号算一组,每个电信号又有什么意义,这就是数据链路层的作用,数据链路层,规定主要有三个功能,分别是封装成帧、透明

Read More

TCP & UDP-多极客编程

1.TCP和UDP的区别:1)TCP是面向连接的,UDP是无连接的,即发送数据之前不需要建立连接2)TCP提供可靠的服务,通过TCP连接传送的数据,无差错、不丢失、不重复且按序到达。UDP尽最大努力交付,即不保证可靠交付3)TCP传输效率相对较低,UDP传输效率高,适用于对高速传输和实时性有较高的通信或广播通信4)TCP连接只能是点对点、一对一的。UDP支持一对一、一对多、多对一、多对多的交互通信

Read More