• ICMP Ping实现


    第1关:Ping客户端创建原始套接字

    任务描述
    本关任务:为Ping客户端创建一个原始类型的套接字。

    相关知识
    为了完成本关任务,你需要掌握:1.原始套接字类型;2.如何创建原始类型的套接字。

    原始套接字
    套接字(socket)是一个抽象层,网络应用程序可以通过它发送或接收数据,可对其进行像文件一样的打开、读写和关闭等操作。套接字允许应用程序将I/O插入到网络中,并与网络中的其他应用程序进行通信。网络套接字是IP地址与端口的组合。

    为了满足不同的通信程序对通信质量和性能的要求,一般的网络系统提供了三种不同类型的套接字,以供用户在设计网络应用程序时根据不同的要求来选择。它们分别是:
    (1)流式套接字(SOCK-STREAM)。提供一种可靠的、面向连接的双向数据传输服务,实现了数据无差错、无重复的发送。流式套接字内设流量控制,被传输的数据看作是无记录边界的字节流。在TCP/IP协议簇中,使用TCP协议来实现字节流的传输,当用户想要发送大批量的数据或者对数据传输有较高的要求时,可以使用流式套接字。
    (2)数据报套接字(SOCK-DGRAM)。提供一种无连接、不可靠的双向数据传输服务。数据包以独立的形式被发送,并且保留了记录边界,不提供可靠性保证。数据在传输过程中可能会丢失或重复,并且不能保证在接收端按发送顺序接收数据。在TCP/IP协议簇中,使用UDP协议来实现数据报套接字。在出现差错的可能性较小或允许部分传输出错的应用场合,可以使用数据报套接字进行数据传输,这样通信的效率较高。
    (3)原始套接字(SOCK-

  • 相关阅读:
    MySQL 面试题
    OceanBase 分布式数据库【信创/国产化】- OceanBase Demo 环境搭建
    配置oem 13c以监控数据库
    【Redis GEO】2、地理位置类型的应用场景
    redis基础3——配置文件核心参数实测+RDB持久化、AOF持久化核心参数详解
    笔试题:金额拆分
    docker rabbitmq 宕机 无反应 不消费消息
    doris 动态分区
    一文读懂去中心化无线网络DeWi
    css实现不规则图片文字环绕效果
  • 原文地址:https://blog.csdn.net/Junds0/article/details/127879106