tcpip协议范文

时间:2023-04-08 00:33:34

导语:如何才能写好一篇tcpip协议,这就需要搜集整理更多的资料和文献,欢迎阅读由公务员之家整理的十篇范文,供你借鉴。

tcpip协议

篇1

摘要:从网络安全的角度出发,介绍TCP/IP计算机网络体系结构、TCP/IP协议栈的层次结构、各层的功能、常用协议和信息数据包格式,对TCP/IP网络的脆弱性,对网络攻击的方法进行分析。

关键词:网络对抗 TCP/IP协议 数据包

TCP/IP协议使得世界上不同体系结构的计算机网络互连在一起形成一个全球性的广域网络Internet,实现信息共享,由此展开TCP/IP协议和网络攻击分析和研究,寻求网络安全的措施,是有效实施计算机网络对抗的关键。

一、TCP/IP协议栈

(一)因特网依赖于一组称为TCP/IP的协议组。TCP/IP是一组通信协议集的缩写,它包含了一组互补和合作的协议。所有协议规范均以RFC(Request for Comment)文档给出。由于规范的不完善和实现上的缺陷使得针对网络协议的攻击成为可能。TCP/IP协议ISO/OSI参考模型将网络设计划分成七个功能层。但此模型只起到一个指导作用,它本身并不是一个规范。TCP/IP网络只使用ISO/OSI模型中的五层。图1显示了一个简单的五层网络模型,其中每层都采用了TCP/IP协议。

在图一中,有箭头的线表示不同的网络软件和硬件之间可能的通信信道。例如,为了和传输层通信,应用程序必须与用户数据报文协议(UDP)或传输控制协议(TCP)模块对话。为了在应用程序间交换数据报文,应用层必须与互联网控制报文协议(ICMP)或者互联网协议(IP)模块对话。但是,不管数据通过什么路径从应用层到网络层,数据都必须经过IP模块才能到达网络硬件。

(二)在TCP/IP协议体系结构中,每层负责不同的网络通信功能。1.数据链路层: 建立,维持和释放网络实体之间的数据链路,它们一起处理与电缆(或其他任何传输媒介)的物理接口细节,以及数据帧的组装。典型的协议包括ARP(地址解析协议)和RARP。

2.网络层:属于通信子网,通过网络连接交换传输层实体发出的数据。它解决的问题是路由选择、网络拥塞、异构网络互联等问题。在TCP/IP协议族中,网络层协议包括IP协议(网际协议),ICMP协议(互联网控制报文协议),以及IGMP协议(因特网组管理协议)。

3.传输层:主要为两台主机上的应用程序提供端到端的通信。在TCP/IP协议族中,有两个互不相同的传输协议:TCP(传输控制协议)和UDP(用户数据报协议)。TCP为两台主机提供高可靠性的数据通信,通过使用滑动窗口还可解决传输效率和流量控制的问题。它所做的工作包括把应用程序交给它的数据分成合适的报文段交给下面的网络层,确认接收到的分组报文,设置发送最后确认分组的超时时钟等。由于传输层提供了高可靠性的端到端的通信,因此应用层可以忽略所有这些细节。

二、常用探测技术方法

入侵者之所以能突破网络网关是因为他们对所要突破的网络有更多的了解。通常是使用下面几种工具来收集信息:

1.Ping实用程序:可以用来确定一个指定的主机的位置。

2.Whois协议:具体点说,whois就是一个用来查询域名是否已经被注册,以及注册域名的详细信息的数据库。

3.Traceroute:程序能够用该程序获得到达目标主机所要经过的网络数和路由器数。

三、攻击方法

恶意攻击者攻击的方法多种多样,一般的攻击方法有:分布式拒绝服务攻击;网络层协议攻击;拒绝服务攻击。

拒绝服务攻击(Denial of Service),简称DoS。这种攻击行动使网站服务器充斥了大量要求回复的信息,消耗网络带宽或系统资源,导致网络或系统不胜负荷以至于瘫痪。拒绝服务攻击根据其攻击的手法和目的不同,有两种不同的存在形式。①迫使服务器缓冲区满,不接受新的请求。②使用IP欺骗,迫使服务器把合法用户连接复位,影响合法用户的连接,这也是DoS攻击的基本思想。

网络层协议的攻击主要包含几个方面。①IP地址欺骗:攻击者假冒IP地址发送数据包,从而达到伪装成目标主机信任的友好主机得到非授权服务。② 泪滴攻击:发送多段数据包,使偏移量故意出错,造成主机计算出错,系统崩溃。③RIP路由欺骗:声明攻击者所控制的路由器A可以最快达到某站点B,从而导致发送至B的数据包经A中转。由于A被控制,达到完成侦听,篡改的目的。

分布式拒绝服务DDoS(distributed denial of service)攻击就是要阻止合法用户对正常网络资源的访问,从而达成攻击者不可告人的目的。DDOS和DOS还是有所不同,DDOS的攻击策略侧重于通过被攻击者入侵过或可间接利用的主机向受害主机发送大量看似合法的网络包,从而造成网络阻塞或服务器资源耗尽而导致合法用户无法正常访问服务器的网络资源。

分布式拒绝服务攻击的体系结构—DDoS攻击按照不同主机在攻击时的角色可分为攻击者、主控端、端和受害者。分布式拒绝服务攻击体系结构如图二。

攻击者采用一些典型的入侵手段,如:通过缓冲区溢出攻击提升用户权限;设置后门、上载木马;通过发现有配置漏洞的FTP服务器TELNET服务器上载后门程序;通过窥探网络信息,非法获得用户名和口令,获得目标主机权限;通过社交工程,冒充目标主机所有者向不知情的信息服务部门打电话、发邮件获得目标主机口令、密码,非法入侵目标主机等等,以获得一定数据量和规模的主机的控制权,然后在这些主机上安装攻击软件。主控端的控制傀儡机用于向攻击傀儡机攻击命令,但控制傀儡机本身不参与实际的攻击,实际攻击由端的攻击傀儡机实现,受害主机接收到的是来自攻击傀儡机的数据包。攻击者在实施攻击之前,被设置在受控主机上的程序与正常的程序一样运行,并等待来自攻击者的命令。

四、保障网络安全的措施

1. 防火墙技术

防火墙技术是网络安全的第一道门户,实现信任网络和外部不可信任网络之间的隔离和访问控制,保证网络系统服务的可用性。防火墙的结构通常包括:①包过滤型防火墙。对进出内部网络的所有信息进行分析,并按照一定的安全策略对进出内部网络的信息进行限制。②双宿网关防火墙。它由装有两块网卡的堡垒主机做防火墙,对内外网实现物理隔开。它有两种服务方式:一是用户直接登录到主机上;二是双宿主机运行服务器。③屏蔽子网防火墙。它使用两个屏蔽路由器和一个堡垒主机,也被定义为单DMZ防火墙结构。

2. 入侵检测系统

入侵检测系统作为防火墙之后的第二道屏障,通过从网络中关键地点收集信息分析,对违反安全策略的行为作出相应。入侵检测是个监听设备,一般部署在防火墙附近比较好。放在防火墙之外的DMZ中,可以使监听器能够看见所有来自Internet的攻击,从而了解被攻击的重点方面。放在防火墙之内,减少攻击者的行动被审计的机会,减少误报警,而且如果本应由防护墙封锁的攻击渗透进来,可以发现防火墙的设置失误。

