計(jì)算機(jī)網(wǎng)絡(luò)知識(shí)點(diǎn)整理

鏈接:https://www.nowcoder.com/discuss/413566?type=5&channel=0&source_id=discuss_terminal_discuss_jinghua

上面鏈接內(nèi)容為面經(jīng)常遇各課程題型

計(jì)算機(jī)網(wǎng)絡(luò)知識(shí)點(diǎn)整理雄嚣,轉(zhuǎn)載自鏈接:https://www.nowcoder.com/discuss/429605?type=1&channel=0&source_id=discuss_center_discuss_hot

網(wǎng)絡(luò)分層 ??

OSI 將網(wǎng)絡(luò)分為七層:應(yīng)用層睦刃、表示層、會(huì)話層止喷、運(yùn)輸層芥喇、網(wǎng)絡(luò)層耘分、數(shù)據(jù)鏈路層越庇、物理層褐啡。OSI 七層協(xié)議體系結(jié)構(gòu)概念清除诺舔,理論完善,但是既復(fù)雜也不實(shí)用备畦。

TCP/IP 是一個(gè)四層體系結(jié)構(gòu)低飒,包含應(yīng)用層、運(yùn)輸層懂盐、網(wǎng)際層和網(wǎng)絡(luò)接口層(網(wǎng)際層是為了強(qiáng)調(diào)該層是為了解決不同網(wǎng)絡(luò)的互聯(lián)問題)褥赊,這種體系結(jié)構(gòu)得到了廣泛應(yīng)用。

但是 TCP/IP 從實(shí)質(zhì)上講只有最上面三層莉恼,最下面的網(wǎng)絡(luò)接口層并沒有什么具體內(nèi)容拌喉,因此一般學(xué)習(xí)時(shí)結(jié)合 OSI 和 TCP/IP 的優(yōu)點(diǎn),采用一種五層協(xié)議的體系結(jié)構(gòu):

應(yīng)用層

應(yīng)用層的任務(wù)是通過應(yīng)用進(jìn)程之間的交互來完成特定網(wǎng)絡(luò)應(yīng)用俐银。

應(yīng)用層協(xié)議定義應(yīng)用進(jìn)程之間的通信和交互規(guī)則尿背,進(jìn)程即主機(jī)中正在運(yùn)行的程序。應(yīng)用層協(xié)議有域名系統(tǒng) DNS捶惜、支持萬維網(wǎng)應(yīng)用的 HTTP田藐、支持電子郵件的 SMTP 等。

應(yīng)用層交互的數(shù)據(jù)單元是報(bào)文 (message)吱七。

運(yùn)輸層

運(yùn)輸層的任務(wù)是負(fù)責(zé)向兩臺(tái)主機(jī)進(jìn)程之間的通信提供通用的數(shù)據(jù)傳輸服務(wù)汽久。

運(yùn)輸層的協(xié)議主要有傳輸控制協(xié)議 TCP,它提供面向連接的踊餐、可靠的數(shù)據(jù)傳輸服務(wù)景醇,數(shù)據(jù)傳輸單位是報(bào)文段(segment);用戶數(shù)據(jù)報(bào)協(xié)議 UDP市袖,它提供無連接的啡直、盡最大努力的數(shù)據(jù)傳輸服務(wù)烁涌,數(shù)據(jù)傳輸單位是用戶數(shù)據(jù)報(bào)。

網(wǎng)絡(luò)層

網(wǎng)絡(luò)層的任務(wù)是負(fù)責(zé)為分組交換網(wǎng)上的不同主機(jī)提供通信服務(wù)酒觅,在發(fā)送數(shù)據(jù)時(shí)網(wǎng)絡(luò)層把運(yùn)輸層產(chǎn)生的報(bào)文段或用戶數(shù)據(jù)報(bào)封裝成分組或包進(jìn)行傳送撮执。網(wǎng)絡(luò)層的另一個(gè)任務(wù)是選擇合適的路由,使源主機(jī)運(yùn)輸層傳下來的分組能夠通過網(wǎng)絡(luò)中的路由器找到目的主機(jī)舷丹。

網(wǎng)絡(luò)層的協(xié)議有 IP抒钱、ARP、ICMP颜凯、IGMP谋币、DHCP 等。

網(wǎng)絡(luò)層使用的中間設(shè)備是路由器症概。

數(shù)據(jù)鏈路層

數(shù)據(jù)鏈路層的任務(wù)是將網(wǎng)絡(luò)層交下來的 IP 數(shù)據(jù)報(bào)組裝成幀蕾额,在兩個(gè)相鄰結(jié)點(diǎn)之間的鏈路上傳輸幀,每一幀包括數(shù)據(jù)和必要的控制信息(同步信息彼城、地址信息诅蝶、差錯(cuò)控制等)。

數(shù)據(jù)鏈路層的協(xié)議有 PPP募壕、CAMA/CD 等调炬。

數(shù)據(jù)鏈路層使用的中間設(shè)備是網(wǎng)橋或橋接器。

物理層

物理層的任務(wù)是盡可能地屏蔽掉傳輸媒體和通信手段的差異舱馅,使物理層上面的數(shù)據(jù)鏈路層感覺不到這些差異缰泡,使其只需考慮本層的協(xié)議和服務(wù)。

物理層所傳輸?shù)臄?shù)據(jù)單位是比特代嗤,發(fā)送方發(fā)送1或0棘钞,接收方也接收1或0,物理層需要考慮用多大的電壓代表1或0资溃。

物理層使用的中間設(shè)備是轉(zhuǎn)發(fā)器武翎。

數(shù)據(jù)鏈路層的協(xié)議 ?

點(diǎn)對(duì)點(diǎn)協(xié)議 PPP

在通信線路質(zhì)量較差的年代,使用高級(jí)數(shù)據(jù)鏈路控制 HDLC 作為實(shí)現(xiàn)可靠傳輸?shù)臄?shù)據(jù)鏈路層協(xié)議溶锭,但現(xiàn)在 HDLC 已經(jīng)很少使用了,對(duì)于點(diǎn)對(duì)點(diǎn)的鏈路符隙,簡(jiǎn)單得多的點(diǎn)對(duì)點(diǎn)協(xié)議 PPP 是目前使用得最廣泛的數(shù)據(jù)鏈路層協(xié)議趴捅。

PPP 協(xié)議的特點(diǎn)是簡(jiǎn)單、只檢測(cè)差錯(cuò)而不糾正差錯(cuò)霹疫、不使用序號(hào)也不進(jìn)行流量控制拱绑、可同時(shí)支持多種網(wǎng)絡(luò)層協(xié)議。

CSMA/CD 協(xié)議

以太網(wǎng)采用的是具有沖突檢測(cè)的載波監(jiān)聽多點(diǎn)接入 CSMA/CD 協(xié)議丽蝎,協(xié)議的要點(diǎn)是:發(fā)送前先監(jiān)聽猎拨、邊發(fā)送邊監(jiān)聽膀藐,一旦發(fā)現(xiàn)總線上出現(xiàn)了碰撞就立即停止發(fā)送。然后按照退避算法等待一段隨機(jī)時(shí)間后再次發(fā)送红省,因此每一個(gè)站在自己發(fā)送數(shù)據(jù)之后的一小段時(shí)間內(nèi)存在遭遇碰撞的可能性额各。以太網(wǎng)上各站點(diǎn)都平等地爭(zhēng)用以太網(wǎng)信道。

網(wǎng)絡(luò)層的協(xié)議 ??

網(wǎng)際協(xié)議 IP

網(wǎng)際協(xié)議 IP 是 TCP/IP 體系中兩個(gè)最主要的協(xié)議之一吧恃,一般指的是 IPv4虾啦。與 IP 協(xié)議配套使用的協(xié)議還有 ARP、ICMP 和 IGMP痕寓,IP 使用 ARP傲醉,ICMP 和 IGMP 要使用 IP。由于網(wǎng)際協(xié)議 IP 是用來使互連起來的許多計(jì)算機(jī)網(wǎng)絡(luò)能夠進(jìn)行通信的呻率,因此 TCP/IP 體系中的網(wǎng)絡(luò)層也稱網(wǎng)際層或 IP 層硬毕。

