计算机原理
文章平均质量分 71
kobejayandy
十多年互联网产品研发经验,历经华为、腾讯、字节跳动等公司,主要从事后端技术研发及技术管理工作(andyjaykobe)
展开
-
为什么集群需要 Overlay 网络
对计算机网络或者 Kubernetes 网络稍有了解的工程师都应该听说过延展网络(Overlay Network),Overlay 网络其实并不是一门新技术,它是指构建在另一个网络上的计算机网络1,这是一种网络虚拟化技术的形式,近年来云计算虚拟化技术的演进促进了网络虚拟化技术的应用2。图 1 - 延展网络因为 Overlay 网络是建立在另一个计算机网络之上的虚拟网络,所以它不能独立出现,Overlay 底层依赖的网络就是 Underlay 网络,这两个概念也经常成对出现。Underlay转载 2020-07-31 00:35:09 · 726 阅读 · 0 评论 -
HTTP代理原理以及HTTP隧道技术
HTTP代理原理以及HTTP隧道技术 通过HTTP协议与代理服务器建立连接,协议信令中包含要连接到的远程主机的IP和端口号,如果有需要身份验证的话还需要加上授权信息,服务器收到信令后首先进行身份验证,通过后便与远程主机建立连接,连接成功之后会返回给客户端200,表示验证通过,就这么简单,下面是具体的信令格式:CONNECT 124.xxx.xxx.xx:443 HTT转载 2014-04-27 23:17:18 · 4993 阅读 · 0 评论 -
一个数据包的互联网漫游记
尽管大多数最终用户都不关心Internet是如何工作的,但是我相信你们当中的仍然会有一些人对Internet运转的基本原理非常感兴趣。在这篇文章中,我们会通过阐释一个数据包从源到目的地的征程,来试着拨开互联网的第一层神秘面纱。由此出发,我们会尽量让本文的内容保持简单基础。在更进一步之前,让我们先快速简要地理解一下DHCP和DNS的概念。DHCP你有没有想过你的计算机转载 2014-03-29 22:35:41 · 908 阅读 · 0 评论 -
协程与例程
协程(coroutine)技术是一种程序控制机制,早在上世纪60年代就已提出,用它可以很方便地实现协作式多任务。协程是一种程序组件,是由子例程的概念泛化而来的,子例程只有一个入口点且只返回一次,而协程允许多个入口点,可以在指定位置挂起和恢复执行。被广为引用的协程定义:•协程的本地数据在后续调用中始终保持•协程在控制离开时暂停执行,当控制再次进入时只能从离开的位置继续执行在协转载 2014-01-18 16:12:04 · 2234 阅读 · 0 评论 -
关于线程Thread和协程Coroutine
线程与协同程序的主要区别在于,一个具有多线程的程序可以同时运行几个线程,而协同程序却需要彼此协作地运行。就是说,一个具有多个协同程序的程序在任何时刻只能运行一个协同程序,并且正在运行的协同程序只会在其显示地挂起时,它的执行才会暂停。线程和协程的异同协程(Coroutine)类似于线程(Thread)的地方是:每个协程都有有自己的堆栈,自己的局部变量。线程和协程的主要区别在于:转载 2014-01-18 17:26:35 · 2945 阅读 · 1 评论 -
TCP协议疑难杂症全景解析
说明:1).本文以TCP的发展历程解析容易引起混淆,误会的方方面面2).本文不会贴大量的源码,大多数是以文字形式描述,我相信文字看起来是要比代码更轻松的3).针对对象:对TCP已经有了全面了解的人。因为本文不会解析TCP头里面的每一个字段或者3次握手的细节,也不会解释慢启动和快速重传的定义4).除了《TCP/IP详解》(卷一,卷二)以及《Unix网络编程》以及Linux源代码之外,转载 2014-01-12 15:28:59 · 1446 阅读 · 1 评论 -
ASCII码表
ASCII码大致可以分作三部分組成。第一部分:ASCII非打印控制字符表ASCII表上的数字0–31分配给了控制字符,用于控制像打印机等一些外围设备。例如,12代表换页/新页功能。此命令指示打印机跳到下一页的开头。(参详ASCII码表中0-31)第二部分:ASCII打印字符数字 32–126 分配给了能在键盘上找到的字符,当您查看或打印文档时就会出现。数字127代表 DELETE转载 2013-12-20 14:39:53 · 943 阅读 · 0 评论 -
正向代理/反向代理/透明代理
1、正向代理(forward)是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。2、反向代理(reverse proxy)正好相反,对于客户端而言它就像是原始服务器,并且客户端不需要进行任何转载 2014-01-04 14:38:54 · 1051 阅读 · 0 评论 -
TIME_WAIT和CLOSE_WAIT状态区别
在服务器的日常维护过程中,会经常用到下面的命令:netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' 它会显示例如下面的信息:TIME_WAIT 814CLOSE_WAIT 1FIN_WAIT1 1ESTABLISHED 634SYN_RECV 2LAST_ACK 1常用的三转载 2013-12-29 17:15:34 · 45299 阅读 · 2 评论 -
【TCP连接状态详解】
下面是每一个TCP连接在任意时刻可能处于的状态,在Linux下可以在netstat命令的最后一列(State列)里看到。各个状态的含义如下:CLOSED :初始状态,表示TCP连接是“关闭着的”或“未打开的”。 LISTEN :表示服务器端的某个SOCKET处于监听状态,可以接受客户端的连接。 SYN_RCVD :表示接收到了SYN报文。在正常情况下,这个状态是服务器端的S转载 2013-07-22 23:24:14 · 1070 阅读 · 0 评论 -
内网、外网IP地址
公网、内网是两种Internet的接入方式 内网接入方式:上网的计算机得到的IP地址是Inetnet上的保留地址,保留地址有如下3种形式: 10.x.x.x 172.16.x.x至172.31.x.x 192.168.x.x 内网的计算机以NAT(网络地址转换)协议,通过一个公共的网关访问Internet。内网的计算机可向Internet上转载 2013-12-29 17:35:49 · 1816 阅读 · 1 评论 -
HTTP GET/CONNECT代理区别
举例说明:http proxy server : 127.0.0.1 8080access web site: www.example.com/index.php 1) 无代理:GET /index.php HTTP/1.1HOST: www.example.comUser-Agent: Mozilla/5.0 (Windows; U; Windows N转载 2014-04-27 23:24:22 · 6863 阅读 · 0 评论 -
TCP网络协议以及其思想的应用
TCP网络协议以及其思想的应用转载 2014-05-31 23:54:11 · 1042 阅读 · 0 评论 -
HTTPS 能否避免流量劫持?
HTTPS 能否避免流量劫持?近日,看了一篇关于流量劫持的文章《安全科普:流量劫持能有多大危害?》,作者EtherDream以图文并茂的形式详细讲解了流量劫持及相关知识。“在如今这个讲究跨平台、体验好,并有云端支持的年代,WebApp 越来越火热。各种应用纷纷移植成网页版,一些甚至替代了客户端。同时,也造就了流量劫持前所未有的势头。”小编总结,这里提到的流量劫持危害,大多跟Http转载 2016-07-09 20:37:47 · 8994 阅读 · 0 评论 -
理解数据库中的undo日志、redo日志、检查点
数据库存放数据的文件,本文称其为data file。数据库的内容在内存里是有缓存的,这里命名为db buffer。某次操作,我们取了数据库某表格中的数据,这个数据会在内存中缓存一些时间。对这个数据的修改在开始时候也只是修改在内存中的内容。当db buffer已满或者遇到其他的情况,这些数据会写入data file。undo,redo日志在内存里也是有缓存的,这里将其叫做lo转载 2016-03-14 13:34:25 · 23164 阅读 · 4 评论 -
三种基本的存储引擎比较
1、Hash存储引擎代表数据库:redis、memcache等通常也常见于其他存储引擎的查找速度优化上。 Hash 索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以 Hash 索引的查询效率要远高于 B-Tree 索引。虽然 Hash 索引效率高,但是 Hash 索引本身由于其特殊性转载 2016-04-05 14:00:16 · 9046 阅读 · 1 评论 -
RAID详解[RAID0/RAID1/RAID10/RAID5]
一.RAID定义RAID(Redundant Array of Independent Disk 独立冗余磁盘阵列)技术是加州大学伯克利分校1987年提出,最初是为了组合小的廉价磁盘来代替大的昂贵磁盘,同时希望磁盘失效时不会使对数据的访问受损 失而开发出一定水平的数据保护技术。RAID就是一种由多块廉价磁盘构成的冗余阵列,在操作系统下是作为一个独立的大型存储设备出现。RAID可以充分发 挥出多转载 2016-01-06 00:31:49 · 799 阅读 · 0 评论 -
常见数字证书及协议介绍
证书主要的文件类型和协议有: PEM、DER、PFX、JKS、KDB、CER、KEY、CSR、CRT、CRL 、OCSP、SCEP等。PEM – Openssl使用 PEM(Privacy Enhanced Mail)格式来存放各种信息,它是 openssl 默认采用的信息存放方式。Openssl 中的 PEM 文件一般包含如下信息:内容类型:表明本文件存放的是什么信息内容,它的形转载 2015-03-14 22:18:39 · 1298 阅读 · 0 评论 -
SSL证书申请、颁发说明
SSL证书申请、颁发说明创建证书步骤一般情况下,制作证书要经过几个步骤,如上图所示。首先用openssl genrsa生成一个私钥然后用openssl req生成一个签署请求最后把请求交给CA,CA签署后就成为该CA认证的证书如果生成签署请求时加上-x509参数,那么就直接生成一个self-signed的证书,即自己充当CA认证自己。如果您只是想做一转载 2015-03-14 21:54:23 · 981 阅读 · 0 评论 -
HTTPS那些事(一)HTTPS原理
谣言粉碎机前些日子发布的《用公共WiFi上网会危害银行账户安全吗?》,文中介绍了在使用HTTPS进行网络加密传输的一些情况,从回复来看,争议还是有的。随着网络越来越普及,应用越来越广泛,一些网络安全问题也会越来越引起网民的关注,在这里和大家一起聊聊TLS/SSL也就是我们常说的HTTPS,从原理到实际应用看清它到底是怎么一回事,以及在使用HTTPS要注意哪些问题以及相关的安全技巧。网络安全是一转载 2015-03-14 22:54:15 · 1116 阅读 · 0 评论 -
内存屏障
本文我将和大家讨论并发编程中最基础的一项技术:内存屏障或内存栅栏,也就是让一个CPU处理单元中的内存状态对其它处理单元可见的一项技术。CPU使用了很多优化技术来实现一个目标:CPU执行单元的速度要远超主存访问速度。在上一篇文章 “Write Combing (合并写)”中我已经介绍了其中的一项技术。CPU避免内存访问延迟最常见的技术是将指令管道化,然后尽量重排这些管道的执行以最大化利用缓存转载 2014-11-12 00:13:33 · 766 阅读 · 0 评论 -
防火墙的目标地址转换和源地址转换
遇到一起防火墙故障,对防火墙的工作原理和目标地址转换、 源地址转换有了进一步的了解,记录于此。结果说在前面 网络结构非常简单:外网-防火墙-内网。内网中架有网站,在外网使用域名访问。 内网中机器需要上外网,也需要用域名互访。 在这种情况下,地址转换规则应当这样配:外网访问内网,只需要做目标地址转换,不需要做源地址转换。内网通过域名访问内网,除了做目标地址转换,还转载 2014-05-31 23:55:43 · 25216 阅读 · 1 评论 -
HTTP1.0与HTTP1.1的区别
下面主要从几个不同的方面介绍HTTP/1.0与HTTP/1.1之间的差别,当然,更多的内容是放在解释这种差异背后的机制上。1 可扩展性可扩展性的一个重要原则:如果HTTP的某个实现接收到了自身未定义的头域,将自动忽略它。Ø 在消息中增加版本号,用于兼容性判断。注意,版本号只能用来判断逐段(hop-by-hop)的兼容性,而无法判断端到端(end-to-end)的兼容性。例如,一台转载 2013-11-24 21:24:52 · 1212 阅读 · 0 评论 -
Web安全之CSRF
一.CSRF是什么? CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。二.CSRF可以做什么? 你这可以这么理解CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取你的账号,甚转载 2013-11-23 23:25:26 · 1195 阅读 · 1 评论 -
HTTP协议 (五) 代理
之前写过一个篇 【HTTP协议详解】 ,这次介绍代理服务器, 代理服务器是HTTP协议中一个重要的组件, 发挥着重要的作用。 本文介绍一些HTTP代理服务器的概念和工作原理 阅读目录什么是代理服务器Fiddler就是个典型的代理代理作用一:翻墙代理作用二:匿名访问代理作用三:通过代理上网代理作用四:通过代理缓存,加快上网速度代理作用五:儿童过滤器IE代理设置:手动设置代理IE代转载 2013-11-23 22:58:58 · 1162 阅读 · 0 评论 -
TCP连接状态图解析
TCP协议连接建立时3次握手的过程: TCP协议连接断开时4次握手的过程:原创 2013-07-22 23:18:55 · 1007 阅读 · 0 评论 -
TPS和QPS的区别
一、TPS:Transactions Per Second(每秒传输的事物处理个数),即服务器每秒处理的事务数。TPS包括一条消息入和一条消息出,加上一次用户数据库访问。(业务TPS = CAPS × 每个呼叫平均TPS)TPS是软件测试结果的测量单位。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完转载 2013-07-18 23:42:02 · 97352 阅读 · 2 评论 -
TCP三次握手/四次挥手详解
TCP连接三次握手:在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。 第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认; 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器 进入SYN_RECV状态; 第转载 2013-07-14 20:50:10 · 1599 阅读 · 0 评论 -
3个著名加密算法(MD5、RSA、DES)的解析
1.加密算法之MD5算法MD5的全称是Message-Digest Algorithm 5,在90年代初由MIT的计算机科学实验室和RSA Data Security Inc发明,经MD2、MD3和MD4发展而来。 MD5将任意长度的“字节串”变换成一个128bit的大整数,并且它是一个不可逆的字符串变换算法,换句话说就是,即使你看到源程序和算法描述,也无法将一个MD5的值变换回原始转载 2013-06-13 22:42:22 · 1199 阅读 · 0 评论 -
深入浅出异步I/O模型
从上篇文章的介绍我们知道linux内核根据TCP/IP网络模型,给我们隐藏了传输层以下的网络传输细节,我们的网络应用程序只需要针对socket编程即可。这篇我们立足网络数据包的I/O。谈谈linux的一些I/O知识,以及Java的NIO. 1. 基础知识 我们知道Linux的内核将所有外部设备都可以看做一个文件来操作。那么我们对与外部设备的操作都可以看做对文件进行操作。我们对一转载 2013-05-23 23:24:19 · 2118 阅读 · 0 评论 -
正则表达式语法介绍
字符集合 说明 ^ 匹配输入字符串的开始位置。要匹配 "^" 字符本身,请使用 "\^" $ 匹配输入字符串的结尾位置。要匹配 "$" 字符本身,请使用 "\$" ( ) 标记一个子表达式的开始和结束位置。要匹配小括号,请使用 "\(" 和 "\)" [ ] 用来自定义能够匹转载 2013-05-04 15:13:37 · 900 阅读 · 0 评论 -
从谷歌宕机事件认识互联网工作原理
译者注:本文中提到 CloudFlare 是一家总部位于美国旧金山的内容分发网络(CDN)服务公司,由 Project Honey Pot 项目的三位前开发人员成立于 2009 年。2011 年 10 月被华尔街日报评为最具创新精神的网络科技公司。 今天,谷歌的服务经历了短暂的宕机事件,持续大概 27 分钟,对部分地区的互联网用户造成了影响。此次事件的原因深究起来需要进入互联网络那深邃的、黑转载 2013-03-17 23:59:41 · 911 阅读 · 0 评论 -
互联网协议入门
我们每天使用互联网,你是否想过,它是如何实现的? 全世界几十亿台电脑,连接在一起,两两通信。上海的某一块网卡送出信号,洛杉矶的另一块网卡居然就收到了,两者实际上根本不知道对方的物理位置,你不觉得这是很神奇的事情吗? 互联网的核心是一系列协议,总称为"互联网协议"(Internet Protocol Suite)。它们对电脑如何连接和组网,做出了详尽的规定。理解了这些协议,就理解了互联网转载 2013-03-17 23:26:00 · 894 阅读 · 0 评论 -
CDN(内容分发网络)技术原理
1. 前言 Internet的高速发展,给人们的工作和生活带来了极大的便利,对Internet的服务品质和访问速度要求越来越高,虽然带宽不断增加,用户数量也在不断增加,受Web服务器的负荷和传输距离等因数的影响,响应速度慢还是经常抱怨和困扰。解决方案就是在网络传输上利用缓存技术使得Web服务数据流能就近访问,是优化网络数据传输非常有效的技术,从而获得高速的体验和品质保证。 网络缓存技术转载 2013-03-17 23:57:32 · 1075 阅读 · 0 评论 -
图解HTTPS
我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取。所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议。 HTTPS简介 HTTPS其实是有两部分组成:HTTP + SSL / TLS,也就是在HTTP上又加了一层处理加密信息的模块。服务端和客户端的信息传输都会通过TLS进行加密,所以传输的数据都是加密后的数据。具体是如何进行加密,解密,验证的,且看下图。转载 2013-03-17 23:23:32 · 939 阅读 · 0 评论 -
TCP三次握手/四次挥手的作用
1.为什么建立连接协议是三次握手,而关闭连接却是四次握手呢? 这是因为服务端的LISTEN状态下的SOCKET当收到SYN报文的建连请求后,它可以把ACK和SYN(ACK起应答作用,而SYN起同步作用)放在一个报文里来发送。但关闭连接时,当收到对方的FIN报文通知时,它仅仅表示对方没有数据发送给你了;但未必你所有的数据都全部发送给对方了,所以你可以未必会马上会关闭SOCKET,也即你可能还需要发送转载 2013-07-22 22:40:53 · 2067 阅读 · 0 评论 -
TCP 连接状态图 (TCP Connection State Diagram)
转载 2013-07-22 23:00:07 · 1246 阅读 · 0 评论 -
HTTP协议 (二) 基本认证
http协议是无状态的, 浏览器和web服务器之间可以通过cookie来身份识别。 桌面应用程序(比如新浪桌面客户端, skydrive客户端)跟Web服务器之间是如何身份识别呢? 阅读目录什么是HTTP基本认证HTTP基本认证的过程HTTP基本认证的优点每次都要进行认证HTTP基本认证和HTTPS一起使用就很安全HTTP OAuth认证其他认证客户端的使用 什么是HTTP转载 2013-11-23 22:56:08 · 2080 阅读 · 0 评论 -
HTTP协议 (一) HTTP协议详解
当今web程序的开发技术真是百家争鸣,ASP.NET, PHP, JSP,Perl, AJAX 等等。 无论Web技术在未来如何发展,理解Web程序之间通信的基本协议相当重要, 因为它让我们理解了Web应用程序的内部工作. 本文将对HTTP协议进行详细的实例讲解,内容较多,希望大家耐心看。也希望对大家的开发工作或者测试工作有所帮助。使用Fiddler工具非常方便地捕获HTTP Request和HT转载 2013-11-23 22:55:18 · 1618 阅读 · 0 评论 -
Web安全之XSS
XSS 全称(Cross Site Scripting) 跨站脚本攻击, 是Web程序中最常见的漏洞。指攻击者在网页中嵌入客户端脚本(例如JavaScript), 当用户浏览此网页时,脚本就会在用户的浏览器上执行,从而达到攻击者的目的. 比如获取用户的Cookie,导航到恶意网站,携带木马等。作为测试人员,需要了解XSS的原理,攻击场景,如何修复。 才能有效的防止XSS的发生。转载 2013-11-23 23:08:56 · 1064 阅读 · 0 评论