網絡基礎---傳輸層

負責數據能夠從發送端到接收端。

一. 端口號

1. 在TCP/IP協議中,用“源IP”,“源端口號”,“目的IP”,“目的端口號”,“協議號”來標識一個通信。

源IP:指的就是發送數據包的那個電腦的IP地址。
目的IP:就是想要發送到的那個電腦的IP地址。
源端口號:源端口就是本機程序用來發送數據的端口。
目的端口號:目的端口就是對方主機用哪個端口接收。
協議號:

ip協議是網絡層協議,三層的,協議號標識上層是什麼協議,
eg:17號表示是上層即傳輸層是udp協議,
	6號表示上層即傳輸層是tcp協議,89標識上層是ospf協議等等
tcp端口號表示是什麼應用,eg:80 http服務,23 telnet服務,53 dns服務

2.端口號的劃分範圍

  • 0 - 1023:知名端口號,HTTP,FTP,SSH等這些廣爲使用的應用層協議,它們的端口號是固定的。

  • 1024 - 65535:操作系統動態分配的端口號,客戶端程序的端口號,就是由操作系統從這個範圍分配的。

  • 知名端口號的查看方式
    cat /etc/services

    TCP 21端口:FTP 文件傳輸服務
    TCP 22端口:SSH 服務器 
    TCP 23端口:TELNET 終端仿真服務
    TCP 25端口:SMTP 簡單郵件傳輸服務
    UDP 53端口:DNS 域名解析服務
    TCP 80端口:HTTP 超文本傳輸服務
    TCP 110端口:POP3 “郵局協議版本3”使用的端口
    TCP 443端口:HTTPS 加密的超文本傳輸服務
    TCP 1521端口:Oracle數據庫服務
    TCP 1863端口:MSN Messenger的文件傳輸功能所使用的端口
    TCP 3389端口:Microsoft RDP 微軟遠程桌面使用的端口
    TCP 5631端口:Symantec pcAnywhere 遠程控制數據傳輸時使用的端口
    UDP 5632端口:Symantec pcAnywhere 主控端掃描被控端時使用的端口
    TCP 5000端口:MS SQL Server使用的端口
    UDP 8000端口:騰訊QQ
    

問題1:一個進程能否可以bind多個端口號?

可以
因爲一個進程可以打開多個文件描述符,而每個文件描述符都對應一個端口號,
所以一個進程可以綁定多個端口號

問題2:一個端口號能否被多個進程綁定?

不可以
ps:如果進程先綁定一個端口號,然後在fork一個子進程,這樣的話就可以是實現多個進程綁定一個端口號,
但是兩個不同的進程綁定同一個端口號是不可以的

3. netstat

netstat是一個用來查看網絡狀態的重要的工具。
語法:netstat【選項】
功能:查看網絡狀態
常用選項:

  • n 拒絕顯示別名,能顯示數字的全都轉化爲數字。
  • I 僅列出有在Listen(監聽)的服務狀態。
  • P 顯示建立相關鏈接的程序名
  • t (tcp)僅顯示TCP的相關選項
  • u (udp)僅顯示UDP的相關選項
  • a (all)顯示所有選項,默認不顯示LISTEN相關的。

二. UDP協議

1.UDP協議格式
在這裏插入圖片描述

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