要解決 IP 地址耗盡的問題,根本方法是采用具有更大地址空間的新版本 IP 協(xié)議即 IPv6礼仗,向 IPv6 過渡可以使用雙協(xié)議椡驴龋或使用隧道技術(shù)。

地址解析協(xié)議 ARP

由于 IP 協(xié)議使用了 ARP 協(xié)議藐守,因此把 ARP 協(xié)議歸到網(wǎng)絡(luò)層挪丢,但 ARP 的作用是通過一個(gè) ARP 高速緩存存儲(chǔ)本地局域網(wǎng)的各主機(jī)和路由器的 IP 地址到硬件地址的映射表,以從網(wǎng)絡(luò)層的 IP 地址解析出在數(shù)據(jù)鏈路層使用的硬件地址卢厂,因此也可以把 ARP 劃歸在數(shù)據(jù)鏈路層乾蓬。與 ARP 對(duì)應(yīng)的協(xié)議是 RARP,逆地址解析協(xié)議慎恒,作用是使只知道自己硬件地址的主機(jī)能夠找出 IP 地址任内,但被 DHCP 協(xié)議取代。

路由選擇協(xié)議 RIP/OSPF/BGP-4

路由選擇協(xié)議有兩大類:內(nèi)部網(wǎng)關(guān)協(xié)議融柬,如 RIP 和 OSPF死嗦;外部網(wǎng)關(guān)協(xié)議,如 BGP-4粒氧。

RIP 是分布式的基于距離向量的路由選擇協(xié)議越除,只適用于小型互聯(lián)網(wǎng)。RIP 按照固定的時(shí)間間隔與相鄰路由器交換信息外盯,交換的信息是當(dāng)前路由表摘盆。OSPF 是分布式的鏈路狀態(tài)協(xié)議,適用于大型互聯(lián)網(wǎng)饱苟,只在鏈路狀態(tài)發(fā)生變化時(shí)才向本自治系統(tǒng)中的所有路由器用洪泛法發(fā)送與本路由器相鄰的所有路由器的鏈路狀態(tài)信息孩擂。

BGP-4 是不同自治系統(tǒng)的路由器之間交換路由信息的協(xié)議,是一種路徑向量路由選擇協(xié)議箱熬。其目標(biāo)是尋找一條能夠到達(dá)目的網(wǎng)絡(luò)且比較好的路由而不是最佳路由类垦。

網(wǎng)際控制報(bào)文協(xié)議 ICMP

ICMP 報(bào)文作為 IP 數(shù)據(jù)報(bào)的數(shù)據(jù)狈邑,加上首部后組成 IP 數(shù)據(jù)報(bào)發(fā)送出去,使用 ICMP 并非為了實(shí)現(xiàn)可靠傳輸蚤认,ICMP 允許主機(jī)或路由器報(bào)告差錯(cuò)情況和提供有關(guān)異常情況的報(bào)告米苹。ICMP 報(bào)文的種類有兩種,即 ICMP 差錯(cuò)報(bào)告報(bào)文和 ICMP 詢問報(bào)文烙懦。

ICMP 的一個(gè)重要應(yīng)用就是分組間探測(cè) PING驱入,用來測(cè)試兩臺(tái)主機(jī)之間的連通性,PING 使用了 ICMP 回送請(qǐng)求與回送回答報(bào)文氯析。

網(wǎng)際組管理協(xié)議 IGMP

IP 多播使用 IGMP 協(xié)議亏较,IGMP 并非在互聯(lián)網(wǎng)范圍內(nèi)對(duì)所有多播組成員進(jìn)行管理,它不知道 IP 多播組包含的成員個(gè)數(shù)也不知道這些成員都分布在哪些網(wǎng)絡(luò)上掩缓。

IGMP 協(xié)議是讓連接在本地局域網(wǎng)上的多播路由器知道本局域網(wǎng)上是否有主機(jī)上的某個(gè)進(jìn)程參加或推出了某個(gè)多播組雪情。

運(yùn)輸層的協(xié)議 ???

用戶數(shù)據(jù)報(bào)協(xié)議 UDP

UDP 只在 IP 的數(shù)據(jù)報(bào)服務(wù)上增加了很少一點(diǎn)功能,就是復(fù)用和分用以及差錯(cuò)檢測(cè)你辣,其特點(diǎn)主要是:UDP是無連接的巡通,發(fā)送數(shù)據(jù)之前不需要建立連接;UDP 使用盡最大努力交付舍哄,不保證數(shù)據(jù)傳輸?shù)目煽啃匝缌梗籙DP 是面向報(bào)文的,發(fā)送方 UDP 對(duì)應(yīng)用程序交下來的報(bào)文在添加首部后就向下交付 IP 層表悬;UDP 沒有擁塞控制弥锄;UDP 支持一對(duì)一、一對(duì)多蟆沫、多對(duì)一和多對(duì)多的交互通信籽暇;UDP 的首部開銷小,只有 8? 個(gè)字節(jié)饭庞,TCP 需要 20 字節(jié)戒悠。

傳輸控制協(xié)議 TCP (重點(diǎn))

特點(diǎn)

TCP是面向連接的運(yùn)輸層協(xié)議,所謂面向連接舟山,就是指TCP在進(jìn)行數(shù)據(jù)通信前需要先建立連接绸狐,主要是通過三次握手機(jī)制實(shí)現(xiàn),在進(jìn)行數(shù)據(jù)通信后累盗,需要斷開連接六孵,主要是通過四次揮手機(jī)制實(shí)現(xiàn)。

每條TCP連接只能有兩個(gè)端點(diǎn)幅骄,每一條TCP連接都是兩個(gè)端點(diǎn)之間的通信。

TCP提供可靠的交付服務(wù)本今,通過TCP發(fā)送的數(shù)據(jù)無差錯(cuò)拆座,不丟失主巍,不重復(fù)。

TCP是全雙工的通信挪凑,在發(fā)送端和接收端都設(shè)有緩存孕索,發(fā)送方將數(shù)據(jù)發(fā)送到緩存后就可以做自己的事,接收方將數(shù)據(jù)放入緩存躏碳,上層應(yīng)用程序會(huì)在合適的時(shí)機(jī)來獲取數(shù)據(jù)搞旭。

TCP是面向字節(jié)流的,所謂流就是流入進(jìn)程或者從進(jìn)程重流出的字節(jié)序列菇绵。雖然應(yīng)用進(jìn)程和TCP的交互是一次一個(gè)數(shù)據(jù)塊肄渗,但是TCP會(huì)將數(shù)據(jù)塊看成一連串無結(jié)構(gòu)的字節(jié)流,不能保證發(fā)送的數(shù)據(jù)塊和接收的數(shù)據(jù)塊大小是一致的咬最,但是字節(jié)流一定是完全一樣的翎嫡。

如何保證可靠

TCP的發(fā)送的報(bào)文是交給IP層傳送的,而IP只能提供盡最大努力服務(wù)永乌,所以TCP必須采取適當(dāng)?shù)拇胧┎拍苁沟脙蓚€(gè)運(yùn)輸層之間的通信變得可靠惑申。理想的通信有兩個(gè)條件,第一是傳輸?shù)臄?shù)據(jù)不會(huì)出現(xiàn)差錯(cuò)翅雏,第二是無論發(fā)生數(shù)據(jù)的速度有多快圈驼,接收端都來得及接收。但是在現(xiàn)實(shí)的網(wǎng)絡(luò)環(huán)境下幾乎是不可能實(shí)現(xiàn)的望几,TCP使用了重傳機(jī)制來解決傳輸數(shù)據(jù)出錯(cuò)的問題绩脆,使用流量控制來降低發(fā)送端的速度,以便接收端來的及接收橄妆。

停止等待協(xié)議

每發(fā)送一個(gè)分組就停下來衙伶,等收到了對(duì)方對(duì)該分組的確認(rèn)之后再繼續(xù)發(fā)送下一個(gè)分組。每發(fā)送完一個(gè)分組就設(shè)置一個(gè)超時(shí)計(jì)時(shí)器害碾,如果在規(guī)定的時(shí)間內(nèi)沒有收到分組的確認(rèn)消息矢劲,就會(huì)進(jìn)行超時(shí)重傳。在規(guī)定時(shí)間內(nèi)收到了確認(rèn)消息就會(huì)撤銷計(jì)時(shí)器慌随。

