精华内容
下载资源
问答
  • 以下不属于TCP/IP体系结构应用层范畴的是 UDP 客户—服务器方式和对等方式 用户提出服务请求,网络将用户请求传送到服务器;服务器执行用户请求,完成所要求的操作并将结果送回用户,这种工作方式称为 C/S 方式 ...

    计算机网络

    第6章.应用层

    • 应用层概述

      1. 在计算机网络体系结构中,应用层的主要功能是 通过进程之间的交互来实现特定网络应用
      2. 以下不属于TCP/IP体系结构应用层范畴的是 UDP
    • 客户—服务器方式和对等方式

      1. 用户提出服务请求,网络将用户请求传送到服务器;服务器执行用户请求,完成所要求的操作并将结果送回用户,这种工作方式称为 C/S 方式
      2. 以下有关P2P方式的叙述中,错误的是 基于 P2P 的应用是服务集中型的,因为服务集中在少数几个服务器计算机中
    • 动态主机配置协议DHCP

      1. DHCP的作用是 使网络中各主机自动从 DHCP 服务器获取 IP 地址、默认网关等网络配置信息
      2. 封装DHCP DISCOVER报文的IP数据报,其首部中源IP地址字段的值和目的IP地址字段的值分别是 0.0.0.0,255.255.255.255
    • 域名系统DNS

      1. 在DNS的递归查询中,最终给DNS客户返回所查询到的IP地址的DNS服务器是 最开始连接的服务器
      2. 若本地域名服务器无缓存,用户主机采用递归查询向本地域名服务器查询另一网络某主机域名所对应的IP地址,而本地域名服务器采用迭代查询向其他域名服务器进行查询,则用户主机和本地域名服务器发送的域名请求条数分别为 1条,多条
    • 文件传送协议FTP

      1. 以下关于FTP的描述中,错误的是 用于控制连接的 TCP 连接在客户端使用的端口号为 20
      2. FTP客户发起对FTP服务器连接的第一阶段是建立 控制连接
    • 电子邮件

      1. SMTP、POP3分别基于运输层的 TCP, TCP
      2. 不能用于用户从邮件服务器接收电子邮件的协议是 SMTP
    • 万维网WWW

      1. 万维网上的每个页面都有一个唯一的地址,这些地址统称为 统一资源定位符
      2. HTTP是一个无状态协议,然而Web站点经常希望能够识别用户,这时需要用到 Cookie
    展开全文
  • TCP 和 UDP 协议属于 TCP/IP 协议栈的传输层,应用程序之间的信息互通,它们功不可没,比如应用层的 HTTP 协议基于 TCP,DNS 协议基于 UDP。 TCP 协议为可靠的面向连接的协议,UDP 协议可靠的无连接的协议,为...
  • IOS协议

    2016-09-09 18:24:34
    以下协议中,那个协议与其他协议是不属于同一类的() 正确答案: B 你的答案: E (错误) FTP ICMP TELNET SMTP DNS 网络:IP协议、ICMP协议、ARP协议、RARP...
    在以下协议中,那个协议与其他协议是不属于同一类的()

    正确答案: B   你的答案: E (错误)

    FTP
    ICMP
    TELNET
    SMTP
    DNS





    网络层:IP协议、ICMP协议、ARP协议、RARP协议。

    传输层:UDP协议、TCP协议。

    应用层:FTP(文件传送协议)、Telenet(远程登录协议)、DNS(域名解析协议)、SMTP(邮件传送协议),POP3协议(邮局协议),HTTP协议, SNMP协议, TFTP。



    SMTP:简单邮件传输协议,基于TCP/IP协议族的应用层协议
    FTP:文件传输协议,应用层协议
    TELNET:用于远程登录网络计算机的一种协议,应用层
    DNS:域名服务系统,在Internet上将域名和ip地址对应起来的一种协议,可以使用户更加方便的访问互联网,而不用记住很多很长的ip地址
    ICMP:是一种基于无连接的网络层报文,internet控制报文协议,作用回传网络是否通畅,主机是否可达,路由是否可用等报文信息

    展开全文
  • 【原创】【MQTT】MQTT协议介绍

    千次阅读 2018-04-26 15:55:12
    协议属于应用层协议(关于网络各个分层及对应的协议参考下图,但本篇做详细的介绍)。以下都是个人的拙见,求亲喷。什么是应用层协议呢,从名字来看是针对具体应用的,而和应用强相关的就是载荷数据的组织,应用...

    一、这是个什么玩意

    一看名字这玩意首先是个协议,就像之前说过的其他协议一样。协议主要的目的就是为了保证双方之间能够正常的沟通。该协议属于应用层协议(关于网络各个分层及对应的协议参考下图,但本篇不做详细的介绍)。以下都是个人的拙见,求亲喷。什么是应用层协议呢,从名字来看是针对具体应用的,而和应用强相关的就是载荷数据的组织,应用层协议都是为了解决特定问题而产生的一套方案,这些可以简单称之为报文格式。除了这点外,还有重要的一点就是服务端的处理逻辑,这两点也是应用层协议和传输层协议的主要差别。传输层协议就不关注数据怎么来的和怎么个传输,只负责传输这一件事。从这两个角度出发来了解下MQTT。

    MQTT 是 Message Queuing Telemetry Transport 的缩写,中文翻译为:消息队列遥测传输。一直没人解释什么是“遥测”,大家也呵呵一下就似懂非懂过去了。实际上遥测就是远程测量的意思,对于路途遥远的(比如卫星上的信息)、环境恶劣的(比如核反应堆的信息),不得不进行远程测量。同样的,我们现在考虑的物联网环境中,大量分布式存在的传感器,也自然以远程测量为宜。所以这个MQTT单从字面意义上就可以看出为物联网量身定做的理念来。​(上面参考于http://blog.sina.com.cn/s/blog_a27e792f0102vxb7.html,再次感谢)

    先说下MQTT协议的背景知识,了解了协议的产生背景和应用场景后可以帮助大家更方便的学习掌握。
    MQTT,是目前物联网的主要协议,还有个COAP(后续再说),目前很多大厂的服务端平台都支持MQTT。1999年,IBM的Andy Stanford-Clark博士和Arcom公司ArlenNipper博士提出的MQTT 即时通讯协议。在没有MQTT协议之前,物联网的应用中的大多做法是轮询传感器来获取想要的数据,这种做法有个缺点就是耗电,响应不及时等。基于这种背景下两位博士提出了MQTT——一个支持订阅和推送的物联网传输协议。因此MQTT协议主要针对的是一些“小”设备,即计算能力有限,所处环境不确定等,就像比如一些远程传感器或控制设备等等。

    本篇只是大体介绍MQTT,具体的协议还得看MQTT的协议文档,这个从百度搜下很多的。
    MQTT协议的所有报文:

    名字
    流向
    描述
    CONNECT
    1
    C->S
    客户端请求与服务端建立连接
    CONNACK
    2
    S->C
    服务端确认连接建立
    PUBLISH
    3
    CóS
    发布消息
    PUBACK
    4
    CóS
    收到发布消息确认
    PUBREC
    5
    CóS
    发布消息收到
    PUBREL
    6
    CóS
    发布消息释放
    PUBCOMP
    7
    CóS
    发布消息完成
    SUBSCRIBE
    8
    C->S
    订阅请求
    SUBACK
    9
    S->C
    订阅确认
    UNSUBSCRIBE
    10
    C->S
    取消订阅
    UNSUBACK
    11
    S->C
    取消订阅确认
    PING
    12
    C->S
    客户端发送PING(连接保活)命令
    PINGRSP
    13
    S->C
    PING命令回复
    DISCONNECT
    14
    C->S
    断开连接

    MQTT协议主要点:

    1、该协议需要两个角色:客户端和服务端

    2、MQTT是基于TCP长连接,首先是先跟MQTT服务器建立TCP连接,然后发送登录请求,要保持长连接,还要定时发心跳包跟服务保持连接。

    3、MQTT协议中有三种身份:发布者(Publish)代理(Broker)(服务器)、订阅者(Subscribe)。使用发布/订阅消息模式,继而支持一对多的发布形式。如下图所示:

    发布者和订阅者可以看做是客户端,代理看做是服务端,消息发布者可以同时是订阅者

    订阅(Subscription)

    订阅包含主题筛选器(Topic Filter)和最大服务质量(QoS)。订阅会与一个会话(Session)关联。一个会话可以包含多个订阅。每一个会话中的每个订阅都有一个不同的主题筛选器。

    会话(Session)

    每个客户端与服务器建立连接后就是一个会话,客户端和服务器之间有状态交互。会话存在于一个网络之间,也可能在客户端和服务器之间跨越多个连续的网络连接。

    主题名(Topic Name)

    连接到一个应用程序消息的标签,该标签与服务器的订阅相匹配。服务器会将消息发送给订阅所匹配标签的每个客户端。

    主题筛选器(Topic Filter)

    一个对主题名通配符筛选器,在订阅表达式中使用,表示订阅所匹配到的多个主题。

    负载(Payload)

    消息订阅者所具体接收的内容

    该部分参考于https://www.cnblogs.com/jiangzhaowei/p/7794640.html,再次感谢。

    4、MQTT传输的消息最小化,协议头部只有2字节,减小网络流量。

    5、对传输消息有三种服务质量(QoS):

    • 最多一次,这一级别会发生消息丢失或重复,消息发布依赖于底层TCP/IP网络。即:<=1
    • 至多一次,这一级别会确保消息到达,但消息可能会重复。即:>=1
    • 只有一次,确保消息只有一次到达。即:=1。在一些要求比较严格的计费系统中,可以使用此级别

    6、MQTT除了基于TCP/IP外,还可以基于TLS协议来保证安全性。TLS协议属于会话层的协议(在数据或增加逻辑来保证安全),比TCP传输层高一层(只负责传输),TLS保证了数据的完整性(哈希)和安全性(加密)。

    7、主题层级分隔符/,多层通配符#,单层通配符+等等,这些概念了解下,具体参考协议文档。

    8、​和CoAP等其他物联网协议相比,MQTT的最大优势在于其公共订阅消息队列机制以及多对多广播能力。有了指向MQTT代理端的长效TCP连接的支持,以有限带宽进行消息收发变得简单而轻松。

     总之,MQTT是一种基于发布/订阅publish/subscribe)模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。做为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。

    MQTT缺点或称为不适用的地方:

    1.MQTT基于长连接,影响了设备进入休眠。如果相关设备在运行中多数处于休眠状态,也可以选择另一种MQTT协议
    MQTT-S,其利用UDP取代原始协议中的TCP。 MQTT-S 可用于非 TCP/IP 网络,本篇暂不介绍,可参看具体协议了解。

    2. MQTT缺少基础协议层面的加密机制。MQTT被设计为一种轻量化协议,而内置加密的方式会给传输连接增加很大负担。虽然我们也能够在应用程序层级添加定制化安全机制,但这可能需要进行大量的调整工作。

    二、有毛用啊

    之前也说过了,协议就是为了双方两端之间能够正常通信,彼此之间能够听懂对方说的话。只不过该协议和之前介绍过的I2C和SPI有点差别,那两种协议之间的两端大都是芯片或模块。而MQTT属于应用层协议,面对具体的应用场景了,它双方的两端就会抽象更高一层,这两端的角色还有点差别,可以简单理解为客户端和服务端,客户端可以是比如一个具体一定功能并可以独立运作的设备,也可以是一个在电脑上运行的客户端软件等等,服务端是客户端能够连接成功的云端,但是不管怎么样,这两端都得支持MQTT协议(废话)。

    三,怎么用啊

    MQTT客户端:

    通过上面的介绍,其实已经可以知道怎么用了。先实现协议的两端都支持MQTT协议。服务端这边本篇不介绍(主要也不懂),我是这么调试学习的,

    1、从官网下载MQTT的代码,在本地移植到VS2010上(下载针对嵌入式的,我们最终是为了移植到单片机上,https://github.com/eclipse/paho.mqtt.embedded-c

    2、下载mqtt客户端模拟软件mqtt.fx或者paho(https://blog.csdn.net/nicholaszao/article/details/79211965 mqttfx安装使用)

    3、服务端采用m2m.eclipse.org这地址

    上面在正常通信下,在mqttfx客户端订阅主题,然后vs2010编译生产客户端也订阅相同主题,然后发布消息,看下mqttfx能够收到,或者mqttfx端发送消息,看下vs2010端能不能正常收到,这些都是在验证MQTT协议最重要的特性,发布和订阅。上面验证没问题的话,然后将mqtt源码再移植到具体的单片机上。推荐:为了更好的学习,可以用Wireshark。

    我打算这么测下,在mqttfx客户端和vs2010编译客户端都订阅ledtest主题,然后再mqttfx客户端发布ledtest消息,看下这两个客户端是否都能收到该订阅消息。

    第一步移植就不多说了,主要是编译问题,然后自己写个测试程序跑起来。

    第二步主要是使用mqttfx软件,也很简单,如下图,配置好服务端地址和端口,然后点击connect按钮,就可以正常连接。

    然后点击1处的Subscribe按钮,在下面输入ledtest,然后点击2处的Subscribe按钮,这样就在左侧窗口这里输出本客户端订阅的消息。

    然后把VS2010的自己写的测试程序也运行,该测试程序也订阅了ledtest这个主题,并只处理携带的参数为on和off的情况。运行后如下图:

    然后再点击mqttfx客户端1处的Publish按钮,在下图位置输入ledtest和on/off,右侧选择QoS0,最后分别点击2处的Publish按钮

    然后观察自编译客户端和mqttfx客户端

    上图表明收到了4次的订阅消息,2次on和2次off

    上图说明mqttfx客户端也收到了4次订阅的消息,最下面的框显示具体的参数值。

    这样的话协议能够跑通,关于MQTT其他特性的测试,比如QoS服务质量的特性测试,大家可以再试下。

    下面是wireShark的抓图数据

    其实现在国内已经在独立自主开发国产的物联网操作系统了,真正的国产,不是基于Linux克隆修改的,目前系统名字叫做HelloX,这是牛人的博客(https://blog.csdn.net/hellochina15/article/details/52838600),我也是通过该博客了解到HelloX的,希望大家联合起来支持国产操作系统。

    MQTT服务端(或者叫代理(Broker)(简单说下,我也不懂)):

    1、mosquitto这个软件是用了搭建mqtt服务端的服务(https://blog.csdn.net/xukai871105/article/details/39252653

    2、如果不想自己搭建服务器,除了上面说的那个地址,也可以采用Eclipse为了支持MQTT发展而设立的公共MQTT服务器:test.mosquitto.org







    
    展开全文
  • 网络协议(三)UDP

    2017-04-14 20:56:17
    UDP(User Datagram Protocol):用户数据报协议属于传输层协议。...(3)面向报文,DUP对应用层交下来的报文,既合并,也拆分,而是保留这些报文的边界; (4)没有拥塞(流量)控制;(congestion contro

    1、UDP(User Datagram Protocol):用户数据报协议,属于传输层协议。

      udp是无连接不可靠的数据报协议。其具有以下特性:

    (1)无连接,即发送数据前不需要建立连接;

    (2)尽最大努力交付,即不保证可靠交付;

    (3)面向报文,DUP对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界;

    (4)没有拥塞(流量)控制;(congestion control/traffic control)

    (5)支持一对一、一对多、多对一、多对多的交互通信。

    2、udp头部格式



    Source Port is an optional field, when meaningful, it indicates the port of the sending process, and may be assumed to be the port to which a reply should be addressed in the absence of any other information. If not used, a value of zero is inserted.
    Destination Port has a meaning within the context of a particular internet destination address.
    Length is the length in octets of this user datagram including this header and the data. (This means the minimum value of the length is eight.)
    Checksum is the 16-bit one’s complement of the one’s complement sum of a pseudo header of information from the IP header, the UDP header, and the data, padded with zero octets at the end (if necessary) to make a multiple of two octets.
    The pseudo header conceptually prefixed to the UDP header contains the source address, the destination address, the protocol, and the UDP length. This information gives protection against misrouted datagrams. This checksum procedure is the same as is used in TCP.


    3、UDP基于端口的分用与复用



    展开全文
  • HTTP协议详解

    2014-12-26 19:42:05
    在此声明:以下文章转载自HTTP协议详解 在此表示感谢!...HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到
  • 硬件抽象:HAL

    2016-07-07 23:39:00
    这套程序库并不属于Linux内核,而是属于Linux内核层上的应用层。 Google为Android加入HAL主要有以下目的:统一硬件的调用接口。由于HAL有标准的调用接口,所以可以利用HAL屏蔽了Linux驱动复杂、不统一的接口;解决...
  • 硬件抽象:HAL

    2016-06-24 16:37:00
    这套程序库并不属于Linux内核,而是属于Linux内核层上的应用层。在传统的Linux系统中Linux驱动一般有两种类型的代码。Google为Android加入HAL主要有以下目的:统一硬件的调用接口。由于HAL有标准的调用接口,所以...
  • canopen协议中文翻译版

    2017-09-13 21:37:29
    CANopen 标准包括寻址方案、数个小的通讯子协定及由设备子协定所定义的应用层。 CANopen 支援网络管理、设备监控及节点间的通讯,其中包括一个简易的传输层,可处理资料的分段传送及其组合。一般而言数据链结层及...
  • 网编

    2019-09-24 15:02:12
    以下哪些协议不属于传输层? 一下哪些协议是应用层的协议 应用层 http https ftp snmp 传输层 tcp udp 四层路由器 四层交换机 网络层 ip 路由器 三层交换机 数据链路层 arp 交换机 网卡 物理层 面试 tcp和udp的区别 ...
  • 再向上看是应用层的东西 了,这里可以做的事情就非常多了,各个社区,各个厂家都可以参与进来。难怪 Android 的 sdk 可以 Apache License 发布了,对企业和开发人员友好啊。 那么 Google 自己的东西在哪里呢?没错,...
  • python socket编程

    2019-09-07 17:44:40
    其实在传输层和应用层当中还有表示...独立于这个模型之外,可以脱离于应用层,可以与传输层及以下的层建立沟通。 socket的client 和server 实现通信 上图中左侧是server端,右侧是client端。 下面是使用socket_ser...
  • 蜂巢采用了开放的授权协议,而且还提供了一些用于打包扩展和制作发行版本的工具,您可以基于蜂巢开发属于您自己的成品,并以您自己的名称和Logo重新发布。 【“代码即知识”】 蜂巢提供了一个文档编译引擎,用于...
  • 答:Class可以被实例化,属于引用类型,是分配在内存的堆上的,Struct属于值类型,是分配在内存的栈上的. [Page] 26.根据委托(delegate)的知识,请完成以下用户控件中代码片段的填写: namespace test { public ...
  • HTTP、TCP、UDP详解

    2019-10-08 14:56:59
    TCP/IP通信数据流: TCP/IP协议族中有一个重要的...其中TCP、UDP属于传输层协议,而HTTP是基于TCP/IP协议应用层协议,它涉及数据包传输,主要规定了客户端和服务器之间的通信格式,默认使用80端口。 ...
  • 计算机应用技术 实用手册 Xnllz 2011.7.29 目录 第一章COMS的设置 1 1.STANDARD CMOS SETUP(标准CMOS设定)用来设定日期、时间、软硬盘规格、工作类类型。 3 2.BIOS能功设定 5 3.Advanced ...
  • 2019 快手校招笔试题详解

    千次阅读 2019-04-23 22:52:22
    可以理解为把5本书插到14本书的中间,即加头尾的15个空格里,有多少种组合。因为不能相邻,所以是有C(15,5) = ...3.以下不属于应用层协议的是: FTP协议文件传输协议 是应用层协议 域名系统英文:DomainName...
  • 网络连接服务故障排查技巧

    千次阅读 2013-09-22 17:16:16
    1.先用ping或wget命令测试网络连接性。[ping命令是网络层协议涉及端口的状态;wget是应用层协议,要涉及端口] 2.检测端口是否冲突。...[防火墙属于应用层,阻止了应用层以下的通信,如位于网络层
  • 一、多选题 (题数:2,共10.0分) ... 主机的进程分别处于本地操作系统控制,不属于 OSI 环境 我的答案:AC 2 开放系统互联(OSI)参考模型的七层协议又可分为网络功能协议和高层服务协议,其中..
  • 对于此问题的分析,要追溯到TCP/IP 四层模型(以下为自底向上)链路层-->网络层-->传输层-->应用层UDP与TCP一样,属于传输层协议,而链路层有个MTU(最大传输单元)【因特网协议允许IP分片,这样就可以将数据包分成...
  • 网络基础 HTTP的基本认识

    千次阅读 2020-02-26 08:50:31
    基本介绍 HTTP(HyperText Transfer Protocol,超文本传输协议)是目前使用范围最广的网络协议之一。 HTTP从最初的诞生到现在为止,共有以下版本 ...HTTP在计算机网络的层次中,按照TCP/IP模型分层是属于应用层...
  • 2020-12-15

    2020-12-15 21:12:59
    以下常见的通讯协议中,不属于应用层协议的有( B) A. FTP B. TCP/IP C. HTTP D. SMTP 数据库管理系统是(B ) A. 操作系统的一部分 B. 在操作系统支持下的系统软件 C. 一种编译系统 D. 一种操作系统 XaaS...
  • Ctrl+F打开查找,查看有没有你想要的答案吧!...2.以下常见的通讯协议中,不属于应用层协议的有( ) A. FTP B. TCP/IP C. HTTP D. SMTP 3.数据库管理系统是( ) A. 操作系统的一部分 B. 在操作系统支持下的系...
  • 一些计算机网络题目

    千次阅读 2018-06-07 15:09:44
    一、选择题中继器属于物理设备在以太网中,是根据MAC地址来区分不同的设备下面哪种LAN是应用CSMA/CD协议:ETHERNETTCP和UDP协议的相似之处是:都是传输层协议当一台主机从一个网络移到另一个网络时,以下说法正确...
  • 网络编程:实现计算机与计算机间的通信 有以下几种形式: tcp:可靠,有状态的,长连接的协议,像打电话一样 udp:可靠,无连接,像发短信一样。...2.其次:C/S架构的软件(软件属于应用层)是基于...
  • 首先,我们知道,TCP/IP通常被认为是一个四层协议系统:包括链路层、网络层、运输层、应用层 。UDP属于运输层,下面我们由下至上一步一步来看。 结论1:局域网环境下,建议将UDP数据控制在1472(1500-8-20)字节...
  • 刷题day_2

    2018-10-11 20:28:21
    1.TCP协议不仅有拥塞控制功能,还可以进行流量控制。A A.是 ...4.在应用层的各协议中(A)协议提供文件传输服务。 A.FTP B.TELNET C.WWW D.TFTP 5.关于交换机的论述,正确的是 D A.交...
  • A、应用层、表示层、会话层 B、会话层、传输层、网络层 C、物理层、数据链路层、网络层 D、物理层、数据链路层、传输层 4、计算机网络是由通信子网和_______组成。 A、资源子网 B、协议子网 C、国际互联网 D、TCP/IP...
  • 计算机网络复习题

    2014-12-29 19:01:35
    (7)应用层:是用户访问网络的接口。 请简述TCP/IP协议体系结构参考模型每层的名称和主要功能。 1.网络接口层 2.网络互连层 3.传输层 4.应用层 3.试比较电路交换、报文交换、分组交换的主要有缺点? 电路交换:整个...
  •  A)互连层 B)传输层 C)应用层 D) 逻辑连路控制层  Key: C  (45)美国国防部与国家标准局将计算机系统的安全性划分为不同的安全等级,下面的安全等级中 最底的是  A)A1 B)B1 C)C1 D)D1  Key: D (46)...

空空如也

空空如也

1 2 3
收藏数 58
精华内容 23
关键字:

以下协议不属于应用层