-
The path "/usr/bin/gcc" is not valid path to the gcc binary
所属栏目:[Linux] 日期:2016-09-29 热度:200
安装 VMWare tools 时出现The path /usr/bin/gcc is not valid path to the gcc binary 环境:Vmware 8.0+RedHat 9.0 问题:安装 VMWare tools 时询问GCC安装位置,出现The path /usr/bin/gcc is not valid path to the gcc binary。查询是否安装了GCC,显[详细]
-
当云端嫁给Ylmf OS
所属栏目:[Linux] 日期:2016-09-29 热度:79
自我感觉不是个新技术控,对于互联网的新技术总慢半拍的人。由于,最近渐渐接触LINUX..不好意思,我奥特曼了。 Ylmf os 操作系统。不知道有多少人有接触过。有想有体验过的同行也是在虚拟机下吧!关于这个操作系统,貌似去年 有在虚拟机上装过一下。貌似是[详细]
-
性能测试工具curl-loader二---测试分析
所属栏目:[Linux] 日期:2016-09-29 热度:69
副标题#e# 本文在第一篇的基础上讲解,如果你还没有安装curl-loader性能测试工具。请先参考《性能测试工具curl-loader(linux)》 这一节具体分析一下curl-loader的使用,以及各项参数的含义。 简单的性能测试与要求环境: ------- -------------------------[详细]
-
性能测试工具curl-loader(linux)
所属栏目:[Linux] 日期:2016-09-29 热度:202
副标题#e# curl-loader介绍 curl-loader(也被称为omes-NIK和davilka)是一个开源的C语言编写的工具,模拟应用负 载和成千上万的几十万人的HTTP / HTTPS和FTP/ FTPS的客户端应用程序的行为,每个有其自己的源IP地址。相反,其他curl- loader使用真正的C编写[详细]
-
Linux文件传输与mysql数据库安装
所属栏目:[Linux] 日期:2016-09-29 热度:104
副标题#e# 文件传输工具使用 为了速成,关于linux系统的学习都先放一放,用到哪个知识点就查哪个,这里想在linux下装一些 服务练练手,最先想到的就是装个mysql数据库试试。 因为我用的是虚拟机下的linux,而且虚拟机还是精简版的。一直 琢磨着怎么把window[详细]
-
Linux安装与硬盘分区
所属栏目:[Linux] 日期:2016-09-29 热度:201
副标题#e# 相信很多人对linux充满了喜爱,尤其是技术人员,玩惯了winddows更想尝试一下这个系统。关于它的优点多多,当然,你的 好你的坏,用过才明白!下面我这个菜鸟也来玩装个玩玩。 我不会那么冲动,上来就把自己的电脑系统换成linux的,那 样我就傻眼[详细]
-
Linux内核实践 - 如何添加网络协议[三]:实现
所属栏目:[Linux] 日期:2016-09-29 热度:73
副标题#e# 内核版本:2.6.34 接上篇《添加网络协议》。 为了用户方便查看brcm设备的工作状态,使用proc文件系统是很好的方 式。一个网络协议模块可以注册到网络空间中register_pernet_subsys(),这个函数会为子空间分配一个id号,通过id可以在网 络空间中找[详细]
-
Linux内核实践 - 如何添加网络协议[二]:实现
所属栏目:[Linux] 日期:2016-09-28 热度:82
副标题#e# 内核版本:2.6.34 实现思路: 报文在网络协议栈中的流动,对于接收来讲,是 对报文的脱壳的过程,由于报文是已知的输入,只要逐个解析协议号;对于发送来讲,是各层发送函数的嵌套调用,由于没有已 知的输入,只能按事先设计好的协议进行层层构造[详细]
-
Linux内核实践 - 如何添加网络协议[一]:目的
所属栏目:[Linux] 日期:2016-09-28 热度:144
本文只是一个内核网络协议的实践的例子,先说明添加的目的,下篇开始具体的实现。 内核版本:2.6.34;在支持802.1主机上,报文的一般格式: 现在需要支持一种新的协议[二层] BRCM协议,与IP等协议不同,它位于2层,拥有6字节的头部和4字节的尾部 ,添加的[详细]
-
Linux内核分析 - 网络[十六]:TCP三次握手
所属栏目:[Linux] 日期:2016-09-28 热度:71
副标题#e# 内核:2.6.34 TCP是应用最广泛的传输层协议,其提供了面向连接的、可靠的字节流服务,但 也正是因为这些特性,使得TCP较之UDP异常复杂,还是分两部分[创建与使用]来进行分析。这篇主要包括TCP的创建及三次握手 的过程。 编程时一般用如下语句创建[详细]
-
Linux内核分析 - 网络[十四]:IP选项
所属栏目:[Linux] 日期:2016-09-28 热度:86
副标题#e# 内核版本:2.6.34 在发送报文时,可以调用函数setsockopt()来设置相应的选项,本文主要分析IP选项的生成,发送以及 接收所执行的流程,选取了LSRR为例子进行说明,主要分为选项的生成、选项的转发、选项的接收三部分。 先看一个源站路 由选项的例[详细]
-
Linux内核分析 - 网络[十三]:校验和
所属栏目:[Linux] 日期:2016-09-28 热度:68
副标题#e# 内核版本:2.6.34 报文的IP校验和、ICMP校验和、TCP/UDP校验和使用相同的算法,在RFC1071中定义,网上这方面的 资料和例子很多,就不解释算法流程了,而是侧重于在实现的变化和技巧。 The checksum algorithm is simply to add up all the 16-bit[详细]
-
Linux内核分析 - 网络[十二]:UDP模块 - 收发
所属栏目:[Linux] 日期:2016-09-28 热度:84
副标题#e# 内核版本:2.6.34 UDP报文接收 UDP报文的接收可以分为两个部分:协议栈收到udp报文,插入相应队列中;用户 调用recvfrom()或recv()系统调用从队列中取出报文,这里的队列就是sk-sk_receive_queue,它是报文中转的纽带,两部 分的联系如下图所示。[详细]
-
Linux内核分析 - 网络[十一]:ICMP模块
所属栏目:[Linux] 日期:2016-09-28 热度:93
副标题#e# 内核版本:2.6.34 ICMP模块比较简单,要注意的是icmp的速率限制策略,向IP层传输数据ip_append_data()和 ip_push_pending_frames()。 在net/ipv4/af_inet.c中的inet_init()注册icmp协议,从这里也可以看出,ICMP模块是绑 定在IP模块之上的。inet_[详细]
-
Linux内核分析 - 网络[十]:ARP杂谈
所属栏目:[Linux] 日期:2016-09-28 热度:181
内核版本:2.6.34 杂谈一:重复地址检测 Linux协议栈中处理重复地址检测报文的是arp_process()中的一段代码, RFC2131是DHCP的草案,相应的sip==0是DHCP服务器用来检测它所分发的地址是否重复的。 /* Special case: IPv4 duplicate address detection pack[详细]
-
Linux内核分析 - 网络[八]:IP协议
所属栏目:[Linux] 日期:2016-09-28 热度:176
副标题#e# 内核版本:2.6.34 这篇是关于IP层协议接收报文时的处理,重点说明了路由表的查找,以及IP分片重组。 ip_rcv 进入IP层报文接收函数 丢弃掉不是发往本机的报文,skb-pkt_type在网卡接收报文处理以太网头时会根据dst mac设置, 协议栈的书会讲不是发[详细]
-
Linux内核分析 - 网络[六]:网桥
所属栏目:[Linux] 日期:2016-09-28 热度:196
副标题#e# 看完了路由表,重新回到netif_receive_skb ()函数,在提交给上层协议处理前,会执行下面一句,这就是网桥的相关操作 ,也是这篇要讲解的内容。 skb = handle_bridge(skb, pt_prev, ret, orig_dev); 网桥可以简单理 解为交换机,以下图为例,一台l[详细]
-
linux网络编程之System V 信号量(三)
所属栏目:[Linux] 日期:2016-09-26 热度:109
基于生产者-消费者模型实现先进先出的共享内存段 生产者消费者问题:该问题描述了两个共享固定大小缓冲区的进程即所谓的生产者和消费者在实际运 行时会发生的问[详细]
-
linux System V 消息队列的内核结构和msgget、msgctl 函数
所属栏目:[Linux] 日期:2016-09-26 热度:199
一、消息队列 1、消息队列提供了一个从一个进程向另外一个进程发送一块数据的方法 2、每个数据块都被认 为是有一个类型,接收者进程接收的数据块可以有不同的类[详细]
-
linux System V消息队列实现回射客户/服务器和msgsnd、msgrcv函数
所属栏目:[Linux] 日期:2016-09-26 热度:152
一、msgsnd 和 msgrcv 函数 #include sys/types.h #include sys/ipc.h #include sys/msg.h 功能:把一条消息添加到消息队列中 原型 int msgsnd(int msqid, cons[详细]
-
linux网络编程之socket(二) C/S程序的一般流程和基本socket函数
所属栏目:[Linux] 日期:2016-09-26 热度:177
一、基于TCP协议的网络程序 下图是基于TCP协议的客户端/服务器程序的一般流程: 服务器调用socket()、bind() 、listen()完成初始化后,调用accept()阻塞等待,[详细]
-
linux网络编程之socket(八) 五种I/O模型和select函数简介
所属栏目:[Linux] 日期:2016-09-26 热度:164
一、五种I/O模型 1、阻塞I/O 我们在前面所说的I/O模型都是阻塞I/O,即调用recv系统调用,如果没有数据则阻塞等待,当数据到来则将数据从内核 空间(套接口缓冲[详细]
-
linux网络编程之socket(九) 使用select函数改进客户端/服务器端程序
所属栏目:[Linux] 日期:2016-09-26 热度:136
一、当我们使用单进程单连接且使用readline修改后的客户端程序,去连接使用readline修改后的服务器端程序,会出 现一个有趣的现象,先来看输出: 先运行服务器[详细]
-
linux网络编程之socket(十二) select函数的并发限制和poll函数应用举例
所属栏目:[Linux] 日期:2016-09-26 热度:73
一、用select实现的并发服务器,能达到的并发数,受两方面限制 1、一个进程能打开的最大文件描述符限制。 这可以通过调整内核参数。可以通过ulimit -n来调整或[详细]
-
linux网络编程之socket(十六)
所属栏目:[Linux] 日期:2016-09-26 热度:102
通过UNIX域套接字传递描述符和 sendmsg/recvmsg 函数 在前面我们介绍了UNIX域套接字编程,更重要的一点是UNIX域套接字可以在同一台主机上各进程之间传递文件描[详细]