同時(shí)需要注意三點(diǎn):①計(jì)時(shí)器設(shè)置的超時(shí)時(shí)間應(yīng)該稍微長(zhǎng)于分組的往返時(shí)間芬沉,如果時(shí)間太長(zhǎng)通信效率就會(huì)很低,如果時(shí)間過短會(huì)產(chǎn)生不必要的重傳阁猜,浪費(fèi)網(wǎng)絡(luò)資源丸逸。②為每一個(gè)分組都設(shè)有一個(gè)副本,以便超時(shí)重傳時(shí)使用剃袍,當(dāng)收到了分組的確認(rèn)后再進(jìn)行清除黄刚。③分組和確認(rèn)分組都必須進(jìn)行編號(hào),這樣才能明確是哪一個(gè)分組收到了確認(rèn)民效。

ARQ協(xié)議

假設(shè)分組的確認(rèn)丟失了憔维,發(fā)送方在設(shè)定的超時(shí)時(shí)間內(nèi)沒有收到確認(rèn)涛救,不知道是自己發(fā)送的分組丟失還是接收方的確認(rèn)丟失,因此發(fā)送方需要重傳分組业扒。當(dāng)接收方收到了分組后就丟失這個(gè)分組检吆,重新發(fā)送確認(rèn)。

還有一種情況是分組沒有丟失但是晚到了程储,發(fā)送端會(huì)受到重復(fù)確認(rèn)蹭沛,會(huì)收下并且丟棄,接收端仍然會(huì)收到重復(fù)的分組章鲤,同樣丟棄并確認(rèn)摊灭。

上述確認(rèn)和重傳機(jī)制,即ARQ automatic repeat request咏窿,自動(dòng)重傳請(qǐng)求斟或,接收端不需要向發(fā)送端發(fā)送重傳請(qǐng)求,當(dāng)超過指定時(shí)間時(shí)發(fā)送端會(huì)自動(dòng)進(jìn)行超時(shí)重傳集嵌。

效率問題

停止等待協(xié)議的優(yōu)點(diǎn)是簡(jiǎn)單萝挤,缺點(diǎn)是信道利用率太低。信道利用率為TD/(TD+RTT+TA)根欧,TD是發(fā)送分組的時(shí)間怜珍,T2是發(fā)送確認(rèn)分組的時(shí)間,RTT是往返時(shí)間凤粗,當(dāng)RTT遠(yuǎn)大于TD時(shí)通信效率就會(huì)非常低酥泛。為了提高傳輸效率,可以采用流水線傳輸嫌拣,例如連續(xù)ARQ協(xié)議和窗口滑動(dòng)機(jī)制柔袁。

連續(xù)ARQ

連續(xù)ARQ規(guī)定每收到一個(gè)確認(rèn)就把發(fā)送窗口向前滑動(dòng)一個(gè)分組的位置,接收方一般采用累積確認(rèn)的方式异逐,就是說接收方不必對(duì)收到的分組逐個(gè)確認(rèn)捶索,只需要對(duì)按序到達(dá)的最后一個(gè)分組進(jìn)行確認(rèn)。優(yōu)點(diǎn)是實(shí)現(xiàn)容易灰瞻,即使確認(rèn)丟失也不必重傳腥例,確認(rèn)是不能向發(fā)送方反映出接收方已經(jīng)正確收到的所有分組的消息。例如發(fā)送方發(fā)生了5個(gè)分組酝润,第3個(gè)分組丟失了燎竖,接收方只能確認(rèn)前2個(gè),發(fā)送方必須把后面3個(gè)都重新發(fā)送要销。

滑動(dòng)窗口機(jī)制

滑動(dòng)窗口以字節(jié)為單位构回。發(fā)送端有一個(gè)發(fā)送窗口,窗口重的序號(hào)是允許發(fā)送的序號(hào),窗口的后沿是已經(jīng)發(fā)送并且確認(rèn)的序號(hào)捐凭,窗口的前沿是不允許發(fā)送的序號(hào)拨扶。窗口的后沿可能不動(dòng)(代表沒有收到新的確認(rèn)),也有可能前移(代表收到了新的確認(rèn))茁肠,但是不會(huì)后移(不可能撤銷已經(jīng)確認(rèn)的數(shù)據(jù))。窗口的前沿一般是向前的缩举,也有可能不動(dòng)(表示沒有收到新的請(qǐng)求或?qū)Ψ降慕邮沾翱谧冃垦梆。灿锌赡苁湛s仅孩,但是TCP強(qiáng)烈不建議這么做托猩,因?yàn)榘l(fā)送端在收到通知前可能已經(jīng)發(fā)送了很多數(shù)據(jù),此時(shí)如果收縮窗口可能會(huì)產(chǎn)生錯(cuò)誤辽慕。

滑動(dòng)窗口的狀態(tài)需要3個(gè)指針p1京腥,p2和p3。p1之前的序號(hào)表示已經(jīng)發(fā)送并且確認(rèn)的溅蛉,p1到p2的序號(hào)表示已經(jīng)發(fā)送但還沒有確認(rèn)的公浪,p2到p3表示允許發(fā)送的序號(hào),也叫可用窗口船侧,p1到p3表示發(fā)送窗口欠气,p3之后的序號(hào)表示不可發(fā)送的。

發(fā)送緩存用來暫時(shí)存放發(fā)送應(yīng)用程序傳給發(fā)送方TCP準(zhǔn)備發(fā)送的數(shù)據(jù)和已經(jīng)發(fā)送但還沒確認(rèn)的數(shù)據(jù)镜撩。

接收緩存用來暫時(shí)存放按序到達(dá)的但尚未被應(yīng)用程序讀取的數(shù)據(jù)预柒,未按序到達(dá)的數(shù)據(jù)。

注意三點(diǎn):①發(fā)送窗口根據(jù)接收窗口設(shè)置袁梗,但并不總是一樣大宜鸯,還要根據(jù)網(wǎng)絡(luò)的擁塞情況調(diào)整。②對(duì)于不按序到達(dá)的數(shù)據(jù)遮怜,TCP通常存放在接收窗口淋袖,等到字節(jié)流缺少的字節(jié)收到后再按序交付上層應(yīng)用程序。③接收方必須有累積確認(rèn)功能奈泪,可以減小傳輸開銷适贸,可以在合適的時(shí)候發(fā)送確認(rèn),也可以在自己有數(shù)據(jù)需要發(fā)送時(shí)捎帶確認(rèn)涝桅。但是接收方不能過分推遲發(fā)送確認(rèn)拜姿,不能超過0.5秒。

流量控制

一般我們都希望發(fā)送數(shù)據(jù)的速度盡可能快冯遂,但如果發(fā)送數(shù)據(jù)的速度過快蕊肥,接收端來不及接收,就可能導(dǎo)致數(shù)據(jù)丟失的問題。所謂流量控制壁却,就是根據(jù)接收端的接收能力批狱,動(dòng)態(tài)地調(diào)整發(fā)送端的發(fā)送速度,確保接收端來的及接收展东。流量控制主要是通過滑動(dòng)窗口機(jī)制實(shí)現(xiàn)的赔硫。

發(fā)送窗口不能超過接收方的接收窗口,在0窗口通知后可能會(huì)出現(xiàn)死鎖問題盐肃,接收方的接收緩沖又有了一些存儲(chǔ)空間爪膊,但該通知丟失了,發(fā)送方和接收方互相等待消息砸王。TCP為每一個(gè)連接設(shè)有一個(gè)持續(xù)計(jì)時(shí)器推盛,只要收到了0窗口通知就啟動(dòng)計(jì)時(shí)器,到時(shí)候發(fā)送1字節(jié)大小的0窗口探測(cè)報(bào)文谦铃,如果仍是0就重置計(jì)時(shí)器耘成,如果不是0就打破了死鎖的僵局。

擁塞控制

