如何使用linux下的TC进行服务器流量控制呢?
在linux中,TC有二种控制方法CBQ和HTB.HTB是设计用来替换CBQ的。
它是一个层次式的过滤框架。
TC包括三个基本的构成块: 队列规定qdisc(queueing discipline )、类(class)和分类器(Classifies) 队列(queueing discipline):用来实现控制网络的收发速度。
通过队列,linux可以将网络数据包缓存起来,然后根据用户的设置,在尽量不中断连接(如 TCP)的前提下来平滑网络流量。
需要注意的是,linux对接收队列的控制不够好,所以我们一般只用发送队列,即“控发不控收”。
它封装了其他两个主要 TC组件(类和分类器)。
内核如果需要通过某个网络接口发送数据包,它都需要按照为这个接口配置的qdisc(排队规则)把数据包加入队列。
然后,内核会尽可能多地从qdisc里面取出数据包,把它们交给网络适配器驱动模块。
最简单的QDisc是pfifo它不对进入的数据包做任何的处理,数据包采用先入先出的方式通过队列。
不过,它会保存网络接口一时无法处理的数据包。
队列规则包括FIFO(先进先出),RED(随机早期探测),SFQ(随机公平队列)和令牌桶(Token Bucket),类基队列(CBQ),CBQ 是一种超级队列,即它能够包含其它队列(甚至其它CBQ)。
class用来表示控制策略。
很显然,很多时候,我们很可能要对不同的IP实行不同的流量控制策略,这时候我们就得用不同的class来表示不同的控制策略了。
filte用来将用户划入到具体的控制策略中(即不同的class中)。
比如,现在,我们想对xxa,xx两个IP实行不同的控制策略(A,B),这时,我们可用filte将xxa划入到控制策略A,将xx划入到控制策略B,filte划分的标志位可用u32打标功能或IPtales的 set-mak(大多使用iptales来做标记)功能来实现。
目前,TC可以使用的过滤器有:fwmak分类器,u32分类器,基于路由的分类器和RSVP分类器(分别用于IPV 6、IPV4)等;其中,fwmak分类器允许我们使用 Linux netfilte 代码选择流量,而u32分类器允许我们选择基于 ANY 头的流量 .需要注意的是,filte(过滤器)是在QDisc内部,它们不能作为主体。
数据包-iptales(在通过iptales时,iptales根据不同的ip来设置不同的mak)-TC(class)-TC(queue) 应用 假设eth0位是服务器的外网网络接口。
1)首先在eth0的qdiscA,qdiscA控制通过本机到外网的速度,因此是用来控制服务器流出速度的 #tc qdisc add dev eth1 oot handle 1:ht default 1 添加 设置接口 最上层 句柄(做标记用) 标记 默认使用1的class 解释如下:无论是队列,还是class和filte都有ID之类的标志符,一般都有paent(父,上层的),注意ID具有接口本地性,不同的网络接口可以有相同的ID.对于这里因为qdisc在顶部,所以paent无,用'oot'字样来标识,ID用1:来标志 ‘default 91′表示当某个ip流不满足任何已设定的filte规则时,将自动归入class 1中。
更详细的指令规则说明请参考手册。
2)然后在qdisc下建立两个class,来指定eth0控制通过本机到外网的速度 #tc class add dev eth0 paent 1:0 classid1:30 htate 2mit ceil 4mit pio 2 注:以上就是我们控制输出服务器的速度,为2M,最大可以到4M ate: 是一个类保证得到的带宽值。
如果有不只一个类,请保证所有子类总和是小于或等于父类。
pio:用来指示借用带宽时的竞争力,pio越小,优先级越高,竞争力越强。
ceil: ceil是一个类最大能得到的带宽值。
3)接着针对不同的应用在各oot class下设置不同的类,。
示例如下。
(如果只有一个类,这个就没有必要了) #tc class add dev eth0 paent 1:30 classid 1:31 htate 0.5mit ceil 2mit pio 3 同时为了不使一个会话永占带宽,在节点(即本文的各应用结点)添加随即公平队列sfq.(多IP) #tc qdisc add dev eth0 paent 1:31 handle 31:sfq petu 10 4)接着添加过滤器。
#tc filte add dev eth0 paent 1: potocol ippio 31 handle 31 fw flowid 1:31 5)用iptale打标,也可以使用u32之类 #iptales -t mangle -I FORWARD -i !eth1 -p tcp –spot 80 -s xxx.xxx.xxx.xxx –j MARK –set-mak 31
linux中如何控制端口流量
配置网卡 建立一台虚拟机,并安装完成后以桥接的方式在虚拟机上面添加两张网卡。
分别为eth0和eth1。
eth0: a.b.c.d(外网的上网地址) eth1: 172.16.44.1(做为内网的网关) Tip 原先我使用eth0:0的这种虚拟网卡的形式去配置一直不成功,后来使用双网卡的时候一直忘了把eth0:0这张虚拟网卡删掉导致了限速配置一直不成功,浪费了大把的青葱。
配置iptables nat#开启ip_forward echo "1">/proc/sys/net/ipv4/ip_forward#清除原来的防火墙规则 iptables -F iptables -t nat -F iptables -t mangle -F#添加nat转发 iptables -t nat -A POSTROUTING -s 172.16.44.0/24 -o eth0 -j MASQUERADE 通过执行上面的代码后,局域网内的电脑就可以上网了。
端口转发 由于我的内网还挂了网站,所以要开启80端口的转发。
iptables -t nat -I PREROUTING -p tcp -d a.b.c.d --dport 80 -j DNAT --to 172.16.44.210:80 iptables -t nat -I POSTROUTING -p tcp -d 172.16.44.210 --dport 80 -j SNAT --to 172.16.44.1 这条命令指定外网地址a.b.c.d的80端口转发到172.16.44.210:80上。
由于是双网卡,所以需要做一下回路。
下载限速 下载限速要在eth1上面做,判断数据包的目的地址来做限制。
tc包括三部分:队列、类、过滤器。
我使用了htb方式去限制速度,也可以使用cbq,但cbq配置比较复杂一点,而且据说性能没htb好。
#删除原来的tc规则队列 tc qdisc del dev eth1 root#添加tc规则队列 tc qdisc add dev eth1 root handle 10: htb default 256#生成根类 tc class add dev eth1 parent 10: classid 10:1 htb rate 100mbit ceil 100mbit#支类列表用于限制速度#这里的rate指的是保证带宽,ceil是最大带宽。
tc class add dev eth1 parent 10:1 classid 10:10 htb rate 400kbps ceil 400kbps prio 1#添加支类规则队列#采用sfq伪随机队列,并且10秒重置一次散列函数。
tc qdisc add dev eth1 parent 10:10 handle 101: sfq perturb 10#建立网络包过滤器,设置fw。
tc filter add dev eth1 parent 10: protocol ip prio 10 handle 1 fw classid 10:10#在iptables里面设定mark值,与上面的handle值对应。
iptables -t mangle -A POSTROUTING -d 172.16.44.130 -j MARK --set-mark 1 通过上面的代码就可以限制172.16.44.130这台机子的下载速度到400kbps。
Tip 经过实际测试这里的kbps实际上就是KB/S每秒千字节。
另一个单位是kbit,这个才是每秒千比特。
这里的172.16.44.130也可以写成一个网段,比如:172.16.44.0/24 上传限速 上传限速的原理其实跟下载的差不多,只不过限制的网卡不同,要在eth0上过滤来源地址去限制。
#删除原来的tc规则队列 tc qdisc del dev eth0 root#添加tc规则队列 tc qdisc add dev eth0 root handle 20: htb default 256#生成根类 tc class add dev eth0 parent 20: classid 20:1 htb rate 100mbit ceil 100mbit#支类列表用于限制速度 tc class add dev eth0 parent 20:1 classid 20:10 htb rate 40kbps ceil 40kbps prio 1#添加支类规则队列 tc qdisc add dev eth0 parent 20:10 handle 201: sfq perturb 10#建立网络包过滤器 tc filter add dev eth0 parent 20: protocol ip prio 100 handle 2 fw classid 20:10 iptables -t mangle -A PREROUTING -s 172.16.44.130 -j MARK --set-mark 2 Tip 跟下载不同的是POSTROUTING要改成PREROUTING,-d改成-s。
观察连接数 通过iptables的nat连接可以通过下面的代码查看。
至于统计连接数可以写代码实现,也可以利用awk,grep等工具。
反正里面的内容就是文本,处理起来也比较简单。
cat /proc/net/ip_conntrack 写在结尾 到此上网、端口转发和流量限制都已经实现。
下次再考虑配置个dhcp server和dnsmasq。
至于一些路由器其它诸如mac地址绑定,限制上网等用到的时候再去研究研究。
关于C语言软件安装和使用的问题在XP操作系统下,运行TC,跳出如
TC在XP下使用比较麻烦,需要设置路径,在"options" 的“directory"选项中,将默认的路径 “c:\\tc\\include" 改为你安装TC的路径。
如我的盘中是在F:\\STUDY\\TurboC2,就应改为“F:\\STUDY\\TurboC2\\include",依次类推! 如果无法看懂的话可以试试下面这一款WIN-TC,用TC2内核,加了一个外壳,使用更方便,无路径设置的烦恼,下载地址:
那些软件可以在LINUX系统上运行?
多,不是一般得多。
描述视窗Linux1)网络浏览器Internet Explorer, Netscape / Mozilla, Opera [版权], Firefox, 等1) Netscape / Mozilla.2) Galeon.3) Konqueror.4) Opera. [版权]5) Firefox.6) Nautilus.7) Epiphany.8)连接. (用 "-g" 键).9) Dillo.10) Encompass.命令行浏览器1) Links2) Lynx3) Xemacs + w3.1) Links.2) ELinks.3) Lynx.4) w3m.5) Xemacs + w3.电子邮件客户端软件Outlook Express, Netscape / Mozilla, Thunderbird, The Bat, Eudora, Becky, Datula, Sylpheed / Sylpheed-claws, Opera1) Evolution.2) Netscape / Mozilla/Thunderbird messenger.3) Sylpheed / Sylpheed-claws.4) Kmail.5) Gnus.6) Balsa.7) Bynari Insight GroupWare Suite. [版权]8) Arrow.9) Gnumail.10) Althea.11) Liamail.12) Aethera.13) MailWarrior.14) Opera.电子邮件客户端软件/ 个人信息管理MS Outlook 风格Outlook1) Evolution.2) Bynari Insight GroupWare Suite. [版权]3) Aethera.4) Sylpheed.5) Sylpheed-claws.电子邮件客户端软件The Bat 风格The Bat1) Sylpheed.2) Sylpheed-claws.3) Kmail.4) Gnus.5) Balsa.命令行电子邮件客户端软件Mutt [de], Pine, Pegasus, Emacs1) Pine. [非自由软件]2) Mutt.3) Gnus.4) Elm.5) Emacs.新闻阅读1) Agent [版权]2) Free Agent3) Xnews4) Outlook5) Netscape / Mozilla6) Opera [版权]7) Sylpheed / Sylpheed-claws8) Dialog9) Gravity10) BNR21) Knode.2) Pan.3) NewsReader.4) Netscape / Mozilla.5) Opera [版权]6) Sylpheed / Sylpheed-claws.命令行:7) Pine. [非自由软件]8) Mutt.9) Gnus.10) tin.11) slrn.12) Xemacs.13) BNR2.地址本Outlook1) Rubrica文件下载Flashget, Go!zilla, Reget, Getright, DAP, Wget, WackGet, Mass Downloader, 等1) Downloader for X.2) Caitoo (former Kget).3) Prozilla.4) Wget (命令行, 标准).5) Wget图形界面: Kmago, Gnome Transfer Manager, QTget, Xget, 等6) Aria.7) Axel.8) Download Accelerator Plus.9) GetLeft.10) Lftp.站点下载Teleport Pro, Httrack, Wget, 等1) Httrack.2) WWW Offline Explorer.3) Wget (命令行, 标准). 图形界面: Kmago, QTget, Xget, 等4) Downloader for X.5) Pavuk.6) XSiteCopy.7) GetLeft.8) Curl (命令行).9) Khttrack.FTP-客户端软件Bullet Proof FTP, CuteFTP, WSFTP, SmartFTP, 文件Zilla, 等1) Gftp.2) Konqueror.3) KBear.4) IglooFTP. [版权]5) Nftp.6) Wxftp.7) AxyFTP.8) mc. (cd ftp://等)9) tkFTP.10) Yafc.11) Dpsftp. (消亡项目)命令行FTP-客户端软件FTP in Far, ftp.exe, Ncftp1) Ncftp.2) Lftp.3) Avfs. (从任意程序: /#ftp:等)IRC-客户端软件Mirc, Klient, VIRC, Xircon, Pirch, XChat1) Xchat.2) KVirc.3) Irssi.4) BitchX.5) Ksirc.6) Epic.7) Sirc.8) PJIRC.本地网络聊天客户端软件无服务器1) QuickChat2) Akeni3) PonyChat4) iChat1) talk (命令行), ktalk.2) Akeni.3) Echat.4) write, wall (同机用户间聊天)视窗机器的本地消息系统WinPopUpsmbclient (命令行). 图形界面:1) LinPopUp 2.2) Kpopup.3) Kopete.即时通讯客户端软件ICQ Lite, ICQ Corp, MSN, AIM, Yahoo, 等Trillian ICQ (自由软件, 可替代所有IM 客户端软件), Miranda, Gaim1) Licq (ICQ).2) Centericq (近似IM 协议, 命令行).3) Alicq (ICQ).4) Micq (ICQ).5) GnomeICU (ICQ).6) Gaim. (几乎所有IM 协议)7) Ayttm. (几乎所有IM 协议)8) Kopete.9) Everybuddy.10) Simple Instant Messenger.11) Imici Messenger.12) Ickle (ICQ).13) aMSN (MSN).14) Kmerlin (MSN).15) Kicq (ICQ).16) YSM. (ICQ, 命令行).17) kxicq.18) Yahoo Messenger for Unix.19) Kmess (MSN).20) AIM.21) MSNre. (命令行)Jabber IM 客户端软件JAJC, Tkabber (+activestate tcl), Psi, Exodus, WinJab, myJabber, RhymBox, Rival, Skabber, TipicIM, Vista, Yabber, Miranda, Gaim, Akeni Messenger Jabber Edition1) Tkabber.2) Gabber.3) Psi.4) Gaim.5) Centericq (命令行).6) Ayttm.7) Akeni Messenger Jabber Edition.监视站点邮箱, 显示邮件台头WatzNew1) Web Secretary.2) Knewsticker & korn.3) Mozilla (未知).4) watch -n seconds lynx -dump视频/音频会议NetMeeting1) GnomeMeeting.2) vat/vic/wb.3) rat/wbd/nte.4) NeVoT.5) IVS.语音通讯Speak Freely1) Speak Freely for Unix.2) TeamSpeak.防火墙 (包过滤)BlackICE, ATGuard, ZoneAlarm, Agnitum Outpost 防火墙, WinRoute Pro, Norton Internet Security, Sygate Personal 防火墙 PRO, Kerio Personal 防火墙, 等iptables或更多过时IPchains (命令行, 标准). 前端:1) Kmy防火墙.2) Easy 防火墙 Generator.3) 防火墙 Builder.4) Shorewall.5) Guarddog.6) FireStarter.7) Smoothwall. [版权]8) IPCop.9) Zorp.IDS (入侵检测系统)1) BlackICE2) Agnitum Outpost 防火墙3) Tripwire [版权]4) Kerio Personal 防火墙1) Snort.2) Portsentry / Hostsentry / Logsentry.3) Tripwire [GPL].4) Tripwall.5) AIDE.6) ViperDB.7) Integrit.8) Cerberus Intrusion Detection System.9) MIDAS NMS.端口扫描检测未知1) Pkdump.增强系统安全未知1) Bastille.2) Linux Security Auditing Tool.虚拟路由...
有什么软件可以将安卓手机画面同步到电脑?要流畅的。
事先声明:我没试过,失败勿怪!!!第一种: 通过 droid VNC server 实现电脑控制Android手机用鼠标键盘大屏幕操作 为什么要用电脑操作手机? 1.能用鼠标和电脑键盘,操作更舒爽 2.能在电脑上全屏 3.能放大到手机分辨率的屏幕大小以依旧清晰可辨 4.给你的好友炫耀一下吧! 我需要什么知识? 学知识是很重要的,尤其是身处这个科学上网的环境下。
爱好学习是我们的传统美德。
不过,我们这里不需要啥科学知识。
只要你有wifi,就可以开始这段美好的感情了。
至于VNC是个什么东西,有兴趣的同学可以去Google或者Wiki一下,这里不累述。
所需要的工具: 一个无线路由,或者你包的流量套餐量比较大。
一个可以正常使用的vnc客户端。
我用的是自带的VNC客户端,一个字:方便 确保你手机上有一个VNC Server。
我用的是droid VNC server,记住一定要是server! 好,开搞 首先电脑和手机都连上无线路由。
打开 droid VNC server 点击绿色的Start Server,看到有个running,下面有个IP:端口,注意一下就可以 打开电脑的VNC客户端,在Windows下有很多VNC软件,随便找一个。
连接协议选vnc,主机那一栏填写找这手机上显示的IP:端口形式写,注意是第一个没有http打头的。
如果有图片压缩的选项记得勾选上,可以让操作更流畅。
OK。
去追求你的幸福吧。
第二种: 手机控 Total Control 应用介绍 主要特性:1. 手机列表 - 自动获取与电脑连接的所有手机2. 屏幕获取 - 获取已连接的手机屏幕并适时显示到电脑上,用户可以通过点击界面上的所有操作来实现对手机的控制3. 屏幕校准 - 如果屏幕显示不正确时,用户可以通过该功能进行校准,到达屏幕显示正确的目的4. 录制、回放 - 对手机屏幕进行录制,在需要的时候进行重复回放5. 宏 - 记录您对手机的操作,并可自动重复您的操作 v1.6.4更新: 更新记录:1.兼容TC Viewer手机控制手机功能...
Linux下常用装机软件
1. Applications:应用软件 1) Dia:一个工程图编辑器,适用于绘制电路图; 2) Calendar:一个集日历与日程表于一身的好工具; 3) Address Book:一个通讯录 4) GEdit:一个功能类似于Windows下的记事本的文本编辑器; 5) Gnumeric:Linux下的一个类似于EXCEL的电子表格软件; 6) Time tracking tools:一个用于提醒时间的小工具; 2. Games:游戏软件 1) Gnome Milnes:GNOME下的扫雷; 2) Gnibbles:贪吃蛇游戏; 3) Freecell:Windows下的空当接龙游戏; 3. Graphics:图形处理软件 1) Electric Eyes:一个十分优秀的图形处理软件,可谓GNOME下的AcdSee呀! 2) XPDF:一个在Linux阅读PDF文档的工具; 3) The Gimp:一个十分优秀的绘图软件,与Photoshop很象! 4. Internet:Internet应用软件 1) Dialup Configuration Tool:一个界面十分友好的拔号上网设置工具; 2) gFTP:一个FTP客户端 3) pine:一个E-Mail客户端软件 4) Netscape :大名鼎鼎的浏览器软件,被微软从Windows平台挤下来的 5) RH Network monitor:网络流量显示 5. Multimedia:多媒体软件 1) Audio Mixer:声音控制器 2) CD Player:CD播放器 3) XMMS:与Winamp是一个模子里出来的 KDE下 1. Office:办公软件 这就是大名鼎鼎的Koffice套件。
1) Kword:字处理软件 2) Kspread:象Excel的电子表格处理软件 3) Kpresenter:一个类似于PowerPoint的演示软件 4) Kchart:一个电子图表软件 5) Kiiiustrator:一个电子出版软件 2. Develop:开发工具 1) Kdevelop:一个KDE下的集成开发环境 3. Applications:应用软件 1) Advanced Editor:一个增强型的文本编辑软件 2) Emacs:这是一个功能强大的编辑软件,在GNOME中也有,它的原形是字符终端下的Emacs 3) Organizer:一个日程安排软件 4. Internet:Internet软件 1) Kppp:一个十分友好的拔号上网配置工具 2) Kmail:一个十分漂亮的Email 客户端,有点象Outlook! 3) Chat Client:一个IRC客户端 4) KPPPLoad:一个网络流量工具 5) Netscape:大名鼎鼎的WEB浏览器,在GNOME中也有集成聊天软件: LumaQQ 独立的JavaQQ客户端,可重用纯Java核心和基于SWT仿QQ界面。
Ftp * kget 使用Qt库的下载软件(类似于getright),可以监视剪贴版,支持断点续传 * gftp 使用gtk库的类似于cute-ftp的ftp软件.可以上传和下载. * wget 命令行下常用的ftp软件,功能强大 * nc-0.99 个基于gtk的下载软件,与kget类似均模仿了getright和NV一类windows下的下载软件 * 中文环境 o wzce 稳定的shell下的中文环境,可惜不是freesoftware. o cce freesoftware的shell下的中文环境,以前的版本有Bug,不过现在新的开发计划正在进行中. o cxterm 很好的一个在X-term下的中文环境,必装,他同时也是很多x-win下中文环境的基础. o Xa+Xcin 很稳定的一个x-win下的中文包装环境,支持在任何x程序中输入中文. o Chinput 比较完善的一个中文包装方案,然而,在kde下输入汉字有问题. o bluepoint pre 很好的一个内核中文化的Linux核心,支持控制台和xwin的中文显示和输入 * mail o kmail kde自带的mial client 与Win98下的outlook Express相像. o xfmail 一个很完备的邮件程序,也很方便(有点像The bat) * games o Freeciv linux下的经典之作支持网络对战. o Quake2 3d游戏的经典,支持3dfx Voodoo1 o Game for Linux还有很多,以后我们会开专版介绍. * irc o kirc kde下自带的irc软件. o xchat x-win下的irc软件 o 其实irc也有很多种,不过我不喜欢聊天,所以没有去找了. * 文字处理 o staroffice 据说是Linux下最好的办公软件. o wordprefect 所见即所得的另一个文字处理软件 * 其他相关 o explore2fs-1.00-pre1.zip 在win85/98下察看Linux ext2分区 o FireBirdBBS2.6-1 国内最流行的BBS服务器软件 o vmware 最近很热的Linux下的虚拟机,能在它的虚拟窗口下运行/安装Win98和nt,还在beta版中,目前对系统要求很高(PII-233,64M),DirctX的一些功能还不能支持. o Wine Win95/98模拟器,由于win系列的不断升级,总处在Beta版中.可以运行win98下的程序,据说甚至可以用它玩! * mp3 o x11amp 最好的mp3播放器,和winamp很像 o kmp3 kde下的mp3播放器,界面和ked下的其他播放软件统一 * 视频 o quicktime for Linux 1.0 播放quicktime的mov动画 o Realplay 5/Realplay G2 播放Rm格式的视频和图像 o mtv 播放vcd的最好软件,可惜是商业的,不过1.0.7版的注册码可以在网易精华区找到 * 系统安全 o nessus o saint o syslog * 程序开发环境 o xvisual 类似于Visual Basic的开发环境,基于Xform o Xwpe C的集成开发环境,类似于Tc2.0的界面 o Visual Gtk Gtk程序的可视化编程,现在还在bate版中. o C-Forge 一个据说最好的Linux下的c/c++开发环境 * 其他 o gtksee-0.3,这时一个国内Linux爱好者编写的Linux下图象查看软件,以移植ACDsee为目标,因此使用和界面于acdsee很相像。
这个软件已经收录于Redhat,Debian和FreeBsd的软件库
帧中继是什么样的
帧中继现在很少用了,是一种二层的技术,以前用在数据网络上比较多,用于承载IP等层三网络。
由于其定义了很多流量控制,比如流量整形和拥塞控制等技术,具备了服务质量等级的机制,因此曾经获得广泛应用。
1. 使用光纤作为传输介质,因此误码率极低,能实现近似无差错传输,减少了进行差错校验的开销,提高了网络的吞吐量,它的数据传输速率和传输时延比X.25网络要分别高或低至少一个数量级。
2. 因为采用了基于变长帧的异步多路复用技术,帧中继主要用于数据传输,而不适合语音、视频或其他对时延时间敏感的信息传输。
3. 仅提供面向连接的虚电路服务。
4. 仅能检测到传输错误,而不试图纠正错误,而只是简单地将错误帧丢弃。
5. 帧长度可变,允许最大帧长度在1600B以上。
6. 帧中继是一种宽带分组交换,使用复用技术时,其传输速率可高达44.6Mbps。
帧中继 复用与寻址帧中继在数据链路层采用统计复用方式,采用虚电路机制为每一个帧提供地址信息。
通过不同编号的DLCI(DataLineConnection Identifier数据链路连接识别符)建立逻辑电路。
一般来讲,同一条物理链路层可以承载多条逻辑虚电路,而且网络可以根据实际流量动态调配虚电路的可用带宽,帧中继的每一个帧沿着各自的虚电路在网络内传送。
控制技术 帧中继的带宽控制技术既是帧中继技术的特点,更是帧中继技术的优点。
帧中继的带宽控制通过CIR(承诺的信息速率)、Bc(承诺的突发大小)和Be(超过的突发大小)3个参数设定完成。
Tc(承诺时间间隔)和EIR(超过的信息速率)与此3个参数的关系是:Tc=Bc/CIR;EIR=Be/Tc。
在传统的数据通信业务中,用户申请了一条64K的电路,那么他只能以64kbit/s的速率来传送数据;而在帧中继技术中,用户向帧中继业务运营商申请的是承诺的信息速率(CIR),而实际使用过程中用户可以以高于CIR的速率发送数据,却不必承担额外的费用。
举例来说,某用户申请了CIR为64kbit/s的帧中继电路,并且与电信运营商签 定了另外两个指标,Bc(承诺突发量)、Be(超过的突发量),当用户以等于或低于64kbit/s的速率发送数据时,网络将确保此速率传送,当用户以大 于64kbit/s的速率发送数据时,只要网络不拥塞,且用户在承诺时间间隔(Tc)内发送的突发量小于Bc+Be时,网络还会传送,当突发量大于 Bc+Be时,网络将丢弃帧。
所以帧中继用户虽然支付了64kbit/s的信息速率费(收费依CIR来定),却可以传送高于64kbit/s的数据,这是 帧中继吸引用户的主要原因之一。
随着帧中继技术、信元中继和ATM技术的发展,帧中继交换机的内部结构也在逐步改变,业务性能进一步完善,并向ATM过渡。
市场上的帧中继交换产品大致有三类:a)改装型X25分组交换机。
b)以全新的帧中继结构设计为基础的新型交换机。
c)采用信元中继、ATM技术、支持帧中继接口的ATM交换机。
a)型交换机在帧中继发展初期比较普遍。
主要是通过改装X25交换机、增加软件使交换机具有接收和发送帧中继的能力,但仍然保留分组层的一些功能,时延较大。
b)型是专门设计的设备,具备帧中继的全部必备功能。
c)型是最新型的交换机,采用信元中继或ATM交换、具有帧中继接口和ATM接口,内部完成FR和ATM之间的互通。
在以ATM为骨干的网络中,起着用户接入的作用。
中国帧中继网所采用的帧中继交换机一般都采用了ATM技术,即用户终端设备采用帧中继接口来接入帧中继节点机,帧中继节点机的中继口为ATM接口,交换机将以帧为单位的用户数据转换为ATM信元在网上传送,在终端侧再将信元变换为帧中继的帧格式传送给用户。
发展过程 帧中继业务是在用户与网络接口(UNI)之间提供用户信息流的双向传送,并保持原顺序不变的一种承载业 帧中继 务。
用户信息流以帧为单位在网络内传送,用户与网络接口之间以虚电路进行连接,对用户信息流进行统计复用。
帧中继还可以灵活地提供带宽,即按需要分配带宽。
因为帧中继的主要应用是局域网互连,而局域网中业务流的大小是很难预测的,如果你预定了固定的带宽,那么不管你是否在传送数据都要付费,这是很不合算的。
帧中继提供了用超过你预定的带宽传送突发性数据的能力。
帧中继在多协议环境下也很有用。
尽管IP协议似乎一统天下,但它不是唯一在使用的协议,这是一个多协议共存的世界。
例如,还有SNA网络,它使用IBM公司的同步数据链路控制协议(SDLC),全世界有60000多家企业使用帧中继,还有一些主要以多媒体业务为主的企业使用ATM。
极少有客户仅使用一种协议。
他们的网络中有多种协议,而帧中继可以处理所有这些协议,因为它只需要简单地将其他协议封装进帧中继的帧当中,然后在网络中传送,它并不关心所封装的内容。
帧中继网络还提供封闭型用户群的功能,通过它你可以知道进网和出网的用户,而不像在公共的因特网中,在任一节点你都没有办法知道此刻有哪些人在网络上。
使用帧中继还能够预测网络的性能组别,因为你可以设定服务参数。
如果你所在的国家有很好的电信基础设施的话,这将是一个特别有吸引力的网络解状方案。
帧中继技术首先在美国和欧洲得到应...
帧中继是什么样的
帧中继现在很少用了,是一种二层的技术,以前用在数据网络上比较多,用于承载IP等层三网络。
由于其定义了很多流量控制,比如流量整形和拥塞控制等技术,具备了服务质量等级的机制,因此曾经获得广泛应用。
1. 使用光纤作为传输介质,因此误码率极低,能实现近似无差错传输,减少了进行差错校验的开销,提高了网络的吞吐量,它的数据传输速率和传输时延比X.25网络要分别高或低至少一个数量级。
2. 因为采用了基于变长帧的异步多路复用技术,帧中继主要用于数据传输,而不适合语音、视频或其他对时延时间敏感的信息传输。
3. 仅提供面向连接的虚电路服务。
4. 仅能检测到传输错误,而不试图纠正错误,而只是简单地将错误帧丢弃。
5. 帧长度可变,允许最大帧长度在1600B以上。
6. 帧中继是一种宽带分组交换,使用复用技术时,其传输速率可高达44.6Mbps。
帧中继复用与寻址帧中继在数据链路层采用统计复用方式,采用虚电路机制为每一个帧提供地址信息。
通过不同编号的DLCI(DataLineConnection Identifier数据链路连接识别符)建立逻辑电路。
一般来讲,同一条物理链路层可以承载多条逻辑虚电路,而且网络可以根据实际流量动态调配虚电路的可用带宽,帧中继的每一个帧沿着各自的虚电路在网络内传送。
控制技术帧中继的带宽控制技术既是帧中继技术的特点,更是帧中继技术的优点。
帧中继的带宽控制通过CIR(承诺的信息速率)、Bc(承诺的突发大小)和Be(超过的突发大小)3个参数设定完成。
Tc(承诺时间间隔)和EIR(超过的信息速率)与此3个参数的关系是:Tc=Bc/CIR;EIR=Be/Tc。
在传统的数据通信业务中,用户申请了一条64K的电路,那么他只能以64kbit/s的速率来传送数据;而在帧中继技术中,用户向帧中继业务运营商申请的是承诺的信息速率(CIR),而实际使用过程中用户可以以高于CIR的速率发送数据,却不必承担额外的费用。
举例来说,某用户申请了CIR为64kbit/s的帧中继电路,并且与电信运营商签定了另外两个指标,Bc(承诺突发量)、Be(超过的突发量),当用户以等于或低于64kbit/s的速率发送数据时,网络将确保此速率传送,当用户以大于64kbit/s的速率发送数据时,只要网络不拥塞,且用户在承诺时间间隔(Tc)内发送的突发量小于Bc+Be时,网络还会传送,当突发量大于Bc+Be时,网络将丢弃帧。
所以帧中继用户虽然支付了64kbit/s的信息速率费(收费依CIR来定),却可以传送高于64kbit/s的数据,这是帧中继吸引用户的主要原因之一。
随着帧中继技术、信元中继和ATM技术的发展,帧中继交换机的内部结构也在逐步改变,业务性能进一步完善,并向ATM过渡。
市场上的帧中继交换产品大致有三类:a)改装型X25分组交换机。
b)以全新的帧中继结构设计为基础的新型交换机。
c)采用信元中继、ATM技术、支持帧中继接口的ATM交换机。
a)型交换机在帧中继发展初期比较普遍。
主要是通过改装X25交换机、增加软件使交换机具有接收和发送帧中继的能力,但仍然保留分组层的一些功能,时延较大。
b)型是专门设计的设备,具备帧中继的全部必备功能。
c)型是最新型的交换机,采用信元中继或ATM交换、具有帧中继接口和ATM接口,内部完成FR和ATM之间的互通。
在以ATM为骨干的网络中,起着用户接入的作用。
中国帧中继网所采用的帧中继交换机一般都采用了ATM技术,即用户终端设备采用帧中继接口来接入帧中继节点机,帧中继节点机的中继口为ATM接口,交换机将以帧为单位的用户数据转换为ATM信元在网上传送,在终端侧再将信元变换为帧中继的帧格式传送给用户。
发展过程帧中继业务是在用户与网络接口(UNI)之间提供用户信息流的双向传送,并保持原顺序不变的一种承载业帧中继务。
用户信息流以帧为单位在网络内传送,用户与网络接口之间以虚电路进行连接,对用户信息流进行统计复用。
帧中继还可以灵活地提供带宽,即按需要分配带宽。
因为帧中继的主要应用是局域网互连,而局域网中业务流的大小是很难预测的,如果你预定了固定的带宽,那么不管你是否在传送数据都要付费,这是很不合算的。
帧中继提供了用超过你预定的带宽传送突发性数据的能力。
帧中继在多协议环境下也很有用。
尽管IP协议似乎一统天下,但它不是唯一在使用的协议,这是一个多协议共存的世界。
例如,还有SNA网络,它使用IBM公司的同步数据链路控制协议(SDLC),全世界有60000多家企业使用帧中继,还有一些主要以多媒体业务为主的企业使用ATM。
极少有客户仅使用一种协议。
他们的网络中有多种协议,而帧中继可以处理所有这些协议,因为它只需要简单地将其他协议封装进帧中继的帧当中,然后在网络中传送,它并不关心所封装的内容。
帧中继网络还提供封闭型用户群的功能,通过它你可以知道进网和出网的用户,而不像在公共的因特网中,在任一节点你都没有办法知道此刻有哪些人在网络上。
使用帧中继还能够预测网络的性能组别,因为你可以设定服务参数。
如果你所在的国家有很好的电信基础设施的话,这将是一个特别有吸引力的网络解状方案。
帧中继技术首先在美国和欧洲得到应用。
1991年末,美国第一个帧中继网-Wilpac网投入...
怎样在 Linux 中限制网络带宽使用
限制网络流量速率的一种方法是通过一个名为trickle的命令行工具。
通过在程序运行时,预先加载一个速率限制 socket 库 的方法,trickle 命令允许你改变任意一个特定程序的流量。
trickle 命令有一个很好的特性是它仅在用户空间中运行,这意味着,你不必需要 root 权限就可以限制一个程序的带宽使用。
要能使用 trickle 程序控制程序的带宽,这个程序就必须使用非静态链接库的套接字接口。
当你想对一个不具有内置带宽控制功能的程序进行速率限制时,trickle 可以帮得上忙。
在 Ubuntu,Debian 及其衍生发行版中安装 trickle :1$ sudo apt-get install trickle 在 Fdora 或 CentOS/RHEL (带有 EPEL 软件仓库):1$ sudo yum install trickle trickle 的基本使用方法如下。
仅需简单地把 trickle 命令(及速率参数)放在你想运行的命令之前。
1$ trickle -d -u 这就可以将 的下载和上传速率限定为特定值(单位 KBytes/s)。
例如,将你的 scp 会话的最大上传带宽设定为 100 KB/s:1$ trickle -u 100 scp backup.tgz alice@remote_host.com:如若你想,你可以通过创建一个自定义启动器的方式,使用下面的命令为你的 Firefox 浏览器设定最大下载速率(例如, 300 KB/s)。
1 trickle -d 300 firefox %u 最后, trickle 也可以以守护进程模式运行,在该模式下,它将会限制所有通过 trickle 启动且正在运行的程序的总带宽之和。
启动 trickle 使其作为一个守护进程(例如, trickled):1 trickle -d 300 firefox %u 一旦 trickled 守护进程在后台运行,你便可以通过 trickle 命令来启动其他程序。
假如你通过 trickle 启动一个程序,那么这个程序的最大下载速率将是 1000 KB/s, 假如你再通过 trickle 启动了另一个程序,则每个程序的(下载)速率极限将会被限制为 500 KB/s,等等。
在 Linux 中限制一个网络接口的速率 另一种控制你的带宽资源的方式是在每一个接口上限制带宽。
这在你与其他人分享你的网络连接的上行带宽时尤为实用。
同其他一样,Linux 有一个工具来为你做这件事。
wondershaper就是干这个的。
wondershaper 实际上是一个 shell 脚本,它使用 tc 来定义流量调整命令,使用 QoS 来处理特定的网络接口。
外发流量通过放在不同优先级的队列中,达到限制传出流量速率的目的;而传入流量通过丢包的方式来达到速率限制的目的。
事实上, wondershaper 的既定目标不仅仅是对一个接口增加其带宽上限;当批量下载或上传正在进行时,wondershaper 还试图去保持互动性会话如 SSH 的低延迟。
同样的,它还会控制批量上传(例如, Dropbox 的同步)不会使得下载“窒息”,反之亦然。
在 Ubuntu Debian 及其衍生发行版中安装 wondershaper:1 trickle -d 300 firefox %u 在 Fdora 或 CentOS/RHEL (带有 EPEL 软件仓库) 中安装 wondershaper:1 trickle -d 300 firefox %u wondershaper 的基本使用如下:1$ sudo wondershaper 举个例子, 将 eth0 的最大下载/上传带宽分别设定为 1000Kbit/s 和 500Kbit/s:1$ sudo wondershaper 你也可以通过运行下面的命令将速率限制进行消除:1$ sudo wondershaper 假如你对 wondershaper 的运行原理感兴趣,你可以阅读其 shell 脚本源文件(/sbin/wondershaper)。
总结 在本教程中,我介绍了两种不同的方法,来达到如何在 Linux 桌面环境中,控制每个应用或每个接口的带宽使用的目的。
这些工具的使用都很简单,都为用户提供了一个快速且容易的方式来调整或限制流量。
如果你想更多地了解如何在 Linux 中进行速率控制,请参考 the Linux bible.