tcp/ip和http的區別和聯絡

weixin_34308389發表於2019-01-15

中秋節到了,上海的老王想給北京的好友老張快遞一些節日禮物,有鮮肉月餅、大閘蟹等,老王選擇了機器人快遞公司,聽說送快遞的全是機器人。
老王把禮物打好包並轉交給快遞公司,並叮囑快遞公司,要鮮肉月餅先到,大閘蟹後到,快遞公司說:okay,放心好了。
快遞公司將鮮肉月餅貼上標籤1,大閘蟹標籤2,放在倉庫裡,先聯絡到北京的老張再發貨。
於是快遞公司派出機器人小哥,給小哥輸入老張、老王的地址資訊:
收件人地址
北京海淀區知春路xx號
寄件人地址
上海浦東新區世紀大道200號
機器人用導航軟體智慧選取路線,過程不表。
聯絡老張的過程(三次握手):
機器人A到達北京快遞公司,快遞公司看到老張的地址資訊,去他家敲敲門,老張你在家嗎?等會有快遞要送過來,務必在家哦(伺服器TCP埠號活),老張說好的好的。
北京的快遞公司派出機器人B回覆上海方面,老張在家的,快遞可以運過來了。
上海的快遞公司派出機器人A回覆北京,快遞馬上就發出,請稍候。
有同學說,需要那麼麻煩嘛?打個電話不就行了嗎?沒錯,但這只是一個虛擬故事,在這個故事裡沒有電話,只有跑腿的機器人。
以上聯絡老張的過程,機器人A、B都是空載,什麼貨物也沒有運,只是起到訊息傳遞的作用,接下來開始運送貨物了。
上海的快遞公司讓機器人C運鮮肉月餅,機器人D運大閘蟹,於是C、D先後上路了。
C的導航軟體讓他走滬陝高速,結果堵成狗了,高速成了停車場。
D的導航軟體讓他走京滬高速,雖然有點堵,但還是後發先至,結果比C先到北京的快遞公司。
北京的快遞公司將D運的禮物放在倉庫裡(快取),耐心地等待C的到來,第二天C終於還是到了。
快遞公司將貨物按標籤1、2按照順序轉交給了老張。
快遞公司稍後還要派出機器人通知上海方面,貨物(標籤1、2)安全到達,請勿掛念。
老張心情大好,來而不往非禮也,於是將北京烤鴨、北京糕點打包好,讓快遞公司轉交給老王,只有一個叮囑,烤鴨先到,糕點後到(按序)。
過程與上類似,機器人E運烤鴨,機器人F運糕點。
E走京滬高速,結果在某某大橋出車禍了,被撞到江裡了,game over。
F走滬陝高速,堵了三天三夜沒動彈。
北京的快遞公司左等等、右等等,上海方面一點訊息也沒有,知道最壞的情況發生了,但快遞公司有自己的預案,三天沒有對方的訊息,就預設機器人掛了,需要重新安排機器人重新運貨物。
於是機器人G運烤鴨、H運糕點又重新上路了。
這次非常順利,G、H走的都是京滬高速,按序到達了上海快遞公司,不一會,F也到了,快遞公司很惱火,對F很不客氣滴說:你現在是多餘的人(F與H是重複的貨物,需要丟一個),快滾!
上海的快遞公司於是將烤鴨、糕點按序轉交給老王。
稍後再派出機器人通知北京方面,烤鴨、糕點已經安全到達,請不要再發重複的貨物過來!
在這個虛擬故事裡,老王是http客戶端,老張是http伺服器端,負責將什麼樣的禮物(資料)送給對方,同時負責解釋這些禮物的真正含義。
快遞公司是TCP,負責將客戶的資料按序(客戶的資料按序才有意義)送到客戶指定的目的地,如果有丟失,TCP負責重傳。
機器人是IP,根據快遞公司輸入的客戶目的地,根據導航軟體將貨物送到目的地,如果有丟件,機器人無能為力。

相關文章