版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、网络协议及网络软件框架设计网络协议tcp/ip (网络控制协议和网际协议)osi与unix系统中协议的对应关系图,及不同网络在osi中的位置osi开放式系统互联参考模型应用层(application)表示层(presentation)会话层(session)传输层(transport)网络 network)unix系统lan驱动器llc花多个网卡驱动程序间交换ieee802.3ieee802.5 tokenfddi数据链路层(data link)介质访问控制mac csmzvcd(载波侦听/多路访间)物理层(physical)物理层winnt(ndis)ethernet macring mac
2、dmac链接tcp/ip基础普通网卡的mac层接口网i】内部总线ii译码器/解码器(encoder/decoder) &pllled逻辑显尔10/100 base-t 网络 & aui收包过程mac从译码/解码器接收到来的数据包,首先检查sfd,检查完毕后,mac认为sfd后面所冇的 位为帧数据位.读h的地址da,把它和已变成的地址过滤屮地址比较,如果da通过了地址过滤层, 这个帧会被放入网卡的存储空间.在整个整接收完成后,mac检查fcs的冇效性.以太帧格式(ethernet frame format)sfd=start of frame delimiteda=destina
3、tion addresssa=source addressllc=logical link controlfcs=frame check sequence or cyclic redundancy check(crc) snmp (简单网络管理协议 simple network management protocol)snmp川来管理网络设备和获得外围设备信息,屈于tcp/ip的一部分,具有协议独立性.利用snmp, -个管理工 作站可以远程管理所冇支持这种协议的网络设备,包括监视网络状态、修改网络设备配置、接收网络事件 警告等。两种类型mib-1, mib-2.mib是一个树形结构,snmp
4、协议消息通过遍历mib树形i 录中的节点(oid)来访 问网络中的设备.mib树的每个节点被指定为一个数字(非负数),同一层的节点用不同的数字区分.这些节点数字 rh标准组织指定.mib树屮的任何一个节点由其所处的位置來命名.因为同一层的节点数字皆不 同,到达某个节点的路山可以山从树根到此节点所经过的节点的数字串来表示.这个数字串称为 相应mib对彖的对彖标识符(oid).例如,odi,1.3代表的对象是从命名为t的根节点开始,后续的下级节点“3”,再下一级 是“6”,依此类推.管理信息结构标识(smi):左义mib中行的技术规范.snmp b前冇两种版本snmp v1和snm
5、p v2.snmp协议单元(pdu)实现代理和管理站间的通信,及server和target的通倍. 通信类型类型pdu类型传输方向说明0getrequestserver>target用来从target上获紂一个或多个snmp的对象(oid)值1getnextrequestserver>target在target上的mib中获得下一个snmp的对彖(oid)值2getresponsetarget->servertarget响应serversnmp对象/请求3setrequestserver>targetserver上程序为targetmib屮的oid赋值4traptarg
6、et->servertarget用它來通知server有一个特定时间发生目前好的snmp网络管理软件是惠普公司的openview. bsd 套接字但sd sockets)bsd sockets使用的最广泛的网络程序编程方法,主要用于应用程序的编写,用于网络上主机与主机z间的 相互通信.unix丄inux,vxworks 均支持 bsd sockets,windows 的 winsock 基木上是來自 bsd socketssocket 分为 stream sockets 和 data sockets.stream sockets是可靠性的双向数据传输川tcp,如http,ftp等data
7、 sockets是不可靠连接用udp,如多点广播,dhcp,snmp,rip等. tcp服务器端和一个tcp客户端通信的程序过程服务器两个浅蓝色的函数是两个sockets的握丁函数,即在这里建立连接客户机udp服务器端和一个udp客户端通信的程序过程这见不建立连接,只是数据收发创建一个socketsfd =socket (afjnet, sock dgram, 0)把socket和木机的ipjcp 口绑定bind (sfd, (struct sockaddr *) &serveraddr,sockaddrsize)不需要创建等待队列这里循环等待,如有客户连接则接受,并读取客户发來的信息
8、recvfrom (sfd, (char *) &clientrequest, sizeof(dientrequest), 0: (struct sockaddr *)&clientaddr, &sockaddrsize)关闭socket,通信终止close (sfd)创建一个socketsfd =socket (afjnet, sock.dgram, 0)注意:客户端不需要绑定,因为ucp 口是动态的.向服务器端发送连接请求和信息,这里不等待服务器的响应sendto (sfd, (caddrj) &myrequest, sizeof(myrequest), 0
9、, (struct sockaddr *) &serveraddr,sockaddrsize)关闭 socketsclose (sfd)udp广播包程序示例发送udp广播包,查找木地网络屮所有运行snmp服务设备的ip信息。 winsock, win32控制台程序。#define snmp_port161void searchipn_lan()wsadata wsadata;socket socklistener;sockaddrjn saudpcli,saudpserv;bool fbroadcast = true;char sendbuff40= /snmp 查询包内容x30
10、9;,'x26','x02,、x01','x00;004'八 x06','x70','x75',*x62',*x6ctx69','x63','xa0','x19',xo?,'xo17xo3,xo2';xo1x00tx02','x01',、x00','x30;*x0etx30','x0c','x06','x08,x2btxo6',
11、9;xo1 ',、x02','x01 ;*01 :'xo1','x00tx05','x00';char recvbuff600;int nsize,err,timeoutnum = 1;ulong hostlpaddr;int rv;int ncount=0;if(wsastartup(makeword( 2, 2),&wsadata)!=0)printf("winsocket start error!n");return;socklistener=socket(af_inet,sock_dgr
12、am,0);err = setsockopt ( socklistener,sol socket,so_broadcast,(char *)&fbroadcast,sizeof (bool);if ( socket_error = err) return ;int time0ut=10000;err = setsockopt ( socklistener,sol_socket,so_rcvtimeo,(char *) &timeout,sizeof (timeout);if ( socket_error = err) return ;saudpcii.sinjamily = a
13、fjnet;saudpcii.si n_port = hton s(0);salldpcli.sin_addr.s_addr = htonl(inaddr_any);if(bind( socklistener, (sockaddr *)&saudpcii, sizeof(sockaddr_in)!=0)printf(ncan't bind socket to local port!program stopart);return;err = gethostn ame(recvbuff,sizeof(recvbuff);if ( socket_error = err)return
14、;struct hostent *hp = gethostbyname(recvbuff);if (!hp) return ;salldpserv.sinamily = af_inet;memcpy(&(saudpserv.sin_addr),hp>h_addr,hp>h_le ngth);hostlpaddr=ntohl(saudpserv.sin_addr.s_addr);saudpserv.sin_addr.s_addr = htonl ( inaddr broadcast); salldpserv.sin_port = htons (snmp_port);nsize
15、 = sizeof ( sockaddrjn );if(rv = sendto ( socklistener,sendbuff,sizeof(sendbuff),0,(sockaddr *) &saudpserv,sizeof ( sockaddrjn )=socket_error)printf("send error!n");closesocket(*(socket*)socklistener);return;printff'send successful!n");do / waiting to receiveif(rv=recvfrom (so
16、cklistener,recvbuff,sizeof(recvbuff),0,(sockaddr *) &saudpcii,&nsize)=socket_error)if(wsagetlasterror()=wsaetimedout)if (timeoutnum > 6 ) /wait for 1 minute.break;elsetimeo utnu m+;elsecstring lp(inet_ntoa ( saudpcii.sin_addr); printf("t ip adress-> %s ",lp);jwhile(true); clo
17、sesocket(*(socket*)socklistener); return ;网络软件设计框图(个人理解,仅供参考)设备管理服务软件架构pc 端(windows nunix,novell平台) 管理服务器(http,ftpserver)终端pc用八(ie浏览器)lnternet(http,.协议)如用户pc缺少相应驱动,服务器会动态为用户pc加载安装通信方式:socket, namedpipe 等iiii后台核心程序处理请求,接收发送数据网络设备(嵌入式操作系统)snmp客户internet(snmp协议)snmp服务器信息家电(ia)的架构lnternet(http,.协议)终端pc用八(ie浏览器)网络设备(嵌入式操作系统平台)恢入式服务器(embedded web server, h
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- JJF 1111-2026调制度测量仪校准规范
- T/SDMTGM 0002-2018热成形生产线用高速双臂机械手
- T/JX 029-2024“金平湖”葡萄
- T/CCSAS 060-2025涉氢建筑物及容器泄爆设计方法
- T/CCPS 0002-2023青少年艺术素养(音乐)水平评价规范
- T/CSPSTC 141-2024海域管道水平定向钻施工技术规范
- GB/T 33897-2026生物聚酯聚羟基烷酸酯(PHA)吹塑薄膜
- AI在科学史中的应用
- PHP程序设计期末考核试题(含详细答案)
- 2026年福建省综合性评标专家库评标专家考试练习题及答案
- 2026中国眼科创新药物研发趋势及商业价值评估研究
- JJF 2463-2026烟气含湿量测量仪校准规范
- 高中高一年级信息技术“变量与程序设计综合应用-设计购买纪念品的最佳方案”教学设计
- 2026年上半年软考中级网络工程师真题及答案解析
- 2026年《艺术概论》题库及参考答案
- CSCO结直肠癌诊疗指南(2026版)
- 山东省2025年冬季普通高中学业水平合格考试物理试题
- 托管机构老师劳动合同
- Unit5WhataDeliciousMeal!SectionA1a-1d课件人教版八年级英语下册
- 2026年银行从业资格《个人贷款》真题及答案解析
- 教科版小学科学二年级上册和下册【全册】教学课件上下共两册
评论
0/150
提交评论