目录 一.这是一次有故事的对话 二.三次握手的客户端服务端状态 1 先画个图看看有哪些状态 2 tcp协议内容解析 3 通过工具wireshark来验证我们所述 三.说下Linux网络编程常用API 1 Linux网络编程常用API 2 粘包现象 四.再说说为啥不是两次握手或者四次握手? 五.最后聊一聊分析网络程序的工具 1 网络程序调试工具的思维导图 2 详解各个小工具 六 结尾 秋招面试也不记得多少家公司会有这个面试题.所以将其总结一下并分享给大家. @ 嘀嘀嘀....一看广东,难道是腾讯的…
TCP/IP是互联网相关的各类协议族的总称 TCP/IP协议族分为:应用层,传输层,网络层,数据链路层 应用层:向用户提供应用服务时的通讯的活动 传输层:提供处于网络连接中的两台计算机之间的数据传输 网络层:处理网络上的流动数据包 数据链路层:处理连接网络的硬件部分 TCP位于传输层,提供可靠的字节流服务(字节流服务:将大块的数据分割成以报文段为单位的数据包进行管理),可靠的传输服务是指能够把数据可靠的传给对方 , TCP协议的三次握手 标有SYN标志的数据包发送给服务器,服务器发送标志SYN/…
本文基于个人所学和网上博文所整理,若有不妥处,欢迎留言指出 TCP连接过程中标志位的意义: 字符缩写 描述 SYN 同步序号,表示此报文是一个连接请求或连接接受报文 ACK 确认位,对接收到的报文的确认 FIN 终止位,表示发送方完成数据发送,用来释放一个连接 RST 复位连接,表示TCP连接中出现严重错误 PSH 推送位,尽可能快递将数据送往接受进程 一.三次握手建立 1.三次握手建立连接详解 TCP建立连接要进行“三次握手”,即交换三个分组.大致流程如下: (1)客户端向服务器发送一个SYN…
synchronized锁的原理也是大厂面试中经常会涉及的问题,本文主要通过对以下问题进行分析讲解,来帮助大家理解synchronized锁的原理. 1.synchronized锁是什么?锁的对象是什么? 2.偏向锁,轻量级锁,重量级锁的执行流程是怎样的? 3.为什么说是轻量级,重量级锁是不公平的? 4.重量级锁为什么需要自旋操作? 5.什么时候会发生锁升级,锁降级? 6.偏向锁,轻量锁,重量锁的适用场景,优缺点是什么? 1.synchronized锁是什么?锁的对象是什么? synchroni…
一.什么是socket? 中文名叫套接字,是对底层的 TCP IP UDP 等网络协议进行封装,使得上层的应用程序开发者,不用直接接触这对复杂,丑陋的协议. 在程序员的言论,他就是一个封装好的模块,要完成网络通讯,只需要使用系统提供的socket模块就行,我们通过调用模块中已经实现的方法建立两个进程之间的 连接和通信. 了解socket层: 二.套接字的发展史 套接字起源于 20 世纪 70 年代加利福尼亚大学伯克利分校版本的 Unix,即人们所说的 BSD Unix. 因此,有时人们也把套接字…
参考资料: https://huoding.com/2013/11/21/299 https://hpbn.co/building-blocks-of-tcp/#three-way-handshake 示例代码: https://github.com/gordonklg/study,socket module A. Wireshark 免费抓包工具,谁用谁知道. 根据端口过滤 frame 的方法:tcp.port==8888 默认安装的 Winpcap 不能对 localhost 抓包,建议安装…
今天我们来讲一下TCP的三次握手和四次挥手,先来张思维导图.  一.TCP是什么 TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的.可靠的.基于字节流的传输层通信协议. 我们知道了上述了解到了TCP的定义,通俗一点讲,TCP就是一个双方通信的一个规范标准(协议). 我们在学习TCP握手的过程之前,首先必须要了解TCP报文头部的一些标识信息.因为TCP握手的过程中,会使用到这些报文信息,如果没有掌握这些信息,在学习握手的过程中,整个人都处于懵逼状态…
摘要 HashMap的原理也是大厂面试中经常会涉及的问题,同时也是工作中常用到的Java容器,本文主要通过对以下问题进行分析讲解,来帮助大家理解HashMap的原理. 1.HashMap添加一个键值对的过程是怎么样的? 2.为什么说HashMap不是线程安全的? 3.为什么要一起重写hashCode()和equal()方法? HashMap添加一个键值对的过程是怎么样的? 这是网上找的一张流程图,可以结合着步骤来看这个流程图,了解添加键值对的过程. 1.初始化table 判断table是否为空或…
Table of Contents 前言 数据报头部 三次握手 SYN 攻击 四次挥手 半连接 TIME_WAIT 结语 参考链接 前言 TCP 中的三次握手和四次挥手应该是非常著名的两个问题了,一方面这两个过程基本上属于面试必考题目,另一方面,这两个过程在实际的使用中也非常重要. 这里就来简单的看一下这两个过程是怎么一回事吧. 数据报头部 在学习三次握手和四次挥手的具体过程之前,我觉得有必要先对 TCP/IP 的数据报头部进行一定的了解,当然,不需要了解所有信息. 上面的图片是 IP 数据报的…
版权声明:本文为CSDN博主「夏雪冬日」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明. 原文链接:https://blog.csdn.net/hyg0811/article/details/102366854 三次握手和四次挥手是各个公司常见的考点,也具有一定的水平区分度,也被一些面试官作为热身题.很多小伙伴说这个问题刚开始回答的挺好,但是后面越回答越冒冷汗,最后就歇菜了. 见过比较典型的面试场景是这样的: 面试官:请介绍下三次握手 求职者:第一次握手就是…