计算机网络实验报告北邮版.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机网络实验报告北邮版

计算机网络实验报告 班级:网络技术研究院宽带网中心 小组成员: 张波 106693 网络技术研究院 王东 网路技术研究院 梁龙 105873 计算机学院 指导老师:马跃 完成日期:2010-12-25 实验一 基于H.323协议中的网守发现和网守注册的实现 1 实验目的 掌握计算机网络协议的实现方法和编程技巧 2 实验要求 1)实现一个H.323客户端向网守进行发现和注册过程(网守已提供) 2)给出发现和注册中出错和最后正确的结果 3 实验环境 windows下 visual c++ 6.0 4 实验原理: 所谓的VoIP 是以IP分组交换网络为传输平台,对模拟的语音信号进行压缩、打包等一系列的特殊处理,使之可以采用无连接的UDP 协议进行传输。 VoIP 模型的基本结构图如图所示。 图1 VoIP 的模型结型 从图中可以发现VoIP 设备是如何把语音信号转换为IP 数据流,并把这些数据流转发到IP 目的地,IP 目的地又把它们转换回到语音信号。两者之音的网络必须支持IP传输,且可以是IP 路由器和网络链路的任意组合。因此可以简单地将VoIP 的传输过程分为下列几个阶段:1、 语音-数据转换 语音信号是模拟波形,通过IP 方式来传输语音,首先要对语音信号进行模拟数据转换,然后送入到缓冲存储区中。数字化可以使用各种语音编码方案来实现。源和目的地的语音编码器必须实现相同的算法,这样目的地的语音设备可以还原模拟语音信号。 2、 原数据到IP 转换 一旦语音信号进行数字编码,下一步就是对语音包以特定的帧长进行压缩编码。网络处理器为语音添加包头、时标和其它信息后通过网络传送到另一端点。语音网络简单地建立通信端点之间的物理连接(一条线路),并在端点之间传输编码的信号。IP 网络不形成连接,它要求把数据放在可变长的数据报或分组中,然后给每个数据报附带寻址和控制信息,并通过网络发送,一站一站地转发到目的地。 3、 传送 在这个通道中,全部网络被看成一个从输入端接收语音包,然后在一定时间(t)内将其传送到网络输出端。t 可以在某范围内变化,反映了网络传输中的抖动。网络中的同间节点检查每个IP 数据附带的寻址信息,并使用这个信息把该数据报转发到目的地路径上的下一站。网络链路可以是支持IP 数据流的任何拓扑结构或访问方法。 4、 IP 包-数据的转换 目的地VoIP 设备接收这个IP 数据并开始处理。网络提供一个可变长度的缓冲器,用来调节网络产生的抖动。其次,解码器将经编码的语音包解压缩后产生新的语音包,这个模块也可以按帧进行操作,完全和解码器的长度相同。在数据报的处理过程中,去掉寻址和控制信息,保留原始的数据,然后把这个原数据提供给解码器。 5、 数字语音转换为模拟语音 播放驱动器将缓冲器中的语音样点取出送入声卡,通过扬声器按预定的频率(例如8kHz)播出。 简而言之,语音信号在IP 网络上的传送要经过从模拟信号到数字信号的转换、数字语音封装成IP 分组、IP 分组通过网络的传送、IP 分组的解包和数字语音还原到模拟信号等过程。 程序结构 图1-1 网守发现和注册过程 5 实验步骤 1)建立mfc对话框类CmfcDlg,添加相关控件、变量、事件处理函数。 2)新建类CmfcEndPoint,它继承于H323EndPoint 3)添加类CmfcEndPoint的成员函数 获得网守名的函数:PString GetGkName() const; PString CMfcEndPoint::GetGkName() const { return gatekeeper-GetName(); } 获得失败原因序号的函数:int GetFailReason() const; int CMfcEndPoint::GetFailReason() const { return gatekeeper-GetRegistrationFailReason(); } 4)在CmfcDlg中添加失败原因的串数组 CString failreason[10]= { 注册成功!, 本地注册失败!, 网守注册失败!, 网守丢失注册信息!, 无效的侦听器!, 别名重复!, 安全性拒绝!, 传输失败!, 号码注册失败原因!, 注册拒绝原因演码! }; 5)在CmfcDlg中实现向网守进行发现和注册过程 if (!m_gkname. IsEmpty()) //若网守名不为空 { PString gkName1=m_gkname; if (m_en

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档