篇2

关键词:TCP/IP协议;网络安全;分析

TCP/IP协议是指一个允许不同软硬件结构计算机进行通信的协议族,是能将各个不同结构计算机连接起来的主要技术平台,也是实现计算机资源共享的技术支持。其中我们常说的Internet互联网就是建立在协议之上的计算机信息技术。TCP/IP协议主要有包括四个层次,第一层是应用层,是实现使用者去访问、去具体使用的平台,比如说常用的后缀网址等;第二层是传输层,是将用户使用平台与计算机信息网内部数据结合的通道,实现数据的传输与共享,有TCP、FTP等;第三层就是网络层,是负责网络中的数据包传送,并提供链接导向以及相关的数据报服务等;最后一层是网络访问层,是网络的接口层,也称数据链路层,能处理不同通信媒介的相关信息细节问题,比如说常见的以太网、ARP等。基于TCP/IP协议上互联网的信息传输范围变得更广泛,且传输的内容来源更多,对传输对象以及输送对象的信息安全要求降低,且多个端口使得数据信息被处理的步骤较多,不能对其保密性起到保障作用,TCP是使用一种介乎集中与动态分配之间的端口分配,端口也被分为保密与自由端口,这在一定程度上又大大增加了网络信息安全风险。下面就几个网络安全的主要问题进行分析。

1基于TCP/IP协议分析的网络安全问题

1.1应用程序层的TCP/IP协议。首先在应用程序层的TCP/IP协议,可能产生的网络安全问题PTP的网络接口接收到原本不属于主机的数据,通常使用在应用程序层的设计是一个共享的端口,由于特定类型的端口设计成本费用较高,因此在接收数据共享平台很容易得到不属于应用平台的相关收据,因此引入一些木马病毒,导致里面的数据,网络安全问题。为此,我们可以在应用平台设置特殊的加密文件,可以设置一个密码特殊信息内容可以允许接受和运输,在完全接受所有信息的情况下,减少信息被恶意攻击的风险。此外,网络分割处理,应用平台上设置更多的新闻发现信息渠道,一层一层过滤不符合安全信息,并没有一个可靠的信息来源,从而减少网络信息安全问题。1.2传输层TCP/IP协议。其次在传输层TCP/IP协议也有网络安全问题的风险,例如在ICMP传输通道,ICMP是IP层的一部分,是在软件和机器之间的传输和控制信息无连接协议。任何端口的计算机IP软件发送一个PINGICMP文件,文件传输,申请是否可以允许ICMP将源主机对应的响应,这个命令可以检测是否合法的消息。基本上所有应用程序数据的传输层同意,软件编程的主要原因不能智能识别恶意信息,在TCP/IP网络和以太网,常见防火墙和网络安全防护系统通常是自动默认端,而忽视可能存在安全风险。1.3TCP/IP协议在网络层。然后在TCP/IP协议在网络层也有网络安全的风险问题,主要表现为IP欺骗,因为TCP/IP协议的信任机制非常简单和方便,所以很多的IP欺骗利用这一特点,利用虚假信息来假装重要的数据信息。许多身份只有所有者的IP地址,这里篡改的IP地址可以攻击主机数据管理中心。我们可以设置更多的IP地址来识别不同的检查点,在确定正确后可以给IP流量,除了加强网络防火墙的防护功能,网络信息安全。1.4ARP欺骗的TCP/IP网络层。最后,在TCP/IP协议和ARP欺骗的网络层的网络安全问题。主机IP数据包的过程中会有一个或多个主机使用网络级别的第一层,和ARP源主机第一个查询工具,在没有找到对应的物理地址的IP地址将发送主机包含物理地址与IP地址的主机的信息。与此同时,源主机到目的主机将包含它自己的IP地址和ARP检测应答。如果在ARP识别链接错误,直接应用到目标主机的可疑信息,如携带病毒,如果恶意攻击使用ARP欺骗会导致网络信息安全漏洞。为此,应加强其保护功能的ARP识别链接,建立更多的识别水平,不仅按照名称作为主要依据识别IP,也指IP的相关属性,等等。

2TCP/IP协议安全问题的防范

对于SYNFlood攻击,目前还没有完全有效的方法,但可以从以下几个方面加以防范:(1)对系统设定相应的内核参数,使得系统强制对超时的SYN请求连接数据包的复位,同时通过缩短超时常数和加长等候队列使得系统能迅速处理无效的SYN请求数据包。(2)建议在该网段的路由器上做些配置的调整,这些调整包括限制SYN半开数据包的流量和个数。(3)建议在路由器的前端TCP拦截,使得只有完成TCP三次过程的数据包才可以进入该网段,这样可以有效的保护本网段内的服务器不受此类攻击。

3TCP/IP各层的安全性和提高各层安全性

网络层的安全性;传输层的安全性;应用层的安全性。一般来说,在应用层提供安全服务有几种可能的做法,一个是对每个应用(及应用协议)分别进行修改。一些重要的TCP/IP应用已经这样做了。在RFC1421至1424中,IETF规定了私用强化邮件(PEM)来为基于SMTP的电子邮件系统提供安全服务。Internet业界采纳PEM的步子太慢的原因是PEM依赖于一个既存的、完全可操作的PKI(公钥基础结构)。建立一个符合PEM规范的PKI需要多方在一个共同点上达成信任。作为一个中间步骤,PhilZimmermann开发了一个软件包,叫做PGP(PrettyGoodPrivacy)。PGP符合PEM的绝大多数规范,但不必要求PKI的存在。相反,它采用了分布式的信任模型,暨由每个用户自己决定该信任哪些其他用户。因此,PGP不是去推广一个全局的PKI,而是让用户自己建立自己的信任之网。

4总结

最重要的是,在一些基于TCP/IP协议的网络安全问题的分析和讨论,我们了解到应用程序层、传输层、网络层、传输层可能有几个方面,如网络安全风险。风险的主要原因是由于信任机制的协议设计相对简单,审定的信息来源不到位,使大量的恶意内容利用漏洞,导致很多软件欺骗。在解决这些问题,因此,我们需要在网络信息传输通道和信息识别单元和数据存储信息链接中增加安全保护,增强警惕诈骗信息的意识,建立更多的保护环节,避免之间信息传输的可访问性。在未来,我们将继续进一步探索相关结构的网络信息安全保护功能,提出更科学、有效的措施,加强我国网络信息安全,促进我国网络信息产业的发展。

作者:张帅亮 张向磊 马鹏博 单位:河南科技学院

参考文献:

[1]基于ARP数据包调度系统连接状态检测[J].电力系统自动化,2006.

[2]基于技术PVLAN针对ARP欺骗技术研究[J].计算机知识和技术(学术),2007.

[3]校园网的ARP欺骗攻击和保护[J].福建计算机学报,2007.

篇3

关键词:TCP/IP协议;教学实践;网络工程

中图分类号:G642.41 文献标志码:A 文章编号:1674-9324(2017)08-0203-02

一、课程定位

《TCP/IP协议分析》是网络工程专业的一门重要的专业必修课,理论抽象,实践性强。在我校网络工程专业课程体系中,《TCP/IP协议分析》以《计算机网络》与《C语言程序设计》为先修课程,以“网络工程”、“网络开发”、“网络安全”为三个主要方向进行教学规划,是后续的专业课程的学习基础。

二、教学实践