當(dāng)網(wǎng)絡(luò)中對(duì)資源的需求超過了資源的可用量驹闰,就叫做擁塞瘪菌。當(dāng)吞吐量明顯小于理想的吞吐量時(shí)就出現(xiàn)了輕度擁塞,當(dāng)吞吐量隨著負(fù)載的增加反而下降時(shí)疮方,網(wǎng)絡(luò)就進(jìn)入了擁塞狀態(tài)控嗜。當(dāng)吞吐量降為0時(shí),網(wǎng)絡(luò)已無法正常工作骡显,進(jìn)入了死鎖疆栏。擁塞控制就是盡量減少注入網(wǎng)絡(luò)的數(shù)據(jù),減輕網(wǎng)絡(luò)中的路由器和鏈路的負(fù)擔(dān)惫谤。

擁塞控制是一個(gè)全局性的問題壁顶,它涉及網(wǎng)絡(luò)中的所有路由器和主機(jī),而流量控制只是一個(gè)端到端的問題溜歪,是兩個(gè)端點(diǎn)之間通信量的控制若专。

擁塞控制有開環(huán)和閉環(huán)手段,開環(huán)就是在設(shè)計(jì)網(wǎng)絡(luò)時(shí)事先將有關(guān)發(fā)生阻塞的因素考慮到蝴猪,缺點(diǎn)是系統(tǒng)一旦開始運(yùn)行就不能更改调衰。閉環(huán)則是基于反饋環(huán)路動(dòng)態(tài)處理,監(jiān)測(cè)網(wǎng)絡(luò)以便檢測(cè)擁塞發(fā)生的時(shí)間和地點(diǎn)自阱,把擁塞發(fā)生的信息傳送到可采取行動(dòng)的地方嚎莉,調(diào)整網(wǎng)絡(luò)系統(tǒng)的運(yùn)行解決問題。

擁塞控制主要有四個(gè)方法沛豌,慢開始趋箩,擁塞避免,快重傳和快恢復(fù)。

所謂慢開始叫确,就是基于窗口的擁塞控制跳芳,發(fā)送端設(shè)有一個(gè)擁塞窗口,擁塞窗口取決于網(wǎng)絡(luò)的擁塞程度竹勉,發(fā)送窗口就等于擁塞窗口飞盆,初始時(shí)為了防止注入過多的數(shù)據(jù)引起網(wǎng)絡(luò)擁塞,所以將擁塞窗口值設(shè)為1饶米,然后逐漸增大擁塞窗口桨啃,逐漸增大發(fā)送窗口,每經(jīng)過一次傳輸輪次檬输,擁塞窗口就加倍。有一個(gè)慢開始門限匈棘,當(dāng)小于該值時(shí)就使用慢開始九秀,等于時(shí)既可以使用慢開始也可以使用擁塞避免淌铐,大于該值時(shí)使用擁塞避免。

擁塞避免就是每經(jīng)過一個(gè)往返時(shí)間RRT將擁塞窗口的值增加1,而不是像慢開始那樣加倍地增大擁塞窗口秧饮。慢開始不是指窗口增大的速度慢,而是在TCP開始發(fā)生報(bào)文時(shí)先設(shè)置擁塞窗口為1峦甩,使發(fā)送方開始只發(fā)送一個(gè)報(bào)文段嘱朽,相比一下將許多報(bào)文注入到網(wǎng)絡(luò)慢。

但是有時(shí)候個(gè)報(bào)文段丟失瘩将,而網(wǎng)絡(luò)中并沒有出現(xiàn)擁塞吟税,錯(cuò)誤地導(dǎo)致慢開始,降低了傳輸效率姿现。這時(shí)應(yīng)該使用快重傳來讓發(fā)送方盡早知道出現(xiàn)了個(gè)別分組的丟失肠仪,快重傳要求接收端不要等待自己發(fā)送數(shù)據(jù)時(shí)再捎帶確認(rèn),而是要立即發(fā)送確認(rèn)备典。即使收到了亂序的報(bào)文段后也要立即發(fā)出對(duì)已收到報(bào)文段的重復(fù)確認(rèn)异旧。當(dāng)發(fā)送端連續(xù)收到三個(gè)重復(fù)的確認(rèn)后就知道出現(xiàn)了報(bào)文段丟失的情況,就會(huì)立即重傳提佣,快重傳可以使整個(gè)網(wǎng)絡(luò)的吞吐量提升約20%吮蛹。

當(dāng)發(fā)送方知道了只是丟失了個(gè)別報(bào)文段使,不會(huì)使用慢開始拌屏,而是使用快恢復(fù)來設(shè)置阻塞窗口的值潮针,并開始執(zhí)行擁塞避免算法。

三次握手

TCP是全雙工通信槐壳,任何一方都可以發(fā)起建立連接的請(qǐng)求然低,假設(shè)A是客戶端,B是服務(wù)器。

初始時(shí)A和B均處于CLOSED狀態(tài)雳攘,B會(huì)創(chuàng)建傳輸進(jìn)程控制塊TCB带兜,然后處于LISTEND狀態(tài),監(jiān)聽端口是否收到了TCP請(qǐng)求以便及時(shí)響應(yīng)吨灭。

當(dāng)A要發(fā)生數(shù)據(jù)時(shí)刚照,就向B發(fā)送一個(gè)連接請(qǐng)求報(bào)文,TCP規(guī)定連接請(qǐng)求報(bào)文的SYN=1喧兄,ACK=0无畔,SYN表示synchronization,ACK表示acknowledgement吠冤,SYN不可以攜帶數(shù)據(jù)浑彰,但要消耗一個(gè)序號(hào),此時(shí)A發(fā)送的序號(hào)seq假設(shè)為x拯辙。發(fā)送完之后郭变,A就進(jìn)入了SYN-SENT同步已發(fā)送狀態(tài)。

當(dāng)B收到了A的連接請(qǐng)求報(bào)文后涯保,如果B同意建立連接诉濒,會(huì)發(fā)送給A一個(gè)確認(rèn)連接請(qǐng)求報(bào)文,其中SYN=1夕春,ACK=1未荒,ack=x+1,seq=y及志,ack的值為A發(fā)送的序號(hào)加1片排,ACK可以攜帶數(shù)據(jù),如果不攜帶的話困肩,則不消耗序號(hào)划纽。發(fā)送完之后,B進(jìn)入SYN-RCVD同步已接收狀態(tài)锌畸。

當(dāng)A收到了B的確認(rèn)連接請(qǐng)求報(bào)文后勇劣,還要對(duì)該確認(rèn)再進(jìn)行一次確認(rèn),報(bào)文的ACK=1潭枣,ack=y+1比默,seq=x+1,發(fā)送之后A處于established狀態(tài)盆犁,當(dāng)B接收到該報(bào)文后也進(jìn)入established狀態(tài)命咐。

之所以要進(jìn)行三次握手,是因?yàn)榈诙挝帐謺r(shí)A知道了自己的發(fā)送和接收是沒有問題的谐岁,而第三次握手時(shí)B才能知道自己的發(fā)送和接收也都是沒有問題的醋奠。同時(shí)三次握手防止了已失效的連接請(qǐng)求問題榛臼,假設(shè)這樣一種正常情況,A發(fā)送的第一個(gè)連接請(qǐng)求報(bào)文丟失了窜司,之后超時(shí)重傳沛善,建立了連接,通信之后釋放了連接塞祈。但假設(shè)A第一個(gè)發(fā)送的連接請(qǐng)求報(bào)文并沒有丟失金刁,而是在網(wǎng)絡(luò)中某結(jié)點(diǎn)停滯了,之后又到達(dá)了B议薪。如果是兩次握手尤蛮,此時(shí)B會(huì)以為是A請(qǐng)求建立連接,同意之后并不會(huì)收到任何數(shù)據(jù)斯议,因?yàn)锳已經(jīng)關(guān)閉了产捞,此時(shí)B的資源就會(huì)被白白浪費(fèi)。

四次揮手

當(dāng)A已經(jīng)沒有要發(fā)送的數(shù)據(jù)了哼御,決定釋放連接轧葛,就會(huì)發(fā)送一個(gè)終止連接報(bào)文,其中FIN=1艇搀,seq=u,u的值為之前A發(fā)送的最后一個(gè)序號(hào)+1求晶。此時(shí)A進(jìn)入FIN-WAIT-1狀態(tài)焰雕。

