java網絡編程(一):基礎知識

1. 網絡基礎知識
計算機網絡就是把分佈在不同地理區域的計算法與專門的外部設備用通信線路互連成一個規模大、功能強的網絡系統,從而使衆多的計算機可以方便的互相傳遞信息,共享硬件、軟件、數據信息等資源。

計算機網絡可以提供以下功能:

  • 資源共享
  • 信息傳輸與集中處理
  • 均衡負荷與分佈處理
  • 綜合信息服務

根據不同的分類原則,可以得到各種不同類型的計算機網絡。計算機網絡通常按照規模大小和延伸範圍來分類,常見的劃分爲:局域網(LAN)、城域網(MAN)、廣域網(WAN)。

按照網絡的拓撲結構,可以劃分爲星型網絡、總線網絡、環線網絡、樹型網絡、星型環線網絡等;按照網絡的傳輸介質,劃分爲:雙絞線網、同軸電纜網、光纖網和衛星網。

  • 局域網(LAN):指在一個較小地理範圍內的各種計算機網絡設備互連在一起的通信網絡,可以包含一個或多個子網,通常侷限在幾千米的範圍之內。
  • 城域網(MAN):主要是由城域範圍內的各局域網之間互連而成。
  • 廣域網(WAN):由相距較遠的局域網或城域網互聯而成。

計算機網絡中實現通信必須有一些約定,即通信協議,使彼此之間能進行信息交換。國際標準化組織(IOS)於1978年提出了著名的開放系統互連參考模型(OSI),將網絡簡化,並以模塊化的方式來設計網絡。

OSI把計算機網絡分成物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層、應用層等七層,是計算機網絡結構的參考標準。

網絡通信之間必須有硬件和軟件方面的支持,通信協議是網絡通信的基礎,而IP協議是一種非常重要的協議。IP協議又稱互聯網協議,是支持網間互聯的數據報協議,它提供網間連接的完善功能,包括IP數據報規定互聯網絡範圍內的地址格式。

經常與IP協議放在一起的是TCP協議,即傳輸控制協議,它規定一種可靠的數據信息傳遞服務。實際中常常把這兩個協議統稱TCP/IP協議,它是互聯網中最常用的基礎協議。

TCP/IP協議通常將網絡分爲一個四層模型,分別爲物理+數據鏈路層、網絡層、傳輸層、應用層。

2. IP地址和端口號
IP地址用於標誌網絡中的一個通信實體,在計算機網絡中,每個被傳輸的數據包包括要給源IP地址和目的IP地址,當數據包在網絡中進行傳輸時,這兩個地址保持不變。IP地址是32位整數,爲了便於記憶,通常將它表示成4個8位二進制數組成,每8位之間用圓點隔開,每個8位整數可以轉換成一個0~255的十進制整數,因此通常IP地址格式如下:202.9.128.88.

NIC(Internet Network Information Center)統一負責全球Internet的IP地址的規劃和管理。IP地址被分成A、B、C、D、E五類,沒個類別的網絡標識和主機標識各有規則。

  • A類:10.0.0.0~10.255.255.255
  • B類:172.16.0.0~172.31.255.255
  • C類:192.168.0.0~192.168.255.255

IP地址可以唯一的確定網絡上的一個通信實體,但一個通信實體可以有多個通信程序同時提供網絡服務,此時還需要使用端口。

端口是一個16位整數,用於表示數據交給哪個通信程序處理。端口就是應用程序與外界交流的入口
同一個機器上不能有兩個程序使用同一個端口,端口號從0到65535,通常分爲三類:

  • 公認端口:0~1023,它們緊密綁定一些服務
  • 註冊端口:1024~49151,它們鬆散綁定一些服務
  • 動態或私有端口:49152~65535,它們是應用程序使用的動態端口,應用程序一般不會主動使用這些端口。

如果我們把IP地址理解爲某個人在某個地方的地址,那麼IP地址僅僅包括這個人所在的街道和門牌號,這些僅有的地址不足以找到這個人,所以還需要知道這個人所在的房間號,這個房間號就是端口。當一個程序需要發送數據時,需要指定目的地的IP地址和端口。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章