计算机基础


我是一个线程

TCP/IP 之 大明邮差

TCP/IP 之 大明内阁

TCP/IP 之 蓟辽督师

CPU 阿甘

CPU 阿甘之烦恼

我是一个网卡

我是一个路由器

我是一个进程

我是一块硬盘(上)

我是一块硬盘(下)

我是一个键盘

张大胖的socket

张大胖学递归

操作系统是个大骗子?

编程世界的那把锁

加锁还是不加锁,这是一个问题

那些烦人的同步和互斥问题

一个翻译家族的发家史

Fork:你要选择哪条路?

张大胖和CAP定理...

Continue reading >>

思科路由器&交换机多VLAN公司组网实例

需求

  1. 某公司有三个部门,要使三个部门可以访问互联网,但各个部门之间不能相互访问。

  2. 内网有一台服务器,所有人都要能访问到,而且要对内外提供HTTP、DNS服务。

  3. 三个部门的机器均使用动态IP上网,服务器使用静态IP上网。

  4. ISP提供静态IP接入,只提供一个外网IP,IP地址1.1.1.1,子网掩码255.255.255.0,网关:1.1.1.254(瞎编的)。...

Continue reading >>

在网络分析中,读懂TCP序列号和确认号在的变化趋势,可以帮助我们学习TCP协议以及排查通讯故障,如通过查看序列号和确认号可以确定数据传输是否乱序。但我在查阅了当前很多资料后发现,它们大多只简单介绍了TCP通讯的过程,并没有对序列号和确认号进行详细介绍,结合实例的讲解就更没有了。近段时间由于工作的原因,需要对TCP的序列号和确认号进行深入学习,下面便是我学习后的一些知识点总结,希望对TCP序列号和确...

Continue reading >>

I/O模型

UNIX下可用的I/O模型:

  • 阻塞式I/O;

  • 非阻塞式I/O;

  • I/O复用(select,poll,epoll...);

  • 信号驱动式I/O(SIGIO);

  • 异步I/O(POSIX的aio_系列函数);

再看POSIX对这两个术语的定义:

  • 同步I/O操作:导致请求进程阻塞,直到I/O操作完成;

  • 异步I/O操作:不导致请求进程阻塞。

好,下面我用我的语言来总结一下阻塞,非阻塞,同步,异步

  • 阻塞,非阻塞:进程/线...

Continue reading >>

IP地址


IP地址被用来给Internet上的电脑一个编号。大家日常见到的情况是每台联网的PC上都需要有IP地址,才能正常通信。我们可以把“个人电脑”比作“一台电话”,那么“IP地址”就相当于“电话号码”,而Internet中的路由器,就相当于电信局的“程控式交换机”。 
IP地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节)。IP地址通常用“点分十进制”表示成(...

Continue reading >>

这是做路由器的时候,学习网络地址转换Network Address Translation后的一些理解整理,主要通过实例和图表的方式展示了NAT的工作原理和每个阶段的状态。本文的NAT是基本于Linux下的iptables命令实现。

1 概述

1.1 简介

NAT英文全称是“Network Address Translation”,中文意思是网络地址转换,它是一个IETF(Internet Engi...

Continue reading >>