- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
IP电话的TCPIP协议的实现方法
IP电话的TCP/IP协议的实现方法
摘 要: 在介绍实现IP电话基本原理的基础上,详细阐述IP电话的TCP/IP协议的实现过程,并简要描述1次通话的全过程。
关键词: IP电话 TCP/IP协议 ICMP UDP ARP
引 言
随着网络技术的不断发展,计算机通信系统已渐渐地与网络连为一体了,个人计算机的功能得到了极大的增强;与此同时,人们的需求在不断增加,网络的应用范围也在不断扩宽,网络电话离人们的生活也越来越近了。尤其是当人们正试图将网络改造成能进行实时通信的全球信息高速公路的雏形时,它作为一种新的话音业务,已经成为研究和开发的热点。
1.IP电话的实现原理
普通电话通过信令来控制用户的呼叫建立、连接、通话、释放连接等过程。与此类似,IP电话也必须通过电话信令来控制这些过程,即IP电话要传送2类数据:信令数据和语音数据。与传统的PSTN电话所不同的是,IP电话是通过网络进行传输的。它通过分组交换的方式来实现,因此TCP/IP协议是其所应遵守的基本协议。但是TCP/IP协议是一个庞大而复杂的体系结构,几乎涵盖了网络上所有的应用,对于IP电话这一特定的应用,实现整个TCP/IP协议是完全没有必要的。所以在实现的过程中,可以针对电话这一特定的要求简化TCP/IP协议。图1是一个简化了的TCP/IP协议的分层结构示意图。
图1在遵循OSI的7层结构的基础上,对TCP/IP协议机制进行了适当的简化。在网络接口层,基于带宽及接口复杂程度的考虑,我们选择Ethernet网卡作为接入网络的接口,并采用ARP的方式对电话进行寻址。网络层仍然用IP数据报的方式封装从上层传来的数据包,它包括传输层的UDP及ICMP两种数据包,这两种数据包分别传送信令数据和语音数据。与TCP的传输方式相比,UDP的传输方式在网络压力不太大的情况下传输效率会更高。
图2是IP电话的实现框图:以单片机为核心,包括存储、输入输出、与网络的接口及语音的编解码部分。
2.TCP/IP协议的设计
根据IP电话实现的基本原理,可以将TCP/IP协议固件分为以下4个模块来实现。
(1)ARP模块
ARP模块主要实现对电话的寻址功能。在网络中,IP电话同计算机一样,每个IP电话对应1个IP地址,用户每次建立连接之前首先要获得电话的IP地址及物理地址。在局域网中,为了减轻单片机的负担,可以在服务器中给用户建立电话号码与IP地址及物理地址的对应。用户建立连接之前,主叫用户首先给服务器发送1个ARP请求,与服务器取得联系,进而再发送ICMP请求。服务器将用户所需的对方的IP地址及物理地址放到ICMP包中,形成应答发送给主叫用户。
ARP包的首部采用结构的方式来封装,一个ARP的头结构ARPKT如下:
typedef struct{WORD hrd, /* 硬件类型 */pro; /* 协议类型 */BYTE hln, /*物理地址长度*/pln; /* IP地址长度*/WORD op; /* ARP操作字段*/BYTE smac[MACLEN]; /*源物理地址*/LWORD sip; /* 源IP地址*/BYTE dmac[MACLEN]; /* 目的物理地址*/LWORD dip; /* 目的IP地址 */} ARPKT;
(2)IP模块
IP模块主要实现对电话信令和语音数据的传输。在一个物理网络中,数据报可以直接从一个IP电话传送到另一个IP电话,因此不必考虑间接投递的问题。当IP电话要传送电话信令或语音数据时,IP层对ICMP或UDP包进行封装,进而传递给物理层形成帧发送出去。当IP数据报到达IP电话时,网络接口软件把它传给IP软件处理。如果其中的目的地址与自己的IP地址匹配,则接收该数据报并上传给合适的高层协议;如果不匹配,则丢弃该数据报。
IP数据报的头部采用结构的形式进行封装,一个IP数据报的头部结构如下:
typedef struct{BYTE vhl, /*版本及首部长度*/service; /*IP服务类型*/WORD len, /*IP数据报总长度*/ident, /* 标识 */frags; /*标志 */BYTE ttl, /*生存时间*/pcol; /*数据区所用的协议*/WORD check; /*首部校验和*/LWORD sip, /* IP源地址*/dip; /*IP 目的地址*/} IPHDR;
(3)ICMP模块
ICMP模块主要实现对电话信令的封装。ICMP包可分为2种:ICMP请求和ICMP应答。ICMP请求包括2种情况:向服务器发送请求获取对方用户的IP地址及物
您可能关注的文档
- An Interactive Model of Teachers’ professional identity formation.ppt
- An Introduction to Chromatographic Separations:对色谱分离的介绍.ppt
- Android程序开发初级教程-- 水滴整理分享 永久.doc
- Android酒店预订系统研究与实现项目提交.ppt
- AO应用实例示例~AO.doc
- AO应用实例示例~文档.doc
- anenin课件 -.ppt
- anenin,课件.ppt
- Arthur Hailey阿瑟黑利及作品简介图文.ppt
- AutoCAD机械制图训练题集.doc
- 山东胜通集团股份有限公司应届高校毕业生招聘重点基础提升模拟试题附带答案王牌题库及参考答案(培优B卷).docx
- 2025年办公大楼员工福利与活动策划服务合同3篇.docx
- 山东英克莱集团有限公司内部使用春季招聘24人高频100题难、易错点模拟试题附带答案含答案(典型题).docx
- 2024年安徽省铜陵市公开招聘综合应急救援人员能力提升测试卷一含答案.docx
- 橙色唯美国潮中国风飞天背景商务汇报PPT模板工作总结汇报.pptx
- 山东英克莱集团有限公司内部使用应届高校毕业生招聘重点基础提升模拟试题附带答案通关秘籍题库【夺冠系列】.docx
- 山东英克莱集团有限公司内部使用总部社会招聘补招7人模拟试题(共100题)附带答案题库答案.docx
- 山东英克莱集团有限公司2024年招聘3人历年(高频重点提升专题训练)附带答案完整题库及答案【全优】.docx
- MSB07环境因素清单(1).doc
- 2024年甘肃省嘉峪关市公开招聘综合应急救援人员自测达标卷二含答案.docx
文档评论(0)