1、簡述osi七層模型和TCP/IP五層模型
OSI(Open System Interconnection)參考模型是國際標(biāo)準(zhǔn)化組織(ISO)制定的一個(gè)用于計(jì)算機(jī)或通信系統(tǒng)間互聯(lián)的標(biāo)準(zhǔn)體系,一般稱為OSI參考模型或七層模型第焰。它是一個(gè)七層的躬它、抽象的模型,不僅包括一系列抽象的術(shù)語或概念祠饺,也包括具體的協(xié)議。
應(yīng)用層(Application):
網(wǎng)絡(luò)服務(wù)與最終用戶的一個(gè)接口。
協(xié)議有:HTTP FTP TFTP SMTP SNMP DNS
表示層(Presentation Layer):
數(shù)據(jù)的表示芒炼、安全、壓縮抵恋。(在五層模型里面已經(jīng)合并到了應(yīng)用層)
格式有焕议,JPEG宝磨、ASCll弧关、DECOIC、加密格式等
會話層(Session Layer):
建立唤锉、管理世囊、終止會話。(在五層模型里面已經(jīng)合并到了應(yīng)用層)
對應(yīng)主機(jī)進(jìn)程窿祥,指本地主機(jī)與遠(yuǎn)程主機(jī)正在進(jìn)行的會話
傳輸層(Transport):
定義傳輸數(shù)據(jù)的協(xié)議端口號株憾,以及流控和差錯(cuò)效驗(yàn)。
協(xié)議有:TCP UDP晒衩,數(shù)據(jù)包一旦離開網(wǎng)卡即進(jìn)入網(wǎng)絡(luò)傳輸層
網(wǎng)絡(luò)層(Network):
進(jìn)行邏輯地址尋址嗤瞎,實(shí)現(xiàn)不同網(wǎng)絡(luò)之間的路徑選擇。
協(xié)議有:ICMP IGMP IP(IPV4 IPV6) ARP RARP
數(shù)據(jù)鏈路層(Link):
建立邏輯連接听系、進(jìn)行硬件地址尋址贝奇、差錯(cuò)效驗(yàn)等功能。(由底層網(wǎng)絡(luò)定義協(xié)議)將比特組合成字節(jié)進(jìn)而組合成幀靠胜,用MAC地址訪問介質(zhì)掉瞳,錯(cuò)誤發(fā)現(xiàn)但不能糾正。
物理層(Physical Layer):
建立浪漠、維護(hù)陕习、斷開物理連接。(由底層網(wǎng)絡(luò)定義協(xié)議)
TCP/IP(Transmission Control Protocol/Internet Protocol址愿,傳輸控制協(xié)議/網(wǎng)際協(xié)議)是用于計(jì)算機(jī)通信的一個(gè)協(xié)議族该镣。它是美國國防部高級研究項(xiàng)目局在20世紀(jì)70年代提出的一項(xiàng)基金研究項(xiàng)目的研究成果。該項(xiàng)目的目的是尋求一種能使用各種介質(zhì)來傳輸數(shù)據(jù)的方法响谓,包括串行線路拌牲。
由于TCP/IP具有很強(qiáng)的互連性俱饿,美國國防部認(rèn)可并推廣TCP/IP。而且塌忽,美國各大學(xué)都普遍采用帶有TCP/IP的BSD Unix拍埠,許多廠商也將TCP/IP無償?shù)匕惭b在BSD Unix系統(tǒng)上,可以免費(fèi)在幾乎任何類型的機(jī)器上使用土居。因此枣购,TCP/IP得到了人們的普遍認(rèn)可,在市場上顯示出強(qiáng)大的競爭力擦耀。目前棉圈,幾乎所有的網(wǎng)絡(luò)操作系統(tǒng)都提供對TCP/IP的支持,TCP/IP已經(jīng)是Internet的標(biāo)準(zhǔn)協(xié)議眷蜓。
TCP/IP協(xié)議族包括諸如Internet協(xié)議(IP)分瘾、地址解析協(xié)議(ARP)、互聯(lián)網(wǎng)控制信息協(xié)議(ICMP)吁系、用戶數(shù)據(jù)報(bào)協(xié)議(UDP)德召、傳輸控制協(xié)議(TCP)、路由信息協(xié)議(RIP)汽纤、Telnet上岗、簡單郵件傳輸協(xié)議(SMTP)、域名系統(tǒng)(DNS)等協(xié)議蕴坪。TCP/IP協(xié)議的層次結(jié)構(gòu)如圖3所示肴掷。
TCP/IP協(xié)議層次結(jié)構(gòu)
(1)應(yīng)用層 應(yīng)用層包含一切與應(yīng)用相關(guān)的功能,相當(dāng)于OSI的上面三層背传。我們經(jīng)常使用的HTTP呆瞻、FTP、Telnet径玖、SMTP等協(xié)議都在這一層實(shí)現(xiàn)痴脾。
(2)傳輸層 傳輸層負(fù)責(zé)提供可靠的傳輸服務(wù)。該層相當(dāng)于OSI模型中的第4層挺狰。在該層中明郭,典型的協(xié)議是TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)。其中丰泊,TCP提供可靠薯定、有序的,面向連接的通信服務(wù)瞳购;而UDP則提供無連接的话侄、不可靠用戶數(shù)據(jù)報(bào)服務(wù)。
(3)網(wǎng)際層 網(wǎng)際層負(fù)責(zé)網(wǎng)絡(luò)間的尋址和數(shù)據(jù)傳輸,其功能大致相當(dāng)于OSI模型中的第3層年堆。在該層中吞杭,典型的協(xié)議是IP(Internet Protocol)。
(4)網(wǎng)絡(luò)接口層 最下面一層是網(wǎng)絡(luò)接口層变丧,負(fù)責(zé)數(shù)據(jù)的實(shí)際傳輸芽狗,相當(dāng)于OSI模型中的第1、第2層痒蓬。在TCP/IP協(xié)議族中童擎,對該層很少具體定義。大多數(shù)情況下攻晒,它依賴現(xiàn)有的協(xié)議傳輸數(shù)據(jù)顾复。
TCP/IP與OSI最大的不同在于OSI是一個(gè)理論上的網(wǎng)絡(luò)通信模型,而TCP/IP則是實(shí)際運(yùn)行的網(wǎng)絡(luò)協(xié)議鲁捏。TCP/IP實(shí)際上是由許多協(xié)議組成的協(xié)議簇芯砸。圖4示出TCP/IP的主要協(xié)議分類情況。
TCP/IP協(xié)議簇
TCP/IP協(xié)議基于“Client-Server”(客戶—服務(wù)器)模型给梅。在最簡單的形式中假丧,“客戶”是請求服務(wù)的程序,而“服務(wù)器”是提供服務(wù)的程序破喻。在網(wǎng)絡(luò)環(huán)境中虎谢,客戶程序經(jīng)常發(fā)出RPC(遠(yuǎn)程過程調(diào)用)盟榴,申請執(zhí)行一個(gè)操作曹质;服務(wù)器通過執(zhí)行相應(yīng)操作的過程來回答RPC,并對客戶發(fā)一個(gè)回答擎场。表示網(wǎng)絡(luò)中機(jī)器時(shí)也用上述術(shù)語:“服務(wù)器”表示提供服務(wù)的主機(jī)羽德,它的文件或服務(wù)通過RPC得到利用;“客戶機(jī)”表示提出請求的主機(jī)
2迅办、總結(jié)描述TCP三次握手四次揮手
第一次:當(dāng)客戶端A想跟服務(wù)器B連接時(shí)宅静,首先會發(fā)送給請求報(bào)文給服務(wù)器B,在這個(gè)請求報(bào)文中站欺,TCP首部中SYN位置為1姨夹,ACK為0,序列號為x矾策。(SYN=1,ACK=0,seq=x)磷账,這個(gè)包稱為SYN包,當(dāng)客戶端發(fā)送完SYN包之后贾虽,進(jìn)入SYN_SENT狀態(tài)
第二次:當(dāng)服務(wù)器B收到報(bào)文之后逃糟,發(fā)現(xiàn)其中的SYN=1,ACK=0,由此判斷為該報(bào)文是一個(gè)請求連接報(bào)文。B允許A的連接時(shí)候绰咽,需要回復(fù)A的請求菇肃,置SYN=1,ACK=1,ack=x+1,seq=y。當(dāng)服務(wù)器端發(fā)送完ACK之后取募,進(jìn)入SYN_RECV狀態(tài)琐谤。
第三次:當(dāng)客戶端A收到服務(wù)器端B回復(fù)的報(bào)文時(shí),檢查里面的SYN=1,ACK=1,于是向B回復(fù)一個(gè)確認(rèn)ACK玩敏,回復(fù)時(shí)SYN=0,ACK=1,seq=x+1笑跛,ack=y+1。這里的SYN=0,ACK=1表示該報(bào)文是回復(fù)報(bào)文聊品。A發(fā)送完畢之后飞蹂,進(jìn)入ESTABLISHEN狀態(tài)。B收到A的ACK報(bào)文之后也進(jìn)入ESTABLISHEN狀態(tài)翻屈。到此三次握手連接建立完畢陈哑。
四次揮手——(Four-Way Wavehand)即終止TCP連接,就是指斷開一個(gè)TCP連接時(shí)伸眶,需要客戶端和服務(wù)端總共發(fā)送4個(gè)包以確認(rèn)連接的斷開惊窖。在socket編程中,這一過程由客戶端或服務(wù)端任一方執(zhí)行close來觸發(fā)
由于TCP連接時(shí)全雙工的厘贼,因此界酒,每個(gè)方向都必須要單獨(dú)進(jìn)行關(guān)閉,這一原則是當(dāng)一方完成數(shù)據(jù)發(fā)送任務(wù)后嘴秸,發(fā)送一個(gè)FIN來終止這一方向的連接毁欣,收到一個(gè)FIN只是意味著這一方向上沒有數(shù)據(jù)流動了,即不會再收到數(shù)據(jù)了岳掐,但是在這個(gè)TCP連接上仍然能夠發(fā)送數(shù)據(jù)凭疮,直到這一方向也發(fā)送了FIN。首先進(jìn)行關(guān)閉的一方將執(zhí)行主動關(guān)閉串述,而另一方則執(zhí)行被動關(guān)閉执解,上圖描述的即是如此。
(1)第一次揮手:Client發(fā)送一個(gè)FIN纲酗,用來關(guān)閉Client到Server的數(shù)據(jù)傳送衰腌,Client進(jìn)入FIN_WAIT_1狀態(tài)
????? ? (2)第二次揮手:Server收到FIN后,發(fā)送一個(gè)ACK給Client觅赊,確認(rèn)序號為收到序號+1(與SYN相同右蕊,一個(gè)FIN占用一個(gè)序號),Server進(jìn)入CLOSE_WAIT狀態(tài)茉兰。
(3)第三次揮手:Server發(fā)送一個(gè)FIN尤泽,用來關(guān)閉Server到Client的數(shù)據(jù)傳送,Server進(jìn)入LAST_ACK狀態(tài)。
????(4)第四次揮手:Client收到FIN后坯约,Client進(jìn)入TIME_WAIT狀態(tài)熊咽,接著發(fā)送一個(gè)ACK給Server,確認(rèn)序號為收到序號+1闹丐,Server進(jìn)入CLOSED狀態(tài)横殴,完成四次揮手。
3卿拴、描述TCP和UDP區(qū)別
TCP:Transfer Control Protocol衫仑,傳輸控制協(xié)議。
UDP:User Datagram Protocol堕花,用戶數(shù)據(jù)報(bào)協(xié)議文狱。
二者區(qū)別是:
<1>連接方面區(qū)別
TCP面向連接(如打電話要先撥號建立連接)。
UDP是無連接的缘挽,即發(fā)送數(shù)據(jù)之前不需要建立連接瞄崇。
<2>安全方面的區(qū)別
TCP提供可靠的服務(wù),通過TCP連接傳送的數(shù)據(jù)壕曼,無差錯(cuò)苏研,不丟失,不重復(fù)腮郊,且按序到達(dá)摹蘑。
UDP盡最大努力交付,即不保證可靠交付轧飞。
<3>傳輸效率的區(qū)別
TCP傳輸效率相對較低衅鹿。
UDP傳輸效率高,適用于對高速傳輸和實(shí)時(shí)性有較高的通信或廣播通信踪少。
<4>連接對象數(shù)量的區(qū)別
TCP連接只能是點(diǎn)到點(diǎn)塘安、一對一的糠涛。
UDP支持一對一援奢,一對多,多對一和多對多的交互通信忍捡。
4集漾、總結(jié)ip分類以及每個(gè)分類可以分配的IP數(shù)量
把所有的IP地址劃分為 A,B砸脊,C具篇,D,E
A類地址:范圍從0-127凌埂,以子網(wǎng)掩碼來進(jìn)行區(qū)別:255.0.0.0.?
0是保留的并且表示所有IP地址驱显,而127也是保留的地址,并且是用于測試環(huán)回用的。因此A類地址的范圍其實(shí)是從1-126之間埃疫。
如:10.0.0.1伏恐,第一段號碼為網(wǎng)絡(luò)號碼,剩下的三段號碼為本地計(jì)算機(jī)的號碼栓霜。轉(zhuǎn)換為2進(jìn)制來說翠桦,一個(gè)A類IP地址由1字節(jié)的網(wǎng)絡(luò)地址和3字節(jié)主機(jī)地址組成,網(wǎng)絡(luò)地址的最高位必須是“0”胳蛮, 地址范圍從0.0.0.1 到126.0.0.0销凑。可用的A類網(wǎng)絡(luò)有126個(gè)仅炊,每個(gè)網(wǎng)絡(luò)能容納1億多個(gè)主機(jī)(2的24次方的主機(jī)數(shù)目)斗幼。
B類地址:范圍從128-191,以子網(wǎng)掩碼來進(jìn)行區(qū)別:255.255.0.0?
如172.168.1.1抚垄,第一和第二段號碼為網(wǎng)絡(luò)號碼孟岛,剩下的2段號碼為本地計(jì)算機(jī)的號碼。轉(zhuǎn)換為2進(jìn)制來說督勺,一個(gè)B類IP地址由2個(gè)字節(jié)的網(wǎng)絡(luò)地址和2個(gè)字節(jié)的主機(jī)地址組成渠羞,網(wǎng)絡(luò)地址的最高位必須是“10”,地址范圍從128.0.0.0到191.255.255.255智哀〈窝可用的B類網(wǎng)絡(luò)有16382個(gè),每個(gè)網(wǎng)絡(luò)能容納6萬多個(gè)主機(jī) 瓷叫。
C類地址:范圍從192-223屯吊,如192.168.1.1,以子網(wǎng)掩碼來進(jìn)行區(qū)別: 255.255.255.0?
第一摹菠,第二盒卸,第三段號碼為網(wǎng)絡(luò)號碼,剩下的最后一段號碼為本地計(jì)算機(jī)的號碼次氨。轉(zhuǎn)換為2進(jìn)制來說蔽介,一個(gè)C類IP地址由3字節(jié)的網(wǎng)絡(luò)地址和1字節(jié)的主機(jī)地址組成,網(wǎng)絡(luò)地址的最高位必須是“110”煮寡。范圍從192.0.0.0到223.255.255.255虹蓄。C類網(wǎng)絡(luò)可達(dá)209萬余個(gè),每個(gè)網(wǎng)絡(luò)能容納254個(gè)主機(jī)幸撕。
D類地址:范圍從224-239薇组,D類IP地址第一個(gè)字節(jié)以“1110”開始,它是一個(gè)專門保留的地址坐儿。它并不指向特定的網(wǎng)絡(luò)律胀,目前這一類地址被用在多點(diǎn)廣播(Multicast)中宋光。多點(diǎn)廣播地址用來一次尋址一組計(jì)算機(jī),它標(biāo)識共享同一協(xié)議的一組計(jì)算機(jī)炭菌。
E類地址:范圍從240-254跃须,以“11110”開始,為將來使用保留娃兽。 全零(“0.0.0.0”)地址對應(yīng)于當(dāng)前主機(jī)菇民。全“1”的IP地址(“255.255.255.255”)是當(dāng)前子網(wǎng)的廣播地址
5、總結(jié)IP配置方法
ifconfig ens33 192.168.10.9/24
ifconfig ens33 192.168.10.9 255.255.255.0
ip addr add 192.169.10.0 dev ens33