首页 > 其他分享 >网络的一些基础知识

网络的一些基础知识

时间:2023-09-07 16:11:18浏览次数:32  
标签:报文 SYN 确认 网络 基础知识 一些 服务器 FIN 客户端

tcp三次握手

  • 服务器进入LISTEN监听状态
  • 客户端尝试连接服务器,发送SYN包产生一个随机的初始序列号seq = x,客户端进入SYN_SEND状态等待服务器确认
  • 服务器接收SYN包并确认,ack = x + 1,同时向客户端发送一个SYN包,seq = y,服务器进入SYN_RECV状态
  • 客户端收到服务器的SYN+ACK包,向服务器发送确认包ack = y + 1, 客户端进入ESTABLISHED状态,服务器接收到确认后进入ESTABLISHED状态

tcp四次挥手

  • 客户端发送FIN报文,停止发送数据,进入FIN_WAIT1状态,此时客户端只能接收数据
  • 服务器收到FIN报文,发出确认报文,进入CLOSE_WAIT状态
  • 服务器数据传输完成之后,发送FIN报文,进入LAST_ACK状态
  • 客户端收到FIN报文后,发送确认报文,进入TIME_WAIT状态,等待两个MSL(最长报文段寿命)后,进入CLOSED状态
  • 服务器接收到确认报文后立即进入CLOSED状态

为什么要等待2MSL

  • 如果客户端的确认报文丢失了,服务器会超时重传FIN报文,当客户端再次收到FIN报文时,会重新发送确认报文,等待2MSL会确保服务器收到地第四次挥手的确认报文

标签:报文,SYN,确认,网络,基础知识,一些,服务器,FIN,客户端
From: https://www.cnblogs.com/m1ds/p/17685214.html

相关文章

  • 关于日常数据相关的一些记录
    1.查询某个表中是否有重复数据;SELECTIDCARDFROM 表名 groupby字段名 havingcount(*)>12.神通数据库不小心清空了表数据,如何恢复 第二种数据删除后恢复的操作步骤:---------------------------------------------------------------------------------------1.首......
  • [个人笔记][C#]异步调用控制流的一些测试结论
    await调用逻辑总结如下:调用线程A执行到await时,在await处返回并继续执行调用点后面的代码,await处新开一个线程B执行task线程B执行完task后继续执行await后面的代码如果再次遇到await,线程B在await处返回,新开一个线程C执行task线程C执行完task后继续执行await后面的代码"新开......
  • 与读者互动:建立稳固的小红书社交网络
    嗨,亲爱的小红书读者们!作为你们心目中的小红书专家小紫,我今天将带你们探索如何建立稳固的小红书社交网络。小红书作为一个高度互动和社交化的平台,拥有数百万活跃用户,这里的社交网络可以让你结识志同道合的朋友、获取实用的购物攻略、分享你的生活见闻,并且还能够发现最新的潮流趋......
  • 深度合作SONiC社区,“一站式”SONiC网络解决方案赋能千行百业
    近日,星融元(asterfusion.com)正式加入成为Linux基金会下的SONiC社区会员单位成员,未来星融元将继续与SONiC社区深度合作,为人工智能、云、企业数据中心和园区接入打造一个开放、可扩展和可编程的网络架构。星融元是中国最早参与SONiC社区并积极向社区贡献缺陷修复和软件特性代码的公......
  • 【Sword系列】第七届全国残疾人职业技能大赛样题-网络安全-星际争霸
    (文章目录)前言1.awkawk是一种文本处理工具,可以用于对文本数据进行各种操作,例如分割、过滤、搜索、替换等。主要用途包括数据分析、文本搜索、日志处理等。awk命令的基本语法为:awk[选项参数]'模式1{操作1}模式2{操作2}...'文件名其中,模式用于匹配文件中的数据,操作则......
  • 软路由vs传统路由器ip:选择合适的网络设备
    在构建和管理网络基础设施时,选择正确的网络设备至关重要。本文将介绍软路由IP和传统路由器两种常见的网络设备,并探讨它们各自特点、优势以及应用场景,帮助读者了解并选择最适合他们需求的网络设备。什么是软路由IP?软路由IP是指通过虚拟化技术实现功能类似于物理硬件上运行操作系统与......
  • 一些C++库的简要说明
    说明:1.**Boost**:提供了许多C++库,如Boost.Asio(网络和异步I/O)、Boost.Filesystem(文件系统操作)、Boost.Thread(多线程支持)、Boost.Serialization(序列化)等。用于增强C++的功能。2.**cpp2sky**:用于与SkyWalkingAPM系统集成的库,提供应用程序性能监视和分析功能。3.**cppzmq**:C++Z......
  • DeeTune:基于 eBPF 的百度网络框架设计与应用
    作者|百度APP云原生技术研发组导读随着云计算的技术的不断迭代演进,百度内部服务逐渐搬迁到云环境中,部署成本和效率取得明显收益,但一些可观测能力的短板和缺失逐渐显露,传统的方式往往通过植入代码进行修改来实现,但在业务形态和技术栈多样性的背景下,面临业务被侵入、沟通协调、性能......
  • JBPM常用一些api中的方法
    启动流程:Ø获取最新的流程定义:JbpmContext.getCurrentJbpmContext().getGraphSession().findLatestProcessDefinitions();//返回ListØ获取指定流程定义:ProcessDefinitionprocessDefinition=graphSession.loadProcessDefinition(processDefinitionId);Ø创建流程实例:Pr......
  • 网络安全之VPN基础概念概述
    1、VPN定义:虚拟专用网2、VPN的核心技术:隧道技术3、VPN的分类按照业务类型:Client-LANVPN:SangforVPNPDLAN、SSLVPN、L2TPLAN-LANVPN:IPsecVPN、SangforVPN、GREVPN按照网络层次:二层VPN:L2TP三层VPN:GRE、IPSec四层VPN:SangforVPN应用层VPN:SSLVPN4、数据传输安全四要素:机......