Java Socket編程:基本的術語和概念
2012-03-19
計算機程序能夠相互聯網,相互通訊,這使一切都成為可能,這也是當今互聯網存在的基礎。那麼程序是如何通過網絡相互通信的呢?這就是我記錄這系列的筆記的原因。Java語言從一開始就是為了互聯網而設計的,它為實現程序的相互通信提供了許多有用API,這類應用編程接口被稱為套接字(Socket)。在開始學習Java Socket之前我們需要先來了解一下基本的術語和概念。
1.計算機網絡
計算機網絡由一組通過通信信道(Communication channel)相互連接的機器組成。這些機器被稱為:主機(hosts)和路由器(routers):
TCP/IP網絡通信流程圖:
2.分組報文
3.協議
協議相當於相互通信的一種約定,協議規定了分組報文的交換方式和它們包含意義。
互聯網所使用的協議是 TCP/IP 協議,TCP/IP 協議族主要包括:
IP協議
在IP協議層之上是傳輸層(transport layer),它提供了兩種可選的協議:TCP協議和UDP協議,兩種協議都建立在IP層所提供的服務基礎上,二者也被稱為"端到端傳輸協議(end-to-end transport protocol)"根據應用程序協議(Application protocol)的不同需求,使用了不同的方式傳輸數據。二者都有一個共同的功能:尋址。TCP協議和UDP協議使用的地址叫做端口號(port number),是用來區分同一主機不同應用程序的。
TCP 協議