第8章 傳輸層(1)_TCP/UDP協議的應用場景
1. 傳輸層的兩個協議
1.1 TCP和UDP協議的應用場景
(1)TCP協議:如果要傳輸的內容比較多,需要將發送的內容分成多個數據包發送。這就要求在傳輸層用TCP協議,在發送方和接收方建立連接,實現可靠傳輸、流量控制和擁塞避免。(如下載500M電影、QQ好友傳輸文件、瀏覽網頁、發送電子郵件等)
(2)UDP協議:一個數據包就能發送全部內容,不需要持續發送,發送方和接收方不需要建立連接。由於就一個數據包不需要流量控制和擁塞避免,在傳輸層不需要負責可靠傳輸。如果數據包發送出去,應用程序沒有收到返回的數據包,就再發送一遍,可以認為發送成功與否由應用層來判斷(如發送QQ聊天內容、域名解析、多播通信、視頻點播
1.2 傳輸層協議和應用層協議之間的關系
(1)兩者關系
①應用層協議很多,而傳輸層就兩個協議,通常使用傳輸層協議加一個端口號來標識一個應用層協議。
②其它常見的應用層協議和端號
A.HTTPS默認使用TCP的443端口
B.Windows訪問共享資源使用TCP的445端口
C.MSSQL數據庫默認使用TCP的1433端口
D.MySQL數據庫默認使用TCP的3306端口
(2)端口的分類
①服務器端使用的端口(熟知端口:0~1023,登記端口:1024~49151)
數據包中的目標IP地址是用來在網絡中定位某一服務器,而目標端口是用來定位該服務器上的某個服務(如Web服務、SMTP服務和POP3服務等)
②客戶端使用的端口(取值範圍為49152~65535)
比如,客戶端打開瀏覽器,窗口A訪問百度,窗口B訪問51cto,需要建立兩個TCP連接,這時客戶端計算機會臨時為每個窗口分配一個端口(要求本地唯一)。兩個網站返回的數據包就根據這兩個目標端口不同,提交給相應的窗口來顯示
1.3 實戰
(1)查看偵聽的端口:netstat -an (其中a表示查看所有連接和偵聽端口,n表示以數字顯示地址和端口,o表示顯示進程PID,b表示顯示進程名稱(需管理員權限))
(2)測試是否開放某個端口:telnet 192.168.80.100 3389
(3)更改服務使用的默認端口
①如IIS服務器:打開IIS服務管理工具→“默認網站”→右鍵“屬性”→“網站”選項卡中將TCP端口指定成8080等。
②遠程桌面RDP:HKLM\System\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp\下將PortNumber的值從3389改為4000(10進制)
1.4 端口與網絡安全
(1)在路由器上設置訪問控制列表(ACL)
(2)開啟Windows防火墻(只打開特定端口)
①“控制面板”→“Windows防火墻”→“啟用”。
②“例外”選項卡→“添加端口”→選擇TCP或UDP。這時訪問本機該協議和端口的請求將被允許。
③禁用“Windows防火墻”服務:“控制面板”→“管理工具”→“服務”→禁止“Windows Firewall/Internet Connection Sharing (ICS)”
(3)TCP/IP篩選:
①“本地連接”→“Internet協議(TCP/IP)” →“高級”→“選項”選項卡→“TCP/IP篩選” →“屬性”
②勾選“啟用TCP/IP篩選(所有適配器)”
③在TCP端口和UDP端口中選擇“只允許”,然後添加相應的端口號。
④重啟系統(註意:TCP/IP篩選不受“Windows Firewall/Internet Connection Sharing (ICS)服務”是否開啟的影響)
第8章 傳輸層(1)_TCP/UDP協議的應用場景