TCP/IP学习笔记(7)

2016-02-19 17:12 11 1 收藏

图老师设计创意栏目是一个分享最好最实用的教程的社区,我们拥有最用心的各种教程,今天就给大家分享TCP/IP学习笔记(7)的教程,热爱PS的朋友们快点看过来吧!

【 tulaoshi.com - 编程语言 】

  一、SNMP:简单网络管理协议

  基于TCP/IP的网络管理包括两部分:网络管理站(manager)和被管理的网络单元(被管设备)。这些被管设备的共同点就是都运行TCP/IP协议。管理进程和代理进程之间的通信有两种方式,一种是管理进程向代理进程发出请求,询问参数值,另一种方式是代理进程主动向管理进程报告某些重要的事件。

  基于TCP/IP的网络管理包含3个组成部分:

  (1) 一个管理信息库(MIB)。管理信息库包含所有代理进程的所有可被查询和修改的参数。

  (2) 关于MIB的公用结构和表示符号,叫做管理信息结构SMI。例如:SMI定义计数器是一个非负整数,它的计数范围是0-4294967295,当达到最大值后,又从0开始。

  (3) 管理进程和代理进程之间的通信协议,叫做简单网络管理协议SNMP。SNMP包括数据交换的格式等,主要采用UDP协议。

  1、协议:SNMP定义了5种报文:

  (1) get-request操作:从代理进程处提取一个或多个参数值。

  (2) get-next-request操作:从代理进程处提取一个或多个参数的下一个参数值。

  (3) set-request操作:设置代理进程的一个或多个参数值。

  (4) get-response操作:由代理进程发出的一个或多个参数值。它是3种的响应操作。

  (5) trap操作:代理进程主动发出的报文,通知管理进程由事情发生。

  前面3个操作是由管理进程向代理进程发出的,后两个是代理进程发给管理进程的。

  说明:◆前4种操作是简单的请求-应答方式,由于采用UDP协议,因此一定要有超时和重传机制。

  ◆ 管理进程采用UDP的161端口,代理进程使用UDP的162端口,因此一个系统可以同时为管理进程和代理进程。

  ◆ 下面是UDP数据报5种操作的SNMP报文:

  IP首部UDP首部版本0共同体PDU类型(0-3)请求标识差错状态(0-5)差错索引名称值名称值...

  PDU类型4企业代理地址Trap类型(0-6)特定代码时间戳名称值...

  

  (1) SNMP报文的长度取决域变量的类型和值。

  (2) 版本字段为0,表示为SNMP V1。

  (3) PDU为协议数据单元,即分组。

  PDU类型名称0Get-request1Get-next-request2Get-response3Set-request4Trap

  (4) 共同体为一个字符串,这是管理进程和代理进程之间的口令,是明文格式,默认为public。

  (5) 对于get、get-next和set操作,请求标识由管理进程设置,然后由代理进程在get-response中返回。这个字段的作用是使客户进程(目前是管理进程)能够将服务器进程(即代理进程)发出的响应和客户进程发出的查询进行匹配。这个字段允许管理进程对一个或多个代理进程发出多个请求,并且从返回的应答中分类。

  (6) 差错状态字段是一个整数,由代理进程设置,指明有错误发生。

  差错状态名称描述0NoError没有错误1TooBig代理进程无法把响应放在一个SNMP消息中发送2NoSuchName操作一个不存在的变量3BadValueSet操作的值或语法有错误4ReadOnly管理进程试图改变一个只读变量5genErr其他错误

  (7) 在get、get-next和set的请求数据报中,包含变量名称和变量值的表,对于get和get-next操作,变量值部分被忽略。

  2、 管理信息结构SMI

  (1) INTEGER:有些整形变量没有范围限制,有些整形变量定义为特殊的数值。

  (2) OCTER STRING:0或多个8位字节,每个字节值在0-255之间。

  (3) DisplayString:0或多个8位字节,每个字节必须是ASCII码,所有该类型的变量不能超过255个字符。

  (4) OBJECT IDENTIFIER:

  (5) NULL:相关变量还没有值。

  (6) IPAddress:4字节的OCTER STRING,以网络序表示的IP地址,每个字节代表IP地址的一个字段。

  (7) PhyAddress:OCTER STRING类型,代表物理地址。

  (8) Counter:非负整数,范围为0-4294976295,达到最大后从0开始。

  (9) Gauge:非负整数,范围为0-4294976295,或增或减,达到最大值后锁定,直到复位。

  (10) TimeTicks:时间计数器,以0.01秒递增,但是不同的变量可以有不同的递增幅度,所以定义该类变量时必须指定递增幅度。

  (11) SEQUENCE:类似于结构,包括0个或多个元素。

  (12) SEQUENCE OF:向量,其所有元素具有相同的类型。

  3、 对象标识符

  对象标识是一种数据类型,它指明一种授权命名的对象。对象标识是一个整数序列,以点分隔。这些整数构成一个树型结构,类似于DNS和文件系统。对象标识从顶部开始,顶部没有标识,以root表示。所有的MIB变量都从1.3.6.1.2.1这个标识开始。树上的每个节点还有文字名,例如1.3.6.1.2.1就和iso.org.dod.internet.memt.mib对应。

  4、 管理信息库MIB

  管理信息库就是所有代理进程包含的,并且能够被管理进程进行查询和设置的信息的集合。UDP组中包含几个变量和一个表格。变量为:udpInDatagram(1)、udpNoPorts(2)、udpInErrors(3)、udpOutDatagram(4),表格为udpTable(5)。

  名称数据类型R/W描述udpInDatagramCounterRUDP数据报输入数udpNoPortsCounterR没有发送到有效端口的UDP数据报个数udpInErrorsCounterR接收到的有错误的UDP数据报个数udpOutDatagramCounterRUDP数据报输出数

  在udpTable中有2个变量:

  UDP监听表,索引=udpLocalAddress.udpLocalPort名称数据类型R/W描述udpLocalAddressIpAddressR监听进程的本地IP地址,0.0.0.0代表接收任何接口的数据报udpLocalPort[0..65535]R监听进程的本地端口号

  5、 实例标识

  对MIB变量进行操作,必须对MIB的每个变量进行标识。只有叶子节点是可操作的SNMP没法处理表格的一整行或一整列。

  (1) 简单变量:

  对于简单变量的处理是通过在其对象标识后面添加".0"处理。例如对象标识是    1.3.6.1.2.1.7.1,则实例标识是1.3.6.1.2.1.7.1.0。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  (2) 表格

  每个MIB中的索引都包含一个以上的索引。对于UDP监听表来说,MIB定义了包含两个变量的联合索引。假定UDP监听表中有3行具体成员:

  0.0.0.0 67

  0.0.0.0 161

  0.0.0.0 520

  这表明系统将从端口67、161和520接收来自任何接口的UDP数据报。这三行数据处理后为:

  行对象标识简称值11.3.6.1.2.1.7.5.1.1.0.0.0.0.67

  1.3.6.1.2.1.7.5.1.2.0.0.0.0.67UdpLocalAddress.0.0.0.0.67

  UdpLocalPort.0.0.0.670.0.0.0

  6721.3.6.1.2.1.7.5.1.1.0.0.0.0. 161

  1.3.6.1.2.1.7.5.1.2.0.0.0.0. 161UdpLocalAddress.0.0.0.0. 161

  UdpLocalPort.0.0.0. 1610.0.0.0

  16131.3.6.1.2.1.7.5.1.1.0.0.0.0. 520

  1.3.6.1.2.1.7.5.1.2.0.0.0.0. 520UdpLocalAddress.0.0.0.0. 520

  UdpLocalPort.0.0.0. 5200.0.0.0

  520

  (3) 字典式排序

  MIB中按照对象标识进行排序有一个隐含规则,MIB表格是根据其对象标识按照字典的顺序进行排序的。上面表格排序后如下所示:

  行对象标识简称值11.3.6.1.2.1.7.5.1.1.0.0.0.0.67

  1.3.6.1.2.1.7.5.1.1.0.0.0.0.161

  1.3.6.1.2.1.7.5.1.1.0.0.0.0.520UdpLocalAddress.0.0.0.0.67

  UdpLocalAddress.0.0.0.0.161

  UdpLocalAddress.0.0.0.0.5200.0.0.0

  0.0.0.0

  0.0.0.021.3.6.1.2.1.7.5.1.2.0.0.0.0. 67

  1.3.6.1.2.1.7.5.1.2.0.0.0.0. 161

  1.3.6.1.2.1.7.5.1.2.0.0.0.0. 520UdpLocalPort.0.0.0. 67

  UdpLocalPort.0.0.0. 161

  UdpLocalPort.0.0.0. 52067

  161

  520

  在表格中,一个给定变量的所有实例都在下个变量的所有实例之前显示。这意味表格的操作顺序是先行后列的。

  表格中对行的排序和表格中索引的值有关。

  6、 管理信息库MIB(2)

  (1) system组:

  system组包含7个变量,没有表格,分别是:sysDescr、sysObjectID、sysUpTime、sysContact、sysName、sysLocation、sysServices。

  (2) interface组

  interface组只定义了一个简单变量,是系统的接口数量。该组还有一个表格变量,有22列。

  (3) at 组

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  at组是地址转换组,在该组中仅有一个由3列组成的表格变量。

  (4) ip组

  ip组定义了很多简单变量和3个表格变量(地址表、路由表、地址转换表)。

  (5) icmp组

  icmp组包含4个普通计数器变量(ICMP报文的输出和输入数量以及ICMP差错报文的输入和输出数量)和22个其他ICMP报文数量的计数器,11个输出计数器,11个输入计数器。

  (6) tcp组

  tcp组包含14个简单变量,主要为TCP状态。还包含1个表格变量,即TCP连接表。

  7、 Trap:

  一共有6中trap PDU的格式,第7中类型是供应商自己定义的特殊类型。

  二、Telnet:远程登陆

  Telnet是标准的提供远程登陆功能的应用。它能够运行在不同的操作系统的主机之间。Telnet通过客户进程和服务器进程之间的选项协商机制,从而确定通信双方可以提供的功能特性。

  (1) Telnet客户进程同时和终端客户及TCP/IP协议模块进行交互。通常我们所键入的任何信息的传输是通过TCP连接,连接的任何返回信息都输出到终端上。

  (2) Telnet服务器进程经常要和"伪终端设备"打交道。

  (3) 仅仅使用了一条TCP连接。

  1、 协议介绍:

  一种通用字符终端叫网络虚拟终端NVT,连接的客户机和服务器,都必须把他们的物理终端和NVT进行相互转换。不管客户进程终端是什么类型,操作系统必须把它转换NVT格式,同时,不管服务器进程的终端是什么类型,操作系统必须能够将NVT格式转换为终端所能够接收的格式。

  (1) NVT ASCII:

  NVT ASCII代表7位的ASCII字符集,网间协议族都使用NVT ASCII ,每个7位的字符都以8位格式发送,最高位为0。行结束符以两个字符CR(回车)和紧接着的LF(换行)这样的序列表示以rn表示。单独的一个CR表示为r。

  (2)Telnet命令:

  命令以字节0xff开头,后面的一个字节是命令字节。如果要发送数据255,就必须连续发送两个255(设置选项才可以发送)。

  名称代码(10进制)描述EOF236文件结束符SUSP237挂起当前进程ABORT238异常终止进程EOR239记录结束符SE240子选项结束NOP241无操作DM242数据标志BRK243中断IP244中断进程AO245异常终止输出AYT246对方是否还在运行EC247转义字符EL248删除行GA249继续进行SB250子选项开始WILL251选项协商WONT252选项协商DO253选项协商DONT254选项协商IAC255数据字节255

