互联网套接字是一个术语,用于标识任何计算机软件程序都可以用来通过互联网传输数据的连接点。它们不是一个物理结构,如墙壁插座,而是一个计算机软件概念。使用这样的套接字,任何必要的数据都可以从一台计算机上运行的程序到另一台计算机上运行的程序来回传输;在许多情况下,这是往返于客户端和服务器的。该术语还用来指应用程序编程接口 (API),计算机程序员可以使用它来创建能够通过 Internet 发送和接收数据的网络感知应用程序。
套接字工作在 Internet 协议的上层( IP)堆栈,称为传输层,数据通过操作系统从应用程序向下传递到网络。当计算机上的应用程序希望通过网络连接发送和接收数据时,它会要求操作系统打开 Internet 套接字凯特。套接字的设置包括协议信息,例如用户数据报协议 (UDP) 或传输控制协议 (TCP),以及两台计算机的发送和接收地址以及连接的 IP 端口号。还可以创建绕过操作系统并发送原始数据包的 Internet 套接字,而不首先让计算机的操作系统处理附加套接字信息。
正如 Internet 服务器上常用的那样,服务器软件启动并打开侦听套接字。当服务器收到数据请求时,它会为该请求创建一个唯一的套接字ng 客户端,然后使用它来传输任何请求的数据。这些类型的连接也称为会话,因为一旦客户端完成,服务器就会关闭套接字。通过这种方式,服务器可以与其他客户端同时创建任意数量的套接字,每个套接字都有自己的唯一标识符,并传递每个客户端唯一的数据。
因此,存在三种常见类型的 Internet 套接字。其中一种类型是数据报套接字。这些是快速套接字连接,在发送数据包之前不需要额外的通信来建立专用连接。因此,它们通常被称为无连接套接字,并使用 UDP 作为其传输协议。它们是一种"一劳永逸"的方法,因为没有数据包序列检查或错误纠正。
但是,面向连接的套接字称为流套接字,需要执行一些额外的步骤建立客户端之间的通信链路和服务器。它们使用 TCP 或另一种称为流控制传输协议 (SCTP) 的协议进行传输。这种类型的 Internet 套接字更加可靠,并且具有处理丢失数据包等错误的方法。
另一种独特类型的 Internet 套接字主要用于计算机网络路由。这种类型的套接字跳过 IP 堆栈的传输层,而是将数据包从网络直接传递到应用程序,而套接字信息仍然完好无损。这种原始套接字允许更快地将数据包传送到应用程序,因为计算机的操作系统不会首先处理数据包。当一台计算机只想"ping"另一台计算机时,Internet 控制消息协议 (ICMP) 使用此类原始套接字。
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!