日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

计算机网络基础回顾

發布時間:2024/4/13 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 计算机网络基础回顾 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

對于程序員來說,計算機網絡的知識是很重要也很基礎的。尤其是做web開發就要對http或者https很熟。有的時候涉及到域名,還會碰到跨域問題。這些其實都是計算機網絡相關的知識,本篇就主要回顧下計算機網絡中的重要內容:

  • 1 IP地址
  • 2 分層結構
  • 3 網絡層
  • 4 傳輸層
  • 5 應用層

IP地址

IP地址是一臺機器在局域網或者公網上唯一的標識,比如最常見的我們檢測本機的網絡好不好使需要ping 127.0.0.1;在局域網的時候,需要設置局域網的地址,比如192.168.0.2;上網的時候,還需要配置貓...種種的操作都與IP地址有關系。

IP地址分類

IP地址的結構是這樣的:0-255.0-255.0-255.0-255,但是并不是每一個ip都能隨便給別人用的,IP地址大致分為五類:

類型網絡位與主機位IP范圍
A類前8位為網絡位 0開頭1.0.0.0/8-126.0.0.0/8
B類前16位為網絡位 10開頭128.0.0.0/16-191.0.0.0/16
C類前24位為網絡位 110開頭192.168.0.0/24-223.0.0.0/24
D類不區分網絡位和主機位 1110開頭224.0.0.0-232.0.0.0
E類不區分網絡位和主機位 11110開頭233.0.0.0-255.0.0.0

這里的網絡位和主機位就涉及到子網掩碼的作用了....一般公司或者我們自己上網的IP都是C類的。這個C類的地址只是一個出口,內部會形成一個局域網,內部的IP就隨便分類啦...只要最后數據包能從這個口發出去就行啦。

note: 127.0.0.0/8作為環回地址測試使用

回環地址

127.0.0.1是回環地址,這個應該是眾所周知的。那么它到底有什么作用呢?搜索了一下知乎的答案,可以這么理解:

127.0.0.1是專門給本機用的,叫做lookback,即回環,它是一塊虛擬的網卡。如果本機的兩個軟件進行通信,就可以直接使用127.0.0.1,這樣可以避免再走一次協議棧(物理層、數據鏈路層、ip層),節省了大量的時間。這個地址一般配置再電腦的hosts文件里面,當然你也可以改...改完大量的軟件都可能不好使了...localhost默認就是指向的這個ip地址。

分層結構

計算機網絡的體系結構有幾種版本,最常見的就是OSI的七層網絡模型:

物理層-->數據鏈路層-->網絡層-->運輸層-->會話層-->表示層-->應用層

另外還有TCP/IP的五層結構:

物理層-->數據鏈路層-->網絡層-->運輸層-->應用層