B收到該報(bào)文后,發(fā)送給A一個(gè)確認(rèn)報(bào)文芳杏,ACK=1矩屁,ack=u+1,seq=v爵赵,v的值為B之前發(fā)送的最后一個(gè)序號(hào)+1吝秕。此時(shí)A進(jìn)入了FIN-WAIT-2狀態(tài),但B進(jìn)入了CLOSE-WAIT狀態(tài)空幻,但連接并未完全釋放烁峭,B會(huì)通知高層的應(yīng)用層結(jié)束A到B這一方向的連接,此時(shí)TCP處于半關(guān)閉狀態(tài)秕铛。

當(dāng)B發(fā)送完數(shù)據(jù)后约郁,準(zhǔn)備釋放連接時(shí)就向A發(fā)送連接終止報(bào)文,F(xiàn)IN=1但两,同時(shí)還要重發(fā)ACK=1鬓梅,ack=u+1,seq=w(在半關(guān)閉狀態(tài)B可能又發(fā)送了一些數(shù)據(jù))谨湘。此時(shí)B進(jìn)入LAST-ACK狀態(tài)绽快。

A收到連接終止報(bào)文后還要再進(jìn)行一次確認(rèn)芥丧,確認(rèn)報(bào)文中ACK=1,ack=w+1坊罢,seq=u+1续担。發(fā)送完之后進(jìn)入TIME-WAIT狀態(tài),等待2MSL之后進(jìn)入CLOSED狀態(tài)艘绍,B收到該確認(rèn)后也進(jìn)入CLOSED狀態(tài)赤拒。

MSL是最大報(bào)文段壽命,之所以要等待2MSL是為了保證A發(fā)送的最后一個(gè)ACK報(bào)文能被B接收诱鞠,如果A發(fā)送的確認(rèn)報(bào)文丟失挎挖,B沒有收到就會(huì)超時(shí)重傳之前的FIN+ACK報(bào)文,而如果A在發(fā)送了確認(rèn)報(bào)文之后就立即釋放連接就無法收到B超時(shí)重傳的報(bào)文航夺,因而也不會(huì)再一次發(fā)送確認(rèn)報(bào)文段蕉朵,B就無法正常進(jìn)入CLOSED狀態(tài)。第二點(diǎn)原因是2MSL時(shí)間之后阳掐,本連接中的所有報(bào)文就都會(huì)從網(wǎng)絡(luò)中消失始衅,防止出現(xiàn)三次握手中的已失效的請(qǐng)求報(bào)文問題,影響下一次的TCP連接缭保。

之所以不是三次揮手是因?yàn)榉?wù)器TCP是全雙工的汛闸,當(dāng)A發(fā)送完數(shù)據(jù)之后可能B還沒有發(fā)送完,當(dāng)B發(fā)送完所有的數(shù)據(jù)之后才會(huì)關(guān)閉B到A方向的連接艺骂。

除此之外诸老,TCP還設(shè)有一個(gè)保活計(jì)時(shí)器钳恕,用于解決服務(wù)器故障的問題别伏,服務(wù)器每收到一次客戶的數(shù)據(jù)就重新設(shè)置保活計(jì)時(shí)器忧额,時(shí)間為2小時(shí)厘肮。如果2小時(shí)內(nèi)沒有收到就間隔75秒發(fā)送一次探測(cè)報(bào)文,連續(xù)10次都沒有響應(yīng)后就關(guān)閉連接睦番。

應(yīng)用層的協(xié)議 ???

域名解析系統(tǒng) DNS

DNS 被設(shè)計(jì)為一個(gè)聯(lián)機(jī)分布式數(shù)據(jù)庫(kù)系統(tǒng)类茂,并采用客戶服務(wù)器方式。DNS 使大多數(shù)名字都在本地進(jìn)行解析抡砂,僅少量解析需要在互聯(lián)網(wǎng)上通信大咱,因此 DNS 的效率很高。由于 DNS 是分布式系統(tǒng)注益,即使單個(gè)計(jì)算機(jī)出現(xiàn)了故障也不會(huì)妨礙到整個(gè) DNS 系統(tǒng)的正常運(yùn)行碴巾。

域名的解析過程

主機(jī)向本地域名服務(wù)器的查詢一般都采用遞歸查詢,遞歸查詢指如果主機(jī)所詢問的本地域名服務(wù)器不知道被查詢域名的 IP 地址丑搔,那么本地域名服務(wù)器就以 DNS 客戶的身份向其他根域名服務(wù)器繼續(xù)發(fā)出查詢請(qǐng)求報(bào)文厦瓢。遞歸查詢額結(jié)果是要查詢的 IP 地址提揍,或者是報(bào)錯(cuò),表示無法查詢到所需的 IP 地址煮仇。

本地域名服務(wù)器向根域名服務(wù)器查詢通常采用迭代查詢劳跃,迭代查詢指當(dāng)根域名服務(wù)器收到本地域名服務(wù)器發(fā)出的迭代查詢請(qǐng)求報(bào)文時(shí),要么給出所要查詢的 IP 地址浙垫,要么告訴它該向哪一個(gè)域名服務(wù)器進(jìn)行查詢刨仑。本地域名服務(wù)器也可以采用遞歸查詢,這取決于最初的查詢請(qǐng)求報(bào)文設(shè)置的查詢方式夹姥。

文件傳送協(xié)議 FTP

FTP 使用 TCP 可靠的運(yùn)輸服務(wù)杉武,F(xiàn)TP 使用客戶服務(wù)器方式,一個(gè) FTP 服務(wù)器進(jìn)程可以同時(shí)為多個(gè)客戶進(jìn)程提供服務(wù)辙售,在進(jìn)行文件傳輸時(shí)轻抱,F(xiàn)TP 的客戶和服務(wù)器之間要建立兩個(gè)并行的 TCP 連接:控制連接和數(shù)據(jù)連接,實(shí)際用于傳輸文件的是數(shù)據(jù)連接旦部。

超文本傳輸協(xié)議 HTTP (重點(diǎn))

HTTP是超文本傳輸協(xié)議祈搜,規(guī)范了瀏覽器如何向萬維網(wǎng)服務(wù)器請(qǐng)求萬維網(wǎng)文檔,服務(wù)器如何向?yàn)g覽器發(fā)送萬維網(wǎng)文檔士八。從層次的角度看容燕,HTTP是面向事務(wù)的應(yīng)用層協(xié)議,是瀏覽器和服務(wù)器之間的傳送數(shù)據(jù)文件的重要基礎(chǔ)婚度。

特點(diǎn)

HTTP是無狀態(tài)的缰趋,之所以說無狀態(tài)是因?yàn)镠TTP對(duì)事務(wù)沒有記憶性。同一個(gè)客戶第二次訪問同一個(gè)服務(wù)器陕见,服務(wù)器的響應(yīng)結(jié)果和第一次是一樣的。HTTP的無狀態(tài)簡(jiǎn)化了服務(wù)器的設(shè)計(jì)味抖,允許服務(wù)器支持高并發(fā)的HTTP請(qǐng)求评甜。如果要解決無狀態(tài)的問題,可以使用cookie和session仔涩。Cookie相當(dāng)于服務(wù)器給瀏覽器的一個(gè)通行證忍坷,是一個(gè)唯一識(shí)別碼,服務(wù)器發(fā)送的響應(yīng)報(bào)文包含 Set-Cookie 首部字段熔脂,客戶端得到響應(yīng)報(bào)文后把 Cookie 內(nèi)容保存到瀏覽器中佩研。客戶端之后對(duì)同一個(gè)服務(wù)器發(fā)送請(qǐng)求時(shí)霞揉,會(huì)從瀏覽器中取出 Cookie 信息并通過 Cookie 請(qǐng)求首部字段發(fā)送給服務(wù)器旬薯,服務(wù)器就可以識(shí)別是否是同一個(gè)客戶。Session是服務(wù)器的會(huì)話技術(shù)适秩,是存儲(chǔ)在服務(wù)器的绊序。區(qū)別:①Cookie只能存儲(chǔ)ASCII 碼字符串硕舆,而 Session 則可以存儲(chǔ)任何類型的數(shù)據(jù),因此在考慮數(shù)據(jù)復(fù)雜性時(shí)首選Session骤公。②Cookie 存儲(chǔ)在瀏覽器中抚官,容易被惡意查看。如果非要將一些隱私數(shù)據(jù)存在 Cookie 中阶捆,可以將 Cookie 值進(jìn)行加密凌节,然后在服務(wù)器進(jìn)行解密。③對(duì)于大型網(wǎng)站洒试,如果用戶所有的信息都存儲(chǔ)在 Session 中倍奢,那么開銷是非常大的,因此不建議將所有的用戶信息都存儲(chǔ)到 Session 中儡司。

