信道拨号上网

拨号上网  时间:2021-05-22  阅读:()
第27卷第1期2002年2月武汉大学学报·信息科学版GeomaticsandInformationScienceofWuhanUniversityVol.
27No.
1Feb.
2002文章编号:1000_050X(2002)01_0039_05文献标识码:AISDN多媒体卡拨号上网的研究与设计黄治华1喻占武1李世辉1易本顺1(1武汉大学多媒体网络通信工程湖北省重点实验室,武汉市珞喻路129号,430079)摘要:研究在已实现可视通信的ISDN多媒体卡上,通过芯片的功能复用,设计一个驱动程序模型,以实现ISDN多媒体卡的拨号上网功能.
简要介绍了ISDN接入因特网的通信协议体系,详细探讨了ISDND信道的呼叫过程,分析了拨号上网原理及如何与Windows系统的远程访问服务结构相结合.
给出了一个基于NDIS标准的ISDN多媒体卡的小端口驱动程序的设计与实现方案.
关键词:综合业务数字网;网络接口卡;驱动程序;DDK中图法分类号:TN913.
24;TP393ISDN即综合业务数字网[1],它以迅速、准确、经济、有效的方式提供各种通信网络中的现有业务;同时,它将通信和数据处理结合起来,开创了许多前所未有的新业务.
目前,ISDN的业务主要分为承载业务、用户终端业务和补充业务三类.
其中,承载业务是指ISDN网络提供的信息传送业务,它提供用户之间的信息传送而不改变信息的内容.
例如拨号上网、可视电话等,用到的都是ISDN的承载业务.
相对于传统使用的局域网接入和通过模拟电话线利用Modem拨号接入两种方式来说,ISDN利用现有电话网的用户线,访问速率可达128kbit/s,是Modem拨号上网速率的2倍以上,因此,通过ISDN接入Internet是一种极具吸引力的选择.
本文主要研究如何在已经实现可视电话的ISDN卡上扩展拨号上网的功能,在Windows系统的远程访问服务(RAS)分层结构下,编写满足NDIS标准的内置ISDN卡驱动程序.
最终,通过ISDN卡既可以打可视电话又可以拨号上网.
1ISDN网络通信协议与拨号上网原理分析1.
1ISDN网络通信协议根据B信道的数目,ISDN可分为BRI2B+D基本速率接口和PRI30B+D一次群速率接口.
本文所研究的重点是基本速率接口(2B+D)的窄带ISDN,它通过两个B信道传递数据,一个D信道传递控制信令.
下面简要介绍各信道的协议.
D信道的作用主要是信令交互,实现呼叫的建立与管理.
国际电信联盟(ITU)对D信道制定的标准协议分为物理层、数据链路层、网络层三层.
对于B信道,由于和D信道复用在同一条线路上,因此在物理层,B信道采用的也是I.
430协议;但是在物理层以上,ISDN提供多样的服务,不同的服务采用不同的协议.
对拨号上网而言,数据链路层采用PPP协议和MP协议,传输层、网络层采用TCP/IP协议.
ISDN拨号上网层次协议原理如图1所示.
1.
2NDIS与拨号上网驱动程序的原理为了便于用户开发网络设备驱动程序,Win-dows提供了网络设备驱动接口规范[2]NDIS(net-workdriverinterfacespecification),它描述了网络接口卡(NIC)驱动程序与下层网卡物理设备,上层传输驱动程序与操作系统之间通信的接口规范.
当开发者按照NDIS标准编写ISDN小端口驱动程序后,就可以利用Windows远程访问服务收稿日期:2001_11_23.
项目来源:国家自然科学基金资助项目(49771064);国家测绘局测绘科技发展基金资助项目(97009);湖北省自然科学基金资助项目(98J080).
DOI:10.
13203/j.
whugis2002.
01.
007接入Internet.
NDIS小端口驱动程序实现原理参见文献[3].
当用户选择ISDN线路进行拨号后,ISDN拨号程序通过TAPI接口发呼叫命令,经NDISTAPI转化成与呼叫相关的形如OID_TAPI_XXX的查询命令,发往NDIS小端口驱动程序,用于控制B信道物理链路的建立.
小端口驱动程序接收上层来的NDISWAN查询和TAPI来的查询命令,进行正确响应.
当线路状态发生变化时,立即通知上层拨号程序,直至物理线路连通,这时,PPP数据包开始通过NDISWAN发往B信道,控制逻辑链路的建立.
当逻辑链路建立后,用户就可以通过Windows各种网络应用软件对Internet进行访问.
2ISDN卡拨号上网功能的实现设备驱动程序是操作硬件的底层软件,它向上提供与硬件无关的用户接口,向下直接进行I/O、DMA、中断和内存访问等操作[4].
NDIS规范作为网络设备的接口规范,它对于中断、内存访问及硬件资源获取都有规定.
ISDN卡作为一种特殊的网卡,应遵循NDISNIC小端口驱动规范,它与一般网卡驱动程序的不同主要是由ISDN卡的特性所决定的.
2.
1硬件结构本文的目标是要在已经实现了可视电话的ISDN多媒体卡的硬件基础上支持拨号上网的功能.
原可视电话ISDN卡采用BT848芯片实现复合视频信号的采集、编码,并作为PCI控制器与PCI总线进行数据传输.
另外该卡还采用了ISDN接口芯片和音频压缩芯片,分别实现ISDN通信控制和语音压缩编码,它们通过24位GPIO口与BT848进行数据交互.
为了扩展该卡的上网功能,将原用于音频压缩的芯片用于B信道的数据传输,实现了单一芯片在功能上的复用.
2.
2ISDN呼叫控制过程分析ISDNB信道的呼叫建立过程遵循Q.
931协议[5].
Q.
931是在D信道的物理链路层已经建立的情况下,通过在D信道上发送Q.
931协议包从而达到对B信道的链接、监测和管理.
在呼叫双方通过ISDN建立链接的过程中,主叫和被叫两方各自经历了呼叫的不同状态.
下面以主叫方A和被叫方B为例介绍呼叫过程.
ISDN呼叫控制的状态迁移如图2所示.
当通信开始时,呼叫双方A与B呼叫状态都处于空闲状态.
请求连接时,A发出Setup帧,此时A的状态变成呼叫开始状态.
收到交换机发出的Pro-ceeding帧后,A的状态就变成了呼叫进行状态.
交换机从Setup帧中解析出被叫方B的电话号码,向B所在地的交换机发出连接请求.
B所在地的交换机收到连接请求后,向B发出Setup帧.
B方收到Setup帧时,首先检查其中的承载能力等一些信息,当这些通过验证后,B发出Alerting帧,同时B的状态变成呼叫到来状态,B开始响铃.
当用户摘机后,B的状态变成连通请40武汉大学学报·信息科学版2002年求状态,同时向A发出Connect帧.
当A收到Alerting帧后,其状态变成对方响铃状态.
随后,当A收到了Connect帧后,A得知线路已连通,变成连通状态,同时,发出Con-nect_Ack帧,确认连通请求.
当B接收到Con-nect_Ack帧后,其状态达到连通状态.
至此,就建立起来了呼叫方和被叫方之间B信道物理链路.
这之后将在该链路上传递B信道的协议应答,建立逻辑链路,然后就可传递用户的有效数据了.
当用户通过B信道传输数据时,D信道一直在监测线路状态.
由于通信的任何一方都能释放物理链接,下面仅分析A主动释放连接时状态的变迁.
若A要求主动释放链接,它将发出Disconnect帧,此时其由连通状态变成释放请求状态,等待对方的响应;被叫方B收到Disconnect帧后,它获知A要求挂断线路,于是向A发出Release帧,对A的释放请求给出响应,同时B的状态变成被动挂断状态.
A收到Release帧后,它确认B已经收到了释放请求,现在可以释放线路,于是发出Re-leaseComplete帧,A的状态变成空闲.
当B收到ReleaseComplete帧,得知线路已断开,B的状态即恢复到空闲状态.
至此,一次完整的通信过程结束.
2.
3ISDN线路管理的实现机制本文采用的ISDN接口芯片能够接收两种数据:透明数据流和HDLC数据.
透明数据流即线路上传输的所有数据,包括垃圾数据等;HDLC数据即满足HDLC帧结构的数据.
由于在上网时,数据是时断时续的,在线路上可能存在垃圾数据,因此为了获取有效的上网数据,需要将硬件芯片设置成接收HDLC数据的模式.
ISDN硬件接口如图3所示.
HDLC_AHDLC_BHDLC_C→→→S接口→ISDN网络图3ISDN通信终端结构图Fig.
3TheStructureofISDN在图3中,HDLC_A用于D通路传输信令信息的LAPD帧处理,HDLC_B和HDLC_C分别用于两个B通路上传输IP协议包的PPP链路层帧处理,S接口负责完成ISDN的S接口的硬件处理,一端与ISDN网络接口,另一端为终端提供2B+D的字节接口.
对于ISDN上网,软件实现的关键是将各种通信协议有机地结合在一起.
系统设计结构如图4所示.
拨号程序←ISDN线路管理与拨号软件的接口↑信令协议LAPD协议I.
430协议→事件调度←事件队列←定时处理→PPP封装处理↑D信道、B信道通信中断处理图4系统结构图Fig.
4TheSkeletonofDriver对于D信道处理,如图4中箭头所示,各协议实体、定时处理和D信道通信中断处理把发生的事件放入事件队列中,事件调度从事件队列中取出事件,调用相应的协议实体处理.
各协议实体可以向定时处理申请定时服务.
以事件队列为核心,由事件调度负责各协议实体同时运行,共同完成多层协议处理.
对于B信道处理,重要的是通过PPP封装处理实现PPP数据封装.
当B信道物理链接建立后,驱动程序通过B信道通信中断处理将已封装的PPP数据发送到B信道上.
2.
4ISDN线路管理与拨号软件的接口设计拨号程序对ISDN卡的线路控制请求通过电话应用程序接口TAPI转换成TAPI的相应命令,操作系统再将这些命令转化后,会向NDIS发出形如OID_TAPI_XXX的查询消息(如对于拨号操作TapiMakeCall,Windows会向驱动程序发出OID_TAPI_MAKE_CALL的查询消息).
在驱动程序里需要处理许多这样的消息.
拨号上网时,线路的处理过程如下.
1)选择ISDN线路,开始拨号.
拨号程序用TapiOpen函数打开所选线路,每个线路对应一个呼叫,每个呼叫都有对应的呼叫状态.
线路打开时,线路的呼叫状态初始化为LINECALL-STATE_IDLE.
然后通过TapiMakeCall函数进行呼叫,Windows向驱动程序发出OID_TAPI_MAKE_CALL的查询消息,驱动程序响应这个消息,向D信道上发出封装成Q.
931消息的Setup帧,同时线路的呼叫状态转变成LINECALL-STATE_DIALING,并通过系统提供的指示函数NdisMIndicateStatus告知拨号程序目前线路的呼叫状态.
41第1期黄治华等:ISDN多媒体卡拨号上网的研究与设计NdisMIndicateStatus的调用形式如下:NDIS_TAPI_EVENTCallEvent;NdisMIndicateStatus(MiniportAdapterHandle,NDIS_STATUS_TAPI_INDICATION,&CallEvent,sizeof(CallEvent));其中,CallEvent.
ulMsg=LINE_CALLSTATE;CallEvent.
ulParam1=CallState;/*需要指示的呼叫状态(如LINECALLSTATE_DIALING)*/2)线路的呼叫过程.
D信道的信令交互严格遵循Q.
931协议,对于收到的不同的Q.
931消息,应通过NdisMIndicateStatus向拨号程序指示响应的呼叫状态.
当收到Callproceeding帧时,向上指示LINECALLSTATE_PROCEEDING状态;当收到Connect帧时,向上指示LINECALL-STATE_CONNECTED状态.
3)当呼叫状态变成了LINECALLSTATE_CONNECTED时,表示B信道物理链路已经连通,可以传输数据包了.
拨号程序获知这个状态后,会立即向驱动程序发送PPP数据包.
4)在呼叫的整个过程中,若收到Disconnect帧发现对方要求断开线路,驱动程序就将LINECALLSTATE_DISCONNECTED呼叫状态通知拨号程序,拨号程序得知后,将立即结束此次呼叫.
2.
5B信道的逻辑链路建立与数据传输当B信道物理链路连通以后,就需要在B信道上建立逻辑链路以传递数据.
对于拨号上网而言,B信道数据链路层协议用到的是PPP协议[6](包括MP协议).
PPP协议是提供在点到点链路上承载网络层数据包的一种链路层协议.
PPP定义了一整套的协议包括链路控制协议(LCP)、网络层控制协议(NCP)和验证协议(PAP或CHAP)等.
要能够在B信道上传输可靠的数据,必须通过PPP协商.
在拨号上网完成了物理线路的连接基础上,从开始验证密码到验证通过,能够正常上网,期间经历了如下过程.
1)PPP在建立链路最初,首先进行LCP[7](链路控制协议)协商,协商内容包括工作方式(是PPP还是MP)、验证协议(PAP或CHAP)和最大传输单元等.
对于ISDN而言,由于支持2B上网,所以应支持将两个B信道捆绑以实现128K的最大速度,因此必须采用MP.
LCP通过协商后,双方即完成B信道链路层通信能力的交互.
2)密码验证阶段.
LCP协商结束后,通信双方根据协商的验证协议发送验证数据包,此时拨号程序将提示用户"正在验证用户名和密码".
目前验证协议大多采用的是PAP协议,PAP为两次握手验证,口令为明文.
PAP验证过程为:首先,被验证方发送用户名和口令到验证方,然后,验证方根据用户配置查看是否有此用户以及口令是否正确,再返回不同的响应.
响应都需将验证结果告知拨号网络.
如果通过了验证,PPP进入下一步NCP(网络控制协议)阶段;如果不能通过验证,拨号网络则会提示用户密码或用户名不正确,拨号将终止或提示重拨.
3)如果通过了PAP验证阶段,则进入了NCP协商阶段,NCP协商支持IPCP[8](IP控制协议)协商,主要是协商动态IP地址,拨号上网的IP地址是由ISP服务商动态提供的.
4)IP地址分配后,就可以传输IP数据包了.
TCP协议封装在IP数据包里,由于TCP是面向连接的,所以必须和ISP通过三次握手建立TCP连接.
如果应用层的协议是HTTP协议,则需和ISP服务器的80号端口建立连接,如果应用层的协议是FTP协议,则需和ISP服务器的21号端口建立连接.
通过以上过程,B信道的逻辑链接建立起来,就可以利用各种网络软件快速访问Internet了.
3结语本文根据拨号上网的原理和ISDN通信的机制,实现了ISDN卡拨号上网功能,且能根据需要进行1B和2B通信能力的切换,达到64kbit/s和128kbit/s的通信速度.
由于本文所讨论的ISDN卡是一种支持可视通信服务的硬件设备,本文实现了设备的上网功能,使得该设备既能用于IS-DN上网,又能拨打可视电话,更好地体现了IS-DN综合业务的能力,有着较为广泛的应用领域.
参考文献1程时瑞.
综合业务数字网.
北京:人民邮电出版社,19942MicrosoftWindowsDeviceDriverKit(DDK)Guide.
Mi-crosoft,20003WilliamsM.
ISDNNDISWANMicrosoftDeviceDriverKit(DDK).
DeviceDriverResource,1996:7(3)4ChrisC.
WindowsWDM设备驱动程序开发指南.
北京:机械工业出版社,200042武汉大学学报·信息科学版2002年5CCITTRecQ.
931.
ISDNUser———NetworkInterfaceLayer3Specification,19956SimpsonW.
ThePoint_to_PointProtocol(PPP).
RFC1661,1994.
http://www.
rfc_editor.
org7SimpsonW.
LinkControlProtocol(LCP).
RFC1548,1993.
http://www.
rfc_editor.
org8McGregorG.
ThePPPInternetProtocolControlProto-col.
RFC1332,1992.
http://www.
rfc_editor.
org作者简介:黄治华,硕士生.
现从事操作系统底层开发及网络通信协议等研究.
E_mail:Huangzhihua_wd@263.
netDesignandImplementationofAccessingInternetThroughanISDNMultimediaCardHUANGZhihua1YUZhanwu1LIShihui1YIBenshun1(1TheKeyLaboratoryofMultimediaandNetworkCommunicationsEngineering,HubeiProvince,WuhanUniversity,129LuoyuRoad,Wuhan,China,430079)Abstract:ISDNcansuppliedapoint_to_pointdigitalconnectionthatcanbeusedtocarrymulti_trafficincludingbothaudioandnon_audiosignalsandperformmanyoperationssuchasdialingtoaccesstheInternet,andvideophoneespecially.
Inthispaper,thespecialdrivermodelforavideophoneISDNcard,whichhardwarewasdesignedformultiplexedmultifunction,toaccesstheIn-ternetisdeveloped.
TherelatedISDNnetworkcommunicationprotocolsarediscussedindetailandtheprincipleoftheISDNmultimediaterminalcardaccessingtheInternetundertheschemeofMS_WindowsRAS(remoteaccesssystem)isanalyzed.
InthestructureofRAS,thecallcontrolinthelineismanagedbyTAPI(TelephoneAPI),andthedatatransportisachievedbytransportdrivers.
NIC(Networkinterfacecard)driversmustcompletefourfunctions:tocompletethepro-tocolsQ.
931andQ.
921inISDNDchannelandcontrolthecommunicationinphysicalchannels;toreceiveorsenddatainBchannel;tofunctiontheinterfacewithTAPIandthemanagementoflinklayer;toactastheinterfacewithtransportdriversbyWANfunctionlibraryandNDISfunc-tionlibrary.
AminiportdriverbasedonNDIS(networkdriverinterfacespecification)fortheIS-DNmultimediacard,whichenablesthecardtofunctionasanISDNmodemandamultimediater-minalsimultaneously,isdevelopedandthedesignguideandimplementationdetailsarereported.
Keywords:integratedservicedigitalnetwork(ISDN);networkinterfacecard;driver;devicedriverkit(DDK)Abouttheauthor:HUANGZhihua,postgraduate.
Hismajoraretheimplementationofoperatingsystemandthenetworkprotocolsofmultiemdiacommunication.
E_mail:Huangzhihua_wd@263.
net43第1期黄治华等:ISDN多媒体卡拨号上网的研究与设计

