微信網(wǎng)站建設(shè)費(fèi)用計(jì)入什么科目邯鄲網(wǎng)站優(yōu)化
文章目錄
- 傳輸層定義
- 傳輸層“端到端”解析
- 傳輸層端口:Port
- 端口號(hào)分類
- 端口實(shí)驗(yàn)(FTP為例)
- 擴(kuò)展知識(shí)
傳輸層定義
傳輸層定義了主機(jī)應(yīng)用程序之間端到端的連通性。
傳輸層中最為常見的兩個(gè)協(xié)議分別是傳輸控制協(xié)議TCP (Transmission Control Protocol ) 和 用戶數(shù)據(jù)包協(xié)議UDP (User Datagram Protocol)
傳輸層“端到端”解析
實(shí)際場景:電腦上的APP究竟是如何發(fā)送接收消息?
1、電腦上下載應(yīng)用軟件的時(shí)候,正常操作都會(huì)到軟件的官網(wǎng)去下載。官網(wǎng)里提供的APP下載都是客戶端,選擇安裝平臺(tái)下載對應(yīng)的客戶端APP。這樣電腦上就會(huì)裝上很多類型的APP,如QQ、瀏覽器、郵箱、微信等等APP客戶端。
2、下載完一堆的APP后,打開QQ客戶端開始登入聊天。這整個(gè)登入聊天的過程QQ客戶端是在和誰暗送秋波呢? QQ服務(wù)器。
這下就知道,電腦上裝著一堆APP客戶端,在使用的時(shí)候都會(huì)和對應(yīng)服務(wù)器通信。
當(dāng)電腦PC機(jī)上打開多個(gè)客戶端APP,同時(shí)開始向各自的服務(wù)器發(fā)送數(shù)據(jù),服務(wù)器回復(fù)回來的消息是混亂的,如下圖所示
如何才知道哪些數(shù)據(jù)是給QQ的,哪些數(shù)據(jù)是給郵箱的呢?端口號(hào)
傳輸層端口:Port
傳輸層提供端到端的連接(端口號(hào)和端口號(hào)之間的連接)根據(jù)端口號(hào)可以區(qū)分不同的應(yīng)用協(xié)議
(S 表示源端口號(hào);D表示目標(biāo)端口號(hào))
主機(jī)發(fā)送數(shù)據(jù)時(shí),在數(shù)據(jù)前添加數(shù)據(jù)的源端口號(hào)1027和目標(biāo)端口號(hào)80,將封裝好的數(shù)據(jù)發(fā)送給對應(yīng)服務(wù)器上的80端口。
服務(wù)器將處理好的數(shù)據(jù),根據(jù)之前接收的源端口號(hào)和目標(biāo)端口號(hào),封裝現(xiàn)在的數(shù)據(jù)(源端口號(hào)80,目標(biāo)端口號(hào)1027),將封裝好的數(shù)據(jù)發(fā)送給主機(jī)上開著1027端口號(hào)的客戶端進(jìn)行處理。
網(wǎng)絡(luò)層提供點(diǎn)到點(diǎn)的連接(節(jié)點(diǎn)之間)
在網(wǎng)絡(luò)里每個(gè)設(shè)備都是一個(gè)節(jié)點(diǎn)。
圖二來分析,主機(jī)A在網(wǎng)絡(luò)層是一個(gè)節(jié)點(diǎn),假如它的IP地址是192.168.1.7;服務(wù)器在網(wǎng)絡(luò)層也是一個(gè)節(jié)點(diǎn),假如它的IP地址是36.155.132.75。這種通信在網(wǎng)絡(luò)層中就是點(diǎn)到點(diǎn)之間的傳輸。
小結(jié)
主機(jī)A(192.168.1.7)的1027端口發(fā)送數(shù)據(jù)到服務(wù)器(36.155.132.75)的80端口
服務(wù)器(36.155.132.75)的80端口發(fā)送數(shù)據(jù)到主機(jī)A(192.168.1.7)的1027端口
端口號(hào)分類
端口號(hào)總數(shù)有 2^16 = 65536 個(gè),通過下面列表進(jìn)行端口分類:
端口號(hào)范圍 | 端口類型 |
---|---|
0到1023 | 公認(rèn)端口 |
1024到49151 | 注冊端口 |
49152到65535 | 私有和動(dòng)態(tài)端口 |
常用的TCP公認(rèn)端口
FTP(21) Telnet(23) AMTP(25) HTTP(80)
POP3(110) IRC(194) HTTPS(443)
常用的UDP公認(rèn)端口
TFTP(69) RIP(520)
常用的TCP/UDP 公認(rèn)端口
DNS(53) SNMP(161)
1024~49151屬于注冊端口/登記端口(應(yīng)用注冊使用的端口)
49152~65535屬于私有端口/動(dòng)態(tài)端口(主機(jī)/客戶端使用的端口)
端口實(shí)驗(yàn)(FTP為例)
使用eNSP 拓?fù)鋱D如下
1、連接成功環(huán)境
服務(wù)端Server1開啟ftp服務(wù),端口號(hào)為21
客戶端Client1 -> 客戶端信息 -> 服務(wù)器地址,端口號(hào)21


2、連接失敗環(huán)境
服務(wù)端Server1開啟ftp服務(wù),端口號(hào)改為5700
客戶端Client1 -> 客戶端信息 -> 服務(wù)器地址,端口號(hào)用21連接


連接失敗的原因是: 服務(wù)器開啟ftp服務(wù)端口為5700,只有通過5700這個(gè)端口才能用ftp服務(wù);這時(shí)客戶端連接服務(wù)器時(shí)端口號(hào)為21,所以連接失敗。
修改配置: 將客戶端連接服務(wù)器端口號(hào)改為5700,則連接成功

服務(wù)端端口號(hào):
- 端口是根據(jù)需求自行更改的
- 可以通過更改端口可以讓非信任用戶訪問不到應(yīng)用
- 如FTP的端口默認(rèn)為21,修改端口為5700,讓非信任用戶訪問不到FTP服務(wù)器
客戶端端口號(hào):
- 源端口隨機(jī)分配,目標(biāo)端口使用知名端口(Well-known port)
- 應(yīng)用客戶端使用的源端口號(hào)一般為系統(tǒng)中未使用的且大于1023
- 目的端口號(hào)為服務(wù)器開啟的服務(wù)所偵聽的端口,如HTTP缺省使用80
注:端口對應(yīng)了一種應(yīng)用協(xié)議,真正提供服務(wù)的是服務(wù)器
擴(kuò)展知識(shí)
如何知道電腦PC中已經(jīng)連接了多少端口號(hào)?
打開“任務(wù)管理器 -> 性能 -> 打開資源監(jiān)視器 -> 網(wǎng)絡(luò) -> 偵聽端口 ”
windows 使用ftp訪問服務(wù)器(192.168.1.13)端口21
可以打開“文件資源管理器”中“快速訪問”輸入:ftp://192.168.1.13
若服務(wù)器端口號(hào)改為5700,則要輸入ftp://192.168.1.13:5700
ftp://服務(wù)器地址 : 端口號(hào) (不加端口號(hào),默認(rèn)ftp 公認(rèn)端口號(hào)21)