一、傳輸層的兩個協議
1、TCP協議
①TCP協議的作用:TCP為應用層協議提供可靠傳輸,發送端按順序發送,接收端按順序接收,其間發生的丟包、亂序,TCP會負責其重傳和排序,另外TCP還可實現流量空制和擁塞避免等功能。
②TCP協議的應用場景:
(1)客戶端程序和服務端程序需要多次交互才能實現應用程序的功能。比如接收電子郵件使用的POP3和發送電子郵件的SMTP,傳輸文件的FTP,在傳輸層使用的是TCP。
(2)應用程序傳輸的文件需要分段傳輸,比如瀏覽器訪問網頁,網頁中圖片和HTML文件需要分段後發送給瀏覽器,或QQ傳文件, 在傳輸層也是選用TCP。
③TCP最大的特點:TCP需發送3個數據包建立連接(即連接時“三次握手”),釋放連接時需發送四個數據包(即釋放連接時“四次握手”)。
2、UDP協議
①UDP協議的應用場景:
(1)客戶端程序和服務端程序通信,應用程序發送的數據包不需要分段。比如域名解析DNS協議就是用傳輸層的UDP客戶端向DNS服務器發送一個報文解析某個網站的域名,DNS服務器將解析的結果使用一個報文返回給客戶端。
(2)實時通信,比如QQ或微信語音聊天,或視頻聊天。這類應用,發送端和接收端需要實時交互,也就是不允許較長延遲,即便有幾句話因為網絡堵塞沒聽清,也不允許使用TCP等待丟失的報文,等待的時間太長了,就不能愉快的聊天了。
(3)多播或廣播通信。比如學校多媒體機房,老師的電腦屏幕需要教室的學生電腦接收屏幕,在老師的電腦安裝多媒體教室服務端軟件,學生電腦安裝多媒體教室客戶端軟件,老師電腦使用多播地址或廣播地址發送報文,學生電腦都能收到。這類應用在傳輸層也使用UDP。
二、傳輸層協議與應用層協議之間的關係
1、通常傳輸層協議加一個端口號來標識一個應用層協議。如下圖所示:
————————————————
原文鏈接:https://blog.csdn.net/kxbdys/article/details/122812480
■HTTP默认使用TCP的80端口。
■FTP默认使用TCP的21端口。
■SMTP默认使用TCP的25端口。
■POP3默认使用TCP的110端口。
■HTTPS默认使用TCP的443端口。
■DNS使用UDP or TCP的53端口。
■远程桌面协议(RDP)默认使用TCP的3389端口。
■Telnet使用TCP的23端口。
■Windows访问共享资源使用TCP的445端口。
■微软SQL数据库默认使用TCP的1433端口。
■MySQL数据库默认使用TCP的3306端口。
三、TCP/IP传输层端口
1、端口用一个16位端口号进行标志,允许有65535个不同的端口号。
2、端口号只具有本地意义,即端口号只是为了标志本计算机应用层中的各进程。在互联网中,不同计算机的相同端口号是没有联系的。
3、由此可见,两个计算机中的进程要互相通信,不仅必须知道对方的IP地址(为了找到对方计算机中的应用进程), 而且还要知道对方的端口号(为了找到对方的计算机)。
4、两大类端口:
■服务器端使用的端口号
(1)熟知端口,数值一般为0 ~ 1023。
(2)登记端口号,数值为1024 ~ 49151,为没有熟知端口号的应用程序使用的。使用这个范围的口端号必须在IANA登记,以防止重V
■客户端使用的端口号
(1)又称为短暂端口号,数值为49152 ~ 65535,留给客户进程选择暂时使用。
(2)当服务器进程收到客户进程的报文时,就知道了客户进程所使用的动态端口。通信结束后,这个端口号可供其他客户进程以后使用。
5、服务器上的端口作用:他们是用来定位服务器上的服务。由此可见,数据包的目标IP地址是用来在网络中定位某个服务器,目标端口用来定位服务器上的服务。如下图所示,端口在数据包传输过程中的作用:
————————————————
原文链接:https://blog.csdn.net/kxbdys/article/details/122812480
6、window操作系統的有關端口的命令
①Netstat -an ——查看服務器偵聽的端口
②Netstat -a ——查看建立的TCP連接
7、總結::服務器給網絡中的計算機提供服務,該服務一運行就會使用TCP或UDP的一些端口偵聽客戶端的請求,每個服務使用的瑞口必須唯一。如果安裝了某服務但客戶端不能訪問,就要檢查該服務是否運行,或者在客戶端telnet該服務端口是否成功。
注意:應用層協議使用的端口可以更改。當服務器的服務端口變化了,客戶端連接服務器時需要指明使用的端口(默認的就不用指明端口)。更改服務器端口的好處是可以迷惑攻擊者黑客,讓其沒辦法判斷該端口對應什麼服務。
原文鏈接:https://blog.csdn.net/kxbdys/article/details/122812480