一.TCP/IP
1.TCP/IP的介紹
? ? ? ?TCP/IP是一個(gè)Protocol Stack,包括TCP、IP、UDP、ICMP、RIP、TELNET、FTP、SMTP、ARP等許多協(xié)議。
? ? ? ?最早發(fā)源于1969年美國(guó)國(guó)防部(縮寫(xiě)為DoD)的因特網(wǎng)的前身ARPA網(wǎng)絡(luò)項(xiàng)目,1983年1月1日,TCP/IP取代了舊的網(wǎng)絡(luò)控制協(xié)議NCP,成為今天的互聯(lián)網(wǎng)和局域網(wǎng)的基石和標(biāo)準(zhǔn),由互聯(lián)網(wǎng)工程任務(wù)組負(fù)責(zé)維護(hù)國(guó)防高級(jí)研究計(jì)劃局DARPA與BBN技術(shù)公司、斯坦福大學(xué)和倫敦大學(xué)學(xué)院簽約,在多個(gè)硬件平臺(tái)上開(kāi)發(fā)協(xié)議的操作版本。 在協(xié)議開(kāi)發(fā)過(guò)程中,數(shù)據(jù)包路由層的版本號(hào)從版本 1 進(jìn)展到版本 4,后者于 1983 年安裝在 ARPANET 中。它被稱(chēng)為互聯(lián)網(wǎng)協(xié)議版本4(IPv4)作為協(xié)議,仍在互聯(lián)網(wǎng)使用,連同其目前的繼承,互聯(lián)網(wǎng)協(xié)議版本6(IPv6)。
? ? ? ?網(wǎng)絡(luò)核心協(xié)議(NCP)管理對(duì) NetWare 服務(wù)器資源的訪問(wèn)。NCP 向 NetWare 文件共享協(xié)議(即NFSP:NetWare File Sharing Protocol)發(fā)送過(guò)程調(diào)用消息,處理 NetWare 文件和打印資源請(qǐng)求。 NCP 是用于 NetWare 服務(wù)器和客戶機(jī)之間傳輸信息的主要協(xié)議。
? ? ? ? NCP 主要負(fù)責(zé)處理登入請(qǐng)求以及其它文件系統(tǒng)和打印系統(tǒng)請(qǐng)求。NCP 是一種基于客戶機(jī)/服務(wù)器的 LAN 協(xié)議。工作站建立 NCP 請(qǐng)求并通過(guò) IPX 在網(wǎng)絡(luò)上發(fā)送這些請(qǐng)求服務(wù)。服務(wù)器端負(fù)責(zé)接收、拆包(unpacked)并解讀 NCP 請(qǐng)求。
? ? ? ? NCP 服務(wù)包括:文件訪問(wèn)、文件鎖定(file locking)、安全性、資源分配跟蹤(tracking of resource allocation)、事件通知(event notification)、與其它服務(wù)器同步、連接和通信、打印服務(wù),以及隊(duì)列和網(wǎng)絡(luò)管理。
? ? ? ? NCP 使用的是底層互聯(lián)網(wǎng)分組交換協(xié)議 (即IPX : Internetwork Packet Exchange Layer Services)。目前許多最新版的 NetWare(繼 NetWare 5.0 之后 )也都支持 TCP/IP 協(xié)議。
2.TCP/IP分層
一共定義了四層,和 OSI參考模型的分層有對(duì)應(yīng)關(guān)系。
3.TCP/IP通信過(guò)程
4.TCP特性
1.工作在傳輸層
2.面向連接協(xié)議、
3.全雙工協(xié)議
4.半關(guān)閉 斷開(kāi)
5.錯(cuò)誤檢查(校驗(yàn))
6.將數(shù)據(jù)打包成段,排序(給數(shù)據(jù)排序)
7.確認(rèn)機(jī)制(對(duì)面每發(fā)一個(gè)包,通過(guò)報(bào)文告訴我收到了)
8.數(shù)據(jù)恢復(fù),重傳
9.流量控制,滑動(dòng)窗口
ACK(確認(rèn)位):表示是否前面確認(rèn)號(hào)字段是否有效。只有當(dāng)ACK=1時(shí),前面的確認(rèn)號(hào)字段才有效。TCP規(guī)定,連接建立后,ACK必須為1,帶ACK標(biāo)志的TCP報(bào)文段稱(chēng)為確認(rèn)報(bào)文段
SYN(同步位):在建立連接時(shí)使用,用來(lái)同步序號(hào)。當(dāng)SYN=1,ACK=0時(shí),表示這是一個(gè)請(qǐng)求建立連接的報(bào)文段;當(dāng)SYN=1,ACK=1時(shí),表示對(duì)方同意建立連接。SYN=1,說(shuō)明這是一個(gè)請(qǐng)求建立連接或同意建立連接的報(bào)文。只有在前兩次握手中SYN才置為1,帶SYN標(biāo)志的TCP報(bào)文段稱(chēng)為同步報(bào)文段
FIN(斷開(kāi)位):表示通知對(duì)方本端要關(guān)閉連接了,標(biāo)記數(shù)據(jù)是否發(fā)送完畢。如果FIN=1,即告訴對(duì)方:“我的數(shù)據(jù)已經(jīng)發(fā)送完畢,你可以釋放連接了”,帶FIN標(biāo)志的TCP報(bào)文段稱(chēng)為結(jié)束報(bào)文段
滑動(dòng)窗口:調(diào)節(jié)每次發(fā)送的數(shù)據(jù)包量
服務(wù)端和客戶端之間會(huì)根據(jù)實(shí)際情況自動(dòng)調(diào)節(jié)數(shù)據(jù)包的個(gè)數(shù)
5.TCP3次握手
ack=確認(rèn)號(hào)
ACK=控制位? 確認(rèn)位
A----------------------------------------->B
seq=x? Syn=1
<--------------------------------------------
seq=y? ? ack=x+1? ?SYN=1? ? ?ACK=1
------------------------------------------------>
seq=x+1? ? ack=y+1? ?ACK=1
確認(rèn)號(hào)的作用:告訴對(duì)方我收到了你的信息
控制位:描述了兩臺(tái)電腦目前處于什么狀態(tài)
客戶端主動(dòng)發(fā)起請(qǐng)求報(bào)文,報(bào)文序號(hào)是隨機(jī)產(chǎn)生的x,并且報(bào)文中的控制位SYN=1代表請(qǐng)求建立連接。
當(dāng)服務(wù)端收到請(qǐng)求連接的報(bào)文會(huì)回復(fù)一個(gè)報(bào)文,會(huì)產(chǎn)生隨機(jī)序號(hào)y,生成確認(rèn)號(hào)值為,客戶端請(qǐng)求報(bào)文的序號(hào)+1(x+1),然后控制位SYN=1 ACK=1,代表同意建立連接。
當(dāng)客戶端收到同意建立連接的報(bào)文時(shí),會(huì)回復(fù)一個(gè)確認(rèn)報(bào)文,會(huì)按照對(duì)方要求產(chǎn)生序號(hào)為x+1,再生成一個(gè)確認(rèn)號(hào),值為對(duì)方報(bào)文的序號(hào)+1(y+1),最后控制位的ACK=1,代表收到對(duì)方同意連接的請(qǐng)求。
三次原因:確保數(shù)據(jù)能夠到達(dá),2次不夠,4次多余,3次正好。
端口號(hào):確定應(yīng)用程序(協(xié)議)
應(yīng)用層(7層)協(xié)議:
ftp 文件傳輸 vsftpd FileZilla tcp
http 超文本傳輸協(xié)議 nginx apache lls tomcat tcp
dhcp:dhcp udp
ssh:openssh tcp
dns:域名解析 bind tcp
范圍:0-65535 前1024是知名80http ftp2120 ssh22 telnet23 tftpudp69
端口號(hào)不可以重復(fù)使用,一個(gè)端口號(hào)對(duì)應(yīng)一個(gè)程序
客戶端端口號(hào):隨機(jī)
服務(wù)端端口號(hào):固定
tcp/80
80端口代表7層的協(xié)議http協(xié)議
協(xié)議靠程序來(lái)實(shí)現(xiàn)
http:超文本傳輸協(xié)議(能發(fā)文字和圖片)
開(kāi)發(fā)調(diào)用http協(xié)議,開(kāi)發(fā)出應(yīng)用程序(apache nginx軟件)
https:tcp/443
6.四次揮手
半關(guān)閉狀態(tài),怕有數(shù)據(jù)沒(méi)有傳輸完畢。
7.有限狀態(tài)機(jī)(擴(kuò)展)
1.closed? 斷開(kāi)? 兩個(gè)都有
2.listen? ? 監(jiān)聽(tīng)? ? 服務(wù)端
3.syn-sent? ?syn? 發(fā)送? 客戶端
4.syn-recd? ?syn? ?ACK=1? 接收? 服務(wù)端
8.TCP超時(shí)重傳
異常網(wǎng)絡(luò)狀況下(開(kāi)始出現(xiàn)超時(shí)或丟包),TCP控制數(shù)據(jù)傳輸以保證其承諾的可靠服務(wù)。
TCP服務(wù)必須能夠重傳超時(shí)時(shí)間內(nèi)未收到確認(rèn)的TCP報(bào)文段。為此,TCP模塊為每個(gè)TCP報(bào)文段都維護(hù)一個(gè)重傳定時(shí)器,該定時(shí)器在TCP報(bào)文段第一次被發(fā)送時(shí)啟動(dòng)。如果超時(shí)時(shí)間內(nèi)未收到接收方的應(yīng)答。
TCP模塊將重傳TCP報(bào)文段并重置定時(shí)器。至于下次重傳的超時(shí)時(shí)間如何選擇,以及最多執(zhí)行多少次重傳,就是TCP的重傳策略。
二.UDP協(xié)議
1.UDP協(xié)議的介紹
udp:用戶數(shù)據(jù)包協(xié)議
udp沒(méi)有連接測(cè)試,直接傳數(shù)據(jù),不管對(duì)面能不能收到
2.UDP特性
1.工作在傳輸層
2.提供不可靠的網(wǎng)絡(luò)訪問(wèn)
3.非面向連接協(xié)議
4.有限的錯(cuò)誤檢查
5.傳輸性能高
6.無(wú)數(shù)據(jù)恢復(fù)特性
狀態(tài)機(jī)
客戶端會(huì)出現(xiàn):syn-sent estab
服務(wù)端:listen syn-rcvd estab
系統(tǒng)通過(guò)pid號(hào)區(qū)分應(yīng)用程序
kill pid號(hào)
#發(fā)送信號(hào) qq 微信隨機(jī)產(chǎn)生pid號(hào)
兩臺(tái)電腦之間用端口號(hào)區(qū)分應(yīng)用程序
三.TCP和UDP的區(qū)別
tcp 面向連接 慢 穩(wěn)定
udp 無(wú)面向連接 快 不穩(wěn)定
四.TELNET協(xié)議
1.telnet介紹
telnet:遠(yuǎn)程管理協(xié)議,明文傳輸
telnet? ip地址? 端口號(hào)
作用:探測(cè)遠(yuǎn)端服務(wù)器端口
2.wireshark
-
選擇捕獲接口。一般都是選擇連接到Internet網(wǎng)絡(luò)的接口,這樣才可以捕獲到與網(wǎng)絡(luò)相關(guān)的數(shù)據(jù)。否則,捕獲到的其它數(shù)據(jù)對(duì)自己也沒(méi)有任何幫助。一般是
-
使用捕獲過(guò)濾器。通過(guò)設(shè)置捕獲過(guò)濾器,可以避免產(chǎn)生過(guò)大的捕獲數(shù)據(jù)。這樣用戶在分析數(shù)據(jù)時(shí),也不會(huì)受其它數(shù)據(jù)干擾。而且,還可以為用戶節(jié)約大量的時(shí)間。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-824903.html
-
使用顯示過(guò)濾器。通常使用捕獲過(guò)濾器過(guò)濾后的數(shù)據(jù),往往還是很復(fù)雜。為了使過(guò)濾的數(shù)據(jù)包再更細(xì)致,此時(shí)使用顯示過(guò)濾器進(jìn)行過(guò)濾。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-824903.html
到了這里,關(guān)于TCP/IP、UDP和TELNET的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!