計算機通信中ip,macid的主要作用和區別

背景

在通信領域,目前以tcp/ip族網絡協議作爲傳輸數據的規範爲主要手段,本文大致講的是tcp/ip方面的網絡通信基礎.但是隨着科技的發展,ipv4(internet protocol verison4)的所能承載的設備數量已經不能滿足於各種智能設備(智能遙控,智能手環)的廣泛商業化.所以ipv6(verison 6)在各種校園科研研究所所使用.而要想在網絡通信中能夠更加深入理解並於實踐,對協議以及相關的ip|macid|port的作用需要有一個最基本 認識,本人覺得如下爲非常重要的概念.

實際協議層次

在目前階段,tcp/ip網絡的通信大致會通過四大層方式進行傳輸:

  1. 鏈路層(網絡接口層) : 大體理解爲在用戶傳輸數據的時候在最外層添加一套macid標誌,這是一個非常重要的概念,爲什麼要在這一層添加macid地址呢?其實,數據鏈路層是一層最爲貼近物理層的(物理設備).那麼區別一個物理設備的最核心標誌是什麼?是ip嗎?其實仔細一想,macid就像身份證一樣,是區別與別人的一套物理標誌碼.相當於在寫信的時候,寫信人名字和收信方的名字(假想都加個身份證號)
  2. 網路層 : 這一層是介於物理與應用中的一個環境,作用是爲了標誌傳輸數據的source ip(來源網絡地址) 和 target ip(目標網絡地址).相當於寫信人地址和收信人地址. address. ip地址根據網絡號所包含的位數不同可以分爲,A/B/C/D/E類型.
    a). A類地址的子網掩碼爲255 .0.0.0,
    b) B類爲255.255.0.0,B類地址子網掩碼爲255.255.0.0
    c) C類地址,C類地址子網掩碼爲255.255.0.0
    子網掩碼的作用是幹嘛的?其實就是在傳輸數據的時候,爲了和用戶自己的ip(192.168.4.10)與子網掩碼(255.0.0.0)取按位與(AND邏輯運算),來確定網絡號用的
  3. 傳輸層(端口層) : 數據攜帶的其他細節信息比如目標端口,以及源端口.端口其本質就是爲了唯一確定進程的id的,類似於在本機中的pid號.但是爲什麼不用pid號作爲端口號呢?因爲pid會經常變動,當然是要用一個相對穩定的值作爲標記咯.只有知道了進程綁定的端口,才能實現兩臺不同網絡設備之間的應用程序之間的通信.
  4. 應用層 : 這一層就很好理解了,這就是各種應用,比如QQ,微信,支付寶…等等,每一個應用都會綁定一個端口號,如果作爲服務形式(listen),需要在創建一個監聽器,用來監聽端口發送來的數據,同時也可以在這一層對基本的tcp/ip協議進行更進一步的協議規範封裝.比如,你可以定義,數據(在應用層上純粹的數據,不包含端口號,ip號,macid等等的數據)定義一個haha字符串,代表應用可以笑的笑臉或者其他的功能(在接收方頁面弄出個大笑臉),等等的功能…

學習網絡的兩個非常好的工具

  1. wireshark,這是一個抓包工具,改工具的特點是能夠抓取到協議層方面的各種數據,也就是說,它會抓到每一次通信(三次握手中的每一次握手),能夠看到上面所說的每層次層的數據打包的標誌的過程.
  2. packet tracer : 這個軟件有點像matlib中的monitor,一樣可以手動創建一個虛擬的網絡,然後在網絡上添加各種設備,比如電腦,集成器,轉換機,路由.同時,還能在電腦元素上ping包,來理解ping的過程,以及數據傳遞的過程.
    其實在此使用該軟件的過程中,能夠看大每一步,數據包的傳遞,以及相關的數據攜帶信息的變換.在兩端設備之間通過多個路由器鏈接的網絡中,ping數據傳遞的過程,在各種通信設備中所傳遞的數據中的網絡層的ip信息(源ip與target ip)是不變的,而macid只是標誌了各個最近可通信網卡設備(不包含轉換機與集成器,但是包含路由器,因爲路由器中是包含多張網卡的)的物理id,因此在各個路由器傳遞的過程中,每個路由器所攜帶的macid都是不一樣的.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章