硅云香港CN2+BGP云主机仅188元/年起(香港云服务器专区)

硅云怎么样?硅云是一家专业的云服务商,硅云的主营产品包括域名和服务器,其中香港云服务器、香港云虚拟主机是非常受欢迎的产品。硅云香港可用区接入了中国电信CN2 GIA、中国联通直连、中国移动直连、HGC、NTT、COGENT、PCCW在内的数十家优质的全球顶级运营商,是为数不多的多线香港云服务商之一。目前,硅云香港云服务器,CN2+BGP线路,1核1G香港云主机仅188元/年起,域名无需备案,支持个...

蓝竹云挂机宝25元/年,美国西雅图 1核1G 100M 20元

蓝竹云怎么样 蓝竹云好不好蓝竹云是新商家这次给我们带来的 挂机宝25元/年 美国西雅图云服务器 下面是套餐和评测,废话不说直接开干~~蓝竹云官网链接点击打开官网江西上饶挂机宝宿主机配置 2*E5 2696V2 384G 8*1500G SAS RAID10阵列支持Windows sever 2008,Windows sever 2012,Centos 7.6,Debian 10.3,Ubuntu1...

欧路云(22元) 新增美国Cera线路VPS主机且可全场8折

欧路云(oulucloud) 商家在前面的文章中也有陆续介绍过几次,这不今天有看到商家新增加美国Cera线路的VPS主机,而且有提供全场八折优惠。按照最低套餐最低配置的折扣,月付VPS主机低至22元,还是比较便宜的。不过我们需要注意的是,欧路云是一家2021年新成立的国人主机商,据说是由深圳和香港的几名大佬创建。如果我们有介意新商家的话,选择的时候谨慎且月付即可,注意数据备份。商家目前主营高防VP...

拨号上网为你推荐
长江航道周服务信息支持ipad请务必阅读正文之后的免责条款部分支持ipad支持ipad勒索病毒win7补丁由于电脑没连接网络,所以成功躲过了勒索病毒,但最近要联网,要提前装什么补丁吗?我电脑断网好久了用itunes备份如何使用itunes完整备份iPhone资料csshack怎样找css hack 的最新使用方法firefoxflash插件安装火狐浏览器后,老是提示安装flash player?迅雷雷鸟雷鸟手机怎么样
万网域名代理 香港加速器 外国服务器 permitrootlogin 全能主机 qq数据库 京东商城双十一活动 腾讯实名认证中心 东莞数据中心 卡巴斯基免费试用 重庆双线服务器托管 Updog 监控服务器 国外的代理服务器 畅行云 域名转入 稳定空间 阵亡将士纪念日 wordpress空间 蓝队云 更多