笔者近几年一直从事该门课程的教学工作,对多年的教学实践做作了一定回顾与总结。

1.综合运用多种教学方法。①类比教学。在教学过程中,可依据生物学知识、已学知识、生活常识、社会关系等进行类比[1]。很多网络协议都在一定程度上来源于生活,在教学中,大量运用了依据生活常识进行类比教学的方法,表1列举了一部分。

将CSMA/CA与CSMA/CD类比,多播路由协议与单播路由协议类比;BGP与RIP对比等则体现了与已学知识类比的教学方法。②启发式教学。启发式教学可充分调动学生的积极性,使学生在获取知识的同时,发展智能,陶冶个性[2]。在教学过程中,通过提出问题引导学生思考与讨论,可以活跃课程气氛,调动学生积极性,提升学生分析与解决问题的能力。比如,在讲解移动IP技术时,提出问题“当主机移动时,是否需要改变IP地址?”;在讲解NAT穿越时,提出问题“ICMP差错报文和查寻报文只是IP层协议,没有端口号,怎样进行地址转换呢?”;在讲单播路由技术时,提出问题“如果你需要从桂林至北京,怎样才能选择出一条最优路径呢?”。另一方面,在教学过程中适当扩展,教书育人。比如在分析停止等待协议性能时,提及数学分析和仿真实验两种方法以及数学建模的必要性,拓宽学生思维,引导他们从事学术探索。介绍水平分割技术时,举出水平分割不能防止回路的特例,让学生体现到“很多技术方案,没有最好,只有更好”,培养学生的独立思考与创新意识。③案例教学。该门课程理论抽象,难于理解。比如,对于OSPF的末梢区域、完全末梢区域和非纯末梢区域,若只是文字讲解,学生会觉得枯燥,难以理解其区别。若采用图1所示的网络拓朴,采用PacketTracer[3]进行仿真实验,并通过改变区域1和2的区域类型,对比分析路由器的路由表,可帮助学生更深入地认识各类区域的细微差别。

2.综合运用多种网络工具。TCP/IP协议中有些协议相当复杂,若单纯地讲解相关协议格式与软件包,枯燥无味且抽象难懂,借助相关网络工具,理论结合实践,可增强学生的感性认知,提升学生的动手能力。诸如Packet Tracer,eNSP[4],Wireshark[5],GNS3[4],可有效用于该门课程的辅助教学。这些工具各有特点,宜恰当选择,综合使用。Wireshark的优势是可以在真实环境中实时抓包与分析,在分析各种网络协议格式与工作原理、故障诊断方面,优势明显。Packet Tracer具有很好的可视化界面,支持各种网络设备,可定制很多网络数据包,容易操作,系统资源要求低,方便用于进行各种验证性实验。eNSP,GNS3等可加载真实设备的IOS(网络操作系统),可与真实设备桥接,可以在单机或少量网络设备上构建较为复杂的与真实网络环境高度相近的虚拟网络环境,以解决真实环境条件不足的问题;其缺点是对系统资源要求较高,操作相对复杂。

3.微视频助力课堂教学。该课程所涉及的知识点很多,学生的先修基础和后续发展方向差异较大。在课程教学时要尽量照顾基础较差的学生,避免其掉队;又要在路由与交换技术原理、网络协议分析与设计、网络程序开发等方向的相关教学上有一定的深度,为学生后续发展奠定较好基础,因而课堂教学学时较为紧张。以单播路由协议的相关内容为例,长春大学[6]规划了2个学时,我校规划了4个学时。尽管RIP、OSPF、BGP等已在先修课程《计算机网络》中涵盖,但像水平分割技术、OSPF中LSA类型、OSPF区域类型,BGP路由通知原则等内容多语焉不详。因此,在《TCP/IP协议分析》课堂教学中,很难在计划的时间内深入介绍相关内容。通过将上述知识点制作成微视频,供学生在课外学习,可以有效缓解课堂教学压力,也有利于培养学生的自学能力和支持差异化教学。

三、教学反思

笔者经过近几届该门课程的教学实践,积累了不少教学资源与教学实践经验,但仍有一些问题需要深入探索与实践,主要包括:

1.网络协议分析与设计是该门课程的核心内容之一,一些高校在教W时以网络协议源码分析为基础,还有一些高校仅对网络协议格式与原理进行分析,很少涉及协议包的分析与设计,本人在教学中采取了折中方案,即重点分析网络协议格式与原理,同时分析协议包的组件及这些组件的实现流程,但并不涉及对网络协议源码的分析或改进。如何根据教学规律及学生的知识基础与接受能力,合理选择教学内容也是一个需要反复实践的课题。

2.TCP/IP协议簇知识繁杂,在教学时对相关知识的把握可深可浅。比如,就BGP协议而言,若仅作概述,几分钟就可以讲授完毕;若仅介绍其基本工作原理,几十分钟也可讲授完毕;若要详细讨论其邻居建立、路由通告、路由属性、路由策略等,则可能需要好几个学时。如何把握这个度,与专业的人才培养计划、教师的能力水平、学生的基础与期望等密切相关,其中首要的是提升教师的能力水平。只有教师对相关知识有深入、系统地把握,才具备准确把握这个度的可能。

3.网络协议包设计在一些高校是一项重要的实践内容,该内容很难在有限的课堂实践期间完成,且对学生的编程能力要较强的要求。目前只是作为选修要求,供有能力、有意愿的同学自行实践,并提供必要的辅导,距离一流专业的培养目标还有较大差距。

4.该门课程主要是理论教学,也有一定的实践要求。目前还缺乏有效的、差异化的考核方式与评价标准。

5.网络技术是当前发展最为迅速的技术之一,软件设计网络、云计算、物联网等新技术或新应用层出不穷、应接不暇。如何在教堂上融入这些新技术(或新应用或新观念),既需要教师与时俱进,不断进取,也考验教师的教学方法与策略。

四、结束语

《TCP/IP协议分析》作为一门专业核心课程,对教师的专业知识体系与教育教学方法都有很高的要求,值得教学工作者不断学习、探索、实践与反思,笔者总结了近几年的教学经验与反思,以期抛砖引玉。

参考文献:

[1]张亮,胡劲松,吴一尘.面向对象程序设计课程的类比教学法[J].计算机教育,2016,(2):99-101.

[2]宁美妍.启发式教学在大学生思想政治理论课中的运用[J].长春教育学院学报,2015,31(6):102-103.

[3]苏锦.基于Packet Tracer的《计算机网络》课程教学改革[J].信息与电脑,2016,(10):219-220.

[4]阳光.基于GNS3和ENSP的多厂商网络技术学习环境[J].网络通讯及安全,2016,11(16):39-40.

篇4

关键词:嵌入式系统;网络层协议;ICMP协议

中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)24-1168-02

Research on TCP/IP Network Layer Protocol Based on Embedded System

XIA Zhong-hua, ZHANG Dong-liang

(Qinghuangdao Institute of Technology,Qinhuangdao 066100,China)

Abstract: In recent years, research on connecting embedded system with Internet has become one of the focuses in applications of embedded system. This paper design a light TCP/IP protocol stack suitable for embedded system with ARM7 series MCU ,Embedded system is close to production and life of human being. Analyzed the Network Layer protocol and presented embedded encapsulation, demultiplexing, recomposement and the Echo Relply function of affiliated ICMP.

Key words: embedded system;Network Layer protocol;ICMP protocol

