zoukankan      html  css  js  c++  java
  • linux的ping命令属于OSI七层模型的哪一层?

      OSI七层模型,自顶向下为:应用、表现、会话、传输、网络、数据链路、物理这7层。常用的一些协议如http、ftp都是应用层,tcp/udp是传输层,ip是网络层,等等。到此为止,这些估计大部分人都知道。现在问题来了,ping这个命令,它不需要端口,你猜它属于哪一层?

      这是个有意思的问题,其实也简单,知道它用的协议,就知道它是哪一层了。我们用的最多的是ping一个ip看它通不通,这时用的是ICMP协议,全称Internet Control Message Protocol,Internet控制消息协议。该协议用于在IP网络中发送控制消息,获取在通信环境中可能发生的各种问题的反馈。ICMP属于网络层协议,自然ping命令就在第三层。

      ping的命令格式如下:

    ping [-t][-l字节数][-a][-i]目标主机IP或者域名

      参数说明:

    -t:参数会一直不停的执行
    -a:参数可以显示主机名称
    -l:参数可以设定ping包的大小
    -n:指定发送包的个数

      ping就只有在第三层吗?其实也未必,当使用ping 域名 这样的形式时,不仅用到了ICMP去检测两台设备之间的双向连通性,还需要通过DNS协议先把域名转为IP,那么DNS属于哪一层呢?应用层,那是不是也能说ping是属于第7层了?我觉得,这个就见仁见智了。单就ping这个命令的目的来说,就是为了发送数据包到目标IP去,域名解析的目的还是获取IP,所以属于第三层是肯定没错的。但既然用到了DNS协议了,如果你非得说它也算第7层了,我也认。

  • 相关阅读:
    Leecode刷题之旅-C语言/python-67二进制求和
    maven 聚合
    maven 继承
    maven 常用命令
    maven 术语
    maven安装
    RabbitMQ 消费消息
    RabbitMQ 生产消息并放入队列
    RabbitMQ 在 web 页面 创建 exchange, queue, routing key
    mybatis 通过实体类进行查询
  • 原文地址:https://www.cnblogs.com/wuxun1997/p/14581782.html
Copyright © 2011-2022 走看看