當前位置:律師網大全 - 商標註冊 - 什麽UNIX是套接字?

什麽UNIX是套接字?

套接字是壹種具有之前所說的“通信端點”概念的計算機網絡數據結構。網絡化的應用程序在開始任何通訊之前都必需要創建套接字。就像電話的插口壹樣,沒有它就完全沒辦法通信。

套接字起源於20世紀70年代加州大學伯克利分校版本的Unix,即人們所說的BSD Unix。因此,有時人們也把套接字稱為“伯克利套接字”或“BSD套接字”。壹開始,套接字被設計用在同壹臺主機上多個應用程序之間的通訊。這也被稱作進程間通訊,或IPC。套接字有兩種,分別是基於文件型的和基於網絡型的。

Unix套接字是我們要介紹的第壹個套接字家族。其“家族名”為AF_UNIX(在POSIX1.g標準中也叫AF_LOCAL),表示“地址家族:UNIX”。包括Python在內的大多數流行平臺上都使用術語“地址家族”及其縮寫“AF”。而老壹點的系統中,地址家族被稱為“域”或“協議家族”,並使用縮寫“PF”而不是“AF”。同樣的,AF_LOCAL(在2000-2001年被列為標準)將會代替AF_UNIX。不過,為了向後兼容,很多系統上,兩者是等價的。Python自己則仍然使用AF_UNIX。

由於兩個進程都運行在同壹臺機器上,而且這些套接字是基於文件的。所以,它們的底層結構是由文件系統來支持的。這樣做相當有道理,因為,同壹臺電腦上,文件系統的確是不同的進程都能訪問的。

另壹種套接字是基於網絡的,它有自己的家族名字:AF_INET,或叫“地址家族:Internet”。還有壹種地址家族AF_INET6被用於網際協議第6版(IPv6)尋址上。還有壹些其他的地址家族,不過,它們要麽是只用在某個平臺上,要麽就是已經被廢棄,或是很少被使用,或是根本就還沒有實現。所有地址家族中,AF_INET是使用最廣泛的壹個。Python 2.5中加入了壹種Linux套接字的支持:AF_NETLINK(無連接(稍後講解))套接字家族讓用戶代碼與內核代碼之間的IPC可以使用標準BSD 套接字接口。而且,相對之前那些往操作系統中加入新的系統調用、proc文件系統支持或是“IOCTL”等復雜的方案來說,這種方法顯得更為精巧,更為安全。

  • 上一篇:商標轉讓是什麽意思,有什麽優勢?
  • 下一篇:十大空氣凈化器有哪些
  • copyright 2024律師網大全