竟然把通信協(xié)議講的如此通俗?
通信協(xié)議類似于交通規(guī)劃,就是在規(guī)劃路上的司機(jī)怎么走。假如你在某寶上買了一個東西,商家就會把你買的東西發(fā)一個快遞給你,那么要如何通過網(wǎng)絡(luò)投遞到你的手上?
1. 要有交通道路或者說交通路線。
2. 要有你家的通信地址。
3. 要有運(yùn)輸工具(貨車、飛機(jī)) 。
4. 要有快遞員 。
這四點(diǎn)滿足了不就可以通信了,而這四點(diǎn)不就是tcp/ip模型嗎?
1. 那么交通道路是不是會發(fā)生堵車(congestion),是不是就會有一些辦法去減少堵車:
1). 避開高峰期(CSMA/CD),對于996或者通宵加班的打工人來說是不是完全避開。
CSMA/CD即載波偵聽多路訪問/沖突檢測。
2). 限行(Token),比如深圳在工作日7時至9時、17時30分至19時30分限行。
Token通俗點(diǎn)可以叫暗號,在一些數(shù)據(jù)傳輸之前,要先進(jìn)行暗號的核對,不同的暗號被授權(quán)不同的數(shù)據(jù)操作。
3). 設(shè)置專用車道(VPN),比如深圳上下班期間就有公交專用車道,其他車輛不能行駛。
VPN是一種虛擬專用網(wǎng)絡(luò),在公用網(wǎng)絡(luò)上建立專用網(wǎng)絡(luò),比如你去外地出差,然后你可以遠(yuǎn)程訪問公司內(nèi)網(wǎng)的服務(wù)資源。
4). 上下班乘坐公交或者地鐵(CDMA),使更多的人既可以正常上下班,又能減少車輛出行。
CDMA一般指碼分多址,碼分多址是指以不同的偽隨機(jī)碼來區(qū)別基站,各基站使用同一頻率并在同一時間進(jìn)行信息傳輸。
5). 工廠里面工人比較多,下班時間工廠附近交通就容易癱瘓,那么就拆遷(Proxy),把廠房和工人都趕到郊區(qū)去,在郊區(qū)建一個工廠。
Proxy指的是代理軟件或代理服務(wù)器,也可以認(rèn)為是一種網(wǎng)絡(luò)訪問方式。
6). 將道路擴(kuò)寬(Frame Relay、ATM)
Frame Relay是一種有效的數(shù)據(jù)傳輸技術(shù),它可以在一對一或者一對多的應(yīng)用中快速而低廉的傳輸數(shù)字信息。
ATM為一種交換技術(shù),在發(fā)送數(shù)據(jù)時,先將數(shù)字?jǐn)?shù)據(jù)切割成多個固定長度的數(shù)據(jù)包發(fā)送。
2. 通信地址就會比較麻煩了,遇到有的小區(qū)保安不讓進(jìn),而且有些地方會走錯路,甚至有有的收件人重名。
1). 小區(qū)保安不讓進(jìn)(防火墻)怎么辦?
a. 給保安發(fā)支煙,叫保安要稱呼靚仔或者帥哥,不要叫人叼毛,說不定保安聽著舒服就讓你進(jìn)去了(ACL)。
ACL指訪問控制列表,是一種基于包過濾的訪問控制技術(shù),它可以根據(jù)設(shè)定的條件對接口上的數(shù)據(jù)包進(jìn)行過濾,允許其通過或丟棄。
b. 讓保安廣播通知或貼出告示快遞到了保安室(ARP),讓大家來保安室認(rèn)領(lǐng)自己的快遞,但是容易發(fā)生被別人冒充認(rèn)領(lǐng)(ARP欺騙)。
ARP是地址解析協(xié)議,主機(jī)發(fā)送信息時將包含目標(biāo)IP地址的ARP請求廣播到局域網(wǎng)絡(luò)上的所有主機(jī),并接收返回消息,以此確定目標(biāo)的物理地址;收到返回消息后將該IP地址和物理地址存入本機(jī)ARP緩存中并保留一定時間,下次請求時直接查詢ARP緩存以節(jié)約資源。
ARP欺騙:主機(jī)收到應(yīng)答報(bào)文時不會檢測該報(bào)文的真實(shí)性,由此攻擊者就會向主機(jī)發(fā)送偽ARP應(yīng)答報(bào)文,這就構(gòu)成了一個ARP欺騙。也就是說有人來冒領(lǐng)快遞保安并不會檢查是不是本人來領(lǐng)的,冒領(lǐng)者就會通過這個方式來冒領(lǐng),造成真實(shí)快遞主人的快遞被別人拿走了。
2). 有些地方會走錯路怎么辦?
a. 小城市(RIP)要學(xué)會抄近道(OSPF),小地方交通比較順暢。
RIP是一種分布式的基于距離向量的路由選擇協(xié)議,主要適用于小規(guī)模的網(wǎng)絡(luò)環(huán)境。
OSPF(Open Shortest Path First開放式最短路徑優(yōu)先)是一個內(nèi)部網(wǎng)關(guān)協(xié)議。
b. 大城市(比如深圳)要學(xué)會使用地圖導(dǎo)航(BGP),因?yàn)楦鞣N立交橋和高架橋讓你找不著北。
BGP是自治系統(tǒng)間的路由協(xié)議,BGP交換的網(wǎng)絡(luò)可達(dá)性信息提供了足夠的信息來檢測路由回路并根據(jù)性能優(yōu)先和策略約束對路由進(jìn)行決策。
3). 收件人重名怎么辦?
a. 縮小區(qū)域確認(rèn)收件人,將區(qū)域區(qū)分到某個街道(subnet mask),確認(rèn)收件人在哪一個區(qū)域,重名收件人在別的區(qū)域就不管。
Subnet Mask指子網(wǎng)掩碼,它用來指明一個IP地址的哪些位標(biāo)識的是主機(jī)所在的子網(wǎng),以及哪些位標(biāo)識的是主機(jī)的位掩碼。
b. 給每一位住戶門口貼好門牌號(內(nèi)網(wǎng)IP),每個人收件人即使重名但是門牌號是不會重名的。
內(nèi)網(wǎng)IP就是局域網(wǎng)網(wǎng)絡(luò)地址。
3. 運(yùn)輸?shù)呢涇嚳赡茉诼飞蠒l(fā)生交通事故,貨車運(yùn)輸時間決定快遞幾天能夠送到收件人手里。
1). 貨車發(fā)生交通事故怎么辦?
a. 貨車發(fā)生交通事故,導(dǎo)致快遞破損,如果快遞公司賠付商家,但是商家還是得重發(fā)(TCP),因?yàn)槭占瞬]有收到快遞(ACK),只要收件人沒有收到快遞,商家就得一直重新發(fā)貨(SYN)。
TCP是一種面向連接的、可靠的通信服務(wù),需要經(jīng)歷三次握手才能建立連接。
ACK是確認(rèn)字符,需要收件人收到快遞并且在某寶上確認(rèn)收貨。
SYN是同步序列編號,也就是商家發(fā)貨的信息。
2). 收件人幾天可以收到快遞?
a. 貨車運(yùn)輸速度決定快遞什么時候可以送達(dá),如果路比較寬闊,紅路燈比較少,不堵車,車速就可以越快,收件人就可以更早收到快遞,這就是香農(nóng)定理。
4. 到了快遞這里又會發(fā)生一些情況,快遞員送快遞給收件人,收件人發(fā)現(xiàn)快遞包裹已經(jīng)破損。
1). 收件人發(fā)現(xiàn)快遞包裹已經(jīng)破損,收件人在快遞員派送快遞給自己的時候當(dāng)場驗(yàn)貨拒收(CRC校驗(yàn))。
整個通信協(xié)議利用一個快遞的從商家手里發(fā)出到收件人收件的過程進(jìn)行了非常通俗易懂的描述,應(yīng)該是比較好理解了。