1 引言

嵌入式系统与TCP/IP网络的互联,这一技术在许多领域得到广泛的应用。但由于网络协议的复杂性与嵌入式系统的处理器相对简单之间的矛盾,这就要求简化TCP/IP协议[1]。

嵌入式TCP/IP协议[2]即是以满足嵌入式系统的实际需要为目的的这一指导思想出发,建立在嵌入式Internet理论的基础上,通过对庞大、功能齐全的TCP/IP协议栈的研究,对标准的TCP/IP协议进行了一定的取舍和优化,从而制定出一套简单的、适合于嵌入式系统的并且能完成相应网络功能的协议栈。

本文针对应用广泛的ARM7系列的处理器为核心的嵌入式系统[3],对TCP/IP网络层协议进行了研究分析,提出了基于嵌入式封装、分用、重组方案、附属协议ICMP的回显应答功能等方案,使之适应嵌入式系统。

2 网络层协议简介

IP协议[4]是TCP/IP协议族中最为核心的协议。所有的TCP、UDP、ICMP及IGMP数据都以IP数据报格式传输。IP协议提供的是一种不可靠、无连接的服务。不可靠(unreliable)的意思是它不能保证IP数据报能成功地到达目的地。IP仅提供最好的传输服务。无连接(connectionless)这个术语的意思是IP并不维护任何关于后续数据报的状态信息。每个数据报的处理是相互独立的。这也说明,IP数据报可以不按发送顺序接收.如果一信源向相同的信宿发送两个连续的数据报(先是A,然后是B),每个数据报都是独立地进行路由选择,可能选择不同的路线,因此B可能在A到达之前先到达。IP协议最基本的功能是路由选择、分片和重组。

3 网络层的嵌入式研究

3.1 路由功能

常规的实现要考虑较多的问题:协议必须具有通用性,无论是在网络中的一台主机,还是在连接不同网络的网关上都要运行。

由于本设计的目的是实现一个嵌入式WEB服务器应用,而不是做嵌入式网关、路由器,所以在这里,裁减掉路由功能。有关路由的问题均不欲考虑。一切都交给默认网关去处理。这样做,简化了IP协议,节约嵌入式系统资源。

3.2 分片和重组

对于大小超过网络硬件所允许的最大值(MTU)的数据报的发送,IP有个简单的解决办法,即将这些数据报在传输时进行分片,然后进行重组。但是分片重组会付出明显的性能代价,因为在把它们重新组装起来的时候会占用大量的空间,这在嵌入式系统中是一个不小的负担[5]。

所以本设计中,我们设计发送的数据报文小于网络硬件的最大值,这样就可以避免分片。这样可以简化代码,提高效率。但是不支持重组,远程客户端发送的数据报如果在中间路由时候进行了分片,我们将无法处理,所以本设计中实现了重组的功能。

3.3 IP服务类型

本设计发送IP数据报时,将该字段设置为0,表示该数据报为正常的优先级。在接收IP数据报时,将忽略该信息,实际上大部分路由器都是这样做的[6]。

3.4 选项字段的处理

当接收到的IP数据报含选项字段时,处理该数据报时,将直接跳过该字段。这些选项的作用是允许更严格地控制路由过程和增加安全性,所有这些信息可以被忽略,并不会引起错误[7]。

3.5 嵌入式IP数据结构

协议栈定义为512个字节的缓冲区。发送和接收的数据包公用一个缓冲区,这样的好处是不但可以节约存储资源,还可以实现数据包在协议栈中的“零拷贝”[8]。

3.6 附属协议的处理

网络层除了IP协议外,一般我们把ICMP和IGMP归到这一层[9]。本设计没有实现广播和多播的功能,ICMP报文也只是实现了对ping报文的回显应答功能――既对ping报文回显请求分析,给出ping报文的回显应答。

所有报文的前4个字节都是一样的,但剩下的其它字节则互不相同。ICMP报文是在IP数据报内部传输的,如图1所示。报文格式,如图2所示。

图1 ICMP封装在IP数据报内部

图2 ICMP报文

Ping 程序可以测试一台主机是否可以到达[10]。程序发送一份ICMP回显请求报文给主机,并等待返回ICMP回显应答。一般说来,如果不能Ping到某主机,那么就不能Telnet或者FTP到那台主机。反过来,如果不能Telnet到某台主机,那么通常可以用Ping程序来确定问题出在哪里。Ping程序还能测到这台主机的往返时间,以表示该主机离我们有“多远”。ICMP回显请求和回显应答格式报文如图3所示。

图3 ICMP回显请求和回显应答报文格式

4 结论

本文在分析了嵌入式系统和TCP/IP网络层协议的基础上,提出了实现嵌入式TCP/IP网络层协议的方法。对网络层协议的路由功能、分片和重组、附属协议的处理等方面进行了针对性的改进,使之成为适应嵌入式系统的网络层协议。

参考文献:

[1] 王田苗.嵌入式系统设计与实例开发[M].北京:清华大学出版社,2003:1-30.

[2] 付宏,袁兵.嵌入式Internet应用研究[J].计算机工程与应用,2003,30:180-185.

[3] 陈瑾,罗敏,张焕国.入侵检测技术概述[J].计算机工程与应用,2004(2):133-136.

[4] 李阳明,齐志强,师丽彩.嵌入式Internet的应用[J].电子技术,2005,5:62-64.

[5] 张懿慧,陈泉林.源码公开的TCP/IP协议栈在远程监测中的应用[J].单片机与嵌入式系统应用,2004(11):61-64.

[6] Bhatia Sapan, Consel Charles, Le Meur, et al. Automatic Specialization of Protocol Stacks in operating System Kernels[C].Proceedings -29th Annual IEEE International Conference on Local Computer Networks LCN 2004.Tampa Fl United States,2004:152-15.

[7] Dave R N,Bhaswan K.Adaptive fuzzy c-shells clustering and detection of ellipses[J].IEEE Trans,on Neural Networks,1992,3(5):643-662.

[8] Timm C R,Kruse R.A modification to improve possibilistic fuzzy cluster analysis[C].Proceedings of the IEEE Int Conf on Fuzzy Systems,Honululu,2002.

篇5

关键字 TCP/IP;教学平台;数据包截获;包过滤;协议分析

1 引言

TCP/IP协议族是计算机网络软件组成的核心部分,同时也是很抽象和难以掌握的部分。目前,对于TCP/IP协议族的研究,一般是基于协议应用本身的研究,也就是研究如何将指定的协议嵌入产品,使该产品能够支持上层产品应用该协议或自身产品对该协议的应用。作为高校计算机网络课程中所介绍的协议,对于很大一部分老师和同学来讲,都还只是停留在了解和使用这个协议上,并没有深入到协议本身的原理中去。

本系统通过对TCP/IP协议族的研究,将其中的部分常用协议(如TCP、IP、UDP等)的具体结构、工作方式和工作过程,用人机交互方式和图形化界面形象生动展现在学生面前。教学中通过对本套系统的利用,可以达到提高学习效率,改善学习效果,使学生对协议的学习不仅达到对使用方法的了解,同时达到对协议结构以及工作原理的领悟,使学生对网络课程的学习达到一个新的层次。

2 系统设计依据

2.1 设计思路及设计目的

