tcp入門(唐唐的故事)

1,互聯網的實現,分紅好幾層。每一層都有本身的功能,就像建築物同樣,每一層都靠下一層支持。把互聯網分紅五層,容易讓人理解。網絡

 

2,對這五層的理解(唐唐講故事):tcp

實體層:目的就是把計算機鏈接起來,用電氣信號傳輸0,1學習

鏈路層:指定一套規則或方法來解析0和1。他包含一些規定,好比幾個01湊一組,這一組01表明什麼意思。--》最初基本上每家公司都有本身的分組方式,太亂了,這樣就比如一個不懂英文的而中國人和老外對話。徹底不在一個頻道。這個時候一個相似語言協會的人出來了,說國際語言一英語問標準。這就是以太網。spa

網路層(以太網協議):把一組一組的01分組方式給規範化了。一組01構成一個數據報(幀)。每一個幀都有一個頭和數據  》》》》》 |head|data|blog

    head:裏面裝了一些東西,好比你是誰的,那裏來的,是人是妖,到哪去。(西遊記裏面常說的:你是誰,是人是妖,你從哪裏來,要到哪裏去。我是唐三藏,從東土大唐來,到西天拜佛求經,固然他確定是人)ip

    data:裏面就是一寫01,就比如唐三藏本身。路由

    這裏又的說說,唐三藏說的大唐來,西天去。這裏包含了一個東西,在網絡裏叫地址。唐三藏這個數據包要麼走。這必需要讓唐三藏本身帶一些信息,要去西天,好的,佛祖給了經書,唐三藏就得回去,這時就得從西天回去大唐。這裏的西天,大唐就是咱們經常說的MAC地址。以太網規定,幀必須從一塊網卡發到另外一塊。而地址是惟一(全世界哦48位)的,ps:因此假西天其實就是一些人常作的事情,欺騙唐唐,吃掉唐唐。開發

    MAC:網卡地址,用來標明數據的發送和接收地址;固然有了地址也沒用,由於還須要一個大嘴巴回答妖怪,那些問題,因此唐唐的嘴巴就想個擴音器,把本身信息處處對別人說,可是並非全部人都喜歡唐唐,由於他老說去西天,留不住,因此只有西天接收他。唐唐大嘴巴就是廣播。原理

    廣播:把本身的地址和要去的地方說明。告訴同一個子網中的計算機,我要去哪裏。這裏咱們又不得不說,唐唐路上打妖怪,他不是那麼簡單就到西天的,可是他又三個徒弟啊。因此網絡也有,他又ARP協議。可能有些人問,既然根據MaC地址用廣播的方式進行數據傳輸,那爲何還要一個路由的東西(其實不要也能夠,咱們是能夠吧兩臺無論位在地球哪裏的兩臺計算機用廣播的方式鏈接起來)。我想,這可能就有要回到唐唐了,唐唐在西遊記裏面對別人說西天,女兒國留他當老公,但是對每一個人都說,我要去西天。煩都煩死了,相似的,若是把全部計算機都放在一個網絡(除去子),那麼你發個數據包,得想全世界計算機說一遍,貧僧要去西天。這要比對,還不累死,因此廣播的方式只適合相對短距離構成的子網中進行。這時,路由器大神出現,把一個一個子網鏈接在一塊兒。因此,數據幀發送有兩種方式:廣播和路由傳輸路由器

    PS:MAC地址和網絡地址不是一個概念,他們沒啥關係。MAC地址是網卡地址,也能夠說是網卡的身份證號。而網絡地址是管理員隨意分配給你的一個地址,咱們稱他爲IP地址。這個你會發現,鏈接不一樣的網絡IP地址會改變。身份證做用能夠告訴你們我是哪一個村的(IP地址也相似,標明所屬子網)。

    既然身份證可以地位你是哪一個村的,其實原本他就是一串數字,他是怎麼作到的。原來,身份證有在公安系統作了規定,哪幾位表明省份,哪幾位表明市。。。。。這個就比如咱們的IP地址也遵循一個規定叫IP協議。IP協議規定,ip地址由兩部分組成,一個是前X位表示所屬網絡,後面的32-X爲主機部分。處於同一個子網絡的電腦,它們IP地址的網絡部分一定是相同的,也就是說172.16.254.2應該與172.16.254.1處在同一個子網。可是IP地址都是32位啊,誰知道你前幾位表示的是子網,哪幾位表明主機。這時,某個天才程序猿就想,我找個東西和他作一些操做,男女搭配,幹活不累。因此,子網掩碼出現了。子網掩碼用來標識IP地址前幾位表示的是子網,哪幾位表明主機。他的原理是:用二進制的And運算。例如:172.16.254.2 子網掩碼 255.255.255.0  先把IP地址化成32位2進制,而後把子網化成二進制。進行AND運算,結果是172.16.254.0。這前24位爲子網地址、後8位爲主機地址。

    根據IP協議發送的數據,就叫作IP數據包。不難想象,其中一定包括IP地址信息。可是前面說過,以太網數據包只包含MAC地址,並無IP地址的欄位。那麼是否須要修改數據定義,再添加一個欄位呢?回答是不須要,咱們能夠把IP數據包直接放進以太網數據包的"數據"部分,所以徹底不用修改以太網的規格。這就是互聯網分層結構的好處:上層的變更徹底不涉及下層的結構。具體來講,IP數據包也分爲head和data兩個部分。

    head::部分主要包括版本、長度、IP地址等信息,"數據"部分則是IP數據包的具體內容。它放進以太網數據包後,以太網數據包就變成了下面這樣。IP數據包的head部分的長度爲20到60字節,整個數據包的總長度最大爲65,535字節。所以,理論上,一個IP數據包的data部分,最長爲65,515字節。以太網數據包的data部分,最長只有1500字節。所以,若是IP數據包超過了1500字節,它就須要分割成幾個以太網數據包,分開發送了。

  

 

學習過程參考了:阮大神的<tcp簡介>

        <五層協議詳解>  

    若是有錯,但願你們指出。

相關文章
相關標籤/搜索