操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    2020年來了

    這是新的一年

    也是又一個10年的開啟

    站在這個全新的起點回望

    2000年

    竟然已經是20年前了

    01

    網上有個問答

    “還記得2000年你做了什么嗎?

    其中一個答案讓人濕了眼眶

    @格桑:這么多年,我一直記得那個時刻。

    外面下著很大的雪,我爸去翻門上掛的日歷。他和我說,我們進入了一個新的世紀。

    “1”時代結束

    2000年帶我們進入新千年

    一個調整計算機時間的程序bug

    在歲末年初引發一場“千年蟲”的恐慌

    當99變成00

    人們擔憂運算崩潰、時空錯亂

    2000年的元旦是星期六

    娛樂活動可以更盡興

    臨近午夜,人們或在家團圓

    盯著電視上的報時等待跨年

    或在有倒計時活動的廣場相聚

    與相識不相識的人一起

    迎接世紀的新篇

    2000年1月1日,北京世紀壇,慶祝千禧年。(圖/張宏江)

    當時針跨過零點

    人們發現也沒什么異樣

    在與眾不同的期待中

    程序員們處理好了bug

    “千禧年”拉開了序幕

    02

    那一年

    成都等不少城市的電話號碼

    還停留在7位碼

    手機遠不像今天這么普及和智能

    許多人腰間別的是尋呼機

    三年以后

    中國移動才推出“動感地帶”

    微軟在那一年發布了

    新操作系統Windows 2000

    用于替代Windows 98

    蘋果公司則在一年后才推出了

    自己的操作系統Mac OS

    那時人們剛開始用ADSL連網

    最風行的聊天工具不是微信

    而是OICQ

    那年11月它有了一個新名字叫QQ

    那只“企鵝”可能是最早的一款“網紅”

    “你是GG,還是MM”

    是初涉網絡的年輕人最常用的發問

    比起刷朋友圈、玩短視頻

    《石器時代》等網絡游戲

    是那個時代的寵兒

    放學之后,學校附近的小網吧里

    總能看見一群小孩兒

    玩得不亦樂乎

    03

    那一年的電視劇挺好看

    張國立一會兒扮作紀曉嵐

    智斗和珅

    一會兒化身康熙帝

    微服私訪

    因為兩年前《還珠格格》熱播

    演員周杰聲名鵲起

    當觀眾在2000年看到《少年包青天》時

    還有人“質問”爾康為何化身包拯

    讓人哭笑不得

    陪伴無數人度過美好童年的

    《西游記》在這一年有了續集

    六小齡童等原班人馬再聚

    帶來一波回憶殺

    2000年屬于北京人的共同記憶

    少不了《閑人馬大姐》

    退休女工的日常,家長里短的小事

    愛管閑事的“馬大姐”

    一度成了蔡明的代名詞

    而在廣東

    《外來媳婦本地郎》開播

    誰也想不到

    這個以粵語為主要語言

    講述廣州老城區一個大家庭

    生活故事的情景喜劇

    一播就是20年

    04

    2000年的春節

    沒有搶紅包,沒有掃福字

    一家人就聚在一起看春晚

    謝霆鋒唱了一曲《今生永相伴》

    跟他一起表演的人是董潔

    黎明唱的歌很應景

    歌名就叫《快樂2000年》

    2000年的華語樂壇

    有不少新人涌現

    周杰倫發布首張專輯《Jay》

    曲風新銳,定義流行

    《天黑黑》、《勇氣》

    讓孫燕姿、梁靜茹成為全民偶像

    2000年出生的孩子也特別多

    人們都想沾新千年的喜氣

    生一個“千禧寶寶”

    連名字都起得特別

    20年后,其中一位廣為人知

    他是易烊千璽

    那一年也有遺憾

    在《還珠格格 II》中

    飾演含香的演員劉丹

    1月因車禍不幸遇難

    著名藝術家趙麗蓉

    7月因肺癌離開人世

    她們去了天堂

    把歡樂留在了人間

    05

    那一年

    射擊選手陶璐娜

    為中國隊在悉尼奧運會上斬獲首金

    北京喊出“新北京,新奧運”的口號

    全力申辦2008年奧運會

    那一年

    1998年世界杯冠軍法國隊

    延續火熱狀態,奪得歐冠

    也正是從那時起

    我們熟悉了齊達內、勞爾、菲戈

    那一年

    米盧帶著他的“快樂足球”來到中國

    出任男足國家隊教練

    一年后,中國隊6戰全勝小組突圍

    最終圓夢五里河

    挺進韓日世界杯

    那一年

    當時還不滿17歲的少年劉翔

    站在了全國田徑錦標賽

    暨悉尼奧運選拔賽110米欄起點上

    只練了4年的他最終沒能入選

    盡管那一年

    他已經在世界青年錦標賽上

    跑到了第四

    06

    2000年10月21日零時

    中國鐵路第三次大面積提速

    T字冠頭列車出現在“四縱兩橫”鐵路網

    而20年后的今天

    中國人更習慣于乘坐高鐵出行

    在剛剛過去的2019年

    全國有十多條新的高鐵線開通運營

    中國高鐵總里程突破3.5萬公里

    穩居世界第一

    2000年2月20日,春節過后,大批年輕人返城務工。安徽日報/郝軍 攝)

    那一年

    我國第一條國道主干線

    京滬高速公路全線通車

    將華北與華東地區連為一體

    如今我國高速公路總里程

    超過14萬公里,居世界第一

    2000年10月31日凌晨0時02分

    我國自行研制的第一顆導航定位衛星

    “北斗導航試驗衛星”發射升空

    2019年,北斗導航全球組網進入沖刺期

    今年將具備全球服務能力

    2019年12月16日,我國成功發射第五十二、五十三顆北斗導航衛星,標志著北斗三號全球系統核心星座部署完成。

    那一年

    珠海經濟特區成立20周年

    連接珠澳兩地的蓮花大橋正式通車

    而今你再看

    總長約55公里

    東接香港、西接珠海和澳門

    港珠澳大橋已經跨越伶仃洋

    20年

    在歷史的長河中不過一瞬

    對于成長的我們是整個青春

    對于快速發展的中國

    卻是翻天覆地、日新月異

    往事不可追

    但時間的魅力恰恰在于

    那些翻天覆地的變化

    都已悄無聲息地融進時光里

    構成了我們嶄新的生活

    2020年,來了!

    祝你新年快樂!吉祥如意!

    愿你保持拼搏奮進的動力

    在下一個十年再度回望時

    可以欣慰地說

    我們沒有辜負我們的夢想

    我們沒有辜負偉大的時代

    讓我們,只爭朝夕,不負韶華

    來源:人民日報

    廣州日報全媒體編輯

    前言

    在日常生活或工作中,我們在判斷與對方網絡是否暢通,使用的最多的莫過于 ping 命令了。

    那你知道 ping 是如何工作的嗎?” —— 來自小林的靈魂拷問

    可能有的小伙伴奇怪的問:“我雖然不明白它的工作,但 ping 我也用的賊 6 啊!”

    你用的是 6 ,但你能面試官面前,你就 6 不起來了,畢竟他們也愛問。

    所以,我們要抱有「知其然,知其所以然」的態度,這樣就能避免面試過程中,出門右拐的情況了。

    來自面試官的靈魂拷問

    不知道的小伙伴也沒關系,今天我們就來搞定它,搞懂它。消除本次的問號,讓問號少一點


    正文

    IP協議的助手 —— ICMP 協議

    ping 是基于 ICMP 協議工作的,所以要明白 ping 的工作,首先我們先來熟悉 ICMP 協議

    ICMP 是什么?

    ICMP 全稱是 Internet Control Message Protocol,也就是互聯網控制報文協議

    里面有個關鍵詞 —— 控制,如何控制的呢?

    網絡包在復雜的網絡傳輸環境里,常常會遇到各種問題。當遇到問題的時候,總不能死個不明不白,沒頭沒腦的作風不是計算機網絡的風格。所以需要傳出消息,報告遇到了什么問題,這樣才可以調整傳輸策略,以此來控制整個局面。

    ICMP 功能都有啥?

    ICMP 主要的功能包括:確認 IP 包是否成功送達目標地址、報告發送過程中 IP 包被廢棄的原因和改善網絡設置等。

    在 IP 通信中如果某個 IP 包因為某種原因未能達到目標地址,那么這個具體的原因將由 ICMP 負責通知

    ICMP 目標不可達消息

    如上圖例子,主機 A 向主機 B 發送了數據包,由于某種原因,途中的路由器 2 未能發現主機 B 的存在,這時,路由器 2 就會向主機 A 發送一個 ICMP 目標不可達數據包,說明發往主機 B 的包未能成功。

    ICMP 的這種通知消息會使用 IP 進行發送 。

    因此,從路由器 2 返回的 ICMP 包會按照往常的路由控制先經過路由器 1 再轉發給主機 A 。

    收到該 ICMP 包的主機 A 則分解 ICMP 的首部和數據域以后得知具體發生問題的原因。

    ICMP 包頭格式

    ICMP 報文是封裝在 IP 包里面,它工作在網絡層,是 IP 協議的助手。

    ICMP 報文

    ICMP 包頭的類型字段,大致可以分為兩大類:

    • 一類是用于診斷的查詢消息,也就是「查詢報文類型
    • 另一類是通知出錯原因的錯誤消息,也就是「差錯報文類型


    常見的 ICMP 類型

    查詢報文類型

    回送消息 —— 類型 0 和 8

    回送消息用于進行通信的主機或路由器之間,判斷所發送的數據包是否已經成功到達對端的一種消息,ping 命令就是利用這個消息實現的。

    ICMP 回送消息

    可以向對端主機發送回送請求的消息(ICMP Echo Request Message,類型 8),也可以接收對端主機發回來的回送應答消息(ICMP Echo Reply Message,類型 0)。

    ICMP 回送請求和回送應答報文

    相比原生的 ICMP,這里多了兩個字段:

    • 標識符:用以區分是哪個應用程序發 ICMP 包,比如用進程 PID 作為標識符;
    • 序號:序列號從 0 開始,每發送一次新的回送請求就會加 1, 可以用來確認網絡包是否有丟失。

    選項數據中,ping 還會存放發送請求的時間值,來計算往返時間,說明路程的長短。

    差錯報文類型

    接下來,說明幾個常用的 ICMP 差錯報文的例子:

    • 目標不可達消息 —— 類型 為 3
    • 原點抑制消息 —— 類型 4
    • 重定向消息 —— 類型 5
    • 超時消息 —— 類型 11


    目標不可達消息(Destination Unreachable Message) —— 類型為 3

    IP 路由器無法將 IP 數據包發送給目標地址時,會給發送端主機返回一個目標不可達的 ICMP 消息,并在這個消息中顯示不可達的具體原因,原因記錄在 ICMP 包頭的代碼字段。

    由此,根據 ICMP 不可達的具體消息,發送端主機也就可以了解此次發送不可達的具體原因

    舉例 6 種常見的目標不可達類型的代碼

    目標不可達類型的常見代碼號

    • 網絡不可達代碼為 0
    • 主機不可達代碼為 1
    • 協議不可達代碼為 2
    • 端口不可達代碼為 3
    • 需要進行分片但設置了不分片位代碼為 4

    為了給大家說清楚上面的目標不可達的原因,小林犧牲自己給大家送 5 次外賣。

    為什么要送外賣?別問,問就是為 35 歲的老林做準備 …

    外賣員 —— 小林

    a. 網絡不可達代碼為 0

    外賣版本:

    小林第一次送外賣時,小區里只有 A 和 B 區兩棟樓,但送餐地址寫的是 C 區樓,小林表示頭上很多問號,壓根就沒這個地方。

    正常版本:

    IP 地址是分為網絡號和主機號的,所以當路由器中的路由器表匹配不到接收方 IP 的網絡號,就通過 ICMP 協議以網絡不可達(Network Unreachable)的原因告知主機。

    自從不再有網絡分類以后,網絡不可達也漸漸不再使用了。

    b. 主機不可達代碼為 1

    外賣版本:

    小林第二次送外賣時,這次小區有 5 層樓高的 C 區樓了,找到地方了,但送餐地址寫的是 C 區樓 601 號房 ,說明找不到這個房間。

    正常版本:

    當路由表中沒有該主機的信息,或者該主機沒有連接到網絡,那么會通過 ICMP 協議以主機不可達(Host Unreachable)的原因告知主機。

    c. 協議不可達代碼為 2

    外賣版本:

    小林第三次送外賣時,這次小區有 C 區樓,也有 601 號房,找到地方了,也找到房間了,但是一開門人家是外國人說的是英語,我說的是中文!語言不通,外賣送達失敗~

    正常版本:

    當主機使用 TCP 協議訪問對端主機時,能找到對端的主機了,可是對端主機的防火墻已經禁止 TCP 協議訪問,那么會通過 ICMP 協議以協議不可達的原因告知主機。

    d. 端口不可達代碼為 3

    外賣版本:

    小林第四次送外賣時,這次小區有 C 區樓,也有 601 號房,找到地方了,也找到房間了,房間里的人也是說中文的人了,但是人家說他要的不是外賣,而是快遞。。。

    正常版本:

    當主機訪問對端主機 8080 端口時,這次能找到對端主機了,防火墻也沒有限制,可是發現對端主機沒有進程監聽 8080 端口,那么會通過 ICMP 協議以端口不可達的原因告知主機。

    e. 需要進行分片但設置了不分片位代碼為 4

    外賣版本:

    小林第五次送外賣時,這次是個吃播博主了 100 份外賣,但是吃播博主要求一次性要把全部外賣送達,小林的一臺電動車裝不下呀,這樣就沒辦法送達了。

    正常版本:

    發送端主機發送 IP 數據報時,將 IP 首部的分片禁止標志位設置為1。根據這個標志位,途中的路由器遇到超過 MTU 大小的數據包時,不會進行分片,而是直接拋棄。

    隨后,通過一個 ICMP 的不可達消息類型,代碼為 4 的報文,告知發送端主機。

    原點抑制消息(ICMP Source Quench Message) —— 類型 4

    在使用低速廣域線路的情況下,連接 WAN 的路由器可能會遇到網絡擁堵的問題。

    ICMP 原點抑制消息的目的就是為了緩和這種擁堵情況

    當路由器向低速線路發送數據時,其發送隊列的緩存變為零而無法發送出去時,可以向 IP 包的源地址發送一個 ICMP 原點抑制消息

    收到這個消息的主機借此了解在整個線路的某一處發生了擁堵的情況,從而增大 IP 包的傳輸間隔,減少網絡擁堵的情況。

    然而,由于這種 ICMP 可能會引起不公平的網絡通信,一般不被使用。

    重定向消息(ICMP Redirect Message) —— 類型 5

    如果路由器發現發送端主機使用了「不是最優」的路徑發送數據,那么它會返回一個 ICMP 重定向消息給這個主機。

    在這個消息中包含了最合適的路由信息和源數據。這主要發生在路由器持有更好的路由信息的情況下。路由器會通過這樣的 ICMP 消息告知發送端,讓它下次發給另外一個路由器。

    好比,小林本可以過條馬路就能到的地方,但小林不知道,所以繞了一圈才到,后面小林知道后,下次小林就不會那么再繞一圈了。

    超時消息(ICMP Time Exceeded Message) —— 類型 11

    IP 包中有一個字段叫做 TTL (Time To Live,生存周期),它的值隨著每經過一次路由器就會減 1,直到減到 0 時該 IP 包會被丟棄。

    此時,IP 路由器將會發送一個 ICMP 超時消息給發送端主機,并通知該包已被丟棄。

    設置 IP 包生存周期的主要目的,是為了在路由控制遇到問題發生循環狀況時,避免 IP 包無休止地在網絡上被轉發。

    ICMP 時間超過消息

    此外,有時可以用 TTL 控制包的到達范圍,例如設置一個較小的 TTL 值


    ping —— 查詢報文類型的使用

    接下來,我們重點來看 ping 的發送和接收過程

    同個子網下的主機 A 和 主機 B,主機 A 執行ping 主機 B 后,我們來看看其間發送了什么?

    主機 A ping 主機 B

    ping 命令執行的時候,源主機首先會構建一個 ICMP 回送請求消息數據包。

    ICMP 數據包內包含多個字段,最重要的是兩個:

    • 第一個是類型,對于回送請求消息而言該字段為 8;
    • 另外一個是序號,主要用于區分連續 ping 的時候發出的多個數據包。

    每發出一個請求數據包,序號會自動加 1。為了能夠計算往返時間 RTT,它會在報文的數據部分插入發送時間。

    主機 A 的 ICMP 回送請求報文

    然后,由 ICMP 協議將這個數據包連同地址 192.168.1.2 一起交給 IP 層。IP 層將以 192.168.1.2 作為目的地址,本機 IP 地址作為源地址協議字段設置為 1 表示是 ICMP 協議,在加上一些其他控制信息,構建一個 IP 數據包。

    主機 A 的 IP 層數據包

    接下來,需要加入 MAC 頭。如果在本地 ARP 映射表中查找出 IP 地址 192.168.1.2 所對應的 MAC 地址,則可以直接使用;如果沒有,則需要發送 ARP 協議查詢 MAC 地址,獲得 MAC 地址后,由數據鏈路層構建一個數據幀,目的地址是 IP 層傳過來的 MAC 地址,源地址則是本機的 MAC 地址;還要附加上一些控制信息,依據以太網的介質訪問規則,將它們傳送出去。

    主機 A 的 MAC 層數據包

    主機 B 收到這個數據幀后,先檢查它的目的 MAC 地址,并和本機的 MAC 地址對比,如符合,則接收,否則就丟棄。

    接收后檢查該數據幀,將 IP 數據包從幀中提取出來,交給本機的 IP 層。同樣,IP 層檢查后,將有用的信息提取后交給 ICMP 協議。

    主機 B 會構建一個 ICMP 回送響應消息數據包,回送響應數據包的類型字段為 0,序號為接收到的請求數據包中的序號,然后再發送出去給主機 A。

    主機 B 的 ICMP 回送響應報文

    在規定的時候間內,源主機如果沒有接到 ICMP 的應答包,則說明目標主機不可達;如果接收到了 ICMP 回送響應消息,則說明目標主機可達。

    此時,源主機會檢查,用當前時刻減去該數據包最初從源主機上發出的時刻,就是 ICMP 數據包的時間延遲。

    針對上面發生的事情,總結成了如下圖:

    主機 A ping 主機 B 期間發送的事情

    當然這只是最簡單的,同一個局域網里面的情況。如果跨網段的話,還會涉及網關的轉發、路由器的轉發等等。

    但是對于 ICMP 的頭來講,是沒什么影響的。會影響的是根據目標 IP 地址,選擇路由的下一跳,還有每經過一個路由器到達一個新的局域網,需要換 MAC 頭里面的 MAC 地址。

    說了這么多,可以看出 ping 這個程序是使用了 ICMP 里面的 ECHO REQUEST(類型為 8 ) 和 ECHO REPLY (類型為 0)

    traceroute —— 差錯報文類型的使用

    有一款充分利用 ICMP 差錯報文類型的應用叫做 traceroute(在UNIX、MacOS中是這個命令,而在Windows中對等的命令叫做 tracert )。

    1. traceroute 作用一

    traceroute 的第一個作用就是故意設置特殊的 TTL,來追蹤去往目的地時沿途經過的路由器。

    traceroute 的參數指向某個目的 IP 地址

    traceroute 192.168.1.100
    

    這個作用是如何工作的呢?

    它的原理就是利用 IP 包的生存期限 從 1 開始按照順序遞增的同時發送 UDP 包,強制接收 ICMP 超時消息的一種方法。

    比如,將 TTL 設置 為 1,則遇到第一個路由器,就犧牲了,接著返回 ICMP 差錯報文網絡包,類型是時間超時

    接下來將 TTL 設置為 2,第一個路由器過了,遇到第二個路由器也犧牲了,也同意返回了 ICMP 差錯報文數據包,如此往復,直到到達目的主機。

    這樣的過程,traceroute 就可以拿到了所有的路由器 IP。

    當然有的路由器根本就不會返回這個 ICMP,所以對于有的公網地址,是看不到中間經過的路由的。

    發送方如何知道發出的 UDP 包是否到達了目的主機呢?

    traceroute 在發送 UDP 包時,會填入一個不可能的端口號值作為 UDP 目標端口號(大于 3000 )。當目的主機,收到 UDP 包后,會返回 ICMP 差錯報文消息,但這個差錯報文消息的類型「端口不可達」。

    所以,當差錯報文類型是端口不可達時,說明發送方發出的 UDP 包到達了目的主機。

    2. traceroute 作用二

    traceroute 還有一個作用是故意設置不分片,從而確定路徑的 MTU

    這么做是為了什么?

    這樣做的目的是為了路徑MTU發現

    因為有的時候我們并不知道路由器的 MTU 大小,以太網的數據鏈路上的 MTU 通常是 1500 字節,但是非以太網的 MTU 值就不一樣了,所以我們要知道 MTU 的大小,從而控制發送的包大小。

    MTU 路徑發現(UDP的情況下)

    它的工作原理如下:

    首先在發送端主機發送 IP 數據報時,將 IP 包首部的分片禁止標志位設置為 1。根據這個標志位,途中的路由器不會對大數據包進行分片,而是將包丟棄。

    隨后,通過一個 ICMP 的不可達消息將數據鏈路上 MTU 的值一起給發送主機,不可達消息的類型為「需要進行分片但設置了不分片位」。

    發送主機端每次收到 ICMP 差錯報文時就減少包的大小,以此來定位一個合適的 MTU 值,以便能到達目標主機。


    參考文獻

    [1] 竹下隆史.圖解TCP/IP.人民郵電出版社.

    [2] 劉超.趣談網絡協議.極客時間.

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有