`
javafan_303
  • 浏览: 957202 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

SOCK_RAW 与 SOCK_STREAM 、SOCK_DGRAM 的区别

 
阅读更多

 

 

其中 SOCK_STREAM (TCP)、SOCK_DGRAM (UDP) 工作在传输层,SOCK_RAW 工作在网络层。

SOCK_RAW 可以处理ICMPIGMP等网络报文特殊的IPv4报文可以通过IP_HDRINCL套接字选项由用户构造IP

分享到:
评论

相关推荐

    SOCK_RAW-FOR-Linux.rar_RAW_SOCK_RAW perl_linux sock raw_sock_ra

    1. 套接字类型:在Linux中,套接字可以分为不同类型,如SOCK_STREAM(面向连接,TCP)、SOCK_DGRAM(无连接,UDP)和SOCK_RAW。SOCK_RAW提供了一种方式,让用户可以直接与网络协议栈交互,处理未经过协议解析的原始...

    Linux下SOCK_RAW原理和应用

    而SOCK_RAW则提供了对网络协议头的直接控制,允许开发者绕过操作系统对网络数据包的处理,直接与网络接口层通信。 使用SOCK_RAW,你可以构建自己的IP头、TCP头或者UDP头,这使得你能创建特定用途的数据包,例如发送...

    sdk.rar_sock_DGRAM

    标题“sdk.rar_sock_DGRAM”暗示了我们正在讨论的是与Socket编程相关的SDK(软件开发工具包),特别是涉及到UDP(用户数据报协议)的方面。在计算机网络中,Socket接口是应用程序与网络通信的一种方式,而“sock_...

    使用SOCK-DGRAM类型的socket实现的ping程序

    在本文的实现中,由于`SOCK_STREAM`不适用于ping,因为它需要预先建立连接,而`SOCK_RAW`需要额外的权限,因此选择了`SOCK_DGRAM`。 为了使用`SOCK_DGRAM`发送ICMP请求,我们需要构建ICMP报头,其中包括类型、代码...

    UDP.rar_IPPROTO_UDP_UDP监听_WSAStartup_sock_DGRAM

    ReceivingSocket=socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP) 4、初始化服务器地址及监听端口 ReceiverAddr.sin_family=AF_INET //家族 ReceiverAddr.sin_port=htons(9000) //设置端口号 ReceiverAddr.sin_addr.s_addr...

    vc.zip_socket_socket编程_vc sock tcp_vc++服务开发_whonyg

    服务端和客户端代码,sockets (套接字)编程有三种,流式套接字(SOCK_STREAM),数据报套接字(SOCK_DGRAM), 原始套接字(SOCK_RAW);基于 TCP 的 socket 编程是采用的流式套接字。在这个程序中,将两个工 程...

    大多数程序员所接触到的套接字(Socket)为两类:

    根据传输层协议的不同,可以将套接字分为两大类:**流式套接字(SOCK_STREAM)**和**数据报式套接字(SOCK_DGRAM)**。 #### 流式套接字(SOCK_STREAM) 流式套接字是一种面向连接的Socket,主要用于基于TCP的服务...

    UDP.rar_UDP sock_UDP socket_bcb udp Sock_socket udp_win udp sock

    1. **创建套接字**:使用`socket()`函数创建一个套接字,指定协议族(常为AF_INET)和协议类型(常为SOCK_DGRAM,表示UDP)。 2. **绑定地址**:通过调用`bind()`函数将套接字与本地IP地址和端口号关联。这允许接收...

    VC知识库文章 - 基于IP-UDP协议的 sock 编程.zip_UDP VC++_VC Sock_Vc_sock_vc知识库

    在VC++中,使用`socket`函数创建一个Socket句柄,该函数需要三个参数:协议族(在UDP情况下为AF_INET)、套接字类型(SOCK_DGRAM表示UDP)和协议(在IP上使用UDP时为0)。 ```cpp SOCKET udpSocket = socket(AF_...

    Linux domain sockets 编程.rar_Sockets_linux_linux domain sock_sock

    1. **类型与地址**:Linux域套接字有两种类型,流式(SOCK_STREAM)和数据报式(SOCK_DGRAM),分别对应于TCP和UDP。流式提供面向连接的服务,确保数据顺序和可靠性;数据报式则无连接,但不保证顺序和可靠性。 2. ...

    京东2019校招GoLang开发工程师笔试题.docx

    4. Socket 类型:Socket 类型包括 SOCK_STREAM、SOCK_DGRAM、SOCK_RAW 等,但 SOCK_NET 不是 Socket 类型。 知识点:Socket、SOCK_STREAM、SOCK_DGRAM、SOCK_RAW、SOCK_NET 5. Mysql 表 user 的建表语句:在 Mysql...

    API_SOCKET.rar_API sock_API. socket_API_SOCKET_api socket_socket

    套接字分为两种类型:流式套接字(SOCK_STREAM,如TCP)和数据报套接字(SOCK_DGRAM,如UDP)。流式套接字提供面向连接的服务,确保数据的顺序和可靠性;而数据报套接字则是无连接的,适合于需要快速传输但对数据...

    Linux环境下基于Socket的网络通信

    Socket API主要提供了四种类型的Socket:SOCK_STREAM、SOCK_DGRAM、SOCK_RAW以及SOCK_RDM。其中,SOCK_STREAM提供了面向连接的可靠的字节流服务,它使用TCP(传输控制协议)来保证数据的完整性和顺序,适用于需要高...

    Linux网络编程:原始套接字编程及实例分析.docx

    在探讨原始套接字(SOCK_RAW)之前,我们先回顾一下常见的两种套接字类型:流式套接字(SOCK_STREAM)和数据报式套接字(SOCK_DGRAM)。前者是一种面向连接的套接字,适用于基于TCP的服务;后者则是一种无连接的套接...

    使用unix sock_domain的范例(高效的IPC通信方式)

    1. **创建Socket**:使用`socket()`函数创建一个socket,指定`AF_UNIX`作为地址族(sock_domain),以及适当的socket类型(如SOCK_STREAM或SOCK_DGRAM)。 2. **准备Socket地址**:使用`struct sockaddr_un`结构体...

    使用Socket进行本机通信源码

    Unix域套接字可以分为两种类型:流式(SOCK_STREAM,类似TCP)和数据报(SOCK_DGRAM,类似UDP)。 在`AF_UNIX`中,通信双方通过共享一个文件描述符来交换信息。这个文件描述符可以是一个路径名,也可以是一个匿名的...

    socket编程(源码)

    type参数指定socket的类型:SOCK_STREAM 或SOCK_DGRAM,Socket接口还定义了原始Socket(SOCK_RAW),允许程序使用低层协议;protocol通常赋值0。Socket()调用返回一个整型socket描述符,你可以在后面的调用使用它。 ...

    Python实现TCP通信的示例代码

    使用socket实现tcp通信,需导入socket模块 ...type:SOCK_STREAM , SOCK_DGRAM, SOCK_RAW,或者其他SOCK_* proto:一般使用默认值0 fileno:一般使用默认值 (2)绑定IP和端口号:socket.bind(address) a

Global site tag (gtag.js) - Google Analytics