本系统开发的目的是针对大学本科学生对《计算机网络》课程中关于网络传输以及协议原理部分的学习,使学生可以自己定制传输内容,并亲眼看到所有内容传输的过程形式等,增强对协议结构的记忆,并可以亲自动手控制协议的状态,达到对协议原理及工作方式的深入了解。

2.2 系统设计中所用到的原理

2.2.1 数据传输的原理

在基于TCP/IP的网络中,应用层的数据传输通常是基于TCP或者UDP协议的,而两种协议最大的区别在于是否面向连接。

在面向连接的TCP协议中,传输数据首先要求传输双方建立一条虚电路连接。通信双方通过自身的sockets(或称为通讯端点) 建立sockets的连接,从而达到传输的目的。

UDP是一种是无连接的用户数据报传输协议,与TCP操作不同,计算机间并不需要建立一个明确、可靠的链路,一个UDP应用可同时作为客户方或服务器方。UDP向应用程序提供了一种发送封装的原始IP数据包的方法。虽然UDP数据报只能提供不可靠的交付,但在许多方面UDP可以简化连接,这样可以避免建立和释放连接的麻烦。

2.2.2 网络包截获的原理

通常在同一个网段的所有网络接口都有访问在物理媒体上传输的所有数据的能力,而每个网络接口都还应该有一个硬件地址,该硬件地址不同于网络中存在的其他网络接口的硬件地址,同时,每个网络至少还要一个广播地址(代表所有的接口地址),在正常情况下,一个合法的网络接口应该只响应这样的两种数据帧:

(1)帧的目标区域具有和本地网络接口相匹配的硬件地址。

(2)帧的目标区域具有"广播地址"。

在接受到上面两种情况的数据包时,网卡通过CPU产生一个硬件中断,该中断能引起操作系统注意,然后将帧中所包含的数据传送给系统进一步处理。

本系统中对数据帧的截获就是利用将本地网卡模式设成混杂(promiscuous)状态的机制,混杂模式就是接收所有经过网卡的数据包,包括不是发给本机的包。当网卡处于这种"混杂"方式时,使网卡对所有遭遇到的每一个帧都产生一个硬件中断以便提醒操作系统处理流经该物理媒体上的每一个报文包。

2.2.3 协议状态跳转的原理

篇6

亚当·斯密进行的是具体的动机-行为分析,哈耶克则通过抽象的行为-规则分析,来研究自生自发秩序。哈耶克把人的“天赋”/“倾向”和“才能”,统统看作“个人知识”。亚当·斯密所分析的是人在自利心和自然倾向的驱动下,通过交易而产生的分工秩序,哈耶克分析的则是人类在每个人的个人知识基础上不断扩大的合作的扩展秩序。哈耶克的规则分析不再以顾客和面包师之间的交易行为为中心,而是转向交易规则的研究,这种研究必然是历史的和社会的。

哈耶克对自生自发秩序的研究建立在对三种行动和知识的关系的分析上:

1、个人行动与他人知识的关系:一个人无法替他人决策,因为他无法占有他人的全部个人知识,而这种个人知识是和他人特定的时空情景结合在一起的。

2、个人的行动与他自己的知识的关系:一个人无法甚至确切地知道他自己所拥有的知识。对自己的行为,他可能也是“知其然”(know what)而不“知其所以然”(know how)。

3、个人的行动和整个文明累积的知识的关系:一个人对他依照从事的那一套文明社会的普遍抽象规则并不能确切的知道和清晰地表述。这里的普遍抽象规则就是哈耶克意义上的法律,国会或政府的立法并不一定是这种普遍抽象规则的确切表述。这就是哈耶克所谓“法与立法”的二元观。

“法与立法”的二元观带来很多意涵。在哈耶克看来,普通法是一种典型的自生自发秩序。普通法法理学认为,规则并不是制定的,而是发现的。制定法只是法律渊源之一,而不是法本身,法官要通过法律解释和法律推理来发现适用于具体个案的规则。先例制度保证了,正确的解释和推理可以被挑选出来,错误的、不适当的解释和推理能够被剔除,因此普通法是一个不断进化的法律体系,就像民族语言一样。

互联网是最新的自生自发秩序的例子。这一点可以通过TCP/IP协议的“发现”过程来说明:

1、1969年9月,美国加州大学洛杉矶分校第一次把接口信号处理器(IMP)和主机连接起来。1969年12月扩展到4个节点。1969年4月,克洛克发表第一份RFC(征求意见稿),此后成为互联网上开放标准的主要形成方。每个人都可以通过RFC提出建议标准(proposal standard),试行6个月以上,至少开发两种实现,并不断测试,解决所有问题,然后可以变为草案标准(draftstandard),保持4个月,开发和测试更多的实现,才有可能成为互联网标准(Internetstandard)。1970年12月,克洛克领导网络工作小组制定出最初的主机-主机协议NCP.

2、1974年,文顿·瑟夫发表“分组网络互连的一个协议”,提出TCP协议。后来分成TCP和IP两个协议,合称TCP/IP.目前,TCP/IP已经发展成一个分层的协议簇,包含着上千个协议。现在的协议的标准化由互联网协会协调维护,由志愿者组成的IAB(Internet ArchitectureBoard)是ISOC的技术顾问组。这是一个非官方的完全公开的自愿组织,任何人都可以成为它的会员,参与其讨论,参加它的邮件列表没有任何限制。

3、1983年1月1日,NCP由于没有TCP/IP强大,停止使用。

4、80年代,TCP/IP遇到了官方的挑战。ISO(国际标准化组织)正式提出了一个官方的协议OSI.OSI虽然得到了美国、欧洲政府的支持,但过于学术化,而且没有得到实际应用的检验。在这场官方标准和事实上的工业标准之争中,开放自由的TCP/IP标准战胜了官方标准OSI.

上述事实可以给我们许多启示。TCP/IP是一种自由开放的标准,不断地被人们发现,不断地优胜劣汰-甚至淘汰官方制定的标准,并且不断地演化。在互联网这个自生自发秩序中,“标准只能被发现,不能被制定”。

中国互联网近些年来发展迅速。从官方到民间一直有呼声对互联网的发展进行规制。最近中国政府出台了一系列的行政法规和行政规章:9月25日,国务院《电信条例》和《互联网信息服务管理办法》;11月6日,信息产业部《互联网电子公告服务管理规定》;同日,信息产业部、国务院新闻办《互联网网站从事登载新闻业务管理暂行规定》。这些着眼于贯彻政府意志的行政法规和规章对中国的互联网发展带来沉重打击。

不过,中国的互联网法律有制定的部分,也有“发现”的部分,当前人们讨论的基本只是中国互联网制定的这一部分,往往忽视可能价值更高的“发现”的那一部分。近来中国有一系列关于互联网的法律纠纷。由于没有现成的法律,对这些案子的判决都需要法官去发现规则。比如,在易家诉国网案中,法官确定了“对将知名商标注册为域名构成域名抢注”。在陈卫华诉成都《电脑商情报》案中,法官提出了确定网络作品的作者的方法。在瑞得(集团)公司诉宜宾市翠屏区东方信息服务有限公司著作权侵权纠纷案中,法官界定了“网页是著作权意义上的作品”,以及互联网上著作权侵权的司法管辖原则(服务器所在地及终端计算机所在地均可视为复制行为的行为地,瑞得选择自己服务器所在地的北京市海淀区人民法院起诉原在四川的东方公司侵犯著作权并无不当)。在王蒙等六作家诉首都在线案中,法官确定了“网络传播是使用作品的一种方式,作品传播方式的不同,并不影响著作权人对其作品传播的控制权利。”在《大学生》杂志社诉263和李翔个人网页侵权案中,法官确定提供个人主页服务的网络服务提供商的责任。

