network -- 20




1 2

200x200


概述以太网、令牌环等等数据链路都有自己的寻址机制,通常地址是 48bit 的,这是使用数据链路的任何网络层都需要遵从的当一台主机接入以太网,把以太网数据帧发送到位于同一局域网的另一

#技术帖    #网络    #network    #ip   
概述iptables 是 linux 系统自带的防火墙,功能非常强大,可以方便的对网络访问权限进行配置,是服务器中的常用工具 安装并启动一般 linux 都是带有这个工具的,无需安装 centos 中的启动命令在 centos 及其他大多数 linux 发行版中执行下面的命令启动:/etc/init.d/iptables start 或:service iptables start  ubuntu 中的启动命令而 ubuntu 中并不存在 /etc/init.d/iptables 这个文件,所以无法使用上面的命令启动 iptables,需要使用 modprobe 命令modprobe ip_tables  iptables 的关闭centos 中的关闭命令与启动命令类似,centos 及其他大部分 linux 发行版中运行:/etc/init.d/iptables stop 或:service iptables stop  ubuntu 中的关闭命
#技术帖    #linux    #unix    #network   

200x200


概述随着访问量的上升,web 系统的压力越来越大,在这个过程中,面临很多问题而在网络层面上,由于数据暴增,单服务器开始疲于应对海量用户访问,就需要搭建负载均衡系统,让分布式集群分担压力所谓的

#技术帖    #linux    #unix    #网络   

200x200


上周阅读了一下 tinyhttpd 的源码,麻雀虽小,五脏俱全,精炼的500行代码实现了一个 http server然而,放到网上后,有人评论:为什么没有包含&

#技术帖    #网络    #network    #ip   

200x200


概述点分十进制的数值地址(如 112.126.74.142)这样的地址是很难记忆的,尤其是随着 IPv6 的推广,数值地址变得相当长,手工输入越来越不现实,所以需要函数在

#读书笔记    #技术帖    #linux    #unix   

200x200


概述linu 提供如下 IO 接口:read 和 write -- 最简单的读写函数readn 和 write

#读书笔记    #技术帖    #linux    #unix   
守护过程接下来,master 进程就要正式开始发挥他作为一个 daemon 进程的责任了,陷入循环,等待信号发生,做出相应处理ngx_new_binary = 0; delay = 0; sigio = 0; live = 1; for ( ;; ) { // 设定定时器,worker 定时退出 if (delay) { if (ngx_sigalrm) { sigio = 0; delay *= 2; ngx_sigalrm = 0; } ngx_log_debug1(NGX_LOG_DEBUG_EVENT, cycle->log, 0, "termination cycle: %d", delay); itv.it_interval.tv_sec = 0; itv.it_interval.tv_usec = 0; itv.it_value.tv_sec = delay / 1000; itv.it_value.tv_usec = (delay % 1000 ) * 1000; // 设定精确的定时功能,以系统时间计算 if (setitimer(ITIMER_REAL, &itv, NULL) == -1) { ngx_log_erro
#技术帖    #network    #龙潭书斋    #进程   
描述符传递进程间通信的另一种方式是直接使用已经打开的描述符,比如 socket 描述符,这样一个进程在这个描述符上写数据,一个进程在这个描述符上读数据,即可实现通信下面的方法可以传递已打开的描述符:fork 返回后,子进程与父进程共享所有已打开的描述符,同时,exec 执行后,一般已打开的描述符状态仍然会保持不变但是限制在于必须是父子进程间通信并且只能由父进程传递给子进程下面即将介绍的 socketpair 函数则没有这样的限制socketpair 函数int socketpair (int family, int type, int protocol, int sockfd[2]); 定义于 sys/socket.h调用成功返回非 0 的连接描述符,出错返回 -1 family 参数必须为 AF_LOCALprotocol 参数必须为 0type 参数可以选择 SOCK_STREAM 或 DGRAM_STREAM新创建的两个套接字描述符作为 sockfd[0] 和 sockfd[1] 返回type 为 SOCK_S
#读书笔记    #技术帖    #linux    #unix   
概述unix 域协议并不是一个实际的协议族,而是在单个主机上执行 C/S 通信的一种方式,是进程间通信的方法之一unix 域协议提供两类套接字:字节流套接字和数据报套接字,分别类似于 TCP 和 UDP,他所使用的 API 几乎等同于网络 C/S 通信所使用的 API优势与其他 IPC 方法相比,unix 域协议有以下优势:与两端位于同一个主机的 TCP 套接字相比,速度快一倍可以在同一主机的不同进程间传递描述符域套接字会将客户凭证(用户ID和组ID)提供给服务器,从而可以提供额外的安全措施unix 域套接字地址结构struct sockaddr_un { sa_family_t sun_family; /* AF_LOCAL */ char sun_path[140]; /* null-terminated pathname */ } 定义于 sys/un.h存放在sun_path数组中的路径名必须以空字符结尾,如果 sun_path 是一个空字符串,则等价于 IPv4 的 INADDR_ANY 或&n
#读书笔记    #技术帖    #linux    #unix   
daemon 进程关于 daemon 进程的介绍及创建以及需要注意的药店,请参考:daemon 守护进程 信号处理初始化nginx 有一个全局变量 signals,在 build configure 的时候写入到 os 目录下的 ngx_process.c 文件中,在不同的系统中取值不同,用来定义默认的信号处理方式// struct ngx_signal_t // 信号结构 {{{ typedef struct { int signo; char *signame; char *name; void (*handler)(int signo); } ngx_signal_t; // }}} // ngx_signal_t signals // 信号默认处理方式 {{{ ngx_signal_t signals[] = { { ngx_signal_value(NGX_RECONFIGURE_SIGNAL), "SIG" ngx_value(NGX_RECONFIGURE_SIGNAL), "reload", ngx_signa
#技术帖    #linux    #network    #c语言   
1 2



京ICP备15018585号