結(jié)構(gòu)

HTTP報(bào)文分為HTTP請(qǐng)求報(bào)文和響應(yīng)報(bào)文娱挨,請(qǐng)求報(bào)文由請(qǐng)求行(請(qǐng)求方法,請(qǐng)求資源的URL和HTTP的版本)捕犬、首部行和實(shí)體(通常不用)組成跷坝。響應(yīng)報(bào)文由狀態(tài)行(狀態(tài)碼,短語和HTTP版本)碉碉、首部行和實(shí)體(有些不用)組成柴钻。

方法

GET:主要同于獲取資源,用于訪問被URI統(tǒng)一資源標(biāo)識(shí)符識(shí)別的資源垢粮。

POST:主要用于傳遞信息給服務(wù)器贴届。

參數(shù):GET和POST的請(qǐng)求都能使用額外的參數(shù),但是 GET 的參數(shù)是以查詢字符串出現(xiàn)在 URL 中蜡吧,而POST的參數(shù)存儲(chǔ)在實(shí)體主體中毫蚓。不能因?yàn)?POST 參數(shù)存儲(chǔ)在實(shí)體主體中就認(rèn)為它的安全性更高,因?yàn)檎諛涌梢酝ㄟ^一些抓包工具查看昔善。

安全性:安全的HTTP方法不會(huì)改變服務(wù)器狀態(tài)元潘,也就是說它只是可讀的。GET方法是安全的君仆,而POST卻不是翩概,因?yàn)?POST 的目的是傳送實(shí)體主體內(nèi)容,這個(gè)內(nèi)容可能是用戶上傳的表單數(shù)據(jù)返咱,上傳成功之后钥庇,服務(wù)器可能把這個(gè)數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)中,因此狀態(tài)也就發(fā)生了改變咖摹。

發(fā)送數(shù)據(jù):XMLHttpRequest是一個(gè) API评姨,在Ajax中大量使用。它為客戶端提供了在客戶端和服務(wù)器之間傳輸數(shù)據(jù)的功能萤晴。它提供了一個(gè)通過URL 來獲取數(shù)據(jù)的簡(jiǎn)單方式参咙,并且不會(huì)使整個(gè)頁(yè)面刷新龄广。這使得網(wǎng)頁(yè)只更新一部分頁(yè)面而不會(huì)打擾到用戶。

使用XMLHttpRequest時(shí)蕴侧,GET請(qǐng)求發(fā)送一個(gè)TCP數(shù)據(jù)包择同,瀏覽器同時(shí)發(fā)送HTTP header和data,服務(wù)器響應(yīng)狀態(tài)碼200净宵。POST每次發(fā)送兩個(gè)TCP數(shù)據(jù)包敲才,瀏覽器先發(fā)送HTTP header,服務(wù)器收到后返回100(continue)择葡,瀏覽器再繼續(xù)發(fā)送data紧武,服務(wù)器響應(yīng)200。

PUT 上傳文件 DELETE 刪除文件 OPTIONS 查看當(dāng)前URL支持的HTTP方法 HEAD 獲取首部

流程

①先檢查輸入的URL是否合法敏储,然后查詢?yōu)g覽器的緩存阻星,如果有則直接顯示。

②通過DNS域名解析服務(wù)解析IP地址已添,先從瀏覽器緩存查詢妥箕、然后是操作系統(tǒng)和hosts文件的緩存,如果沒有查詢本地服務(wù)器的緩存更舞。

③通過TCP的三次握手機(jī)制建立連接畦幢,建立連接后向服務(wù)器發(fā)送HTTP請(qǐng)求,請(qǐng)求數(shù)據(jù)包缆蝉。

④服務(wù)器收到瀏覽器的請(qǐng)求后宇葱,進(jìn)行處理并響應(yīng)。

⑤瀏覽器收到服務(wù)器數(shù)據(jù)后刊头,如果可以就存入緩存黍瞧。

⑥瀏覽器發(fā)送請(qǐng)求內(nèi)嵌在HTML中的資源,例如css原杂、js雷逆、圖片和視頻等,如果是未知類型會(huì)彈出對(duì)話框污尉。

⑦瀏覽器渲染頁(yè)面并呈現(xiàn)給用戶。

HTTP1.1

HTTP1.0使用的是非持續(xù)連接往产,每次請(qǐng)求文檔就有2倍的RTT開銷被碗,另外客戶和服務(wù)器每一次建立新的TCP連接都要分配緩存和變量,這種非持續(xù)連接會(huì)給服務(wù)器造成很大的壓力仿村。

HTTP1.1使用的是持續(xù)連接锐朴,服務(wù)器會(huì)在發(fā)送響應(yīng)后在一段時(shí)間內(nèi)繼續(xù)保持這條連接,使同一個(gè)瀏覽器和服務(wù)器可以繼續(xù)在這條連接上傳輸后續(xù)的HTTP請(qǐng)求和響應(yīng)報(bào)文蔼囊。HTTP1.1的持續(xù)連接有兩種工作方式焚志,非流水線和流水線方式衣迷。非流水線方式就是客戶在收到前一個(gè)響應(yīng)后才能發(fā)送下一個(gè)請(qǐng)求,流水線方式是客戶收到響應(yīng)前就能連著發(fā)送新的請(qǐng)求酱酬。

HTTPS

特點(diǎn)

HTTP有很大的安全隱患:使用明文進(jìn)行通信壶谒,內(nèi)容可能會(huì)被竊聽。不驗(yàn)證通信方的身份膳沽,通信方的身份有可能遭遇偽裝汗菜。無法證明報(bào)文的完整性,報(bào)文有可能遭篡改挑社。

HTTPS是以安全為目標(biāo)的HTTP通道陨界,S代表security,讓HTTP先和SSL通信痛阻,再由SSL和TCP 通信菌瘪,也就是說 HTTPS使用了隧道進(jìn)行通信。通過使用 SSL阱当,HTTPS 具有了加密(防竊聽)俏扩、認(rèn)證(防偽裝)和完整性保護(hù)(防篡改)。

HTTP的端口是80斗这,而HTTPS的端口是443动猬。

流程

加密算法主要有對(duì)稱加密和非對(duì)稱加密,對(duì)稱加密的運(yùn)算速度快表箭,但安全性不高赁咙。非對(duì)稱密鑰加密,加密和解密使用不同的密鑰免钻。公開密鑰所有人都可以獲得彼水,通信發(fā)送方獲得接收方的公開密鑰之后,就可以使用公開密鑰進(jìn)行加密极舔,接收方收到通信內(nèi)容后使用私有密鑰解密。

非對(duì)稱密鑰除了用來加密還可以用來進(jìn)行簽名拆魏。因?yàn)樗接忻荑€無法被其他人獲取,因此通信發(fā)送方使用其私有密鑰進(jìn)行簽名渤刃,通信接收方使用發(fā)送方的公開密鑰對(duì)簽名進(jìn)行解密,就能判斷這個(gè)簽名是否正確卖子。非對(duì)稱加密的運(yùn)算速度慢,但是更安全玄柠。HTTPS采用混合的加密機(jī)制,使用非對(duì)稱密鑰加密用于傳輸對(duì)稱密鑰來保證傳輸過程的安全性羽利,之后使用對(duì)稱密鑰加密進(jìn)行通信來保證通信過程的效率宫患。

瀏覽器和服務(wù)器建立TCP連接后,會(huì)發(fā)送一個(gè)證書請(qǐng)求铐伴,其中包含了自己可以實(shí)現(xiàn)的算法列表和一些必要信息撮奏,用于商議雙方使用的加密算法。

服務(wù)器收到請(qǐng)求后會(huì)選擇加密算法当宴,然后返回證書畜吊,包含了服務(wù)器的信息,域名户矢、申請(qǐng)證書的公司玲献、加密的公鑰以及加密的算法等。