篇7

关键词:共享神盾 共享神矛 网络尖兵 IPID

一、 检测原理简析

现在电信运营商的带宽越来越大,Internet技术的发展和高昂的接入价格,使得越来越多的用户采取合租方式通过路由上网。但是有线宽带由于没有无线宽带那种SIM防复制,防止破解等技术,因此控制路由器上网一直是他们研究的重点。

原来电信运营商常用SMTP检测技术来判定是否路由,但是随着时代的发展和设备的更新,现在运营商很难从设备层来控制用户,于是更新的检测技术,采用IPID判定法、TTL判定法、时间戳判定法、User-Agent判定法等方法来检测路由后面的用户数。

(1) IPID判定法:根据Windows协议栈的特性,一台计算机IPID值是连续的。通过分析IPID值的跳跃我们可以得出计算机的台数。Windows网络协议栈实现时,ID字段的值随着发送IP报文数的增加而增加,IPID的初始值是随机值,一般说来,不同主机的初始值有较大差距。由于Linux、Unix的IPID是随机值,故此判定方法对Linux、Unix无效。

(2) TTL判定法:TTL指生存时间,指定数据报被路由器丢弃之前允许通过的网段数量。TTL 是由发送主机设置的,以防止数据包不断在 IP 互联网络上永不终止地循环。转发 IP 数据包时,要求路由器至少将 TTL 减小 1。不同的操作系统其TTL不同:LINUX 为64,WIN2K/NT为 128,WINDOWS9X 系列 为32,UNIX 系列为255。如果检测到有多个TTL的值则可以断定有多台主机。

(3) 时间戳判定法:由于不同主机的物理时钟一般存在偏移,且网络协议栈时钟与物理时钟存在对应关系,同时不同主机发送报文的频率与时钟存在统计关系,因此可以分析发现不同的网络时钟偏移数目来确定主机的台数。

(4) User-Agent头判定法:HTTP头分为HTTP请求头和HTTP应答头。HTTP请求头为HTTP客户在浏览服务器上的主页时,向服务器发送请求的时候必须指明请求类型。请求类型是指HTTP-GET或HTTP-POST,每个HTTP-GET和HTTP-POST都由一系列HTTP请求头组成,这些请求头定义了客户端从服务器请求了什么,而响应则是由一系列HTTP应答头和应答数据组成,如果请求成功则返回应答。在HTTP头中有一个User-Agent头标明了浏览器类型。不同操作系统、不同IE版本、不同补丁的User-Agent字段不同。由此可以根据user-Agent头的不同来判定主机的数量。

二、 分析WindowsTCPIP协议栈数据处理过程

在众多检测原理中,IPID判定法判定准确,用得较多,其他再作为辅助判定方法。下面我们主要分析一下WindowsTCPIP协议栈数据处理过程。

图1数据包处理的 TCP/IP 体系结构

1.WinSock的数据包形成后,Tcpip.sys会将其传递给防火墙驱动程序 (Ipnat.sys) 进行处理。防火墙检查该数据包是否属于所要阻止的Internet控制消息协议 (ICMP) 消息类型。如果ICMP消息被阻止,防火墙就将丢弃该数据包。

处理完后,防火墙会将该数据包传回给Tcpip.sys,

2.Tcpip.sys 将数据包传递给筛选器驱动程序 (Ipfltdrv.sys) 进行处理。

Ipfltdrv.sys根据下一跃点接口,将该数据包与已配置的出站IP数据包筛选器格式进行对比。

若出站数据包筛选器不允许该数据包通过,Ipfltdrv.sys就会直接下,丢弃该数据包。若出站数据包筛选器允许该数据包,Ipfltdrv.sys就会将该数据包传回给Tcpip.sys。

3.Tcpip.sys 将该数据包传递给Ipsec.sys进行处理。

Ipsec.sys根据IPsec筛选器组,决定是否允许、阻止或保护该数据包。若允许的话,Ipsec.sys 会在不修改该数据包的情况下,将其发回给Tcpip.sys。若阻止的话,Ipsec.sys会直接丢弃该数据包。若要进行保护的话,Ipsec.sys会在将数据包传回给Tcpip.sys之前,对其添加适当的IPsec保护。

Tcpip.sys随后会通过下一跃点接口,将该数据包发送到下一跃点IP地址。完成数据包的出站。

三、 解决方案

(1)对于IPID检测的破解

因为各运营商破解时是采集其前置机上的数据包通过分析IPID来判定的其主机数目。由上面我们知道只需要我们出去的数据包在发出前我们修改其所有数据包的IPID头设定为一个统一的值或者随机值即可。因此我们只需在图1第2步黑色椭圆的位置添加驱动程序修改IPID头即可。

既然破解检测的核心在于修改Windows协议栈,我们选择修改开源驱动DrvFiltIp.sys来完成IPID头的修改,因为数据包通过ipfltdrv.sys以后,IP层的数据包结构都不会拦截或者修改,这个时候我们只要在他进入TCPIP.sys之前使用一个hook驱动,加载了DrvFiltIp.sys,将IPID改为固定值或者随机值,就可以解决所谓IPID检测问题。

修改FilterPackets过滤函数

(2)对于TTL的检测,我们有多种解决办法:

1、修改注册表办法,在windows下我们可以直接修改注册表让TTL同一为一个固定值。

在“HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\ Parameters”,找到“DefaultTTL”,将该值修改为十进制的固定值,重新启动服务器系统后即可。

2、修改驱动的办法:在上面ipid改动代码中加入ipp->ipTTL=111(111为固定值)

篇8

1常用无线通讯技术简介

1.1 超宽带无线通讯技术

超宽带无线通讯技术是一种以超宽带信号为基础的新型的无线通讯技术。而所谓的超宽带信号是指那些功率点为-10dB的相对宽度大于25%或射频的绝对带宽大于1.5GHz的信号。这种信号拥有10m传输距离,高达1Gbps数据传输速率,3.1GHz~10.6GHz技术的工作频段范围,7.5GHz的工作带宽。该无线传输技术具有传输信号带宽较宽、数据传输速率高、隐蔽性好、功耗低、抗信号多径效果好等优势[1]。

1.2 蓝牙技术

蓝牙技术是一种短程无线通讯技术,这种技术常常应用在手机领域,常常用于对于便携或固定电子设备所使用的电缆或连线进行替代的短距离无线连接技术,它拥有10m~100m的通信距离和3Mbps的传输功率[2]。

1.3 Wi-Fi无线通讯技术

所谓Wi-Fi是一个由IEEE定义的一个无线网络通信的工业标准,而Wi-Fi无线通讯技术是在这个标准上发展起来的通讯技术,它具有传输速率高、可移动性好,可靠性高、组网价格较低,组网灵活等优势[3]。

1.4 红外技术

所谓红外传输技术是指那些通常采用850nm的红外光传输数据信息的技术,它的特点是要求传输设备之间拥有无障碍的直线信道,且最长通讯距离不超过10m。它具有安全可靠、产生成本低廉、无电磁干扰、保密性好、无须政府批准频带等优势,但其具有功率小、工作原理简单、成本低,传输方向性强、传输距离有限等缺点,进一步限制了其使用范围[4]。

