服務端編程(一)- 背景知識介紹 - Internet 相關概念解析 ISP IP IPv4 域名 DNS 數據包解析

服務端編程專欄 正在持續更新中 謝謝支持^_^

前言 ´・ᴗ・`

  • 本篇是專欄 服務器編程的第一站 面向新手 講的不深 以免勸退 大佬可以略過

  • 本文可以帶給你…

    • internet 和 web 的關係是什麼
    • internet大概是怎麼運行的 ?
    • ISP是啥?
    • IP地址用來幹啥的?Ipv4 IPv6又是啥?
    • 域名是啥 域名解析又是啥?
    • 如何讓舍友無法通過www.baidu.com 訪問到百度:)
    • 包解析

internet與web的關係

internet 因特網 無論是無線(比我們的wifi)還是有線(Ethernet cable),都可以被認爲是,讓所有上網電腦互聯互通的基礎設施(infrastructure),其實是硬件實現的,當然我們爲了研究它,就抽象成“網絡”來說

正是有了作爲基建的internet,我們的web服務(軟件層面上的)才能夠實現,所以說internet是web的主心骨(backbone)
當然還有很多服務是基於internet的 比如email IRC(老式的即時通訊方式 可以理解爲QQ的祖宗)

internet是怎麼運行的

  • 一對一的網絡
    兩個電腦連接 簡單 無論是有線的弄個網線還是用無線wifi 藍牙 都ok

  • 假設10個電腦互相聯結。。。
    你得需要45根網線 假設無線 距離有限 而是同頻干擾會讓你心態爆炸:)
    在這裏插入圖片描述
    那麼該咋辦呢?我們讓一個微電腦 叫**路由器 (router 直譯:道路的意思)**做一個 信息中轉站,或者說是一個快遞員,負責點對點的送快遞
    在這裏插入圖片描述
    這樣我們發現只需要10根網線就能解決了

  • 成百上千的電腦呢?
    我想一個路由器是管不了這麼多了
    那麼我們可以分而治之
    100臺電腦 一個路由器搞定25臺 我就需要4個路由器 而且路由器之間可以互相通信
    這樣 電腦之間的互聯可以通過路由器來搞定
    我們可以無限地 隨意地拓展我們的電腦網絡
    在這裏插入圖片描述
    這差不多就很接近我們現在的internet了

  • 怎麼實現呢?
    爲了節約成本 我們就在電話線的基礎設施上疊加了internet 的服務 當然 電話的信息(模擬信號)和網線所傳輸的信息(數字信號)是不同的, 如果要在一條線上跑,需要把數字信號調製(Modulate)成模擬信號,到時候再解調(Demodulate)出來成數字信號給電腦用
    這樣我們就需要一個調製解調爲一體的東西 調制解調器 貓( modem Modulator& Demodulator)

  • ISP
    當然 internet服務的整體建設是需要公司集團來搞定的,是他們給你分配了上網的IP地址 從而提供了internet服務 這樣的公司就是ISP(Internet Service Provider)
    傳統的模式下 你得向ISP買IP地址,然後連網線上網
    當然 現在 因爲IPv4協議本身的問題,地址根本不夠用 於是很多時候我們拿不到獨立的一個地址,往往是通過虛擬或者動態的隨機IP地址訪問internet的
    在這裏插入圖片描述

IP - internet protocol

IP就是一個Internet上運行的規則 或者說協議(protocol),我們說的IP地址 就是每個入網設備(連上internet的硬件設備比如電腦手機啥的),分配到的一個地址,這樣你可以訪問別人,反之亦然( vice versa)
IP地址一般就是一串數字 比如百度的IP地址:14.215.177.39
IP地址有兩種規則 一種是IPv4協議 一種IPv6 上面的百度IP地址是IPv4的 也是我們現在最常用的。 另外 IPv6則是爲了解決IPv4留下的大坑——IP地址不夠的問題 所以開出來的新規則

  • IPv4 IPv6協議
    你可能好奇 爲啥協議能夠解決地址不夠用的問題
    其實你把000.000.000.000~999.999.999.999 排列組合 不重複的數字串有多少? 然後很明顯是有限的 如果我多加幾位呢?比如
    00000.00000.00000.00000.00000 這樣結果自然更多了 IPv6就是這樣拓展了地址的位數
  • 協議到底是啥?
    電腦互相通信 靠的是數據包的來來往往
    數據包類似書信 一般寫着收件人 寄件人的地址,在internet就是成了IP地址
    數據包我們可以看做一串數字,如果我們規定第1位數字到第10位 是寄件人的IP地址 第11位到第20位是收件人的IP地址,這種規則就是協議
    於是乎IPv6就是改變了數據包裏面記錄地址的長度等規則
    當然 這並非想改就改的 因爲增多以後數據包變大會帶來特別多的衍生問題 所以往往權衡利弊才擠出一位數字給某種用途 比如IP地址的拓展

在這裏插入圖片描述

一個數據包包含了各種協議的信息。。。。。。

包解析

我們上一段說道一個數據包,包含各種協議的信息。所謂數據包,就是一串數字,對數字解讀,也就是對數據包解讀,拆成各種信息如:MAC地址,IP地址,應答碼等等,就是包的解析(package parsing)
一般說的 截取包下來 就是爲了解析(解密)出裏面有用的信息,比如賬號密碼等等,這就是嗅探(sniffing) 當然了 人家都會加密(encoding) 的 不至於把密碼送到你嘴邊。

域名 domin name DNS解析

但是我們不太可能記住這麼多無聊的數字
於是就想起個別名 這就是域名
之所以有個域字 是因爲域名也包含了電腦所在地區的信息 地區就是域 好像我們的地址帶着中國 廣東省
在這裏插入圖片描述
百度主頁的訪問就可以有兩種方式

那麼 你可能猜到有種東西可以轉換域名與真正的IP地址,畢竟數據包裏面不太可能寫字符串進去
這就是DNS解析 域名解析服務
所以更改電腦的host文件 爲啥可以避免破解版的軟件聯網識破你的破解操作(不合法身份識別後就禁止你使用軟件 invalidation)
因爲軟件是通過域名訪問 用於聯網認證的服務器的
不巧的是 DNS解析是先通過你電腦本機的DNS規則
,而且是存儲在你C:\windows\system32\drivers\etc\裏面的一個hosts文件 你用記事本打開就看到這樣的一一對應(映射)的關係:
在這裏插入圖片描述
你可以試試 在hosts文件內任意位置添加:127.0.0.1 baidu.com
然後再度娘一下 看看還能不能度娘:)

總結 ´◡`

這裏我們聊了一下internet的基礎相關概念 其實就是計算機網絡組成原理的一個簡化(有些講的不嚴謹 但可以這麼感性的理解)

有興趣的朋友可以深究一下 比如OSI(開放系統互聯(Open System Interconnection))七層網絡通信模型,這纔是真實而又複雜的internet,乃至各種網絡譬如無線網的抽象模型。

下一站 我們聚焦 跑在internet上的一個服務——web服務 也就是我們所謂的上網,建站,乃至爬蟲。。。各種網絡服務 能夠實現的功臣
傳送:服務端編程(二)web 客戶端 服務端 前端 後端 相關概念解析

另外 這裏提前說一下 服務端編程需要數據庫知識的學習
如果學會了 並且安裝過相應環境 請略過:)

沒有的話:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章