一般TCP/IP的五層體系結構說的比較多點,就簡單的描述下他們每層的作用:

  • 物理層:這一層涉及到信號的傳輸,比如雙絞線呀、光纖啊等等
  • 數據鏈路層:這一層具體的傳輸數據類,不過是按照Mac物理地址傳輸的。主要涉及的問題有數據幀的封裝、傳輸和差錯檢測。有個很有名的機制——CSMA/CD載波監聽多點接入/碰撞檢測,用來處理傳輸的時候傳輸沖突的。
  • 網絡層:這一層涉及到IP到MAC的解析等,涉及到的協議有ARP、RARP、ICMP、IGMP等
  • 運輸層:這個是計算機網絡中最重要的一層,因為它里面有兩個協議——TCP和UDP,最重要的就是他們的區別,以及TCP的三次握手、四次握手機制,以及一些擁塞控制的方法
  • 應用層:這一層的內容是與開發最接近的一層,比如DNS、FTP、HTTP、SMTP等等。
  • 數據鏈路層

    這一層主要負責數據幀的封裝、傳輸和差錯檢測。

    網絡層

    IP數據報

    這一層是對數據報的基礎封裝,主要是針對分片和IP相關的內容:

    協議

    另外,這一層主要是幾個網絡協議很重要,其中包括:

    ARP地址解析協議

    ARP,Address Resolution Protocol 地址解析協議,是根據IP地址獲取對應的物理地址。大致的流程是:

    比如A主機訪問B主機,對應的ip分別為ipa,ipb;對應的Mac地址為maca,macb

    那么:

  • A主機現在自己機器上的路由表,查找ipb對應的macb
  • 如果找不到則廣播請求,如果收到對應的應答,則記錄到路由表中
  • 這個APR的緩存一般都是在網卡中記錄的。

    RARP逆地址解析協議

    RARP,Reverse Address Resolution Protocol 用于不知道自己IP只知道Mac地址而想要與其他主機通信的場景。原理過程與ARP差不多。

    ICMP網際控制報文協議

    ICMP,Internet Control Message Protocol 控制報文協議。這個協議其實日常使用非常多,比如ping和traceroute,它主要用于主機和路由之間傳遞控制消息。比如網絡痛不痛、主機達不達、路由是否可用等等。

    IGMP網際組管理協議

    IGMP,Internet Group Management Protocol 組管理協議,在組播的場景下比較有用。平時接觸的比較少...

    單播、多播和廣播

    • 單播就是固定的兩個ip之間的通信,比如訪問網頁、看看新聞等等;
    • 多播一般用于局域網內的視頻會議等等,可以節省流量。另外現在很火的直播技術,其實用的也是單播,而非組播。因為組播目前公網沒有開放,應該是運營商利益問題或者是安全角度考慮吧
    • 廣播一般也是在局域網內,比如某個具有探測功能的集群,一般會采用這種方法。

    VPN

    VPN的全稱是Virtual Private Network,是在公網上建立的專用網絡,通過復雜的加密手段,可以實現目標地址的遠程訪問。比如一般的公司,都會開啟VPN,這樣你放假在家有事情也可以直接連公司的VPN,就像在公司一樣進行辦公。

    常用的端口號

    傳輸層

    UDP

    UDP, User Datagram Protocol 中文是用戶數據報協議。是一種不需要進行連接的傳輸層協議,提供簡單不可靠的服務,沒有什么擁塞控制,這種傳輸協議主要就是用于音頻視頻的實時傳輸,丟包無所謂的場景。比如看足球直播,畫面花一點或者停頓一下,都是無所謂的,只要后續的傳輸能正常繼續就可以了。使用它的協議包括:TFTP、SNMP、NFS、DNS、BOOTP

    特點: 無連接、盡最大努力交付、面向報文;并且沒有擁塞控制、支持多種對接方式、首部開銷小。

    小故事: 據說很多有年代的即時通訊比如QQ底層是基于UDP為主的,主要的原因就是TCP在0幾年那個網絡環境很差的時代,開銷太大。一旦網絡發生擁塞,TCP的重傳或者三次握手,都會有很大的壓力。因此就采用UDP,基于應用層進行重傳、亂序等機制的封裝。參考資料:QQ為什么以UDP為主TCP為輔

    TCP

    TCP,Transmission Control Protocol 傳輸控制協議,它是一種面向連接、可靠的、基于字節流的傳輸通信協議。在可靠性方面,TCP通過超時重傳以及確認機制進行傳輸;在流量控制方面,采用滑動窗口協議,進行窗口內的分組確認以及重傳。

    關于流量控制,有個很經典的機制就是——慢開始和擁塞避免,之前在做分布式日志采集的時候,想要引入這種機制來著,后來不了了之了。

    TCP的連接采用三次握手機制

    三次握手說起來很簡單,就是A想和B建立連接,那么需要經過三個步驟:

  • A發起連接請求
  • B確認并且發起連接請求
  • A確認B的連接請求
  • TCP的釋放采用四次握手機制

    因為TCP是全雙工的通信方式,即兩個方向都可以傳輸數據。因此在釋放的時候需要雙向進行釋放。如果只釋放了單向,那么另一個方向也是可以傳輸數據的。步驟大致如下:

  • A發起關閉請求
  • B確認
  • B發起關閉請求
  • A確認
  • 狀態機

    參考

    • http://www.jianshu.com/p/ef892323e68f

    總結

    以上是生活随笔為你收集整理的计算机网络基础回顾的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。