1.5 射频技术

所谓无线射频技术是一种非接触式的自动识别技术。它通过向目标对象投射射频信号来自动识别和获取目标对象的相关数据,整个过程无需人工干预,它可以在任何恶劣环境条件下工作。整个射频系统由标签、阅读器和天线三个部分组成,结构简单、功能强大。

1.6 ZigBee技术

ZigBee技术是一种最新的技术,它具有低价格、低速率的无线网络方案。它的通信速率要求比较低,甚至低于蓝牙技术,ZigBee的通讯设备,常常可以在不希望更换电池并且不充电的情况下能正常工作几个月甚至几年。ZigBee技术可以支持mesh型网络拓扑结构,可以建设一个大规模的网络,传输距离可达10m~75m,甚至可以进行更大范围内的拓展。

由上文可知,各种无线通讯技术的特点各不相同,也因为其特点常常应用于不同的领域,对于石油勘探领域来说,在石油测井工作之中,应该ZigBee技术比较合适,它通信速率要求比较低、设备结构简单、可靠性高、传输距离远,这些都非常的符合石油测井工作现场的要求。

2石油测井无线通讯系统的设计

2.1 整体设计

(1)ZigBee技术。ZigBee技术是一种最新的技术,它具有通信速率要求比较低、设备结构简单、可靠性高、传输距离远等优势,非常的符合石油测井工作现场的要求。

(2)网络传输协议选择。一般来说,当前应用最为广泛的两种传输层协议分别是:UDP和TCP两种协议,UDP又可以称为用户数据报协议,它具有传输速度快,建立连接简单等优势,它的应用环境常常是:一次只传送少量数据、对可靠性要求不高。而TCP协议可以为用户提供面向连接的可靠的流传递服务,通讯可靠性非常高,常常可以使网络上的一台计算机发出的字节流无差错的顺利传给其他的计算机。

在石油测井工作现场,常常处理和传输的数据量比较大,网络工作环境也比较复杂,这非常符合TCP协议的工作要求,因此,本文的系统决定采用TCP传输协议。

(3)具体设计方案。在石油测井现场,下位机控制传感器对各种现场数据进行采集,然后应用现场计算机整理、打包、压缩这些数据,最后将这些数据进行无线传输,在传输前设置好无线通信队列,然后应用ZigBee技术传输给Internet,而数据包通过Internet网络输送到相关管理部门的中心站计算机之上,借助中心局域网使得多个传输终端都可以对测井现场状态进行同时显示,管理人员也可以通过传输终端了解现场的情况。

2.2 通信系统模块的划分

(1)用户接口。包括接收端和发送端接口,负责对相关指令进行接收和传达,如对解调器进行设置、断开和建立拨号连接、对测井数据进行传输、对资料文件进行传输等。

(2)测井数据传输接口。整个系统的发送端从下层驱动程序对测井数据进行读取,然后降相关数据交给下层协议;接收端从下层协议对于数据进行读取,接收端并将数据交给上层用于绘图显示和存盘。

(3)文件传输接口。这个接口主要用于交互测井资料文件,负责将文件型数据向下层协议传输或读取。

(4)通信协议。包括ZMODEM协议和滑动窗口协议。滑动窗口协议用于传输测井数据,这个协议常常自带差错校验机制;ZMODEM协议用于传输资料文件,这个协议自带CRC校验和流控。

(5)TCPIP套接字。网络的编程接口,作为程序的最底层,实现TCPIP协议和建立网络连接。

参考文献

[1] 刘建兵,蒋朝根.基于ZigBee技术的无线嵌入式温度采样仪设计[J].西南科技大学学报,2010,1(22):76~79.

[2] 周宇,景博,张劫.基于ZigBee无线传感器网络的嵌入式远程监测系统[J].仪表技术与传感器,2009(2):49~52.

篇9

关键词:网络管理;SNMP;现状;发展趋势

进入90年代以来,随着计算机的普及以及计算机技术和通讯技术的发展,网络也越来越快地走近我们,计算机网络已成为当今信息时代的支柱。计算机与通信的结合产生了计算机网络,信息社会对计算机网络的依赖,又使得计算机网络本身运行的可靠性变得至关重要,向网络的管理运行提出了更高的要求。网络系统的维护与管理日趋繁杂,网络管理人员用人工方法管理网络已无法可靠、迅速地保障网络的正常运行;无法满足当前开放式异种机互联网络环境的需要,人们迫切地需要用计算机来管理网络,提高网络管理水平,使信息安全,快捷地传递。于是计算机网络管理系统便应运而生了。

一、计算机网络管理系统的基本知识 

(一)计算机网络管理系统的概念

计算机网络管理系统就是管理网络的软件系统。计算机网络管理就是收集网络中各个组成部分的静态、动态地运行信息,并在这些信息的基础上进行分析和做出相应的处理,以保证网络安全、可靠、高效地运行,从而合理分配网络资源、动态配置网络负载,优化网络性能、减少网络维护费用。

(二)网络管理系统的基本构成

 概括地说,一个典型的网络管理系统包括四个要素:管理员、管理、管理信息数据库、服务设备。

 1.管理员。实施网络管理的实体,驻留在管理工作站上。它是整个网络系统的核心,完成复杂网络管理的各项功能。网络管理系统要求管理定期收集重要的设备信息,收集到的信息将用于确定单个网络设备、部分网络或整个网络运行的状态是否正常。

 2.管理。网络管理是驻留在网络设备(这里的设备可以是UNIX工作站、网络打印机,也可以是其它的网络设备)中的软件模块,它可以获得本地设备的运转状态、设备特性、系统配置等相关信息。网络管理所起的作用是:充当管理系统与管理软件驻留设备之间的中介,通过控制设备的管理信息数据库(MIB)中的信息来管理该设备。

3.管理信息库。它存储在被管理对象的存储器中,管理库是一个动态刷新的数据库,它包括网络设备的配置信息,数据通信的统计信息,安全性信息和设备特有信息。这些信息、被动态送往管理器,形成网络管理系统的数据来源。

4.设备和管理协议。设备在标准网络管理软件和不直接支持该标准协议的系统之间起桥梁作用。利用设备,不需要升级整个网络就可以实现从旧协议到新版本的过渡。对于网络管理系统来说,重要的是管理员和管理之间所使用的网络管理协议,如SNMP,和它们共同遵循的MIB库。网络管理协议用于在管理员与管理之间传递操作命令,并负责解释管理员的操作命令。通过管理协议的作用,可以使管理信息库中的数据与具体设备中的实际状态、工作参数保持一致。

(三)网络管理系统的功能

ISO在ISO/IEC 7498-4文档中定义了网络管理的五大功能,即配置管理、故障管理、性能管理、计费管理与安全管理。

故障管理:其主要功能是故障检测、发现、报告、诊断和处理。由于差错可以导致系统瘫痪或不可接受的网络性能下降,所以故障管理也是ISO网络管理元素中,被最广泛实现的一种管理。

配置管理:其主要功能包括网络的拓扑结构关系、监视和管理网络设备的配置情况,根据事先定义的条件重构网络等,其目标是监视网络和系统的配置信息,以便跟踪和管理对不同的软、硬件单元进行网络操作的结果。