瀏覽器收到之后梯浪,檢查簽發(fā)該證書的機(jī)構(gòu)是否正確捌年,該機(jī)構(gòu)的公鑰簽名是否有效,如果有效就生成對(duì)稱密鑰挂洛,并利用公鑰對(duì)其加密礼预,然后發(fā)送給服務(wù)器。

服務(wù)器收到密鑰后虏劲,利用自己的私鑰解密托酸。之后瀏覽器和服務(wù)器就可以基于對(duì)稱加密對(duì)數(shù)據(jù)進(jìn)行加密和通信。

電子郵件系統(tǒng)協(xié)議 SMTP/POP3/IMAP

一個(gè)電子郵件系統(tǒng)有三個(gè)主要組成構(gòu)件柒巫,即用戶代理励堡、郵件服務(wù)器、以及郵件協(xié)議堡掏。

從用戶代理把郵件傳送到郵件服務(wù)器应结,以及在郵件服務(wù)器之間的傳送都要使用 SMTP,但用戶代理從郵件服務(wù)器讀取郵件時(shí)則要使用 POP3 或 IMAP 協(xié)議泉唁。

基于萬維網(wǎng)的電子郵件使用戶可以利用瀏覽器收發(fā)電子郵件鹅龄,用戶瀏覽器和郵件服務(wù)器之間使用 HTTP 協(xié)議,而郵件服務(wù)器之間的傳送仍然使用 SMTP 協(xié)議亭畜。

簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議 SNMP

SNMP 由三部分組成扮休,SNMP 本身,負(fù)責(zé)讀取和改變各代理中的對(duì)象名及其狀態(tài)數(shù)值宝踪;管理信息結(jié)構(gòu) SMI,定義命名對(duì)象和對(duì)象類型的通用規(guī)則秕重,以及把對(duì)象之間值進(jìn)行編碼的基本編碼規(guī)范 BER溶耘;管理信息庫(kù) MIB凳兵,在被管理的實(shí)體中創(chuàng)建命名對(duì)象并規(guī)定其類型企软。

WEB安全 ??

概述

計(jì)算機(jī)網(wǎng)絡(luò)面臨的威脅主要有被動(dòng)攻擊和主動(dòng)攻擊仗哨。

被動(dòng)攻擊指攻擊者從網(wǎng)絡(luò)上竊聽他人的通信內(nèi)容厌漂,也叫截獲。在被動(dòng)攻擊中富纸,攻擊者只是觀察和分析某一協(xié)議數(shù)據(jù)單元PDU而不干擾信息流胜嗓。攻擊者可以通過觀察PDU的協(xié)議控制信息部分辞州,了解正在通信的協(xié)議的地址和身份寥粹,通過研究PDU的長(zhǎng)度和發(fā)送頻度涝涤,了解所交換的數(shù)據(jù)的某種性質(zhì)阔拳。這種攻擊又叫做流量分析。

主動(dòng)攻擊包括:

篡改:攻擊者故意篡改網(wǎng)絡(luò)上傳輸?shù)膱?bào)文遗锣,包括徹底中斷傳送的報(bào)文嗤形,甚至把完全偽造的報(bào)文發(fā)給接收端赋兵,這種攻擊方式也叫做更改報(bào)文流。

惡意程序:計(jì)算機(jī)病毒霹期,能夠傳染其他程序的程序经伙,主要通過修改其他程序來把自身或自身的變種復(fù)制進(jìn)去完成帕膜。計(jì)算機(jī)蠕蟲垮刹,通過網(wǎng)絡(luò)通信能把自己從一個(gè)結(jié)點(diǎn)發(fā)往另一個(gè)節(jié)點(diǎn)并且自動(dòng)啟動(dòng)運(yùn)行的程序酪劫。特洛伊木馬,它執(zhí)行的功能并非聲稱的功能而是惡意程序覆糟,例如一個(gè)編譯程序除了完成編譯任務(wù)外還偷偷地復(fù)制源程序滩字。邏輯炸彈麦箍,當(dāng)運(yùn)行環(huán)境滿足某種特殊條件時(shí)就會(huì)執(zhí)行特殊功能的程序挟裂,例如當(dāng)日期為22號(hào)且為周三的時(shí)候就會(huì)刪除所有文件诀蓉。后門入侵,指利用系統(tǒng)實(shí)現(xiàn)中的漏洞通過網(wǎng)絡(luò)入侵系統(tǒng)划滋。流氓軟件,一種未經(jīng)用戶同意就在用戶計(jì)算機(jī)上安裝并損害用戶利益的軟件架专。

拒絕服務(wù)DoS:攻擊者向互聯(lián)網(wǎng)上某個(gè)服務(wù)器不停地發(fā)送大量分組玄帕,使其無法提供正常服務(wù)甚至完全癱瘓裤纹。如果從互聯(lián)網(wǎng)成百上千的網(wǎng)站一起攻擊一個(gè)網(wǎng)站就叫做分布式拒絕服務(wù)DDoS鹰椒,有時(shí)也叫網(wǎng)絡(luò)寬帶攻擊漆际。

ARP欺騙:在使用以太網(wǎng)交換機(jī)的網(wǎng)絡(luò)中奸汇,攻擊者向某個(gè)以太網(wǎng)交換機(jī)發(fā)送大量的偽造源MAC的地址擂找,以太網(wǎng)交換機(jī)收到這樣的幀就把虛假的MAC源地址填入到交換表中,由于偽造的數(shù)量很大很快就填滿了表听哭,導(dǎo)致以太網(wǎng)交換機(jī)無法正常工作欢唾。

對(duì)于主動(dòng)攻擊可以采取適當(dāng)?shù)拇胧z測(cè)礁遣,對(duì)于被動(dòng)攻擊通常是檢測(cè)不出來的祟霍。根據(jù)這些特點(diǎn)沸呐,得出計(jì)算機(jī)網(wǎng)絡(luò)安全的主要目標(biāo)如下:①防止報(bào)文內(nèi)容分析和流量分析崭添。②防止惡意程序呼渣。③防止更改報(bào)文流和拒絕服務(wù)屁置。

安全的計(jì)算機(jī)網(wǎng)絡(luò)有4個(gè)目標(biāo):①保密性,只有信息的發(fā)送方和接收方看得懂信息阱穗,這是最基本的要求揪阶,需要利用密碼技術(shù)實(shí)現(xiàn)遣钳。②端點(diǎn)鑒別蕴茴,鑒別信息的發(fā)送方和接收方的真實(shí)身份姐直,對(duì)于主動(dòng)攻擊非常重要撞叽。③信息完整性愿棋,確保信息的內(nèi)容沒有被篡改過均牢,和端點(diǎn)鑒別密不可分甘邀。④運(yùn)行安全性,通過訪問控制來控制權(quán)限坞琴,規(guī)定每個(gè)用戶的訪問權(quán)限剧辐。

密碼體制

對(duì)稱密碼密鑰體制

加密密鑰和解密密鑰使用相同的密碼體制浙于,例如數(shù)據(jù)加密標(biāo)準(zhǔn)DES,保密性取決于對(duì)密鑰的保密紊服,而算法是公開的欺嗤。在DES之后提出了高級(jí)加密標(biāo)準(zhǔn)AES來取代DES煎饼。

公鑰密碼體制

又叫公開密鑰密碼體制,加密和解密使用不同的密鑰马篮。產(chǎn)生的主要原因是對(duì)稱密碼密鑰體制的密鑰分配問題浑测,如果事先約定密鑰迁央,就會(huì)給密鑰的管理和分配帶來很大的不便。另一個(gè)原因是對(duì)于數(shù)字簽名的需要讹语,許多應(yīng)用中人們需要通過對(duì)純數(shù)字的電子信息簽名募强,表明該信息是由某個(gè)特定的人產(chǎn)生的慌烧。

數(shù)字簽名

確保實(shí)現(xiàn)以下功能:①報(bào)文鑒別屹蚊,接收者能夠核實(shí)發(fā)送者的身份汹粤。②報(bào)文的完整性,接收者可以確信收到的報(bào)文沒有被人篡改過芹壕。③不可否認(rèn)踢涌,發(fā)送方事后不能抵賴對(duì)報(bào)文的簽名睁壁。

鑒別

