网络基础知识
mythfish
这个作者很懒,什么都没留下…
展开
-
多clinet的C/S程序设计
(摘抄自:TCP/IP 应用程序的通信连接模式 http://www.ibm.com/developerworks/cn/aix/library/0807_liugb_tcpip/index.html)(注:代码实现可以在这里找到http://blog.csdn.net/mythfish/archive/2008/11/17/3321789.aspx)一、连接建立(1)利用一个clinet连接一个原创 2008-08-01 13:09:00 · 1421 阅读 · 0 评论 -
BSD net源码分析(1)
本节从ifnet结构开始解析,ifnet结构包含了接口的通用信息,每个接口都以该结构开始,末尾附带不同接口的特殊信息。系统初始化的时候将所有接口的ifnet结构构成一个链表。struct ifnet { char *if_name; /* name, e.g. ``en or ``lo */ struct ifnet *if_next;原创 2008-10-20 20:07:00 · 955 阅读 · 0 评论 -
BSD net源码分析(2-2)
二、以太网接口接收数据帧 当接口接收到发送给该接口的单播地址和广播地址的帧,帧可用时,触发一个中断,并且内核调用驱动函数函数leintr()。 leintr()函数内部根据硬件寄存器的值,判断是什么中断,如果是LE_RINT状态,调用lerint处理接收的数据,如果是LE_TINT,调用lexint做输出数据处理。 其他的状态,程序会更新接口的统计,并调用lereset重设接口原创 2008-10-22 18:11:00 · 970 阅读 · 0 评论 -
BSD net源码分析(2-1)
本节介绍以太网接口相关内容一、以太网接口的初始化 内核初始化函数cpu_startup查找连接的网络设备,当识别到网络后,设备专用的初始化函数被调用。 设备驱动程序为每个接口初始化一个专用的ifnet结构,并调用if_attach把这个结构插入到接口链表中。 le_softc结构存储了以太网接口的所有信息,其中的第一个成员arpcom包含了所有以太网接口通用的信息。其他部分为以太原创 2008-10-22 18:09:00 · 1167 阅读 · 0 评论 -
BSD net源码分析(2-4)
四、以太网接口的配置系统提供了系统调用ioctl函数为一个进程访问一个设备的标准系统所不支持的特性。int ioctl(int fd, unsigned long com,...);fd 是一个描述符,通常是一个设备和网络连接,com 指示ioctl函数所要执行的命令类型,第三个参数是可变的,由第二个参数决定他的内容。进程通过指定接口的fd,访问接口的特性。以下是网络接口所使用的几个命令以及对应的原创 2008-10-27 22:49:00 · 883 阅读 · 0 评论 -
BSD net源码分析(2-3)
三、以太网接口数据输出当网络层协议调用接口ifnet结构体中的if_output时,开始输出。所有以太网设备的if_output都指向ether_output函数,该函数封装以太网的头部,并将数据输入到接口的发送队列。(1)验证接口状态:主要是接口状态的校验,判断接口是否启用。/******************************************************/ i原创 2008-10-26 21:35:00 · 845 阅读 · 0 评论 -
多clinet的C/S程序设计──样列代码
/* tcp_server.c*/#include #include #include #include #include #include #include #define MAXPENDING 5 /* max client requests */#define BUFFSIZE 32int die(char *mess) {fprintf(stdout, mess); return 1;}i原创 2008-11-17 22:19:00 · 893 阅读 · 0 评论 -
BSD net源码分析(3)──SLIP接口
本节将介绍SLIP接口一、SLIP接口概述SLIP接口通过一个标准的异步串行线与一个远程系统通信。通过SLIP帧为上层承载IP分组。每个分组使用0xc0来隔开,如果分组中出现该字符,需要该字符前填充字符0xdb,并将该字符转换为0xdc。如果字符中出现0xdb,在字符前填充0xdb,并替换字符为0xdd。SLIP接口依靠一个异步串行设备驱动器来发送和接收数据,驱动器称为tty。tty子系统包括一个原创 2008-11-23 18:19:00 · 2128 阅读 · 0 评论