计算机网络
文章平均质量分 90
柯南二号
一个喜欢探讨Java后端技术的小白
展开
-
TCP详解(WireShark抓包分析TCP三次握手和TCP四次挥手)
TCP和UDPTCP报文格式TCP首部的报文格式如下:宏观上来看如下:此图来源于:https://zhuanlan.zhihu.com/p/144273871 知乎-腾讯技术-TCP拥塞控制详解来源连接端口(16位长)-识别发送连接端口目的连接端口(16位长)-识别接收连接端口序列号(seq,32位长):如果含有同步化旗标(SYN),则此为最初的序列号;第一个数据比特的序列码为本序列号加一。如果没有同步化旗标(SYN),则此为第一个数据比特的序列码。确认号原创 2022-03-01 23:24:45 · 4899 阅读 · 0 评论 -
HTTP面试知识汇总
HTTP一、HTTP定义HTTP定义:HTTP 是超文本传输协议,也就是 HyperText Transfer Protocol。HTTP 是一个在计算机 世界里专门在「两点」之间「传输」文字、图片、音频、视频等「超文本」数据的「约定和 规范」。PS:HTTP 不止是从互联网服务器传输超文本到本地浏览器的协议,还是服务器到 服务器之间的传输协议。HTTP解析HTTP是构建于TCP/IP协议之上,是应用层协议,默认端口号80HTTP协议是无连接无状态的HTTP请求报文格式:HTTP响应报原创 2022-02-26 22:41:32 · 427 阅读 · 0 评论 -
WireShark抓包TCP三次握手和四次挥手
TCP和UDPTCP报文格式TCP首部的报文格式如下:宏观上来看如下:来源连接端口(16位长)-识别发送连接端口目的连接端口(16位长)-识别接收连接端口序列号(seq,32位长):如果含有同步化旗标(SYN),则此为最初的序列号;第一个数据比特的序列码为本序列号加一。如果没有同步化旗标(SYN),则此为第一个数据比特的序列码。确认号(ack,32位长)— 期望收到的数据的开始序列号。也即已经收到的数据的字节长度加1。数据偏移(4位长)— 以4字节为单位原创 2022-02-23 23:24:24 · 2686 阅读 · 0 评论 -
计算机网路分层协议
一、OSI 参考模型介绍OSI(Open System Interconnection,开放系统互连)七层网络模型称为开放式系统互联参考 模型 ,是一个逻辑上的定义,一个规范,它把网络从逻辑上分为了 7 层。每一层都有相关、 相对应的物理设备,比如路由器,交换机。OSI 七层模型是一种框架性的设计方法 ,建立七 层模型的主要目的是为解决异种网络互连时所遇到的兼容性问题,其最主要的功能使就是帮 助不同类型的主机实现数据传输。它的最大优点是将服务、接口和协议这三个概念明确地区 分开来,通过七个层次化的结构模型原创 2022-02-22 21:54:53 · 3166 阅读 · 0 评论 -
HTTP和HTTPS详解
HTTP一、HTTP定义HTTP定义:HTTP 是超文本传输协议,也就是 HyperText Transfer Protocol。HTTP 是一个在计算机 世界里专门在「两点」之间「传输」文字、图片、音频、视频等「超文本」数据的「约定和 规范」。PS:HTTP 不止是从互联网服务器传输超文本到本地浏览器的协议,还是服务器到 服务器之间的传输协议。HTTP解析HTTP是构建于TCP/IP协议之上,是应用层协议,默认端口号80HTTP协议是无连接无状态的HTTP请求报文格式:HTTP响应报原创 2022-02-22 08:38:53 · 4058 阅读 · 0 评论 -
WireShark抓包分析
WireShark抓包分析一、首先准备好WireShark工具去官网 https://www.wireshark.org/ 下载WireShark抓包工具。本地默认安装即可熟悉一下WireShark的界面Display Filter(显示过滤器), 用于设置过滤条件进行数据包列表过滤。菜单路径:Analyze --> Display Filters。Packet List Pane(数据包列表), 显示捕获到的数据包,每个数据包包含编号,时间戳,源地址,目标地址,协议,长度,以及数据原创 2022-02-21 21:49:05 · 2047 阅读 · 3 评论 -
Redis的网络通信模型
Redis 作为一个 Client-Server 架构的数据库,其源码中少不了用来实现网络通信的部分。而你应该也清楚,通常系统实现网络通信的基本方法是使用 Socket 编程模型,包括创建 Socket、监听端口、处理连接请求和读写请求。但是,由于基本的 Socket 编程模型一次只能处理一个客户端连接上的请求,所以当要处理高并发请求时,一种方案就是使用多线程,让每个线程负责处理一个客户端的请求。而 Redis 负责客户端请求解析和处理的线程只有一个,那么如果直接采用基本 Socket 模型,就会影响 R原创 2021-12-27 00:01:55 · 3034 阅读 · 2 评论 -
HTTP状态码
HTTP状态码当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求。当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头(server header)用以响应浏览器的请求。HTTP状态码的英文为HTTP Status Code。下面是常见的HTTP状态码:200 - 请求成功301 - 资源(网页等)被永久转移到其它URL404 - 请求的资源(网页等)不存在500 - 内部服务器错误HTTP状态码分类HTTP状态码由三个十进制数字组成,第一个十原创 2021-03-11 22:49:45 · 132 阅读 · 0 评论 -
生产环境中出现了大量TIME_WAIT
今天早上一上班,有同事就反映公司好几个网站都打不开,登陆数据库服务器(windows),发现很卡,于是重启了下服务器,进入系统后,没过一会问题依旧,查看了下系统进程,发现mysql占用率达到99%,可以肯定的是mysql连接出现问题:netstat -an192.168.12.13:3306 192.168.12.12:30443 TIME_WAIT192.168.12.13:3306 192.168.12.12:30444 TIME_WAIT192.168.12.13:330转载 2021-01-23 19:11:40 · 229 阅读 · 0 评论 -
Linux五种I/O模式 NIO BIO AIO IO多路复用 信号驱动 I/O
Linux五种I/O模式1. 同步阻塞 I/O(BIO)如上图所表现的那样,应用进程向内核发起 I/O 请求,发起调用的线程一直等待内核返回结果。一次完整的 I/O 请求称为BIO(Blocking IO,阻塞 I/O),所以 BIO 在实现异步操作时,只能使用多线程模型,一个请求对应一个线程。但是,线程的资源是有限且宝贵的,创建过多的线程会增加线程切换的开销。同步阻塞I/O,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要原创 2021-01-05 17:28:04 · 686 阅读 · 0 评论 -
I/O多路复用中的水平触发和边缘触发
I/O多路复用中的水平触发和边缘触发水平触发(level-triggered,也被称为条件触发)LT:只要满足条件,就触发一个事件。边缘触发(edge-triggered)ET:当状态变化时触发事件。JAVA 的 NIO 属于水平触发,而 epoll 既支持水平触发也支持边缘触发。epoll 性能高于 poll 很重要的一点便是 epoll 支持了边缘触发。在水平触发的情况下,必须不断的轮询监控每个文件描述符的状态,判断其是否可读或可写。内核空间中维护的 I/O 状态列表可能随时会被更新,因此用户程原创 2021-01-05 15:50:10 · 477 阅读 · 0 评论 -
深入浅出经典面试题:从浏览器中输入URL到页面加载发生了什么
可以参考链接https://www.cnblogs.com/confach/p/10050420.html原创 2020-08-14 09:16:18 · 158 阅读 · 0 评论