tcp/ip详解卷一(笔记4:应用层应用与协议)

版权声明:转载 请标注 出处 https://blog.csdn.net/youyou1543724847/article/details/84936851

相关文章:
tcp/ip详解卷一(笔记1:概述与IP层协议)
tcp/ip详解卷一(笔记2:UDP及相关的协议)
tcp/ip详解卷一(笔记3:tcp与相关协议)

25 SNMP(简单网络管理协议)

基于TCP/IP网络管理包含两部分:网络管理站(也叫管理进程,manager)和被管理的网路单元。被管设备种类繁多,如路由器,x终端,终端服务器和打印机。这些被管理的设备的共同点就是都允许TCP/IP协议。被管设备端和管理相关软件叫做代理程序或代理进程。

网络管理协议需要了解如下内容:

  1. 管理信息库MIB(management information base),包含所有代理进程的所有被查询和修改的参数
  2. 关于MIB的一套共用的结构和表示符号,叫做管理信息结构SMI(structure of managemnt infomation)
  3. 管理与被管理进程之间的通信协议SNMP。

本章要点:

  1. nmp协议报文格式;
  2. snmp协议报文类型,5中(get-request, get-next-request, set-request, get-response ,trap)
  3. mib及mib变量查询、修改,mib变量类型、变量组织、命名方式;

25.1 SNMP报文

在这里插入图片描述

其中:PDU类型有5中,如下图所示。
在这里插入图片描述

差错状态字段是一个整数,它由代理进程标注的,指明有错误发生,如下图所示。
在这里插入图片描述

25.2 mib 中参数标识

在实际应用中(在管理进程和代理进程进行数据报交互时),mib变量名是以对象标识来识别的,都是以1.3.6.1.2.1 (root.iso.org.dod.internet.mgmt.mib)开头的

对象标识:对象标识指明一种“授权”命名的对象。“授权”的意思就是这些标识不是随便分配的,它是有一些权威机构进行管理和分配的。对象标识是一个整数序列,以点(“.”)。这些整数构成一个树型结构,类似于DNS或是unix文件系统。对象标识从树的顶部开始,顶部没有标识,以root表示。树上每个节点同时还有一个文件名,主要方便人们阅读,类似与DNS中的hostname与IP。

在这里插入图片描述


26 telnet与rlogin:远程登录

telnet 客户-服务器模式的telnet简图
在这里插入图片描述

对于应用层协议,基于下面的数据传输层传输数据,拿到数据后,需要自己去解析数据。为了合理的解决应用场景中的问题,还需要定义数据传输中的特定含义。

对于rlogin,需要注意的是:

  1. 在建立普通的tcp数据连接后,client需要给server发送 登录主机名、终端速率,server返回一个字节0;然后server选择是否需要用户口令,另外,server还需要向client询问终端的窗口大小;
  2. 流量控制:client进行需要能够识别用户键入的stop,start的ascii字符,并能够终止或启动终端的输出。例如,当用户输入终止终端输出命令后,该命令传输到server上,server不发送数据输出了,但是之前网络通道中还存在之前发送的、client还没有接收到数据。这些数据还在将来进入client中,client必须能够正确处理,不再在屏幕中显示(因为用户已经输入了屏幕stop命令);
  3. server到client的命令处理:当server要给client发送命令时,server就进入紧急状态,并且把命令放在紧急数据的最后一个字节中。当客户进程收到这个紧急方式的通知时,它从连接上读取数据并且保存起来,直到独到命令字节(即紧急数据的最后一个字节)。这个时候客户进程根据读到的命令,再决定对于所读到并保存起来的数据是显示在终端上还是丢弃它。
  4. clent到sever的命令处理:从client到server之间的命令(只有一条,将当前的窗口大小更新发送给Server)采用和普通数据的发送方式(即带内数据)。但是只有一条连接,client必须对在该连接上发送的命令进行区分(将命令和普通的数据区分开来)。处理方式是在两个字节的oxff后面紧跟着发送两个特殊的标志字节。由于client发送命令和数据一起在同一个连接上发送,则server必须对收到的数据进行检测,查看是否有连续的两个oxff。而client不需要对server发送的数据进行检查,除非server进程进入了紧急方式,如果进入了,也只需要查看紧急指针所指向的字节。这样区别的原因是:client发送给server的数据较少,所有server对所有的数据进行检测也问题不大;但是server发送给client的数据就比较多了,进行数据搜索检查代价较大。

对于telnet,需要注意的是:

  1. telnet协议可以工作在内容主机或任何终端之间。RFC 854定义了该协议的规范,其中还定义了一种通用的字符终端叫做网络虚拟终端NVT(network virtual terminal)。NVT是虚拟设备,连接的双方,即client和server,都必须将他们的物理终端和NVT 进行相关转换。也就是说,不管客户终端是什么类型,操作系统都必须把它转化成NVT格式。同时不管server服务器进程是什么类型,操作系统必须能够把NVT格式转化成终端能够支持的格式。
    2.telnet命令: telnet 通信的两个方向都采用带内数据的方式传输。字节oxff叫做IAC( interpret as command).该字节后面的字节才是命令字节。

27 FTP:文件传输协议

FTP使用了2个tcp连接来传输一个文件。一个传输控制数据,一个传输文件普通数据;

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/youyou1543724847/article/details/84936851