首頁>Club>
4
回覆列表
  • 1 # Gfilsxin

    從使用套接字程式設計的角度,我認為要掌握以下知識點:

    瞭解OSI七層模型和TCP/IP五層模型,明白當應用層呼叫send函式將純資料寫入快取後,資料經過每一層會加上什麼頭資料;以及網絡卡收到資料後,資料經過每一層會去掉什麼頭資料。熟悉乙太網幀格式,能夠輕鬆使用wireshark、tcpdump等抓包工具或指令,分析幀內容;熟悉套接字程式設計方法,熟練掌握bind,connect,listen,accept,send/sendto,recv/recvfrom,setsockopt等函式。明白TCP與UDP協議下的程式設計方法;理解TCP協議的三次握手和四次揮手過程,知道TCP和UDP通訊協議的特點和差異,在不同的應用中能夠分析出使用哪種協議最合適;明白交換機、路由器的區別,知道路由表的作用,理解ARP、ICMP協議通訊過程,當網路不通時,能夠使用arp -a,ping等指令進行問題定位;

    基本就是以上幾點,當然這只是從程式設計的角度來講的,如果你是一名網路管理員或網路工程師,那要學習的東西就更多了!

  • 2 # 蓮花童子哪吒

    由於我們大部分時間都工作在應用層,下層的事情不用我們操心;其次網路協議體系本身就很複雜龐大,入門門檻高,因此很多人都不清楚TCP/IP的工作原理。要想精通TCP/IP的工作原理,就是需要明白。一個主機的資料要經過哪些過程才能傳送到對方的主機上

    TCP/IP的結構組成

    TCP/IP 協議採用4層結構,分別是應用層、傳輸層、網路層和鏈路層,每一層都呼叫它的下一層所提供的協議來完成自己的需求。還有一種說法TCP/IP是5層結構。就是在4層基礎上加入了物理層。而4層是把物理層層歸到了鏈路層當中。

    結構功能組成

    鏈路層:把資料透過物理介質傳送給對方。對0和1進行分組,定義資料幀,確認主機的物理地址,傳輸資料;

    傳輸層:定義埠,確認主機上應用程式的身份,並將資料包交給對應的應用程式;

    應用層:定義資料格式,並按照對應的格式解讀資料。

    綜上所述當你輸入一個網址並按下回車鍵傳送的時候,首先,應用層協議對該請求包做了格式定義;緊接著傳輸層協議加上了雙方的埠號,確認了雙方通訊的應用程式;然後網路協議加上了雙方的IP地址,確認了雙方的網路位置;最後鏈路層協議加上了雙方的MAC地址,確認了雙方的物理位置,同時將資料進行分組,形成資料幀,採用廣播方式,透過傳輸介質傳送給對方主機。而對於不同網段,該資料包首先會轉發給閘道器路由器,經過多次轉發後,最終被髮送到目標主機。目標機接收到資料包後,採用對應的協議,對幀資料進行組裝,然後再透過一層一層的協議進行解析,最終被應用層的協議解析並交給伺服器處理。

    有感悟歡迎關注額。

  • 3 # firebug767

    一直都在應用層混哈,進來拜讀一下[捂臉]前些年寫iec61850程式,也只是在鏈路層混,不需要IP和埠了,當時覺得挺不適應哈[大笑]

  • 中秋節和大豐收的關聯?
  • 你們城市禁止煙花燃放了麼?你對禁止煙花是持什麼態度?