来源:http://www.tulaoshi.com/n/20160219/1614528.html

延伸阅读
       TCP/IP基础----为Linux做准备(1)      作者:meaculpa [中国Linux论坛]      TCP/IP协议体系结构简介      1、TCP/IP协议栈      四层模型   TCP/IP这个协议遵守一个四层的模型概念:应用层、传输层...
    第七篇:图形设备接口(GDI) 我想大家和我一样通过前几天的学习,对VC++MFC应用程序框架的神奇功能有了一些了解,但是还是感觉不能驾御这个强的开发工具,不过别担心,我170多斤体重不是一口吃出来的,是经过了30年不懈的努力才吃成了如此“魁梧”的体形,呵呵开个玩笑。所以学习也一样。学VC尤其如此。还有我发现...
TCP/IP(Transmite Control Protocol 传输控制协议/Internet Protocol网际协议)已成为计算机网络的一套工业标准协议。Internet网之所以能将广阔范围内各种各样网络系统的计算机互联起来,主要是因为应用了“统一天下”的TCP/IP协议。在应用TCP/IP协议的网络环境中,为了唯一地确定一台主机的位置,必须为TCP/IP协议指定三个参数,即IP地址、...
标签: 电脑入门
TCP/IP是网络的基础,对于Windows系统来说,其所谓的TCP/IP设置主要是与网卡相关的网络参数设置部分。其实,这部分内容是需要管理员深入挖掘的。下面笔者列举几个于此相关的典型应用案例,希望对遇到类似问题的朋友有所帮助。 1.修改MAC,你管不着我 策划部的员工上班时间不务正业终于让领导忍无可忍,于是责令网管小...
Windows7旗舰版系统重装TCP/ip协议的方法   1、首先打开开始―控制面板,在控制面板中选择点击网络和共享中心; 2、在网络和共享中心选择点击更改适配器设置项; 3、找到网络设备,单击右键,选择属性; 4、在打开的属性界面中,在网络窗口下有一个Internet 协议版本4(TCP/IPv4),双击进入; 5、在Intern...

经验教程

196

收藏

71
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部