应用程序层协议是系统实用程序的一部分吗?

罗恩·文斯

应用程序层协议(例如dhcp,http,dns,ftp,nfs,smb等)是否是ls,cp,chmod,rm,mv等系统实用程序的一部分?

埃利亚·卡根(Eliah Kagan)

成为协议意味着什么

协议是关于如何传达信息的规则(或规则集合)。一个应用层协议描述方案和服务如何对潜在的“下”层协议的顶部连通。这些较低的层(例如传输层)描述了一般的通信方式,包括高层通信的打包方式。

这是一个非常笼统的总结,并且存在多个层次的网络模型。甚至有多少层,取决于一个人选择用来描述网络工作方式的模型。

这些层一起构成了一个套件,例如Internet协议套件,它描述了工作系统(我们认为是“网络”)如何工作。

关键是协议是关于某种事物应该如何工作的规则或描述。因此,从任何普通的“部分”的意义上来说,协议都不是程序的“部分”。但是,程序可以实现应用程序层协议。这意味着它被编写为以符合协议的方式执行协议中指定的某种通信。

(有时程序也不符合协议的要求,因此也不符合要求。通常这是一个缺点,当协议不适合用户或开发人员的需求时,有时是故意的。)

实现应用程序层协议的程序

DHCP由DHCP服务器和DHCP客户端实现。HTTP由Web服务器(如Apache),Web浏览器,爬网程序以及(与其他协议一起)大多数下载管理器实现浏览器,搜寻器和下载管理器是HTTP客户端。Ubuntu上的SMB由Samba实现,它具有客户端和服务器组件。

应用程序层协议位于提供客户端-服务器模型的较低层之上。应用层协议使用此模型。您会注意到,我在以上所有示例中都谈到了客户端和服务器。

有时,程序与其实现的协议具有相同的名称。例如,大多数操作系统(包括Ubuntu)都有一个名为的FTP客户端ftp请注意,这只是一个FTP客户端。FTP服务器可执行文件通常被称为ftpdd“守护”)。守护程序是在后台运行的服务,许多服务器程序都是守护程序。实现协议“ FooBar”的守护程序通常被称为foobard例如,Web服务器可执行文件通常被命名为httpd

核心文件实用程序不会自行实现应用程序层协议

所以,你可能会想,如果文件工具一样lscpchmodrm,和mv 实现任何应用层协议。答案是他们没有。

如果使用这些文件实用程序中的任何一种,它们会通过网络访问文件或目录信息,则可能导致网络通信发生。例如,如果您已挂载了NFS(或SMB)共享,并ls用于列出远程文件夹的内容,则说明正在发生网络通信。但是这些文件实用程序并不会处理网络通信。而是由NFS客户端(或SMB)客户端执行该通信。通常,类似于ls的文件实用程序chmod将与访问本地文件时完全相同。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

应用程序层协议是系统实用程序的一部分吗?

来自分类Dev

是Meteor应用程序中的$ or Mongo的一部分吗?

来自分类Dev

iOS只能删除应用程序的Cache文件夹的一部分吗?

来自分类Dev

我可以使用XCTest测试应用程序中某一部分的性能吗?

来自分类Dev

我可以让我的iPhone应用程序仅使用屏幕的一部分吗

来自分类Dev

动态链接程序是Linux系统上内核或GCC库的一部分吗?

来自分类Dev

驱动程序是操作系统的一部分吗?

来自分类Dev

Inno Setup使用一部分应用程序路径作为图标路径

来自分类Dev

WCF服务作为MVC应用程序的一部分

来自分类Dev

作为常规应用程序迁移的一部分,运行初始RBAC迁移

来自分类Dev

NewRelic-如何忽略PHP应用程序的一部分

来自分类Dev

生成数字作为蛮力应用程序的一部分

来自分类Dev

创建指向Shiny应用程序另一部分的链接

来自分类Dev

如何覆盖“应用程序管道的一部分”内部名称?

来自分类Dev

不将图像存储为应用程序的一部分

来自分类Dev

调试应用程序作为解决方案的一部分

来自分类Dev

应用程序的哪一部分应该投入使用?

来自分类Dev

如果删除第一部分-应用程序崩溃

来自分类Dev

找不到路径的一部分。从应用程序复制文件。WPF

来自分类Dev

如何在Azure上编写应用程序的一部分?

来自分类Dev

将服务器API构建为早午餐应用程序的一部分是不好的做法吗?

来自分类Dev

发布.NET Core应用程序时出现错误“找不到路径的一部分”

来自分类Dev

Graylog; 如何将提取器应用程序限制为一部分源

来自分类Dev

Ionic 4 / Angular 7应用程序*随机*不渲染组件的一部分(Android构建)

来自分类Dev

Angular + Electron基本应用程序不会刷新页面的一部分

来自分类Dev

如何确定AJAX应用程序的哪一部分正在减慢速度?

来自分类Dev

如何在余烬应用程序中将api密钥作为url的一部分传递

来自分类Dev

如何在AngularJS应用程序中解码URL的查询字符串的一部分?

来自分类Dev

在iOS应用程序的键盘上仅显示表情符号的一部分

Related 相关文章

  1. 1

    应用程序层协议是系统实用程序的一部分吗?

  2. 2

    是Meteor应用程序中的$ or Mongo的一部分吗?

  3. 3

    iOS只能删除应用程序的Cache文件夹的一部分吗?

  4. 4

    我可以使用XCTest测试应用程序中某一部分的性能吗?

  5. 5

    我可以让我的iPhone应用程序仅使用屏幕的一部分吗

  6. 6

    动态链接程序是Linux系统上内核或GCC库的一部分吗?

  7. 7

    驱动程序是操作系统的一部分吗?

  8. 8

    Inno Setup使用一部分应用程序路径作为图标路径

  9. 9

    WCF服务作为MVC应用程序的一部分

  10. 10

    作为常规应用程序迁移的一部分,运行初始RBAC迁移

  11. 11

    NewRelic-如何忽略PHP应用程序的一部分

  12. 12

    生成数字作为蛮力应用程序的一部分

  13. 13

    创建指向Shiny应用程序另一部分的链接

  14. 14

    如何覆盖“应用程序管道的一部分”内部名称?

  15. 15

    不将图像存储为应用程序的一部分

  16. 16

    调试应用程序作为解决方案的一部分

  17. 17

    应用程序的哪一部分应该投入使用?

  18. 18

    如果删除第一部分-应用程序崩溃

  19. 19

    找不到路径的一部分。从应用程序复制文件。WPF

  20. 20

    如何在Azure上编写应用程序的一部分?

  21. 21

    将服务器API构建为早午餐应用程序的一部分是不好的做法吗?

  22. 22

    发布.NET Core应用程序时出现错误“找不到路径的一部分”

  23. 23

    Graylog; 如何将提取器应用程序限制为一部分源

  24. 24

    Ionic 4 / Angular 7应用程序*随机*不渲染组件的一部分(Android构建)

  25. 25

    Angular + Electron基本应用程序不会刷新页面的一部分

  26. 26

    如何确定AJAX应用程序的哪一部分正在减慢速度?

  27. 27

    如何在余烬应用程序中将api密钥作为url的一部分传递

  28. 28

    如何在AngularJS应用程序中解码URL的查询字符串的一部分?

  29. 29

    在iOS应用程序的键盘上仅显示表情符号的一部分

热门标签

归档