fbpx
维基百科

網路插座

網路插座(英語:Network socket;又譯網絡套接字網絡接口網路插槽)在計算機科學中是電腦網路中行程間資料串流的端點。使用以網際協議Internet Protocol)為通訊基礎的網路插座,稱為網際插座Internet socket)。因為網際協議的流行,現代絕大多數的網路插座,都是屬於網際插座。

「網路插座」的各地常用別名
中国大陸套接字
臺灣插座、接套
港澳socket

socket是一种操作系统提供的进程间通信机制。[1]

作業系統中,通常會為應用程式提供一組應用程式介面(API),稱為插座介面(英語:socket API)。應用程式可以通過插座介面,來使用網路插座,以進行資料交換。最早的插座介面來自於4.2 BSD,因此現代常見的插座介面大多源自Berkeley套接字(Berkeley sockets)標準。在插座介面中,以IP地址通訊埠組成插座位址socket address)。遠端的插座位址,以及本地的插座位址完成連線後,再加上使用的协议(protocol),这个五元组(five-element tuple),作为插座對(socket pairs),之後就可以彼此交換資料。例如,在同一台计算机上,TCP协议与UDP协议可以同时使用相同的port而互不干扰。 作業系統根據插座地址,可以決定應該將資料送達特定的行程執行緒。這就像是電話系統中,以電話號碼加上分機號碼,來決定通話對象一般。

中文名 编辑

中国大陆名 编辑

socket最初被翻译为把socket译为“媒介(字)”[2]。不久,ARPANET的socket就被翻译为“套接字”,其理由是:[3]

由于每个主机系统都有各自命名进程的方法,而且常常是不兼容的,因此,要在全网范围内硬把进程名字统一起来是不现实的。所以,每个计算机网络中都要引入一种起媒介作用的、全网一致的标准名字空间。这种标准名字,在ARPA网中称作套接字,而在很多其他计算机网中称作信口。更确切地说,进程之间的连接是通过套接字或信口构成的

定义 编辑

系统内部接口(内部网络),接口描述符(抽象接口描述符)和接口地址之间的差别其实很细微,日常编程用的时候几乎不做区别。并且详细的网络接口有下面几种特征:

  • 本地接口地址,由本地ip地址和(包括TCP,UDP)端口号
  • 传输协议,例如TCP、UDP、raw IP协议

一个已经建立连接的接口双方都有整数形式的接口描述符,用来唯一表示该接口。操作系统根据对方接口发过来的IP以及传输协议头信息来提取接口的地址信息,并且将应用数据去除头信息之后提交给相应的应用程序。 在很多网络协议、教科书以及本文中,接口指的是有一个独一无二的接口号的实体。在一些其他的文章[來源請求]当中,接口被叫做本地接口地址,比如..."ip和端口的结合"。在一RFC147标准中,这个定义与1971的ARPA网有关,接口指的是一个32位数字,其中偶数的是接收接口,奇数的是发送接口,但是今天通信已经可以实现双向传输,在一个接口中,可以发送的同时还可以接收。

在类UNIX系统和Windows系统,命令行工具netstat和ss可用以查看当前系统的接口情况。

例子 编辑

这个例子是模拟Berkeley套接字接口,我们通过80端口发送`hello,world`到1.2.3.4的主机上。下方代码演示了创建接口、连接远程主机、发送数据和关闭接口的过程。

Socket socket = getSocket(type = "TCP") connect(socket, address = "1.2.3.4", port = "80") send(socket, "Hello, world!") close(socket) 

类型 编辑

数据报套接字(SOCK_DGRAM) 编辑

数据报套接字是一种无连接套接字,使用用户数据报协议(UDP)传输数据。每一个数据包都单独寻址和路由。这导致了接收端接收到的数据可能是乱序的,有一些数据甚至可能会在传输过程中丢失。不过得益于数据报套接字并不需要建立并维护一个稳定的连接,数据报套接字所占用的计算机和系统资源较小。

流套接字(SOCK_STREAM) 编辑

连接导向式通信套接字,使用传输控制协议(TCP)、流控制传输协议(SCTP)或者数据拥塞控制协议(DCCP)传输数据。流套接字提供可靠并且有序的数据传输服务。在互联网上,流套接字通常使用TCP实现,以便应用可以在任何使用TCP/IP协议的网络上运行。

原始套接字 编辑

原始套接字是一种网络套接字。允许直接发送和接受IP数据包并且不需要任何传输层协议格式。原始套接字主要用于一些协议的开发,可以进行比较底层的操作。

註釋 编辑

  1. ^ 1983年发布的4.2BSD就是如此定义socket (PDF). [2017-03-07]. (原始内容 (PDF)于2017-03-08). 
  2. ^ (中科院)计算所计算机网组. 计算机网词汇译名讨论. 电子计算机动态: 75–79. 
  3. ^ 计算机网络软件简介. 电子计算机参考资料: 57–107. 

相關條目 编辑

外部連結 编辑

  • How sockets work - IBM information center

