-
最新日志
存档页
分类
功能
Category Archives: 积少成多
CvsNT设置及CVS eclipse客户端设置
注:CVS是目前最主流的版本控制器,对工程开发有着很大的帮助。这里转载一片关于CVS在Windows平台上的版本——CVSNT配置和测试的文章。 CvsNT设置1.安装CvsNT,并重新启动2.打开Service Control Panel3.设置Advabced->Temporary为任意一个空目录 钩选上所有选项 设置Lock地址为Localhost ,其他选项不要改动4.添加Repositories 点击Add按钮,选择一个准备好的空目录如Location= C:/cvsAdmin ;Name =/cvsAdmin 系统会提示是否初始化,点确定5.如果CvsService或CvsLock服务没有启动,请先启动他们 测试服务器1.开始菜单-run-cmd,进入命令行环境2.输入Cvs ,会出现相应的帮助,如果没出现,说明环境变量中的Path值没有设置,你可以手动设置到你的Cvs.exe文件所在的目录3.set cvsroot=:sspi:localhost:/cvsAdmin4.输入cvs version ,显示当前CvsNt版本号 Client: Concurrent Versions System (CVSNT) 2.0.58a (client/server Server: Concurrent Versions System (CVS) 1.11.2 (client/server)5.cvs login 输入你的Windows登陆密码6.cvs ls 显示所以module,至少会有一个CVSROOT7.如果以上步骤都没有错误,说明CVSNT配置成功 配置CVS客户端。1.启动eclipse,切换到CVS Repositories面板,右击面板,选择new/Repositor Location。出现Add CVS … 繼續閱讀
关于所谓的“网线”与“双机互连线”的解释
我们日常用到的网线通常分为两种,一种是直通线,也就是常说的“网线”,还有一种是交叉线,也就是常说的“双机互连线”。这两种网线到底有什么区别呢?是什么导致了它们的不同功能呢?恐怕很多人都不大清楚。即便是我这样天天跟网络打交道,也一直不能很清楚地解释。闲来无聊,查阅了一些资料,终于可以把这个问题好好地解释清楚了。 网线概述及结构:现在的局域网通常都是以太网,以太网的互联线主要是双绞线、同轴电缆和光纤。其中,双绞线更多的出现在我们的日常生活中。双绞线按其是否外加金属网丝套的屏蔽层而区分为屏蔽双绞线(STP,Shielded Twisted Pair)和非屏蔽双绞线(UTP,Unshielded Twisted Pair)。从性价比和可维护性出发,大多数局域网使用UTP作为布线的传输介质来组网。UTP也就是我们常说的网线。除了一定长度的双绞线外,UTP的组成部分还有RJ-45水晶头。双绞线由8根不同颜色的线分成4对绞合在一起,成对扭绞的作用是尽可能减少电磁辐射与外部电磁干扰的影响。RJ-45水晶头由金属片和塑料构成,制作网线所需要的RJ-45水晶接头前端有8个凹槽,简称“8P”(Position)。凹槽内的金属触点共有8个,简称“8C”(Contact),因此业界对此有“8P8C”的别称。这8个触点的顺序为:将水晶头的末端面对眼睛,而触点朝下,从左至右依次为1~8号触点。 水晶头布线标准:水晶头的8个触点中,真正用来传输数据的其实只有4个针脚,其中1号和2号针脚用于发送,3号和6号针脚用于接收(收发都采用两条线是为了传输差分信号,从而降低电磁干扰)。双绞线的布线线序与这些针脚的功能有直接的关系。基于触点顺序,EIA/TIA布线标准定义了两种双绞线布线线序568A和568B。568A:绿白-1,绿-2,橙白-3,蓝-4,蓝白-5,橙-6,棕白-7,棕-8568B:橙白-1,橙-2,绿白-3,蓝-4,蓝白-5,绿-6,棕白-7,棕-8注意到,两种布线线序唯一的区别在于将绿色的那对双绞线与橙色的那对进行了交换,交换的位置正好是在1、2、3、6这四个针脚上。也就是说,568A线序下,绿色对的双绞线连接发送端,橙色对则连接接收端。而568B线序下,橙色对的双绞线连接发送端,绿色对的双绞线连接接收端。如果我们在网线两端都采用568A或者568B线序,两端的针脚都是直连的,这样的网线就是“直通线”。而如果网线两端采用不同的线序,一端的发送针脚连接到了另一端的接收针脚上,在网线内部形成了交叉,得到的网线就是所谓的“交叉线”。 不同模式网线的应用环境:我们常说,交叉线用来实现双机互连,不能实现主机与交换设备之间的互连,要实现这种互连,必须使用直通线。这是为什么呢? 要回答这个问题,我们首先要看一下各个设备上的网络接口是怎样的。网络接口一般分为两种,一种是MDI接口,另一种是MDI-X接口。一般PC机上的接口都是MDI接口,而交换设备上的接口大都是MDI-X接口。那么这两种接口的区别是什么呢? 我们先来看一下MDI-X接口,注意它的后缀有一个X,这个X的意思表示交叉。可以想象,对于一个交换设备而言,它的一个端口的输入一定是作为其他端口的输出,所以它的接收针脚只能和其他端口的发送针脚相连,这就相当于在交换设备内部作了交叉。而普通的MDI接口,则没有作内部交叉,其发送针脚只和其他端口的发送针脚相连,而接收针脚也只和其他端口的接收针脚相连。 如果想让两台PC机通信,总归要让一台PC机的发送端连至另一台PC机的接收端,反之亦然。这样,只有交叉线才能实现这一配置。而直通线则只能将两台PC机的相同针脚互连,所以无法通信。而当PC机和交换设备相连时,由于其目的还是和与交换设备同时相连的其他主机通信,所以其间只需要通信线路做一次交叉即可,而这个交叉在交换设备内部就已经配好,故而PC与交叉设备之间的通信只需要采用直通线就可以了(不过,理论上,似乎两台PC机都用交叉线与交换设备相连时也可以正常通信,可惜小鱼手上没有两根双机互连线,所以没办法做这个实验……以后一定要试试)。 如果要想做到两个交换设备之间互连呢?这里,我们就要区分交换设备上的接口了,如果是通过普通的MDI-X接口话,则按照之前的分析,应当采用交叉线(这样,所有的通信的主机之间打了三个交叉,相当于一个交叉,可以正常通信)。但是,交叉线使用的频率较低,所以比较少见,为了能够使用更常见的直通线,目前的交换设备上一般会提供一个uplink的接口,这个接口通常都是MDI接口,所以如果通过这个接口与其他的交换设备级连,使用直通线即可正常通信。 如果解释的还不是很好理解的话,可以看看下面这张图: 这大概就是关于关于网线的一些解释了。
FTP配置注意事项
我知道现在写这个有点不合时宜,可是每当我提笔准备写篇文章纪念我的大学生活,就有些激动,没办法继续写下去。所以先写点别的东西,让自己平静一下。最近给实验室搭了ftp个服务器,把遇到的一些问题和原因记录一下,供参考。 要搭建ftp,首先要了解ftp的通信原理。ftp的通信机制通过两种链接实现:控制连接和数据连接。控制连接负责传送控制信息,数据连结负责传送数据。这两种连接一般使用不同的端口号(我试过对两个连接配置同样的端口号,无法正确连接,tcp三次握手刚完成,连接随即被终止,终止的原因估计就是端口冲突)。通常控制端口是静态端口,也就是我们常看到的ftp地址后面加注的端口号,而数据端口则是动态分配的短暂端口,由服务器或者客户端指定(对于服务器而言,可以固定一个端口,通常的配置下21端口就是用来传输数据的,多个用户也可以共用同一个端口,如果要动态分配端口,最好预先在服务器处指定范围)。在整个ftp会话中,控制连接一直处于连接状态,数据连接则随每次文件传输的启动而打开,随着文件传输的启动而关闭。 一次ftp控制连接建立会话的流程如下:服务器被动打开控制连接,断口号由服务器指定,对外知晓;客户端根据知晓的服务器地址和端口号连接服务器,建立起控制连接,先后向服务器传输用户名、密码,像服务器询问所使用的操作系统,定义文件文件类型等等,配置好连接属性。 当控制连接建立好后,需要将服务器上的文件目录传输到客户端,传输目录则需要启动数据连接。数据连接的建立模式分为两种,一种为服务器被动指定端口,一种是客户端主动选择端口。客户端主动选择端口,即客户端在建立数据连接前通过控制连接告诉服务器客户端所采用的数据连接端口号,服务器根据这个端口号主动打开数据连接。服务器被动指定端口,即客户端通过pasv命令,要求服务器选择一个端口被动打开,然后响应客户端,并告知其端口号,从而由客户端主动打开数据连接。 如果ftp服务器直接连在Internet上,上述配置方式一般没有什么问题。但是大部分的ftp服务器架设,都是将服务器放在网关或路由后的内网中,服务器的内网地址对外网不可见,所以需要在网关或路由处进行地址转换。地址映射依照内网地址+端口号对应外网地址+端口号的形式进行。这里就会出现许多问题:首先,服务器动态分配范围内的端口都要在网关处作映射,很容易出现网关丢包的情况,最常见的情况就是你虽然连上了服务器,却显示不了目录;其次,最好将数据连接设为服务器被动模式,如前面提到的,这种模式下,端口号由服务器确定,只要在网关处将服务器可能分配出的端口做好映射就可以了,而如果在客户端主动模式下,由于服务器所使用的端口不确定,所以也会造成在网关处丢包。 大概就是这个样子,其实没什么很复杂的东西,主要在于端口映射和数据连接的配置上要配正确。
OPNET学习心得(3): OPNET的节点域
节点域(Node Domain) (不全,有待进一步补充)(参考Main Menu->Modeling Concept->Node Domain) 1.模块定义(Module Definitions) modules表示通信节点中产生、消耗、处理数据的部分。有以下几种类型:processors, queues, generators, receivers, transmitters。 1.1处理器模块(Processor Modules) 1.2队列模块(Queue Modules) Queue和Processor之间最主要的区别是:Queue还有一个附加资源,称之为子队列(subqueue)。subqueue大大地方便了缓存和管理数据包的收集。之后详述。 subqueue作为queue的一个object,以queue的attribute中compound attribute的形式体现。 1.3发送模块(Transmitter Modules) 有三种发送模块:point-to-point, bus, radio。 transmitter从一个或者多个输入流中收集packet,然后把它们转发到相应通信链路上的channel中去。在某个给定的输入流收到的数据被发送到同一个标号的channel上去。每个channel都有自己的数据率。如果packet到的时候,相应的channel正在处理之前的packet,那么该packet将被自动放到一个buffer中排队等待,这个buffer是无尽的。Channels是transmitter的下属object。同样,也是作为一个compound attribute。 transmitter也有一些统计功能,可以通过statistics wire和statistics probe获取。 1.4接收模块(Receiver Modules) 也有三种接收模块,跟发送模块对应。其功能也和transmitter类似,但是方向上显然不同。 2.连接定义(Connection … 繼續閱讀
OPNET学习心得(2): OPNET的进程域
进程域(Process Domain) (不全,有待进一步补充)(参考Main Menu->Modeling Concept->Process Domain) 1.进程模型运行(Process Model Operation) 支持process model的module有限(因为诸如generator,transmitter,receivers等出于方便和功能的原因,已经被预定义了,只需编辑其属性即可)。两种module可以支持行为建模:processors和queues。这些模块提供了模块基本的行为能力和大部分物理资源。Queue还可以让用户定义内部的子队列(subqueues),以及如何管理这些subqueue的方法。但是由于它们的基本建模技术还是相同的,所以以下并不区分它们,方便起见,以下用QP来指代这些模块。 1.1进程环境(Process Environment) 1.1.1中断驱动执行(Interrupt-Driven Execution) process由interrupt驱动。所以process的第一个操作就是判断interrupt的类型,进而解析interrupt的属性。进程在阻止(Blocked)和活动(Active)两个状态间循环,通过interrupt由blocked进入active,完成操作后回到blocked。 1.1.2动态进程(Dynamic Processes) 在仿真开始时,每个QP只有一个进程,这个进程是由仿真核(Simulation Kernel)创建的,称为根进程(root process)。往往一个root process就可以完成QP的功能,但是在一些情况下,为了增强模块性和降低设计复杂性,QP也采用multiple processes。process可以通过调用op_pro_create()创建新的processes,也就是所谓的dynamic processes。 1.1.2.1进程层次(Process hierarchy) 由上,显然process有层次之分,但是OPNET并不要求parent process必须在它所有的child processess全部终止后才能终止。所以这就会在层次上出现“洞”。但是这个是可以通过root process来处理的,详见后述。child process的attributes在被promote之后就可以一直提升到node level作为queue和processor的一部分。 1.1.2.2共享内存结构(Shared Memory Architecture) … 繼續閱讀
OPNET学习心得(1): OPNET结构
OPNET结构 (OPNET Architecture)(注:此部分可参考OPNET Documentation: Main Menu->Modeling Concepts->Modeling Overview->OPNET Architecture)OPNET为通信网络和分布式系统的性能评估提供了一个全面的开发环境。由许多工具组成,这些工具暗中建模和仿真的步骤分为三个门类:定制(Specification),数据收集和仿真(Data Collection and Simulation),分析(Analysis)。 1.模型定制(Model Specification) 1.1定制编辑器(Specification Editors) a)Project Editor:定义网络模型(network models),network models由子网(subnets)和节点模型(node models)。Project editor具有基本的仿真和分析能力(还包括统计)。 b)Node Editor:定义节点模型(node models),node models是network models中的一部分。Node models由一系列模块(modules)组成,这些模块内部含有进程模型(Process models)。模块还有可能包含参数模型(?! parameter models)。 c)Process Editor:定义进程模型。进程模型控制module的行为,也有可能会涉及parameter models(?!)。 d)Link Model Editor:创建,编辑,查看链路模型(link models)。 … 繼續閱讀
删进程
今天中午看完火箭对勇士的比赛,发现内存占用都快900M了,虽然还没突破偶T60的1G,可还是觉得要看看进程里出了什么事情。结果80多个进程赫然呈现眼前,二话不说,开始删。望着一堆名字都没见过的东东,不禁有点茫然,于是,开始一边查一边删。删完了,感觉还是不够彻底,于是干脆把所有出现过的进程都做个记录,以备日后所需: Current User: rundll32.exe (Microsoft Rundll32) WindowsXP/2000/2003系统调用DLL执行相关功能的程序。(区分rundll32.exe和rundl132.exe,后者是病毒,太恶心了)taskmgr.exe (Windows Task Manager) Windows任务管理器。ctfmon.exe (Alternative User Input Services) 用户输入法选择服务,用于控制输入法语言条,提供语音识别、手写识别、键盘、翻译和其它用户输入技术的支持。SynTPEnh.exe () Synaptics触摸板托盘程序。SynTPLpr.exe () Synaptics触摸板相关程序。ati2evxx.exe (ATI Display Adapter Assistant) ATI显卡热键管理服务。smax4pnp.exe (SMax4PNP MFC Application) AnalogDevices声卡驱动相关进程。cli.exe (ATI Catalyst Control Centre) ATi显卡驱动程序。bttray.exe (Widcomm’s Bluetooth Tray Application) Windcomm蓝牙驱动的托盘程序。issch.exe (InstallShield … 繼續閱讀