12.1 路由核心数据结构 路由分为策略路由和多路路由,策略路由会参考用户设置的一些路由策略。路由可以使 用 tcp/ip 分析的下篇系列文章之一中的 route 和 ip route 工具设置。路由分为路由部分包括 三大块,路由缓存、路由表、路由信息查找。策略路由常用于安全和统计(经济)方面。多路 路由允许对于一个给定的目的地址分配多个下一跳入口。这常被用于主备(可靠性、鲁棒性) 路由。 路由表的构建途径: 通过用户命令[route(ioctl) 、ip route(netlink)]静态配置 通过路由协议动态配置,这些协议是 BGP(Border Gateway Protocol)、EGP(Exterior Gateway Protocol)以及 OSPF(Open Shortest Path First) 这一章的内容基于 route 方法,其它的配置路由的方法不在这章中,但是上面的方法区 别在于配置方法,而对应调用的路由核心函数以及操作的核心路由数据结构是一样的,这章 的主要内容就是关于这些和核心函数和核心数据结构的。 路由相关数据结构在 include/net/route.h struct ip_rt_acct { __u32 o_bytes; //发送数据的字节数 __u32 o_packets; __u32 i_bytes; __u32 i_packets; }; 这个结构体在 ip_rcv_finish中被使用到,由于网络数据包的统计,分别按照 byte和 packet 两种方法计数,ip_rcv_finish 在网络层接收中分析过,这里会再一次看到在网络层被跳过的 关于路由相关的代码,下面的代码片段就是上面统计信息被赋值的一个地方: static int ip_rcv_finish(struct sk_buff *skb) { #ifdef CONFIG_IP_ROUTE_CLASSID if (unlikely(skb_dst(skb)->tclassid)) { struct ip_rt_acct *st = this_cpu_ptr(ip_rt_acct); u32 idx = skb_dst(skb)->tclassid; st[idx&0xFF].o_packets++; st[idx&0xFF].o_bytes += skb->len; st[(idx>>16)&0xFF].i_packets++; st[(idx>>16)&0xFF].i_bytes += skb->len; } #endif } 由上面的使用可以知道,定义了基于路由的分类器就会使用该字段。该字段根据 idx 索 引可构成具有 256 个成员的数组。其初始化在 ip_rt_init 中完成。 rt_cache_stat 路由表缓存的统计信息,除了输入输出路由信息统计,还有垃圾回收信息。 fib_result 查找路由表会得到此结构。 struct fib_result { unsigned char prefixlen; unsigned char nh_sel; unsigned char type;
2022-12-21 16:40:48 4.07MB Linux TCP/IP 协议栈
1
文档包含十个网络编程课程实验的详细实验报告 程序系统结构 程序设计说明 函数说明 设计说明以及程序测试 信息工程学院参考
2022-12-20 22:36:11 1.18MB  网络编程 实验报告 TCP UDP
1
客户端能够查看服务器所在路径的所有文件,同时还能够下载服务器所在路径的所有文件并且也能够上传文件,通过使用多线程编程的方式还可以实现并发连接。
2022-12-20 16:51:33 7KB c语言 tcpip
1
tcp 程序设计 c语言。使用c来编写tcp程序
2022-12-19 22:28:58 188KB tcp 程序设计 c语言
1
此项目,在QT4.8.2版本可直接运行,博主开发不易,拒绝白嫖,本人亲测,项目bug基本没有,可直接下载解压后在相同环境下运行,这个项目运用了qt自带的数据库进行编写,里面蕴含了tcp的网络协议,有用户端和服务器端,可以实现用户注册登录和游戏积分的获取,项目在背景和图片的取用上非常细心,游戏里带有QGraphicsView、QFraphicsItem和QGraphicsScene三个游戏框架类,下载者需要了解这三大类的关系,其中涵盖了很多定时器的使用,还有一些对象池的使用,实现难度对于初学者较大,对于中学者适用。(项目开发不易,拒绝白嫖,拒绝白嫖,拒绝白嫖)
2022-12-19 19:21:20 50.14MB qt 飞机大战 sqlite3 tcp协议
1
使用图解TCP/IP原理,通俗易懂
2022-12-19 17:18:00 16.82MB TCP/IP
1
---== TCP&UDP测试工具 V1.02 ==--- 软件介绍: 此测试工具用于开发网络通讯程序时,在服务器或客户端测试TCP/UDP通讯连接和测试数据的接收和发送情况。 1.可收发TCP/UDP数据。 2.对于TCP,支持服务器和客户端模式。 3.支持多连接,可同时对多路网络连接进行操作。 4.对于UDP,支持组播方式。 5.可显示当前数据传输速度。 6.数据显示方式分为ASCII和HEX两种。 7.可发送文件。 8.可把接收到的数据实时保存到文件。
2022-12-19 16:39:41 1.77MB TCP UDP 测试工具 开发工具
1
TCP协议报文格式和协议解析
2022-12-19 13:17:34 187KB 计算机网络
1
VS2010进行开发,没有使用现成的模块,分为TCPClient和TCPServer;通信协议的简单程序实例demo;如果觉得编译遇到小问题,欢迎13820238372随时联系。
2022-12-18 22:08:27 250KB c# TCP 通信协议程序demo
1
tcp客户端和服务端模拟工具。超方便
2022-12-18 18:18:45 549KB tcp nio
1