網路插座, 本條目存在以下問題, 請協助改善本條目或在討論頁針對議題發表看法, 此條目需要精通或熟悉相关主题的编者参与及协助编辑, 2015年4月10日, 請邀請適合的人士改善本条目, 更多的細節與詳情請參见討論頁, 此條目包含指南或教學內容, 2015年4月10日, 請藉由移除或重寫指南段落來改善條目, 或在討論頁提出討論, 英語, network, socket, 又譯網絡套接字, 網絡接口, 網路插槽, 在計算機科學中是電腦網路中行程間資料串流的端點, 使用以網際協議, internet, protocol,. 本條目存在以下問題 請協助改善本條目或在討論頁針對議題發表看法 此條目需要精通或熟悉相关主题的编者参与及协助编辑 2015年4月10日 請邀請適合的人士改善本条目 更多的細節與詳情請參见討論頁 此條目包含指南或教學內容 2015年4月10日 請藉由移除或重寫指南段落來改善條目 或在討論頁提出討論 網路插座 英語 Network socket 又譯網絡套接字 網絡接口 網路插槽 在計算機科學中是電腦網路中行程間資料串流的端點 使用以網際協議 Internet Protocol 為通訊基礎的網路插座 稱為網際插座 Internet socket 因為網際協議的流行 現代絕大多數的網路插座 都是屬於網際插座 網路插座 的各地常用別名中国大陸套接字臺灣插座 接套港澳socketsocket是一种操作系统提供的进程间通信机制 1 在作業系統中 通常會為應用程式提供一組應用程式介面 API 稱為插座介面 英語 socket API 應用程式可以通過插座介面 來使用網路插座 以進行資料交換 最早的插座介面來自於4 2 BSD 因此現代常見的插座介面大多源自Berkeley套接字 Berkeley sockets 標準 在插座介面中 以IP地址及通訊埠組成插座位址 socket address 遠端的插座位址 以及本地的插座位址完成連線後 再加上使用的协议 protocol 这个五元组 five element tuple 作为插座對 socket pairs 之後就可以彼此交換資料 例如 在同一台计算机上 TCP协议与UDP协议可以同时使用相同的port而互不干扰 作業系統根據插座地址 可以決定應該將資料送達特定的行程或執行緒 這就像是電話系統中 以電話號碼加上分機號碼 來決定通話對象一般 目录 1 中文名 1 1 中国大陆名 2 定义 3 例子 4 类型 4 1 数据报套接字 SOCK DGRAM 4 2 流套接字 SOCK STREAM 4 3 原始套接字 5 註釋 6 相關條目 7 外部連結中文名 编辑中国大陆名 编辑 socket最初被翻译为把socket译为 媒介 字 2 不久 ARPANET的socket就被翻译为 套接字 其理由是 3 由于每个主机系统都有各自命名进程的方法 而且常常是不兼容的 因此 要在全网范围内硬把进程名字统一起来是不现实的 所以 每个计算机网络中都要引入一种起媒介作用的 全网一致的标准名字空间 这种标准名字 在ARPA网中称作套接字 而在很多其他计算机网中称作信口 更确切地说 进程之间的连接是通过套接字或信口构成的定义 编辑系统内部接口 内部网络 接口描述符 抽象接口描述符 和接口地址之间的差别其实很细微 日常编程用的时候几乎不做区别 并且详细的网络接口有下面几种特征 本地接口地址 由本地ip地址和 包括TCP UDP 端口号 传输协议 例如TCP UDP raw IP协议一个已经建立连接的接口双方都有整数形式的接口描述符 用来唯一表示该接口 操作系统根据对方接口发过来的IP以及传输协议头信息来提取接口的地址信息 并且将应用数据去除头信息之后提交给相应的应用程序 在很多网络协议 教科书以及本文中 接口指的是有一个独一无二的接口号的实体 在一些其他的文章 來源請求 当中 接口被叫做本地接口地址 比如 ip和端口的结合 在一RFC147标准中 这个定义与1971的ARPA网有关 接口指的是一个32位数字 其中偶数的是接收接口 奇数的是发送接口 但是今天通信已经可以实现双向传输 在一个接口中 可以发送的同时还可以接收 在类UNIX系统和Windows系统 命令行工具netstat和ss可用以查看当前系统的接口情况 例子 编辑这个例子是模拟Berkeley套接字接口 我们通过80端口发送 hello world 到1 2 3 4的主机上 下方代码演示了创建接口 连接远程主机 发送数据和关闭接口的过程 Socket socket getSocket type TCP connect socket address 1 2 3 4 port 80 send socket Hello world close socket 类型 编辑数据报套接字 SOCK DGRAM 编辑 数据报套接字是一种无连接套接字 使用用户数据报协议 UDP 传输数据 每一个数据包都单独寻址和路由 这导致了接收端接收到的数据可能是乱序的 有一些数据甚至可能会在传输过程中丢失 不过得益于数据报套接字并不需要建立并维护一个稳定的连接 数据报套接字所占用的计算机和系统资源较小 流套接字 SOCK STREAM 编辑 连接导向式通信套接字 使用传输控制协议 TCP 流控制传输协议 SCTP 或者数据拥塞控制协议 DCCP 传输数据 流套接字提供可靠并且有序的数据传输服务 在互联网上 流套接字通常使用TCP实现 以便应用可以在任何使用TCP IP协议的网络上运行 原始套接字 编辑 原始套接字是一种网络套接字 允许直接发送和接受IP数据包并且不需要任何传输层协议格式 原始套接字主要用于一些协议的开发 可以进行比较底层的操作 註釋 编辑 1983年发布的4 2BSD就是如此定义socket PDF 2017 03 07 原始内容存档 PDF 于2017 03 08 中科院 计算所计算机网组 计算机网词汇译名讨论 电子计算机动态 75 79 计算机网络软件简介 电子计算机参考资料 57 107 相關條目 编辑Berkeley套接字 Winsock外部連結 编辑How sockets work IBM information center 取自 https zh wikipedia org w index php title 網路插座 amp oldid 70060117, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。