自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 Linux/UNIX写时复制技术

前言我们知道,早期的UNIX在fork()进程时,会将父进程的地址空间完整的复制一份,这个操作非常耗时,通常要进行如下步骤:为子进程的页表分配页面为子进程的页分配页面初始化子进程的页表把父进程的页复制到子进程对应的页中而现代的Unix及Linux采用了一种称为写时复制的技术,以达到推迟甚至避免复制数据的目的。正文写时复制的做法是,子进程和父进程在fork()时并不马上复制,而是暂时共享内存

2016-07-14 11:10:09 601

原创 TCP/IP详解(六)---UDP:用户数据报协议

什么是UDP?UDP(User Datagram Protocol),即用户数据包协议。工作在OSI七层模型的传输层,不同于TCP提供可靠的端到端连接,UDP不可靠,无需在客户和服务器之间建立一个连接,且没有超时重发等机制,QQ消息就是一种显著的UDP报文。 UDP首部UDP首部8个字节 TCP首部20个字节 IP首部20个字节 IP分片由于数据链路层限制了每次发送数据帧的最大长度

2016-05-23 18:08:00 1194

原创 TCP/IP详解(五)---IP选路

什么是IP选路?IP选路,即IP寻路,就是根据路由表中的记录,来决定当前数据报是直接交付(目的地址属于当前局域网)还是发往下一跳路由(隶属于不同的局域网)。 搜索匹配路由表的步骤搜索匹配的主机地址;搜索匹配网络地址;搜索默认表项(一般0.0.0.0) I P层进行的选路实际上是一种选路机制,它搜索路由表并决定向哪个网络接口发送分组。 这区别于选路策略,它只是一组决定把哪些路由放入路由表的

2016-05-22 13:12:10 4600

原创 TCP/IP详解(四)---ICMP:Internet控制报文协议

基本概念ICMP(Internet Control Message Protocol,网络控制报文协议),属于OSI七层模型中的网络层,与IP/UDP同属一层,可以将其看成IP、UDP协议功能的一个补充,因为以前说过,IP协议是不可靠的,其可靠性需借助其他模块来完成,比如下层的TCP协议,同层的ICMP提供了差错报文和查询报文来了解当前的网络状态。 ICMP查询报文和差错报文 基于ICMP的

2016-05-11 21:53:20 1014

原创 CRC校验详解及其在网络编程中的应用

基本概念CRC(Cyclic Redundancy Check,循环冗余校验),其实是个很古老的数据校验方法了,记得以前大学<<微机原理>>和<<微机原理与接口技术>>课程都对其进行了介绍,其校验准确度较之普通的奇偶校验、校验和等方法更高,当然计算也略微复杂;较之MD5、SHA1等算法,CRC安全性和准确度方面又略显不足,但计算较之这两者明显简单,效率更高。所以如果仅仅针对网络数据的一致性校验,即

2016-05-11 21:05:20 2538

转载 Socket send函数和recv函数详解

题记看到一篇比较好的,阐述Socket编程中send函数和recv函数的文章,特此转载过来。 正文send 函数int send( SOCKET s, const char FAR *buf, int len, int flags ); 不论是客户还是服务器应用程序都用send函数来向TCP连接的另一端发送数据。客户程序一般用send函数向服务器发送请求,而服务器则通常用send函

2016-05-11 16:51:41 557

原创 TCP/IP详解(三)---IP、ARP协议

基本概念毫无疑问,IP协议是TCP/IP协议簇中最重要的协议之一,全称Internet Protocol(网际协议),工作与OSI七层模型中的网络层,用于多个包交换(分组交换)网络(上篇文章提到网络层的信息单元‘数据包’)的连接,简单的说,通过IP协议,将所有的局域网都连接起来了。 IP协议的特点1.不可靠: 即不能保证IP数据报能成功地到达目的地,一般发送失败,即对数据报进行丢弃,任何可

2016-05-10 14:36:09 5563