報(bào)文鑒別:鑒別所收到的報(bào)文的確是報(bào)文發(fā)送者自己發(fā)送的,而不是其他人偽造或篡改的钉疫,包含了端點(diǎn)鑒別和報(bào)文完整性的鑒別,通過密碼散列函數(shù)如MD5巢价、SHA-1牲阁,報(bào)文鑒別碼等實(shí)現(xiàn)。

實(shí)體鑒別:僅鑒別發(fā)送報(bào)文的實(shí)體壤躲,可以是一個(gè)人也可以是進(jìn)程和服務(wù)器城菊,這就是端點(diǎn)鑒別。報(bào)文鑒別需要對(duì)每一個(gè)報(bào)文進(jìn)行鑒別碉克,實(shí)體鑒別是在系統(tǒng)接入的全部時(shí)間內(nèi)對(duì)和自己通信的對(duì)方實(shí)體驗(yàn)證一次凌唬。

網(wǎng)絡(luò)層安全協(xié)議

IPsec,不是一個(gè)單獨(dú)的協(xié)議而是IP層提供網(wǎng)絡(luò)通信安全的協(xié)議族漏麦,沒有限定用戶使用哪種加密和鑒別算法,是一個(gè)框架测垛,允許通信雙方選擇合適的算法和參數(shù)锯七,為保證互操作性,實(shí)現(xiàn)了一套加密算法。

可以劃分為三部分:①IP數(shù)據(jù)報(bào)格式的2個(gè)協(xié)議脉执,鑒別首部AH和封裝安全有效載荷ESP巫橄。AH可以提供源點(diǎn)鑒別和數(shù)據(jù)完整性,但是不能保密,而ESP三者皆可。②有關(guān)算法的協(xié)議麻献。③互聯(lián)網(wǎng)密鑰交換協(xié)議IKE餐曼。使用AH或ESP的數(shù)據(jù)報(bào)又叫IP安全數(shù)據(jù)報(bào),有兩種工作方式:運(yùn)輸方式,在整個(gè)運(yùn)輸層的報(bào)文段前后加上若干控制信息,再加上IP首部構(gòu)成IP安全數(shù)據(jù)報(bào)。隧道形式,在原始IP數(shù)據(jù)報(bào)的前后添加若干控制信息,再加上新的IP首部構(gòu)成一個(gè)IP安全數(shù)據(jù)報(bào)。

運(yùn)輸層安全協(xié)議

SSL安全套接字層/TLS 運(yùn)輸層安全

SSL是Netscape開發(fā)的安全協(xié)議,廣泛用于基于萬維網(wǎng)的各種網(wǎng)絡(luò)應(yīng)用,SSL作用于端系統(tǒng)的應(yīng)用層HTTP和運(yùn)輸層之間,在TCP之上建立一個(gè)安全的連接通道,為TCP傳輸?shù)臄?shù)據(jù)提供安全保障。SSL的服務(wù):①SSL服務(wù)器鑒別,允許用戶鑒別服務(wù)器的身份,支持SSL客戶端通過驗(yàn)證服務(wù)器證書,鑒別服務(wù)器身份并獲取公鑰炫七。②SSL客戶鑒別,SSL可選的安全服務(wù)伍绳,允許服務(wù)器證實(shí)客戶身份睹酌。③加密的SSL會(huì)話采章,對(duì)客戶和服務(wù)器發(fā)送的所有報(bào)文進(jìn)行加密奋救,并檢測(cè)報(bào)文是否被篡改利耍。

防火墻與入侵檢測(cè)

惡意用戶或軟件通過網(wǎng)絡(luò)利用系統(tǒng)的漏洞進(jìn)行入侵轴猎,包括病毒可婶、木馬具温、DoS等天吓。之前討論的所有安全機(jī)制都不能有效的解決這些問題萄焦。

防火墻

一種訪問控制技術(shù)冒签,嚴(yán)格控制進(jìn)出網(wǎng)絡(luò)的分組萧恕,禁止任何不必要的通信簿煌,從而減少潛在侵入的發(fā)生夺荒。防火墻是一種特殊編程的路由器私沮,安裝在一個(gè)網(wǎng)點(diǎn)和網(wǎng)絡(luò)中的其余部分之間魔招,目的是實(shí)施訪問控制策略蠕蚜。策略是由防火墻單位自行制定的,一般防火墻內(nèi)的網(wǎng)絡(luò)叫做可信任網(wǎng)絡(luò)戈咳,防火墻之外的網(wǎng)絡(luò)叫做不可信網(wǎng)絡(luò)著蛙。防火墻的主要技術(shù)分為分組過濾和應(yīng)用網(wǎng)關(guān)。

入侵檢測(cè)IDS

防火墻應(yīng)用于入侵發(fā)生前耳贬,但防火墻不可能組織所有入侵踏堡,所以需要第二道防線也就是入侵檢測(cè),應(yīng)用于入侵發(fā)生時(shí)咒劲。①基于特征的入侵檢測(cè)顷蟆,維持一個(gè)已知攻擊特征的數(shù)據(jù)庫(kù)诫隅,每個(gè)特征是一個(gè)于某種入侵活動(dòng)相關(guān)聯(lián)的規(guī)則集,缺點(diǎn)是只能檢測(cè)已知攻擊帐偎,對(duì)未知攻擊束手無策逐纬。②基于異常的入侵檢測(cè),通過觀察正常運(yùn)行的網(wǎng)絡(luò)流量削樊,學(xué)習(xí)正常流量的統(tǒng)計(jì)特性和規(guī)律豁生,當(dāng)檢測(cè)到網(wǎng)絡(luò)中的流量不合規(guī)律時(shí)就認(rèn)為可能發(fā)生了入侵。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末漫贞,一起剝皮案震驚了整個(gè)濱河市沛硅,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌绕辖,老刑警劉巖摇肌,帶你破解...
    沈念sama閱讀 216,997評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異仪际,居然都是意外死亡围小,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,603評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門树碱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來肯适,“玉大人,你說我怎么就攤上這事成榜】蛱颍” “怎么了?”我有些...
    開封第一講書人閱讀 163,359評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵赎婚,是天一觀的道長(zhǎng)刘绣。 經(jīng)常有香客問我,道長(zhǎng)挣输,這世上最難降的妖魔是什么纬凤? 我笑而不...
    開封第一講書人閱讀 58,309評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮撩嚼,結(jié)果婚禮上停士,老公的妹妹穿的比我還像新娘。我一直安慰自己完丽,他們只是感情好恋技,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,346評(píng)論 6 390
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著逻族,像睡著了一般蜻底。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上瓷耙,一...
    開封第一講書人閱讀 51,258評(píng)論 1 300
  • 那天朱躺,我揣著相機(jī)與錄音,去河邊找鬼搁痛。 笑死长搀,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的鸡典。 我是一名探鬼主播源请,決...
    沈念sama閱讀 40,122評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼彻况!你這毒婦竟也來了谁尸?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,970評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤纽甘,失蹤者是張志新(化名)和其女友劉穎良蛮,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體悍赢,經(jīng)...
    沈念sama閱讀 45,403評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡决瞳,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,596評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了左权。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片皮胡。...
    茶點(diǎn)故事閱讀 39,769評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡碟贾,死狀恐怖栓始,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情竟贯,我是刑警寧澤锌杀,帶...
    沈念sama閱讀 35,464評(píng)論 5 344
  • 正文 年R本政府宣布甩栈,位于F島的核電站,受9級(jí)特大地震影響糕再,放射性物質(zhì)發(fā)生泄漏谤职。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,075評(píng)論 3 327
  • 文/蒙蒙 一亿鲜、第九天 我趴在偏房一處隱蔽的房頂上張望允蜈。 院中可真熱鬧,春花似錦蒿柳、人聲如沸饶套。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,705評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)妓蛮。三九已至,卻和暖如春圾叼,著一層夾襖步出監(jiān)牢的瞬間蛤克,已是汗流浹背捺癞。 一陣腳步聲響...
    開封第一講書人閱讀 32,848評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留构挤,地道東北人髓介。 一個(gè)月前我還...
    沈念sama閱讀 47,831評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像筋现,于是被迫代替她去往敵國(guó)和親唐础。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,678評(píng)論 2 354