TCP协议 1.1 TCP数据包头 要了解三次握手和四次挥手,首先需要了解下TCP数据包头的结构,如下: ?...为了确保TCP连接的成功建立,TCP采用了一种称为三次握手的方式,三次握手方式使得“序号/确认号”系统能够正常工作,从而使它们的序号达成同步。如果三次握手成功,则连接建立成功,可以开始传送数据信息。...三次握手:为应用程序提供可靠的通信连接,适合于一次传输大批数据的情况,并适用于要求得到响应的应用程序。...CLOSED:表示初始状态; LISTEN:表示服务器端的某个socket处于监听状态,可以接受连接; SYNSENT:三次握手时,客户端发送第一次SYN连接请求后,状态SYNSENT; SYN_RCVD...:也是三次握手时服务端的一个中间状态; ESTABLISHED:表示连接已经建立,这里要说明一下,其实TCP连接并不是真的有什么东西连着在,只是说双方都是ESTABLLISHED状态,就说明双方连接正常
摘要 网络显形准备 实战TCP三次握手问题 网络显形准备 tcpdump命令 选项 示例 描述 -i tcpdump -i eth0 指定网络接口,any表示所有接口 -nn tcpdum -nn 不解析...执行抓包命令 tcpdump -i eth0 -nn icmp and host 172.17.0.3 在Nginx Server上执行抓包命令以后可以看到以下输出: 上述表述的信息还是比较少的,我们在linux...TCP三次握手流程我们已经详细讲述过,但现实往往不是圆满的,总会有这样那样的问题,在TCP握手的过程中每一个环节都有可能出现问题: TCP的第一次握手SYN包丢失 TCP的第二次握手SYN+ACK包丢失...Linux第一次握手的重传次数由谁决定?...-> netfilter/iptables 网络包从主机出去的顺序为:iptables -> tcpdump -> NIC -> Wire 二次握手的包最大重传次数由谁决定?
从今天开始,尽量再多更一篇基础知识,基本都是面试时的高频基础知识问题,会包括网络+操作系统+组成原理,一来帮大家回忆,二来通过面试。...毕竟作为一名工程师,底子要深厚,生产时出了错,知道原理,就会有底气得多~而原理,都是来源于我们学习的基础知识~ 二 今天先来网络的,TCP三次握手 网络协议中,TCP是多么地重要,不用我多说,...今天先给大家讲一下三次握手~ ?...(2)第二次握手 ? 服务端确认,并,建立连接 所以ACK=1,SYN=1 (3)第三次握手 ?...四 经典面试题 Q:为什么TCP需要三次握手,而不是两次握手? 答:谢希仁版《计算机网络》中,是这样解释的: 主要是为了防止已失效的连接请求报文段,突然又传到了服务端。
也是Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。TCP/IP 定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。...从协议分层模型方面来讲,TCP/IP由四个层次组成:网络接口层、网络层、传输层、应用层。...这7层是:物理层、数据链路层(网络接口层)、网络层(网络层)、传输层(传输层)、会话层、表示层和应用层(应用层)。...由于ARPANET的设计者注重的是网络互联,允许通信子网(网络接口层)采用已有的或是将来有的各种协议,所以这个层次中没有提供专门的协议。...相关阅读: 四次握手:https://www.cnblogs.com/nulige/p/6235550.html 七层网络:https://blog.csdn.net/u011936381/article
握手过程中采用非对称加密,得到一个对称加密的秘钥。数据传输的过程中,采用对称加密。...采用非对称加密比较慢,因此只在握手期间采用非对称加密,保证拿到的对称加密的秘钥的安全性,数据传输期间通过对称加密来加密,速度更快。...握手: 对称加密秘钥的生成: 握手期间,client与server两次往来。会生成三个随机数,由这三个随机数组成对称加密的秘钥。...数据传输: http报文的内容都会经过TLS层进行对称加密,秘钥是握手时生成的。发送使用秘钥加密,接收时使用秘钥解密。...但是为了足够安全,我们可以考虑把握手阶段的算法从默认的RSA算法,改为 Diffie-Hellman算法(简称DH算法)。 下面是DH算法握手的过程: ?
你好,这里是网络技术联盟站。TCP是 Internet 协议套件的主要协议之一,它位于应用层和网络层之间,用于提供可靠的连接服务,是一种面向连接的通信协议,有助于通过网络在不同设备之间交换消息。...【第二次握手】小明:好的,我知道你是小美了。【第三次握手】经历三次握手后,小明可以可以很明确的确定对方就是小美,非常可靠!假如只有一次握手,那么小明问完“你好,请问是小美吗?”...专业角度的三次握手下面我们来看下专业的三次握手。...如果网络不可靠,最好将TCP 窗口设置小一点,这样,如果出现问题,就不必重新传输非常大的数据。...TCP三次握手生活中的三次握手专业角度的三次握手TCP三次握手抓包分析TCP窗口其他参数TCP为什么不能二次握手建立连接总结感谢您的阅读,如果觉得文章对您有帮助,别忘了点赞、收藏⭐哦!
前言:在浩瀚的数字宇宙中,信息如同繁星点点,通过网络协议这一无形的纽带紧密相连。Linux,作为开源社区的璀璨明珠,其网络协议栈的强大与灵活性,为信息的传输与管理提供了坚实的基础。...无论你是对网络技术充满好奇的初学者,还是希望深化Linux网络知识的专业人士,了解并掌握Linux网络协议,都是通往更深层次技术探索的必经之路 本文,正是为了引领你踏入Linux网络协议的神秘殿堂而精心准备...在这里,我们将从网络协议的基本概念出发,逐步揭开Linux网络协议栈的面纱,带你领略TCP/IP协议族的博大精深,以及Linux如何优雅地实现这些协议,确保信息的准确、高效传输 网络协议的学习之路或许充满挑战...通过生动的实例和直观的图表,我们成功地将复杂的网络协议知识转化为易于理解的精华,让你在轻松愉快的氛围中掌握了Linux网络协议的核心要点 然而,这仅仅是学习Linux网络协议的起点。...在未来的日子里,你将有机会深入学习更高级的网络协议,掌握更复杂的网络架构设计与管理技能,甚至参与到开源社区的贡献中,与全球的Linux爱好者共同推动技术的革新与进步 愿你们在Linux网络协议的广阔天地中
目前几乎所有的应用都会跟网络打交道,所以我们了解和熟悉网络对我们后续的排错是很有必要的,我这里讲解的部分主要是我个人理解来进行讲解。...以下图片来自于网络 一、前置基础:核心标志位与状态 1. 关键 TCP 标志位 SYN(Synchronize):同步标志位,值为 1 时表示请求建立连接,用于发起握手。...二、三次握手完整流程(图文拆解) 以下图片来自于网络 第一次握手:客户端 → 服务端(SYN 报文) 报文内容:SYN=1,Seq=x(x 为客户端随机初始序列号,无应用数据)。...防止历史连接干扰 网络延迟可能导致 “旧 SYN 报文” 重复到达。若 2 次握手,服务端收到旧 SYN 就建立连接,会造成资源浪费与错误。...只有完成三次握手,双方进入 ESTABLISHED 状态,才能开始稳定、有序、可靠地传输 HTTP、FTP 等应用层数据。它是 TCP 可靠性的基础,也是计算机网络与面试中的核心考点。
文章目录 概述 TCP协议头的格式 TCP Finite State Machine (FSM) 状态机 三次握手 如何在 Linux 系统中查看 TCP 状态 概述 每一个抽象层建立在低一层提供的服务上...注意【TCP协议头】图: 1)Sequence Number:是包的序号,用来解决网络包乱序(reordering)问题。...而这台计算机中承载的各种应用程序可以拥有自己的端口号,然后通过服务器的网卡,正确地进行网络通信。...从上面的过程可以发现第三次握手是可以携带数据的,前两次握手是不可以携带数据的。...如何在 Linux 系统中查看 TCP 状态 在 Linux 可以通过 netstat -napt 命令查看
Ping 命令 - 测试网络连通性 工作层级: 网络层 功能: 向目标主机发送 ICMP Echo Request 数据包,并等待回复。用于检查网络是否通畅、延迟和丢包率。...这里我们直接ping的话会不断输出,但如果加个参数就可以指定输出次数 # 指定发送次数(Linux下默认会一直ping,用 -c 指定次数) ping -c 4 www.baidu.com # 指定时间间隔...www.baidu.com # 快速 Ping(发送一个包) ping -c 1 www.baidu.com 2. traceroute / tracepath - 追踪数据包路径 工作层级: 网络层...用于诊断网络在何处出现故障或延迟。 原理: 利用 IP 数据包的 TTL 字段。它先发送一个 TTL=1 的包,第一个路由器将其 TTL 减为0并丢弃,同时发回一个 ICMP “超时”消息。...、路由表、接口统计 ss 是现代 Linux 系统推荐使用的工具,比 netstat 更快、更高效。
Linux服务器作为一个常用的网络服务器,主要的作用就是向客户端提供网络服务,所以我们需要熟练掌握网络相关的命令,用于探测对端网络是否畅通,用于检查本地网络进程是否正常,以及可以通过命令去远端服务器进行下载文件...主要从以下几个方面来介绍: 1.给Linux服务器配置IP 2.探测对方网络连通性(ping & telnet) 3.下载对方文件(wget) 4.请求对方服务器(curl) 5.检查本地服务状态(netstat...上面讲的只是Linux网络的基本命令,对于计算机网络一点都没有讲,这个后期会单独出一个大的章节来讲解。...具体解释如下: /dev/tcp/192.168.179.107/22 是Linux中的一个虚拟设备文件路径,它允许通过文件I/O来操作网络套接字。...Linux网络基本操作已经讲完,下面要讲的就是Linux用户,敬请期待。
前言网络是计算机系统中最重要的组成部分之一,它是计算机之间进行数据交换和通信的基础设施。在 Linux 系统中,网络配置是非常重要的,它涉及到网络接口、IP 地址、子网掩码、网关、DNS 等多个方面。...本文将介绍如何在 Linux 系统中配置网络,包括设置静态 IP 地址、修改主机名、配置 DNS 服务器等内容。...查看网络接口在 Linux 系统中,可以使用 ifconfig 命令来查看当前系统的网络接口信息。...这么一来,我们的网络就配置好了,然后我们可以在 Linux 系统中访问外部网络了。...测试一下,打开 终端,然后输入 ping www.baidu.com,打开终端可以直接在桌面鼠标右键:至此,我们已经成功配置了 Linux 系统的网络,可以正常访问外部网络了。
网络协议基础:TCP 三次握手 / 四次挥手1. 前言在互联网的世界里,数据能够有序、可靠地在不同设备之间传输,背后离不开各种网络协议的支撑。...本文将从 TCP 的核心特性出发,详细拆解这两个关键过程,帮助读者理解网络通信背后的底层逻辑。TCP 的核心特性:为何需要 “握手” 与 “挥手”?...总结三次握手:建立连接,确保双方通信能力正常。四次挥手:优雅关闭,确保数据完整传输。掌握 TCP 连接过程,有助于网络调试、安全防护与性能优化。...TCP 的三次握手与四次挥手,是网络通信中 “可靠连接” 与 “优雅断开” 的核心保障。...三次握手通过同步序列号和确认收发能力,确保连接建立的可靠性;四次挥手通过分阶段关闭双向通道,避免数据丢失;而TIME-WAIT状态则进一步保障了连接断开后的网络稳定性。
最近给学员们复习接口测试的时候,有人找到一个面试的时候被问到的问题:“请说明TCP的三次握手。”然后有人笑着回答说:“就是问女朋友‘约吗’?”女朋友说:“约”,然后再说:“走吧”,这样的过程。...看到这里大家应该差不多知道TCP建立连接的三次握手是怎么回事了 。...图一:wireshark抓取的数据包 第一次握手:192.168.1.105发送位码syn=1数据包到119.75.219.45,119.75.219.45由SYN=1知道192.168.1.105要求建立联机...; 第二次握手:119.75.219.45收到请求后要确认联机信息,向192.168.1.105发送ack , v发送syn=1,ack=1的确认包; 第三次握手:192.168.1.105收到后检查位码...图二、三次握手 小明的床经过很多次快递后,终于把所有的零部件都送出去了。这时小MM说:“都发过去了,可以跟那边不联系了。”于是把之前的小弟叫来说:“跟那边说一下,该发的包都发送完了。”
IP 协议,制定了一套新地址,使得我们能够区分两台主机是否同属一个网络,这套地址就是网络地址,也就是所谓的 IP 地址。...为了判断 IP 地址中的网络地址,IP 协议还引入了子网掩码,IP 地址和子网掩码通过按位与运算后就可以得到网络地址。...---- 二、TCP 的三次握手 1、TCP 三次握手概述 三次握手的本质是确认通信双方收发数据的能力。...三次握手详细过程: 第一次握手,客户端向服务端发起连接请求: 首先,客户端会生成一个随机起始序列号 ISN(比如是100), 然后客户端向服务端发送报文,此时报文段包含 SYN 标志位(也就是...连接管理:三次握手、四次挥手 重传机制:但在复杂的网络环境下,并不一定能正常的数据传输,万一数据在传输过程中丢失了呢?所以 TCP 针对数据包丢失的情况,会用重传机制解决。
个人主页:island1314 个人专栏:Linux—登神长阶 1. 计算机网络发展背景 计算机网络的发展可以追溯到20世纪60年代。...ARPANET于1969年建成,成为了世界上第一个计算机网络 在随后的几十年里,计算机网络经历了从军用到民用、从局域网到广域网的快速发展。...网络协议 网络协议,简称为协议,是网络通信(即网络数据传输)经过的所有网络设备都必须共同遵从的一组约定、规则。...IP地址,使网络通信更加灵活 提炼 IP 网络的意义和网络通信的宏观流程 路由器,可以根据 IP 地址判断目的地在哪个局域网内,IP 地址的设计非常的巧妙,它在网络层,会根据目的地,进行路径选择时选择了下一个跳转的路由器...IP 网络层存在的意义:提供网络虚拟层,让世界的所有网络都是 IP 网络,屏蔽最底层网络的差异 ifconfig --查看当前云服务器的MAC地址,IP地址 IP数据报的收发方进行跨网投递时,发送方需利用
只有在前两次握手中 SYN 才为1 · FIN :标记数据是否发送完毕,如果 FIN =1,表示数据已经发送完成,可以释放连接 ·窗口大小( Window Size ):占16位。...即使当前窗口大小为0,也是可以发送紧急数据的,因为紧急数据无须缓存 ·选项( Option ):长度不定,但长度必须是32bits的整数倍 1、TCP连接的三次握手
iPerf Iperf 是一个网络性能测试工具。Iperf可以测试最大TCP和UDP带宽性能,具有多种参数和UDP特性,可以根据需要调整,可以报告带宽、延迟抖动和数据包丢失。...安装后,你需要同一网络上的两台机器才能使用它(都必须安装 iPerf)。指定一个作为服务器。...它速度快且可编写脚本,因此你可以定期运行它并将输出保存到文件或数据库中,以记录一段时间内的网络速度。 Fast Fast是 Netflix 提供的一项服务。
前言 只有光头才能变强 回顾前面: 看完这篇Linux基本的操作就会了 Linux用户和权限管理看了你就会用啦 Linux进程管理 这篇主要讲解在Linux下网络的管理。...那么接下来就开始吧,如果文章有错误的地方请大家多多包涵,不吝在评论区指正哦~ 声明:基于Centos6.9 一、Linux下的网络 Linux支持各种协议类型的网络 TCP/IP、NetBIOS/NetBEUI...这些网络协议是Linux内核提供的功能,具体的支持情况由内核编译参数决定。 ?...在Linux下配置网络,总会遇到桥接和NAT模式的概念的,这里我简要摘抄一下: 桥接模式的虚拟机,就像一个在路由器"民政局"那里"上过户口"的成年人,有自己单独的居住地址,虽然和主机住在同一个大院里,...四、总结 本文主要是总结了Linux下网络和安装软件的知识~~~这两个知识点在Linux下也是很重要的,是学习Linux的基础~ 继续完善上一次的思维导图: ?
hostname : 查看主机名 或临时修改主机名 cat /etc/sysconfig/network : 查看主机名设置文件, 修改 hostname可持久化修改主机名(但阿里云服务器linux...系统中未发现该文件) ifconfig : 查看服务器IP地址 或临时修改服务器IP地址 service network restart : 重启系统网络服务 (service xxx restart...: 重启某个服务) cat /etc/sysconfig/network-scripts/ifcfg-eth0 : 查看网络配置文件 通过 vim 修改网络配置文件 ,可持久化修改服务器IP地址... ONBOOT=YES(每一次重启网络服务,该网络配置自动生效) BOOTPROTO=STATIC(网络服务改为静态,不让其动态自动获取) IPADDR = 192.168.177.128...) 保存后通过 service network restart : 重启系统网络服务,来生效。