原创 TCP/IP详解(二)---数据链路层、MTU

数据链路层的作用是什么?数据链路层的作用主要有三个: 1. IP数据报经路由寻址后,交由下层,也就是数据链路层进行转发。 2. 发送APR请求和应答ARP请求,IP—->MAC的转换。 3. 发送RARP请求和应答RARP请求,MAC—->IP的转换。这个不常用。 数据链路层主要协议数据链路层的主要协议有: 1. Point-to-Point Protocal,PPP点到点 2.

2016-05-10 11:55:46 4551

原创 TCP/IP详解(一)---入门知识

什么是TCP/IP?我们常说的TCP/IP协议并不是单指TCP协议和IP协议,而是指一组协议簇,其中包含了但不仅限于:TCP协议、IP协议、ICMP协议、POP协议、SMTP协议、FTP协议等。关于这些协议的定义和说明,在RFC文档里有详细描述,Request For Comments (RFC),是一系列以编号排定的文件,基本的因特网通讯协定都有在RFC文件内有详细说明。 为什么要有TCP/

2016-05-10 11:09:44 4976

原创 数据库的范式化和反范式化模型

在实际工作中,数据库数据模型的建立和选择对数据的“增删改查”具有直接影响,从基本角度来讲,数据模型具有“范式化”和“反范式化”两种,而在实际工作场景中,常依赖实际情况采取这两种模型混用。范式化范式化模型要求满足下面三大范式: 1. 每个字段只包含最小的信息属性。如果某个字段名称为name-age,value为zhangsan-23,则这个模型不满足第一范式,需要将name-age分为两个属性n

2016-04-28 10:14:35 4535

原创 nginx页面加载不全或提示502bad gateway,nginx反向代理端口号丢失

Nginx反向代理模式下出现页面加载不全,或直接出现502 bad gateway的情况。出现502 bad gateway的情况有很多,大多是一些nginx相关timeout的设置问题。下文讨论一种比较少见但又不得不注意的情况。出现环境nginx工作在反向代理模式下,监听非80端口(这点很重要,监听非80端口往往意味着用户准备配置多个虚拟主机,但不限于此情境),以ip形式访问(应该在域名访问的情

2016-04-12 13:48:33 22275 1

原创 Linux strace命令的妙用

由于所使用Linux系统进行了裁减,出现了无法解析域名的情况并且由于tcpdump和service的缺失,对于定位问题带来了一定的麻烦,不过还好strace命令可以用,下面就以解决dns无法解析为例,来说明strace妙用。 strace命令是一个集诊断、调试、统计与一体的工具,我们可以使用strace对应用的系统调用和信号传递的跟踪结果来对应用进行分析,以达到解决问题或者是了解应用工作过程的

2016-04-11 10:15:39 655

转载 nginx常见问题集锦

nginx常见问题及配置参考地址

2016-04-08 16:54:28 2068

转载 mongodb比较有用的查询技巧

最近看到一篇讲述mongodb查询操作比较好的文章,特此记录下来。这里我比较关系的一个操作是,mongodb数组怎样有效查询到是否存在重叠的情况,比如:配置了一条记录配置数组domain_name:[“sohu”,”baidu”,”yahoo”],另一条记录配置了domain_name:[“sohu”,”baidu”,”google”],这样两个数组就有数据重叠了,在有些配置环境下,这种重叠是不允

2016-04-08 13:58:04 3795

原创 写在前面的话

前言求学十余载,接触IT也3年有余,一直没有写博客的习惯,今听从好友建议,特开一博,以供交流学习之用。 正文博客的内容大致规划为一些:技术经验、相关外文技术文档文章的翻译、还有一些零星的生活工作感悟。后面也将陆续转移一些工作学习笔记到博客上来。 后记博客会尽量写一些稍微有价值的东西,若不出意外的话,博主会认真打理。

2016-03-20 14:34:51 265

提示
确定要删除当前文章?
取消 删除