性能管理:监测网络的各种性能数据,进行阈值检查,并自动地对当前性能数据、历史数据进行分析。其目标是衡量和显示网络各个方面的特性,使人们在一个可以接受的水平上维护网络的性能。

安全管理:主要是对网络资源访问权限的管理。包括用户认证、权限审批和网络访问控制(防火墙)等功能。其目标是按照本地的安全策略来控制对网络资源的访问,以保证网络不被侵害(有意识的或无意识的),并保证重要的信息不被未授权的用户访问。

计费管理:主要是根据网络资源使用情况进行计帐。其目标是衡量网络的利用率,以便使一个或一组用户可以按一定规则,利用网络资源,这样的规则可以使网络故障减到最小(因为网络资源可以根据其能力大小而合理地分配),也可以使所有用户对网络的访问更加公平。

这五个基本功能之间既相互独立,又存在着千丝万缕的联系。在这些网络管理功能中,故障管理是整个网络管理的核心;配置管理则是各管理功能的基础,其他各管理功能都需要使用配置管理的信息;性能管理、安全管理和计费管理相对来说具有较大的独立性,特别是计费管理,由于不同的应用单位的计费政策有着很大的差别,计费应用的开发环境也千差万别,因此,计费管理应用一般都是依据实际情况专门开发。

(四)网络管理协议

由于网络中广泛存在着多厂家、异构异质和固有的分布性等特点,人们才在网络管理中引入了标准,以规范网络设备的生产和网络管理系统的开发。这种标准就是网络管理协议。  目前最有影响的网络管理协议是SNMP(简单网络管理协议)和CMIS/CMIP(公共管理信息协议),它们也代表了目前两大网络管理解决方案。CMIP因为太复杂,标准化进度太缓慢,所以没有得到广泛接受;SNMP以其简单实用,因而得到各厂商支持,应用广泛。本文只对SNMP做一简单介绍。

篇10

关键词:套接口;网络编程API;流协议;OSI参考模型

中图分类号:TP393.03 文献标识码:A文章编号:1007-9599(2012)05-0000-02

套接口(Sockets)编程源于Berkeley Unix下的Sockets 界面,是一种网络编程API。Sockets API提供了一种途径让你的应用程序能够存取网络,种用网络提供的各种服务进行通信。利用Sockets API编程无疑是一种最原始的方式,也是最复杂的一种方式;但一旦理解了这些最基础、最根本的方式,对建立在这种基础之上的高级技术的理解就会容易得多。为了提高软件开发的生产力,提高软件质量及软件内在的一致性,大规模的程序设计都要使用成熟的框架,这里所指的框架,英文名称为Framework,即可重用的程序库。 微软的许多新的网络编程框架,目的就是为了减轻直接使用Sockets API进行编程的痛苦,提高生产力,但这些框架都建立在Sockets API之上,最终将使用Sockets API来与网络交互;.NET Remoting及WCF就是近段时间先后推出的两种高效的网络编程框架。

套接口分为三类,分别是Stream sockets、Dgram sockets及Raw sockets(WinSock 2.0提供)。Stream sockets使用TCP提供的服务进行通信,Dgram sockets使用UDP提供的服务进行通信, Raw sockets绕过传输层直接使用IP进行通信。

Windows Sockets简称为WinSock,最初出现的版本为1.1,现在为WinSock 2.0。微软在的.Net框架中,对WinSock 2.0进行了包装,提供了Socket类。为了进一步减化编程,又对Socket类进行包装,抽象出三个高层类:TcpClient、TcpListener、 UdpClient。这就形成了三个层次的API:WinSock 2.0、Socket及(TcpClient、TcpListener、 UdpClient),层次越低,提供编程的控制及选择越多,但相应的过程就越复杂。

本文将使用TcpClient,、TcpListener类构造一对C/S结构的客户及服务程序。有关类的使用细节可以参考MSDN Library for Visual Studio 2010或.NET Framework SDK 4.0文档。本文实现的客户程序发送一条消息到服务程序,服务程序返回一条消息给客户端程序,服务程序断开连接;客户程序在while(true)结构中进行下一轮循环,重复这个过程,双方一来一往,就可以进行简单的聊天了。这种在应用程序中实现的与网络进行交互的逻辑实际上就是OSI参考模型的第七层和第六层:应用层协议和表示层协议。

应用程序与网络交互时主要考虑以下内容:信息如何编码和转换、身份认证、信息交换逻辑、网络资源的可用性、事务的支持、应用层协议本身的安全性等等。应用层逻辑实现的功能越多,需要考虑的细节也就越多;互联网上使用的许多软件(FTP等)及高层协议,都有专门的RFC文档对其进行描述。

TCP是一种流协议,传输的是字节流。而面向对象的编程语言,使用的是各种类及对象,这就需要对其进行编码和转换。 .Net提供的Object Serialization就能对类的实例进行Serialization,通过流类(System.IO.Stream derived type)传输到网络上的其他应用程序,再恢复实例的状态。由于传输的是字节串,接收方接收的也是字节串,多个消息是连续传输的,单个消息的边界就只能通过应用层协议来界定,消息边界的界定通常有两种方式:使用定界符或在信息的头部附加信息的长度值。UDP虽然提供了很好的信息定界(可以每包只传递一个消息),但UDP本身没有提供可靠性,只得依靠应用协议层来提供可靠性。本文的信息定界采用两种方式:客户程序发送信息前,在信息头部附加一个字节的长度信息,由于只是一个字节,信息长度应控制在256个字节之内,相应操作系统的字符采用Unicode编码时,信息不应超过128个字符;服务程序通过主动关闭连接,客户程序就能依此来定界。

C/S结构的客户及服务程序,服务程序在TCP的某个端口上进行监听,客户程序主动发起连接,TCP在经过三次握手后进入Established状态,这之后就可以互相交换消息了。TCP的状态在命令提示符下可以通过netstat an查看。

关于域名解析,值得注意的是Viata系统已经实现了IPv6,在解析地址时可能会出现IPv6地址,这就需要编程过滤掉IPv6的地址,以下是获取IPv4地址的代码段:

IPHostEntry IpAddress = Dns.GetHostEntry(DName);

IPAddress Ipv4Address = null;

foreach(IPAddress TempAddress in IpAddress.AddressList){

if (TempAddress.AddressFamily == AddressFamily.InterNetwork)

{ Ipv4Address = TempAddress; break;}}

本文提供了两个示例程序,可以在Visual Studio 2010下编译,在.Net 4.0下运行。新建项目时,选择Visual C#下的Console Application模板。假定服务程序在TCP的9999口上进行监听。为了节省空间,源程序已经上传到 ishare.iask.省略/,使用关键字“C#语言使用TCPIP 套接口精析Code”即可搜索并下载。 以下的解释需要对照从给定地址下载的代码。

对服务端程序的解释:16-17行,服务程序在TCP 9999端口上进行监听。34行,服务程序主线程调用AcceptTcpClient()后阻塞,当有客户程序连接后返回。35行,显示与客户程序的TCP连接已经建立。36行,client.GetStream()返回一个NetworkStream类实例,用于读出或写入字节流。37-39行,先读一个字节获取信息长度。45行,将收到的字节流转换为字符串,便于显示。46行,client.Client.RemoteEndPoint用于显示客户端的端点信息。54及随后的两行,返回消息给客户程序后主动关闭连接,客户程序遇到服务端的强制关闭现有连接时,可能从读字节流的阻塞中返回或企图读取时引发Exception。