Linux网络编程
文章平均质量分 90
chenlilong84
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
判断接口是否已经打开并运行
#include #include #include #include #include #include #include #include #define IFNAMSIZ 16static int IsIfUp(char *ifname);int c;int main( int argc, char *argv[]){ char *ifname; i原创 2011-12-06 10:47:17 · 1158 阅读 · 0 评论 -
TCP常见失败模式
对比IP协议,TCP协议是一种可靠的协议,它的可靠性最主要体现在对各种复杂错误的修正与处理。当数据报从一端通过网络发往另一端的过程中,时时刻刻都会遇到数据报被损坏、数据报重复、乱序等常见问题, 现在我们以一个基于WAN传输的系统为例,在应用程序之间进行通信的过程中可能遇到以下常见的中断:暂时或者永久的网络紊乱、对等方应用程序出现崩溃(进程挂掉)以及对等方应用程序运行的主机出现崩原创 2013-11-04 09:44:48 · 2619 阅读 · 0 评论 -
GCC与静态库、共享库以及动态加载库
1. GCC中不同类型的文件:后缀内容.a 静态对象库文件.i已经进行预处理的C源文件.o对象文件(-c).s汇编语言代码(-S).so共享对象库文件 2. 常见命原创 2013-09-06 11:52:46 · 3500 阅读 · 0 评论 -
Liunx下Qos功能实现简析
根据OSI参考模型来分,Qos可以应用在如下两层:即上层协议(主要是应用层)与链路层以及物理层网卡发出数据处。前者是通过TC工具对上层协议数据实施Qos,原理就是首先在应用层对要处理的包或者流打上mark,然后利用TC工具多不同的流量实施不同的功能处理,如流量整形,优先级设置,调度与过滤等等,值得说明的是TC工具实质是一套中间件,功能最后均由内核去负责实现;至于后者的Qos,就是在网卡驱动处设置Q原创 2013-03-29 17:13:54 · 6141 阅读 · 0 评论 -
DNS资源记录与gethostbyname
1. DNS资源记录DNS资源记录类型主要有以下几种:A :A记录将主机名映射为IPV4地址,例如: ns.abc.com. IN A 192.168.100.5 mail1.abc.com. IN A 192.168.100.6 AAAA :AAAA记录将主机名映射为IPV6地址,格式同上。原创 2012-11-15 17:44:06 · 1873 阅读 · 0 评论 -
linux内核与用户之间的通信方式——虚拟文件系统、ioctl以及netlink
本文尝试去阐述内核与用户空间之间的通信接口:虚拟文件系统、ioctl以及netlink.文中所有的结构及代码全来自于Linux kernel 2.6.34.一、虚拟文件系统 proc文件系统,通常是挂载在/proc,允许内核以文件类型形式向用户提供内部信息,但是值得注意的是里面的文件目录不能被写入,即用户不能添加或者删除目录中的任何目录。同时,内核也提供了一个可供用户配置原创 2012-11-28 16:35:36 · 9989 阅读 · 0 评论 -
Linux下系统时间函数、DST等相关问题总结
1. 内核中时间的基本类型: 在Linux内核中,常见的时间类型有以下两种:系统时间(system time)和实时时间(real time),其实,方便理解,可以将二者分别认为是相对时间和绝对时间,同时它们分别对应于内核中的两个全局变量值:jiffies和xtime。 xtime: xtime值是从cmos电路中取得的时间,一般是从某个历史时刻(1原创 2012-08-30 16:03:11 · 6208 阅读 · 1 评论 -
TCP协议详解(理论篇)
1. 与UDP不同的是,TCP提供了一种面向连接的、可靠的字节流服务。面向连接比较好理解,就是连接双方在通信前需要预先建立一条连接,这犹如实际生活中的打电话。助于可靠性,TCP协议中涉及了诸多规则来保障通信链路的可靠性,总结起来,主要有以下几点: (1)应用数据分割成TCP认为最适合发送的数据块。这部分是通过“MSS”(最大数据包长度)选项来控制的,通常这种机制也被称为一种协商原创 2012-08-20 11:34:41 · 1450 阅读 · 0 评论 -
linux下write操作原理、错误原因及处理方法
1. write函数介绍(1)文件I/O与标准I/O之争: 根据《UNIX环境高级编程》中介绍,文件I/O与标准I/O之间的差别主要有以下几点:其一,文件I/O是在系统的内核中实现的,而标准I/O函数则提供了文件I/O函数的一个完整的带缓冲的替代品。因此说,文件I/O是一种较低级的I/O操作函数,而标准I/O则是一种相对较高的I/O。标准I/O函数将打开的文件模型抽象成“文件流”原创 2012-08-10 11:20:16 · 4930 阅读 · 0 评论 -
取得接口对应的MAC地址
#include #include #include #include #include #include #include #include #define IFNAMSIZ 16#define ETH_ALEN 6#define HWADDR_STR_LEN 18struct ifinf原创 2011-12-06 21:04:31 · 1647 阅读 · 0 评论 -
TCP存活检测机制
在阐述TCP提高检测连接存活状态之前,试想为什么在TCP协议设计以及实际开发中,为什么不提供即时的网络连接中断的通知呢?这方面主要有两个方面的原因,其一是这样会消耗掉大量的网络带宽,试想若存在着大量的不成熟的网络应用程序,网络带宽一定会消耗殆尽;其二则要从TCP设计之初说起,因为当年美国国防部设计TCP就是为了让在网络中断的情况下仍然通过其它途径维持通信的能力。目前Linux系统提供了KEEP_ALIVE机制去检测TCP的存活状态。原创 2014-01-21 17:59:06 · 4064 阅读 · 0 评论
分享