
Berkeley Socket Interface
|
559
今日,安全性變得越來越重要:了解安全通訊底層的基礎能幫助你確保通
訊的必要安全性。如果這個結論能說服你別在透澈理解相關議題和風險前
試著自行實作這種技術,那它就有效達成目的了。
透過網路介面(network interfaces)的所有通訊都會交換位元組所成的字
串(strings of bytes,位元組在網路用語中稱為
octets
)。舉例來說,要傳送
文字,發送者必須將之編碼(encode)為位元組,而接收者必須進行解碼
(decode)。
Berkeley Socket Interface
今日大多數的網路通訊都仰賴於
sockets
(
插座
)。Sockets 讓你能夠存取
獨立端點(endpoints)之間的管線(pipelines),使用
傳輸層
(
transport
layer
)在端點間移動資訊。這個 socket 概念的通用性允許端點在相同機器
上,或是在區域或廣域網路連接的個別電腦上。對於程式設計來說,這些
目的地之間沒有差別。
最典型的傳輸層是 UDP(User Datagram Protocol,用於無連線的網路通
訊)和 TCP(Transmission Control Protocol,用於連線導向的網路通訊),
運作於共通的 IP(Internet Protocol)網路層之上。這種協定組合,連同在
它們之上運行的許多應用協定,統稱為
TCP/IP
。Unix 作業系統也提供它們
自己的一種 sockets,用於相同機器上不同的行程之間,上述的兩種協定都 ...