1. 程式人生 > >Java網路程式設計——基礎知識

Java網路程式設計——基礎知識

網路基礎知識

計算機網路提供的功能:

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

通訊協議

實現通訊的約定,負責對傳輸速率、傳輸程式碼、程式碼結構、傳輸控制步驟、出錯控制等制定處理標準。

通訊協議的組成:

  • 語義部分,用於決定雙方對話的型別;
  • 語法部分,用於決定雙方對話的格式;
  • 變換規則,用於決定雙方的應答關係;

開放系統互連參考模型

這個模型把計算機網路分為物理層、資料鏈路層、網路層、傳輸層、會話層、表示層、應用層七層。

IP協議

IP協議是一種非常重要的通訊協議,又稱為網際網路協議,是支援網間互聯的資料報協議,提供網間連線的完善功能,包括IP資料包對頂網際網路範圍內的地格式;

TCP協議

即傳輸控制協議,它規定一種可靠的資料資訊傳遞服務。

TCP三次握手過程
1.主機A通過向主機B傳送一個含有同步序列號的標值位的資料段,向主機B請求建立連線,通過這個資料段主機A告訴主機B兩件事情:我想要和你通訊;你可以用哪個序列號作為起始資料段來回應我。
2.主機B收到主機A的請求之後,用一個帶有確認應答(ACK)和同步序列號(SYN)標誌位的資料段響應主機A,也告訴主機A兩件事情:我已經收到你的請求了,你可以傳輸資料了;你要用哪個序列號作為起始資料段來回應我。
3.主機A收到這個資料段後,再發送一個確認應答,確認已收到主機B的資料段:“我以收到恢復,我現在要開始傳輸資料了“
SYN這個標誌位只有在TCP建立連線時才會被置1,握手完成之後被置0。
斷開連線


斷開連線要進行4次
A:資料傳完了,可以停止了嗎?
B:訊息收到,但我還沒有做好準備,請稍等!
B:好了,可以停止了
A:好的,過會沒有訊息我就關閉了。
1.當主機A完成資料傳輸之後,將控制位FIN置1,提出停止TCP連線的請求。
2.主機B受到FIN後對其作出響應,確認這一方向上的TCP連線將關閉,將ACK置1。
3.有B端再提出反方向的關閉請求,將FIN置1。
4.主機A對主機B的請求進行確認,將ACK置1,雙方向的關閉結束。

IP地址用於唯一確定標識網路上的一個通訊實體,但一個通訊實體可以有多個通訊程式同時提供網路服務,此時還需要
埠是一個16位的整數,用於表示資料交給哪個通訊程式處理,埠就是應用程式與外界交流的出入口。
同一臺主機上不能有兩個程式同時使用一個埠,埠號從0到65535,通常分為三類:

  • 公認埠:0~1023,緊密繫結一些特定服務;
  • 註冊埠:1024~49151,鬆散的繫結一些應用程式;
  • 動態或私有埠:40152~65535,動態埠;