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

新聞資訊

    剛閉幕的第五屆東布洲國際動畫周,云集了從事動畫行業的各類人群,既有風頭正勁的《長安三萬里》《中國奇譚》等爆款主創,也有動畫產業技術、流程上的行業“大佬”;既有熱絡的項目交流,也有為第一部動畫不知從何入手的“菜鳥”……

    動畫,作為年輕人喜愛的文化產業的一個大類,近幾年佳作不斷,有些獲得了不亞于真人電影、電視劇的口碑,引爆文化熱點。

    然而國產動畫究竟面臨哪些挑戰?如何挖掘好苗子、進一步培植更多優秀文化作品?在這個被稱為“一年一度動畫人大聚會”的專業動畫周上,或許可從側面一窺究竟。

    記者 龔丹韻

    動畫人為動畫人辦節

    12年前,“行業狀況沒這么好,爆款作品沒多少,動畫人普遍比較窮”,動畫導演皮三發起了獨立動畫論壇,也是東布洲國際動畫周的前身。

    他看到一批動畫作品直奔政策補貼,不顧內容創作;看到從業者從懷揣夢想到陸續改行。在一些電影節中,動畫單元只是小小的配角,體量不大,專業人士也不多。

    “當時就想抱團取暖。”皮三說,“沒有理論高度,沒有美學思考,創作走不遠。所以我做了一個聚會,討論專業上的事”。

    如今再看這個動畫論壇歷屆參賽和展映名單,那真是群星璀璨,囊括了后來《哪吒之魔童降世》《大魚海棠》《大護法》《中國奇譚》等諸多爆款主創。彼時,他們還默默無聞,在這個專業論壇上透出了一點微光。

    2019年,在制片人徐楊斌的推薦下,論壇來到海門,重新組合策劃,開啟了第一屆東布洲國際動畫周。

    此地處于長江入海口,清晨霧氣彌漫,湖泊清澈如海。傍晚,湖岸邊的木排上總有本地年輕人垂釣的身影。這是一片適合文化人創作的土地。

    徐楊斌擔任組委會主席,發起人除了皮三,還加入了《中國奇譚》總導演、北京電影學院副教授陳廖宇,《長安三萬里》監制、追光動畫聯合創始人于洲。大家各有所長。

    “不追熱門話題,不追流量”,這是陳廖宇為論壇策劃定下的基調。每年,策展人以自己在行業的觀察和體驗,商定一個重要卻被忽略的主題。比如,今年論壇有個板塊叫“被忽視的動畫理論”。近年來,動畫變熱了,大家熱衷于談創作、談市場,卻很難看到有專業水平的人談理論研究,沒有人意識到,這件基礎工作也很重要。

    “對動畫產業來說,一個都不能少。所以我們不僅請導演、制片、編劇、出品方,也請美術設計師、動畫師、模型設計師、作曲者等。”陳廖宇說。

    有人笑言,臺上的嘉賓們可以直接成立工作室接活兒,可見工種之齊全。5天內的每一場論壇,沒人說冠冕堂皇的漂亮話。有人暢聊行業革新、有人分享原創開發手記、有人談論工作流程如何降本增效……“干貨滿滿”“實用”“長見識”,這是諸多觀眾的表達。很少有觀眾中途離場,卻不乏全神貫注的、瘋狂做筆記的,以及每場幾乎拖堂的觀眾提問,這一切,都表達了大家對專業信息如饑似渴。

    觀眾提問尤其令人記憶深刻。有人詢問:身為新人導演,如何找到好的制片人?有資深導演回答:做好準備,制片人做了一半兒就跑路;有人提問:自己每天接活,沒時間體驗生活,接活和創作之間發生矛盾怎么辦?臺上的嘉賓直言這是“矯情”……

    其實,也有些好點子暫未實現。比如,有策展人提出做中國動畫出海板塊。話題很好,可掰手指頭數,能勝任的嘉賓實在太少,請不到一定數量的實踐人才,講不出幾個小時的干貨,白白占用觀眾時間,還不如取消,留待將來。

    陳廖宇特別想聊一個話題:動畫表演。上海美影廠的前輩們在動畫表演上不僅完成了敘事,而且自成一套藝術審美風格和體系。如今,迪士尼動畫、日本動畫都有一套自己的風格,一眼就能被識別。中國動畫自己的藝術特征在哪里?今天,中國動畫表演的敘事沒有問題,但是更高的審美追求呢?當行業的創作力、影響力到了一定規模,底線生存問題基本解決后,中國動畫到了該自問的時候——我們從哪里來,將往哪里去?他計劃把話題留待明年策劃。

    有趣的是,近幾年較火的AI——其他節展多少都會涉及的熱門話題,東布洲卻偏偏不談。

    幾個策展人普遍認為,動畫行業需要很高的技術沉淀、內在系統的穩定運行方式,如果泛泛而談,沒有干貨,“我們寧可追求樸實,也不追趕時髦。”陳廖宇說。

    去年,東布洲動畫周的口號是“歡迎來到現實”。當大家都在談虛擬、聊元宇宙時,最接近二次元的動畫人卻希望一切還是從腳踏實地做起。

    今年的口號是“為人民動畫”,由陳廖宇首先提出。他希望藝術家回到常識、回歸真誠,通過作品與世界溝通、與人鏈接。

    專業的人做專業的事情。動畫人發起的節展,真正知道當下動畫人需要的內容是什么。

    “我幾乎每年必來。動畫行業很少有這種專業性強、綜合性強的節展,大部分都是針對C端的漫展,而不是針對B端的行業人士。”一位觀眾這樣表示。

    身份的跨級跳躍

    湯厲昊講話慢條斯理,似乎印證了許多人掛在口頭的描述:“動畫人都有點社恐。”

    他至今只有一部真正上線的作品。但不妨礙組委會對他的欣賞,邀請他負責本屆動畫周所有主視覺設計。

    2016年,湯厲昊本科畢業,拿著畢業作品參加東布洲的前身獨立動畫論壇。“一個6分鐘的學生短片,我當時也找不到其他可以投的地方。”

    那年,他結識了一批動畫界大咖,看到很多有趣的作品,決心繼續在中國美術學院讀研究生。碩士畢業后第二年,他個人制作的動畫短片《大橋遺犬》參加東布洲動畫周競賽單元,獲得大獎。而這部短片的配樂,正是2016年在論壇上結識的朋友。“作為學生,當時如果沒有這個平臺,我很難結識那樣級別的人脈。”

    如今,這部短片斬獲全球各類頂級動畫節展的獎項,包括法國昂西國際動畫節、瑞士SAVIGNY動畫節、韓國首爾獨立動畫節,入圍第59屆金馬獎最佳動畫短片、愛沙尼亞塔林黑夜國際電影節等。

    今年,他決心做一部長篇作品,聽了那么多天的論壇,了解了長篇動畫的工業流程后,他感到頗有收獲。

    另一個青年苗子同樣成長飛快。2019年,劉毛寧拿著畢業作品參加第一屆東布洲國際動畫周競賽單元,如今他已經是《中國奇譚:鄉村巴士帶走了王孩兒和神仙》的導演。

    也是在東布洲,他向陳廖宇暢談自己的創作理念。2年后,陳廖宇邀請他參與《中國奇譚》項目。

    他在動畫周的身份不斷變化,從學生參賽人到論壇嘉賓。“這里像一個烏托邦。”他感嘆,動畫人大量時間坐在室內,比較“宅”,東布洲是每年一次動畫人開放的聚會,一起聊天、看片,市場的、藝術的、學術的、創作的,平時很難有這樣綜合性的聚會。

    曾經的志愿者,后來成了參賽者、嘉賓或評審,類似的例子不勝枚舉。陳廖宇坦言,真正的行業痛點,不可能依靠一個節、一個平臺去解決。他們能幫襯的是個體,選拔苗子、提供成長機會。“重視每一個參與者,讓動畫產業鏈上的各工種,都有展示、發聲的機會。”

    久旱逢甘露

    市場單元策展人李臻、張旋、Rita提前3個月,寫了一份有趣的文檔,堪稱新手教科書。

    今年,動畫周首次推出市場單元,為動畫項目提供與買家接觸的機會。李臻說,國內鮮少有專門針對動畫的交易市場。也許動漫節很多,但產業涉獵較少。也有一些綜合性項目下設動畫單元,但它們是“配角”。扶持青年導演、促成市場交易在電影圈已經耳熟能詳,但在動畫行業還是新鮮事物。

    擔心“社恐”的動畫人談不來項目,3位策展人事無巨細、幾乎手把手教。文檔里寫道:“賣的意思不是把項目全都賣掉,而是賣項目的份額”“找到愿意參與項目的早期投資方”“不要拘泥于只在路演時候認識對方,在門口曬太陽也能認識很多好朋友,甚至是在身上掛個牌子也可以”“有趣,多元,不是指標,而是一個方向和價值觀。比如市場的某種類型很多了,那評委就可能選一些別的類型內容”……

    項目人確實受益匪淺。有人表示,和幾個平臺方聊了聊,發現公司的發展方向不對,回去打算調整。有人說談項目時不斷遭到平臺方的質問,但被“毒打”很開心。還有一位直言,項目已經準備回去和平臺簽約,“簽約成功,我包下明年酒會上的酒”……

    “你知道平臺方有多難約嗎?”一位項目人描述,日常想要見到平臺方,申請、預約、等待、拿二維碼,流程復雜不說,可能一年也見不到一個。

    如今,交易現場云集了國內一線平臺方、制片商、發行商、玩具制造企業。“一周之內,我見到了所有大平臺的動畫板塊負責人。”這位項目人說。何況東布洲園區也不大,大家都待在這里,晚上彼此在湖畔酒吧相會,還能繼續聊。

    本屆動畫周有24部作品入圍參加投創路演。最終選出了“抖音輕漫選擇獎”“儒意選擇獎”“上美影選擇獎”等5個獎項。

    3位策展人認為,市場單元的動畫項目沒必要分出“一二三”,所以組委會設置的是“選擇獎”。讓各公司自己選擇,也從中表達了各自的企業文化。比如,美影廠看重傳統文化和當下結合的表達,它選擇項目的口味跟其他的商業公司可能就不太一樣。由此希望中國動畫市場更加有趣、多元。

    第一次舉辦市場單元,大家反響如此好,李臻本人卻很平靜:“其實是久旱逢甘露,動畫人缺一個‘廣交會’太久了。我們還有進步的空間。”

    被記者問及“在別的節展中難道見不到這些制片人、導演嗎?”,一個學生解釋:一兩個可以,但遇見那么多來自各流程、各領域的動畫人才,很難。

    大型節展中,動畫只是很小一部分,請來的大咖數量不多。如果自己級別不夠,能不能進會場、能不能站在行業大咖面前、能不能當面聊,都是問題。

    “一個普通的老師、畢業生,想見追光總裁于洲,那得多難呀?可是在這個園區里,很容易。”對方這樣舉例。

    聚集專業的人,隨時可以聊,這是東布洲的可貴之處。

    盛會結束后,留下什么

    東布洲不只是動畫周的名字,也是這個園區的名字:東布洲人文科技小鎮。

    4年來,東布洲引進了30多個團隊和動畫公司,在這里孵化了20多個動畫項目。

    “80后”王文欣來自沈陽。2008年,他和2個同班同學一起研究定格動畫,創業成立的“靈感罐頭”如今已是業界知名定格動畫公司。

    起初,王文欣只是來孵化動畫項目。“國內很少有只針對動畫的孵化平臺,不排除一些節展有動畫板塊,但體量小,而且評委未必都是專業動畫人。”王文欣說。市場上,商業動畫項目一般先由企業自己投錢孵化,做出點樣子才去找買家。動畫的前期孵化資源,太稀缺了。

    項目“孵”到2020年,恰逢東布洲園區鼓勵企業落地。政府提供獨棟2000平方米的房子,前3年免租,后兩年半租,還提供免費配套的人才公寓。如此一來,省去企業大量成本。“我們把沈陽公司一鍋端了,總部搬遷到這里。”王文欣笑著說。公司3個創始人舉家搬遷。他們夫妻6人都是大學同學,如今5個孩子在江蘇同一所學校上學,下一代也成了校友。長三角的教育資源是有吸引力的,總部搬遷后,60%員工舉家搬遷。

    王文欣喜歡東布洲的氛圍,不僅僅在于扶持和配套,更在于前后都是業內優秀的同行。他可以找皮三聊劇本創作,找徐楊斌聊商業開發邏輯,與其他同行開各類劇本會等。

    今年,園區實訓基地啟動,其中之一是3天的大師班課程,對落地企業免費,對外收取一定費用。

    大師班含金量很高,請來業界公認的頂級制片人、導演等。有趣的是,另一家搬來園區的中期制作公司視界樹,其老板上完大師班后,幾位制片人導師就請他們做片子了。

    實際上,動畫作品的中期環節“永遠缺人”,尤其需要大量技能型人才。所以今年,東布洲園區內開了動畫實訓基地,專門培訓最新一代技術虛幻引擎UE5。它可以讓影視劇各流程并行,帶來行業的革命性改變。

    當年,“哪吒”“大圣”這些動畫電影,動輒調動全國幾十家制作公司,涉及上百人。放到現在,理論上如果人才到位、新技術運用到位,二三十人的團隊就可以完成。目前制作動畫番劇(即動畫電視連續劇)的幾家公司都在使用這項技術。真人科幻電影、三維技術團隊也在往這個方向轉型。

    實訓基地第一期課程相對便宜,全日制半年、每天6節課、24周,包括住宿,一共15000元左右,可后付。目前30人全部招滿,大部分是應屆畢業生,也有動畫企業派來的人。還有一位園區行政人員,被這里的動畫創作氛圍感染,想要加入這一行,不惜辭職來上課。

    幫助動畫人解決問題,一個節不夠,一個園區或許也不夠。但是這群專業動畫人的努力軌跡或許可以告訴我們,對中國動畫產業——這個文化產業中越來越重要的分支,究竟應該如何補短板、如何去幫扶。

    專家對話

    記者:動畫周上,許多人是從北京、上海、廣州過來的。為什么要挑選海門作為動畫周的舉辦地?

    徐楊斌:動畫行業的奧斯卡是法國昂西,昂西是一個小鎮。我的家鄉海門,地處文旅資源豐富的長三角,安靜,優美,適合創作。動畫周也有了一個落地生根的基地。

    記者:為什么從打造動畫周,升級到打造一個基地?

    徐楊斌:只做動畫周,每年就熱鬧一回。節展結束,人群四散,能否為當地留下點什么?

    第一步是前期孵化。我們擔任天使投資人+聯合創始人,給場地,給資金,給人脈,找產業人才,版權共享。目前,這里已經孵化了二三十個項目,等待后續上映。

    一個小插曲是,本來動畫周叫“東布洲”,后來整個園區也叫“東布洲”,地方政府和動畫人一起打造一個“有趣的小鎮品牌”。

    第二步,留下企業。在這里創作、孵化時間久了,一些動畫人動了念頭,把公司搬遷過來。

    這里流動少,員工成本低,生活成本低,也更加舒適。園區旁邊學校、醫院都有,長三角的教育資源對很多人有吸引力。

    全靠搬遷也不行。第三步,我們建立了動畫實訓學院,學員合格后,可以直接在這里找工作。

    記者:美影廠出自上海,上海也被稱為“二次元之都”。從您的角度看,上海能不能做類似的事情?

    徐楊斌:文化產業和工業有很大差異。比如導演在成都,他可以在電腦上發包給杭州的公司制作中期。

    和傳統工業相比,文化沒有運輸問題,并不一定需要空間集中。既然如此,鄉鎮就有了可能性。它的優勢是更優美、專注的創作環境,但也需要優化配置。一個文化園區內,企業之間的流程對接、便利程度,必須比成都的導演發包給杭州的公司更容易,文化園區才有意義。

    所以我們想為動畫行業貢獻一種“小鎮模式”。這樣的小鎮,只能在經濟發達地區,比如上海周邊。

    來源: 解放日報

    、計算機系統

    1、硬件五大部分:

    2、虛擬內存:

    許多計算機支持虛擬內存機制,該機制使計算機可以運行大于物理內存的程序,方法是將正在使用的程序放入內存去執行,而暫時不需要執行的程序放到磁盤的某塊地方,這塊地方成為虛擬內存,在linux中成為swap,這種機制的核心在于快速地映射內存地址,由cpu中的一個部件負責,成為存儲器管理單元(Memory Management Unit MMU)

    3、啟動計算機:

    在計算機的主板上有一個基本的輸入輸出程序(Basic Input Output system)

    BIOS就相當于一個小的操作系統,它有底層的I/O軟件,包括讀鍵盤,寫屏幕,進行磁盤I/O,該程序存放于一非易失性閃存RAM中。

    啟動流程:

    -------.計算機加電

    -------.BIOS開始運行,檢測硬件:cpu、內存、硬盤等

    -------.BIOS讀取CMOS存儲器中的參數,選擇啟動設備

    -------.從啟動設備上讀取第一個扇區的內容(MBR主引導記錄512字節,前446為引導信息,后64為分區信息,最后兩個為標志位)

    -------.根據分區信息讀入bootloader啟動裝載模塊,啟動操作系統

    -------.然后操作系統詢問BIOS,以獲得配置信息。對于每種設備,系統會檢查其設備驅動程序是否存在,如果沒有,系統則會要求用戶按照設備驅動程序。一旦有了全部的設備驅動程序,操作系統就會將它們調入內核。然后初始有關的表格(如進程表),穿件需要的進程,并在每個終端上啟動登錄程序或GUI

    二、操作系統:

    1、為什么要有操作系統

    程序員無法把所有的硬件操作細節都了解到,管理這些硬件并且加以優化使用是非常繁瑣的工作,這個繁瑣的工作就是操作系統來干的,有了他,程序員就從這些繁瑣的工作中解脫了出來,只需要考慮自己的應用軟件的編寫就可以了,應用軟件直接使用操作系統提供的功能來間接使用硬件。

    2、什么是操作系統

    ----精簡地說的話,操作系統就是一個協調、管理和控制計算機硬件資源和軟件資源的控制程序

    ----細說的話,操作系統應該分成兩部分功能:

    --------隱藏了丑陋的硬件調用接口,為應用程序員提供調用硬件資源得更好,更簡單,更清晰的模型(系統調用接口)。應用程序員有了這些接口后,就不用再考慮操作硬件的細節,專心開發自己的應用程序即可。為應用程序提供如何使用硬件資源的抽象

    --------將應用程序對硬件資源的靜態請求變得有序化。管理硬件資源

    三、網絡基礎-網絡通信原理

    1、互聯網的本質就是一系列的網絡協議

    2、osi七層協議

    -----互聯網協議按照功能不同分為osi七層或tcp/ip五層或tcp/ip四層:

    -----每層運行常見物理設備

    A-----1、物理層由來:上面提到,孤立的計算機之間要想一起玩,就必須接入internet,言外之意就是計算機之間必須完成組網

    -----1.1、物理層功能:主要是基于電器特性發送高低電壓(電信號),高電壓對應數字1,低電壓對應數字0


    B-----2、數據鏈路層由來:單純的電信號0和1沒有任何意義,必須規定電信號多少位一組,每組什么意思

    -----2.1、數據鏈路層的功能:定義了電信號的分組方式

    -----2.2、以太網協議:

    ----------早期的時候各個公司都有自己的分組方式,后來形成了統一的標準,即以太網協議ethernet

    ethernet規定:

    一組電信號構成一個數據包,叫做‘幀’。每一數據幀分成:報頭head和數據data兩部分

    head

    data

    head包含:(固定18個字節)

    發送者/源地址,6個字節

    接收者/目標地址,6個字節

    數據類型,6個字節

    data包含:(最短46字節,最長1500字節)

    數據包的具體內容

    head長度+data長度=最短64字節,最長1518字節,超過最大限制就分片發送

    ----------mac地址:

    head中包含的源和目標地址由來:ethernet規定接入internet的設備都必須具備網卡,發送端和接收端的地址便是指網卡的地址,即mac地址

    mac地址:每塊網卡出廠時都被燒制上一個世界唯一的mac地址,長度為48位2進制,通常由12位16進制數表示(前六位是廠商編號,后六位是流水線號)

    ----------廣播:

    有了mac地址,同一網絡內的兩臺主機就可以通信了(一臺主機通過arp協議獲取另外一臺主機的mac地址)

    ethernet采用最原始的方式,廣播的方式進行通信,即計算機通信基本靠吼


    C-----3、網絡層由來:有了ethernet、mac地址、廣播的發送方式,世界上的計算機就可以彼此通信了,問題是世界范圍的互聯網是由一個個彼此隔離的小的局域網組成的,那么如果所有的通信都采用以太網的廣播方式,那么一臺機器發送的包全世界都會收到,這就不僅僅是效率低的問題了,這會是一種災難。所以就采用路由的方式(向不同廣播域/子網分發數據包),mac地址是無法區分的,它只跟廠商有關

    -----3.1、網絡層功能:引入一套新的地址用來區分不同的廣播域/子網,這套地址即網絡地址

    -----IP協議

    規定網絡地址的協議叫ip協議,它定義的地址稱之為ip地址,廣泛采用的v4版本即ipv4,它規定網絡地址由32位2進制表示

    范圍0.0.0.0-255.255.255.255

    一個ip地址通常寫成四段十進制數,例:172.16.10.1

    -----ip地址分成兩部分

    網絡部分:標識子網

    主機部分:標識主機

    注意:單純的ip地址段只是標識了ip地址的種類,從網絡部分或主機部分都無法辨識一個ip所處的子網

    例:172.16.10.1與172.16.10.2并不能確定二者處于同一子網

    -----子網掩碼

    所謂”子網掩碼”,就是表示子網絡特征的一個參數。它在形式上等同于IP地址,也是一個32位二進制數字,它的網絡部分全部為1,主機部分全部為0。比如,IP地址172.16.10.1,如果已知網絡部分是前24位,主機部分是后8位,那么子網絡掩碼就是11111111.11111111.11111111.00000000,寫成十進制就是255.255.255.0。

    -----知道”子網掩碼”,我們就能判斷,任意兩個IP地址是否處在同一個子網絡。方法是將兩個IP地址與子網掩碼分別進行AND運算(兩個數位都為1,運算結果為1,否則為0),然后比較結果是否相同,如果是的話,就表明它們在同一個子網絡中,否則就不是。

    -----總結一下,IP協議的作用主要有兩個,一個是為每一臺計算機分配IP地址,另一個是確定哪些地址在同一個子網絡。

    -----ip數據包

    ip數據包也分為head和data部分,無須為ip包定義單獨的欄位,直接放入以太網包的data部分

    head:長度為20到60字節

    data:最長為65,515字節。

    而以太網數據包的”數據”部分,最長只有1500字節。因此,如果IP數據包超過了1500字節,它就需要分割成幾個以太網數據包,分開發送了。

    以太網頭

    ip 頭

    ip數據

    ----- ARP協議:

    ----------arp協議由來:計算機通信基本靠吼,即廣播的方式,所有上層的包到最后都要封裝上以太網頭,然后通過以太網協議發送,在談及以太網協議時候,我門了解到通信是基于mac的廣播方式實現,計算機在發包時,獲取自身的mac是容易的,如何獲取目標主機的mac,就需要通過arp協議

    ----------arp協議功能:廣播的方式發送數據包,獲取目標主機的mac地址

    協議工作方式:每臺主機ip都是已知的

    例如:主機172.16.10.10/24訪問172.16.10.11/24

    一:首先通過ip地址和子網掩碼區分出自己所處的子網

    場景

    數據包地址

    同一子網

    目標主機mac,目標主機ip

    不同子網

    網關mac,目標主機ip

    二:分析172.16.10.10/24與172.16.10.11/24處于同一網絡(如果不是同一網絡,那么下表中目標ip為172.16.10.1,通過arp獲取的是網關的mac)


    源mac

    目標mac

    源ip

    目標ip

    數據部分

    發送端主機

    發送端mac

    FF:FF:FF:FF:FF:FF

    172.16.10.10/24

    172.16.10.11/24

    數據

    三:這個包會以廣播的方式在發送端所處的自網內傳輸,所有主機接收后拆開包,發現目標ip為自己的,就響應,返回自己的mac


    D-----4、傳輸層的由來:網絡層的ip幫我們區分子網,以太網層的mac幫我們找到主機,然后大家使用的都是應用程序,你的電腦上可能同時開啟qq,暴風影音,等多個應用程序,

    那么我們通過ip和mac找到了一臺特定的主機,如何標識這臺主機上的應用程序,答案就是端口,端口即應用程序與網卡關聯的編號

    -----傳輸層功能:建立端口到端口的通信

    補充:端口范圍0-65535,0-1023為系統占用端口

    ----------tcp協議:

    可靠傳輸,TCP數據包沒有長度限制,理論上可以無限長,但是為了保證網絡的效率,通常TCP數據包的長度不會超過IP數據包的長度,以確保單個TCP數據包不必再分割。

    以太網頭

    ip 頭

    tcp頭

    數據

    ----------udp協議:

    不可靠傳輸,”報頭”部分一共只有8個字節,總長度不超過65,535字節,正好放進一個IP數據包。

    以太網頭

    ip頭

    udp頭

    數據


    E-----5、應用層由來:用戶使用的都是應用程序,均工作于應用層,互聯網是開發的,大家都可以開發自己的應用程序,數據多種多樣,必須規定好數據的組織形式

    應用層功能:規定應用程序的數據格式。

    -----最后圖片總結網絡傳輸:


    -----我們知道兩個進程如果需要進行通訊最基本的一個前提能能夠唯一的標示一個進程,在本地進程通訊中我們可以使用PID來唯一標示一個進程,但PID只在本地唯一,網絡中的兩個進程PID沖突幾率很大,這時候我們需要另辟它徑了,我們知道IP層的ip地址可以唯一標示主機,而TCP層協議和端口號可以唯一標示主機的一個進程,這樣我們可以利用ip地址+協議+端口號唯一標示網絡中的一個進程。能夠唯一標示網絡中的進程后,它們就可以利用socket進行通信了

    -----什么是socket?

    我們經常把socket翻譯為套接字,socket是在應用層和傳輸層之間的一個抽象層,它把TCP/IP層復雜的操作抽象為幾個簡單的接口供應用層調用已實現進程在網絡中通信。

    socket起源于UNIX,在Unix一切皆文件哲學的思想下,socket是一種"打開—讀/寫—關閉"模式的實現,服務器和客戶端各自維護一個"文件",在建立連接打開后,可以向自己文件寫入內容供對方讀取或者讀取對方內容,通訊結束時關閉文件。

    四、網絡基礎-網絡通信實現

    1、想實現網絡通信,每臺主機需具備四要素

    -----本機的IP地址

    -----子網掩碼

    -----網關的IP地址

    -----DNS的IP地址

    2、獲取這四要素分兩種方式

    ----1.靜態獲取

    -----即手動配置

    ----2.動態獲取

    -----通過dhcp獲取

    以太網頭

    ip頭

    udp頭

    dhcp數據包

    (1)最前面的”以太網標頭”,設置發出方(本機)的MAC地址和接收方(DHCP服務器)的MAC地址。前者就是本機網卡的MAC地址,后者這時不知道,就填入一個廣播地址:FF-FF-FF-FF-FF-FF

    (2)后面的”IP標頭”,設置發出方的IP地址和接收方的IP地址。這時,對于這兩者,本機都不知道。于是,發出方的IP地址就設為0.0.0.0,接收方的IP地址設為255.255.255.255

    (3)最后的”UDP標頭”,設置發出方的端口和接收方的端口。這一部分是DHCP協議規定好的,發出方是68端口,接收方是67端口。

    這個數據包構造完成后,就可以發出了。以太網是廣播發送,同一個子網絡的每臺計算機都收到了這個包。因為接收方的MAC地址是FF-FF-FF-FF-FF-FF,看不出是發給誰的,所以每臺收到這個包的計算機,還必須分析這個包的IP地址,才能確定是不是發給自己的。當看到發出方IP地址是0.0.0.0,接收方是255.255.255.255,于是DHCP服務器知道”這個包是發給我的”,而其他計算機就可以丟棄這個包。

    接下來,DHCP服務器讀出這個包的數據內容,分配好IP地址,發送回去一個”DHCP響應”數據包。這個響應包的結構也是類似的,以太網標頭的MAC地址是雙方的網卡地址,IP標頭的IP地址是DHCP服務器的IP地址(發出方)和255.255.255.255(接收方),UDP標頭的端口是67(發出方)和68(接收方),分配給請求端的IP地址和本網絡的具體參數則包含在Data部分。

    新加入的計算機收到這個響應包,于是就知道了自己的IP地址、子網掩碼、網關地址、DNS服務器等等參數

    五、網絡基礎-網絡通信流程

    1.本機獲取

    ----本機的IP地址:192.168.1.100

    ----子網掩碼:255.255.255.0

    ----網關的IP地址:192.168.1.1

    ----DNS的IP地址:8.8.8.8

    2.打開瀏覽器,想要訪問Google,在地址欄輸入了網址:www.google.com。

    3.dns協議(基于udp協議)

    ----13臺根dns:

    A.root-servers.net198.41.0.4美國
    B.root-servers.net192.228.79.201美國(另支持IPv6)
    C.root-servers.net192.33.4.12法國
    D.root-servers.net128.8.10.90美國
    E.root-servers.net192.203.230.10美國
    F.root-servers.net192.5.5.241美國(另支持IPv6)
    G.root-servers.net192.112.36.4美國
    H.root-servers.net128.63.2.53美國(另支持IPv6)
    I.root-servers.net192.36.148.17瑞典
    J.root-servers.net192.58.128.30美國
    K.root-servers.net193.0.14.129英國(另支持IPv6)
    L.root-servers.net198.32.64.12美國
    M.root-servers.net202.12.27.33日本(另支持IPv6)

    域名定義:http://jingyan.baidu.com/article/1974b289a649daf4b1f774cb.html

    頂級域名:以.com,.net,.org,.cn等等屬于國際頂級域名,根據目前的國際互聯網域名體系,國際頂級域名分為兩類:類別頂級域名(gTLD)和地理頂級域名(ccTLD)兩種。類別頂級域名是 以"COM"、"NET"、"ORG"、"BIZ"、"INFO"等結尾的域名,均由國外公司負責管理。地理頂級域名是以國家或地區代碼為結尾的域名,如"CN"代表中國,"UK"代表英國。地理頂級域名一般由各個國家或地區負責管理。

    二級域名:二級域名是以頂級域名為基礎的地理域名,比喻中國的二級域有,.com.cn,.net.cn,.org.cn,.gd.cn等.子域名是其父域名的子域名,比喻父域名是abc.com,子域名就是www.abc.com或者*.abc.com.
    一般來說,二級域名是域名的一條記錄,比如alidiedie.com是一個域名,www.alidiedie.com是其中比較常用的記錄,一般默認是用這個,但是類似*.alidiedie.com的域名全部稱作是alidiedie.com的二級

    4.HTTP部分的內容,類似于下面這樣:

    GET / HTTP/1.1
    Host: www.google.com
    Connection: keep-alive
    User-Agent: Mozilla/5.0 (Windows NT 6.1) ……
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Encoding: gzip,deflate,sdch
    Accept-Language: zh-CN,zh;q=0.8
    Accept-Charset: GBK,utf-8;q=0.7,*;q=0.3
    Cookie: … …

    我們假定這個部分的長度為4960字節,它會被嵌在TCP數據包之中。

    5. TCP協議

    TCP數據包需要設置端口,接收方(Google)的HTTP端口默認是80,發送方(本機)的端口是一個隨機生成的1024-65535之間的整數,假定為51775。

    TCP數據包的標頭長度為20字節,加上嵌入HTTP的數據包,總長度變為4980字節。

    6 .IP協議

    然后,TCP數據包再嵌入IP數據包。IP數據包需要設置雙方的IP地址,這是已知的,發送方是192.168.1.100(本機),接收方是172.194.72.105(Google)。

    IP數據包的標頭長度為20字節,加上嵌入的TCP數據包,總長度變為5000字節。

    7. 以太網協議

    最后,IP數據包嵌入以太網數據包。以太網數據包需要設置雙方的MAC地址,發送方為本機的網卡MAC地址,接收方為網關192.168.1.1的MAC地址(通過ARP協議得到)。

    以太網數據包的數據部分,最大長度為1500字節,而現在的IP數據包長度為5000字節。因此,IP數據包必須分割成四個包。因為每個包都有自己的IP標頭(20字節),所以四個包的IP數據包的長度分別為1500、1500、1500、560。

    8. 服務器端響應

    經過多個網關的轉發,Google的服務器172.194.72.105,收到了這四個以太網數據包。

    根據IP標頭的序號,Google將四個包拼起來,取出完整的TCP數據包,然后讀出里面的”HTTP請求”,接著做出”HTTP響應”,再用TCP協議發回來。

    本機收到HTTP響應以后,就可以將網頁顯示出來,完成一次網絡通信。

    .操作系統基礎

    操作系統:(Operating System,簡稱OS)是管理和控制計算機硬件與軟件資源的計算機程序,是直接運行在“裸機”上的最基本的系統軟件,任何其他軟件都必須在操作系統的支持下才能運行。

    注:計算機(硬件)->os->應用軟件

    二.網絡通信原理

    互聯網的本質就是一系列的網絡協議

    一臺硬設有了操作系統,然后裝上軟件你就可以正常使用了,然而你也只能自己使用像這樣,每個人都擁有一臺自己的機器,然而彼此孤立

    如何能讓大家一起玩耍

    然而internet為何物?

    其實兩臺計算機之間通信與兩個人打電話之間通信的原理是一樣的(中國有很多地區,不同的地區有不同的方言,為了全中國人都可以聽懂,大家統一講普通話)

    普通話屬于中國國內人與人之間通信的標準,那如果是兩個國家的人交流呢?

    問題是,你不可能要求一個人/計算機掌握全世界的語言/標準,于是有了世界統一的通信標準:英語

    結論:英語成為世界上所有人通信的統一標準,如果把計算機看成分布于世界各地的人,那么連接兩臺計算機之間的internet實際上就是

    一系列統一的標準,這些標準稱之為互聯網協議,互聯網的本質就是一系列的協議,總稱為‘互聯網協議’(Internet Protocol Suite).

    互聯網協議的功能:定義計算機如何接入internet,以及接入internet的計算機通信的標準。

    osi七層協議

    互聯網協議按照功能不同分為osi七層或tcp/ip五層或tcp/ip四層

    每層運行常見物理設備

    OSI七層協議數據傳輸的封包與解包過程

    tcp/ip五層模型講解

    我們將應用層,表示層,會話層并作應用層,從tcp/ip五層協議的角度來闡述每層的由來與功能,搞清楚了每層的主要協議

    就理解了整個互聯網通信的原理。

    首先,用戶感知到的只是最上面一層應用層,自上而下每層都依賴于下一層,所以我們從最下一層開始切入,比較好理解

    每層都運行特定的協議,越往上越靠近用戶,越往下越靠近硬件

    物理層

    物理層由來:上面提到,孤立的計算機之間要想一起玩,就必須接入internet,言外之意就是計算機之間必須完成組網

    物理層功能:主要是基于電器特性發送高低電壓(電信號),高電壓對應數字1,低電壓對應數字0

    數據鏈路層:
    數據鏈路層由來:單純的電信號0和1沒有任何意義,必須規定電信號多少位一組,每組什么意思

    數據鏈路層的功能:定義了電信號的分組方式

    以太網協議:

    早期的時候各個公司都有自己的分組方式,后來形成了統一的標準,即以太網協議ethernet

    ethernet規定

    一組電信號構成一個數據包,叫做‘幀’
    每一數據幀分成:報頭head和數據data兩部分
    head data

    head包含:(固定18個字節)

    發送者/源地址,6個字節
    接收者/目標地址,6個字節
    數據類型,6個字節
    data包含:(最短46字節,最長1500字節)

    數據包的具體內容
    head長度+data長度=最短64字節,最長1518字節,超過最大限制就分片發送

    mac地址:

    head中包含的源和目標地址由來:ethernet規定接入internet的設備都必須具備網卡,發送端和接收端的地址便是指網卡的地址,即mac地址

    mac地址:每塊網卡出廠時都被燒制上一個世界唯一的mac地址,長度為48位2進制,通常由12位16進制數表示(前六位是廠商編號,后六位是流水線號)

    廣播:

    有了mac地址,同一網絡內的兩臺主機就可以通信了(一臺主機通過arp協議獲取另外一臺主機的mac地址)

    ethernet采用最原始的方式,廣播的方式進行通信,即計算機通信基本靠吼

    網絡層

    網絡的由來:有了ethernet、mac地址、廣播的發送方式,世界上的計算機就可以彼此通信了,問題是世界范圍的互聯網是由

    一個個彼此隔離的小的局域網組成的,那么如果所有的通信都采用以太網的廣播方式,那么一臺機器發送的包全世界都會收到,

    這就不僅僅是效率低的問題了,這會是一種災難

    上圖結論:必須找出一種方法來區分哪些計算機屬于同一廣播域,哪些不是,如果是就采用廣播的方式發送,如果不是,

    就采用路由的方式(向不同廣播域/子網分發數據包),mac地址是無法區分的,它只跟廠商有關

    網絡層功能:引入一套新的地址用來區分不同的廣播域/子網,這套地址即網絡地址

    IP協議:

    • 規定網絡地址的協議叫ip協議,它定義的地址稱之為ip地址,廣泛采用的v4版本即ipv4,它規定網絡地址由32位2進制表示
    • 范圍0.0.0.0-255.255.255.255
    • 一個ip地址通常寫成四段十進制數,例:172.16.10.1

    ip地址分成兩部分

    • 網絡部分:標識子網
    • 主機部分:標識主機
      注意:單純的ip地址段只是標識了ip地址的種類,從網絡部分或主機部分都無法辨識一個ip所處的子網

    例:172.16.10.1與172.16.10.2并不能確定二者處于同一子網

    子網掩碼

    所謂”子網掩碼”,就是表示子網絡特征的一個參數。它在形式上等同于IP地址,也是一個32位二進制數字,它的網絡部分全部為1,主機部分全部為0。比如,IP地址172.16.10.1,如果已知網絡部分是前24位,主機部分是后8位,那么子網絡掩碼就是11111111.11111111.11111111.00000000,寫成十進制就是255.255.255.0。

    知道”子網掩碼”,我們就能判斷,任意兩個IP地址是否處在同一個子網絡。方法是將兩個IP地址與子網掩碼分別進行AND運算(兩個數位都為1,運算結果為1,否則為0),然后比較結果是否相同,如果是的話,就表明它們在同一個子網絡中,否則就不是。

    比如,已知IP地址172.16.10.1和172.16.10.2的子網掩碼都是255.255.255.0,請問它們是否在同一個子網絡?兩者與子網掩碼分別進行AND運算,

    172.16.10.1:10101100.00010000.00001010.000000001

    255255.255.255.0:11111111.11111111.11111111.00000000

    AND運算得網絡地址結果:10101100.00010000.00001010.000000001->172.16.10.0

    172.16.10.2:10101100.00010000.00001010.000000010

    255255.255.255.0:11111111.11111111.11111111.00000000

    AND運算得網絡地址結果:10101100.00010000.00001010.000000001->172.16.10.0

    結果都是172.16.10.0,因此它們在同一個子網絡。

    總結一下,IP協議的作用主要有兩個,一個是為每一臺計算機分配IP地址,另一個是確定哪些地址在同一個子網絡。

    ip數據包

    ip數據包也分為head和data部分,無須為ip包定義單獨的欄位,直接放入以太網包的data部分

    head:長度為20到60字節

    data:最長為65,515字節。

    而以太網數據包的”數據”部分,最長只有1500字節。因此,如果IP數據包超過了1500字節,它就需要分割成幾個以太網數據包,分開發送了。

    以太網頭 ip 頭 ip數據

    ARP協議

    arp協議由來:計算機通信基本靠吼,即廣播的方式,所有上層的包到最后都要封裝上以太網頭,然后通過以太網協議發送,在談及以太網協議時候,我門了解到

    通信是基于mac的廣播方式實現,計算機在發包時,獲取自身的mac是容易的,如何獲取目標主機的mac,就需要通過arp協議

    arp協議功能:廣播的方式發送數據包,獲取目標主機的mac地址

    協議工作方式:每臺主機ip都是已知的

    例如:主機172.16.10.10/24訪問172.16.10.11/24

    一:首先通過ip地址和子網掩碼區分出自己所處的子網

    場景 數據包地址
    同一子網 目標主機mac,目標主機ip
    不同子網 網關mac,目標主機ip

    二:分析172.16.10.10/24與172.16.10.11/24處于同一網絡(如果不是同一網絡,那么下表中目標ip為172.16.10.1,通過arp獲取的是網關的mac)

    源mac 目標mac 源ip 目標ip 數據部分

    發送端主機 發送端mac FF:FF:FF:FF:FF:FF 172.16.10.10/24 172.16.10.11/24 數據

    三:這個包會以廣播的方式在發送端所處的自網內傳輸,所有主機接收后拆開包,發現目標ip為自己的,就響應,返回自己的mac

    傳輸層

    傳輸層的由來:網絡層的ip幫我們區分子網,以太網層的mac幫我們找到主機,然后大家使用的都是應用程序,你的電腦上可能同時開啟qq,暴風影音,等多個應用程序,

    那么我們通過ip和mac找到了一臺特定的主機,如何標識這臺主機上的應用程序,答案就是端口,端口即應用程序與網卡關聯的編號。

    傳輸層功能:建立端口到端口的通信

    補充:端口范圍0-65535,0-1023為系統占用端口

    tcp協議:

    可靠傳輸,TCP數據包沒有長度限制,理論上可以無限長,但是為了保證網絡的效率,通常TCP數據包的長度不會超過IP數據包的長度,以確保單個TCP數據包不必再分割。

    以太網頭 ip 頭 tcp頭 數據

    udp協議:

    不可靠傳輸,”報頭”部分一共只有8個字節,總長度不超過65,535字節,正好放進一個IP數據包。

    以太網頭 ip頭 udp頭 數據

    tcp報文

    tcp三次握手和四次揮手

    應用層

    應用層由來:用戶使用的都是應用程序,均工作于應用層,互聯網是開發的,大家都可以開發自己的應用程序,數據多種多樣,必須規定好數據的組織形式

    應用層功能:規定應用程序的數據格式。

    例:TCP協議可以為各種各樣的程序傳遞數據,比如Email、WWW、FTP等等。那么,必須有不同協議規定電子郵件、網頁、FTP數據的格式,這些應用程序協議就構成了”應用層”。


    我們知道兩個進程如果需要進行通訊最基本的一個前提能能夠唯一的標示一個進程,在本地進程通訊中我們可以使用PID來唯一標示一個進程,但PID只在本地唯一,網絡中的兩個進程PID沖突幾率很大,這時候我們需要另辟它徑了,我們知道IP層的ip地址可以唯一標示主機,而TCP層協議和端口號可以唯一標示主機的一個進程,這樣我們可以利用ip地址+協議+端口號唯一標示網絡中的一個進程。

    能夠唯一標示網絡中的進程后,它們就可以利用socket進行通信了,什么是socket呢?我們經常把socket翻譯為套接字,socket是在應用層和傳輸層之間的一個抽象層,它把TCP/IP層復雜的操作抽象為幾個簡單的接口供應用層調用已實現進程在網絡中通信。

    socket起源于UNIX,在Unix一切皆文件哲學的思想下,socket是一種"打開—讀/寫—關閉"模式的實現,服務器和客戶端各自維護一個"文件",在建立連接打開后,可以向自己文件寫入內容供對方讀取或者讀取對方內容,通訊結束時關閉文件。

    小結

    總結圖如下:

    數據傳輸動圖如下:

    三.網絡通信實現
    想實現網絡通信,每臺主機需具備四要素

    本機的IP地址
    子網掩碼
    網關的IP地址
    DNS的IP地址
    獲取這四要素分兩種方式

    1.靜態獲取

    即手動配置

    2.動態獲取

    通過dhcp獲取

    以太網頭 ip頭 udp頭 dhcp數據包

    (1)最前面的”以太網標頭”,設置發出方(本機)的MAC地址和接收方(DHCP服務器)的MAC地址。前者就是本機網卡的MAC地址,后者這時不知道,就填入一個廣播地址:FF-FF-FF-FF-FF-FF。

    (2)后面的”IP標頭”,設置發出方的IP地址和接收方的IP地址。這時,對于這兩者,本機都不知道。于是,發出方的IP地址就設為0.0.0.0,接收方的IP地址設為255.255.255.255。

    (3)最后的”UDP標頭”,設置發出方的端口和接收方的端口。這一部分是DHCP協議規定好的,發出方是68端口,接收方是67端口。

    這個數據包構造完成后,就可以發出了。以太網是廣播發送,同一個子網絡的每臺計算機都收到了這個包。因為接收方的MAC地址是FF-FF-FF-FF-FF-FF,看不出是發給誰的,所以每臺收到這個包的計算機,還必須分析這個包的IP地址,才能確定是不是發給自己的。當看到發出方IP地址是0.0.0.0,接收方是255.255.255.255,于是DHCP服務器知道”這個包是發給我的”,而其他計算機就可以丟棄這個包。

    接下來,DHCP服務器讀出這個包的數據內容,分配好IP地址,發送回去一個”DHCP響應”數據包。這個響應包的結構也是類似的,以太網標頭的MAC地址是雙方的網卡地址,IP標頭的IP地址是DHCP服務器的IP地址(發出方)和255.255.255.255(接收方),UDP標頭的端口是67(發出方)和68(接收方),分配給請求端的IP地址和本網絡的具體參數則包含在Data部分。

    新加入的計算機收到這個響應包,于是就知道了自己的IP地址、子網掩碼、網關地址、DNS服務器等等參數

    四.DNS域名解析

    dns的作用

    DNS的作用:在互聯網中,其實沒有類似于www.xxx.com這種域名方式,而替代的是以IP地址,如222.222.222.222,那我們在IE地址欄中應當輸入222.222.222.222才能打開網站www.xxx.com,但我們細想一下,互聯網上的網站成千上萬,如果每個網站登陸都需要記住一大串數字,那是不是特別不方便,對于記憶力不強的人,根本無法記住這么煩瑣的數字。這個時候DNS就出現了,它的作用就是將222.222.222.222解析為www.xxx.com,那么我們登陸的時候就直接輸入域名就可以了。

    為什么一定要設置DNS才能上網?有些朋友可能會發現,為什么我可能登陸QQ、MSN,但卻打不開網頁呢?其實大部分原因都是因為DNS服務器故障造成的,DNS服務器地址是唯一的,是運營商提供給終端用戶用來解析IP地址及域名的關系,而如果不設定DNS服務器地址,那么就無法查詢地址的去向,自然也就打不開網頁,而QQ、MSN等即時聊天軟件,采用的是UDP傳輸協議,即不可靠傳輸協議,無需提供DNS服務器地址,也同樣可以登陸。

    dns的兩種查詢方式

    # 一 :遞歸
    
    主機向本地域名服務器的查詢一般都是采用遞歸查詢。所謂遞歸查詢就是:如果主機所詢問的本地域名服務器不知道被查詢的域名的IP地址,
    那么本地域名服務器就以DNS客戶的身份,向其它根域名服務器繼續發出查詢請求報文(即替主機繼續查詢),而不是讓主機自己進行下一步查詢。
    因此,遞歸查詢返回的查詢結果或者是所要查詢的IP地址,或者是報錯,表示無法查詢到所需的IP地址。
    
    # 二:迭代
    
    本地域名服務器向根域名服務器的查詢的迭代查詢。迭代查詢的特點:當根域名服務器收到本地域名服務器發出的迭代查詢請求報文時,要么給出所要查詢的IP地址,
    要么告訴本地服務器:“你下一步應當向哪一個域名服務器進行查詢”。然后讓本地服務器進行后續的查詢。根域名服務器通常是把自己知道的頂級域名服務器的IP地址告訴本地域名服務器,
    讓本地域名服務器再向頂級域名服務器查詢。頂級域名服務器在收到本地域名服務器的查詢請求后,要么給出所要查詢的IP地址,要么告訴本地服務器下一步應當向哪一個權限域名服務器進行查詢。
    最后,知道了所要解析的IP地址或報錯,然后把這個結果返回給發起查詢的主機。
    復制代碼
    

    下圖給出了這兩種查詢的差別

    圖1

    圖2

    # 下面舉一個例子演示整個查詢過程:
    
    
        假定域名為m.xyz.com的主機想知道另一個主機y.abc.com的IP地址。例如,主機m.xyz.com打算發送郵件給y.abc.com。這時就必須知道主機y.abc.com的IP地址。下面是圖2的幾個查詢步驟:
    
        1、主機m.abc.com先向本地服務器dns.xyz.com進行遞歸查詢。
    
        2、本地服務器采用迭代查詢。它先向一個根域名服務器查詢。
    
        3、根域名服務器告訴本地服務器,下一次應查詢的頂級域名服務器dns.com的IP地址。
    
        4、本地域名服務器向頂級域名服務器dns.com進行查詢。
    
        5、頂級域名服務器dns.com告訴本地域名服務器,下一步應查詢的權限服務器dns.abc.com的IP地址。
    
        6、本地域名服務器向權限域名服務器dns.abc.com進行查詢。
    
        7、權限域名服務器dns.abc.com告訴本地域名服務器,所查詢的主機的IP地址。
    
        8、本地域名服務器最后把查詢結果告訴m.xyz.com。
    
    
    
    # 整個查詢過程共用到了8個UDP報文。
    
    
        為了提高DNS查詢效率,并減輕服務器的負荷和減少因特網上的DNS查詢報文數量,在域名服務器中廣泛使用了高速緩存,用來存放最近查詢過的域名以及從何處獲得域名映射信息的記錄。
    
        例如,在上面的查詢過程中,如果在m.xyz.com的主機上不久前已經有用戶查詢過y.abc.com的IP地址,那么本地域名服務器就不必向根域名服務器重新查詢y.abc.com的IP地址,而是直接把告訴緩存中存放的上次查詢結果(即y.abc.com的IP地址)告訴用戶。
    
        由于名字到地址的綁定并不經常改變,為保持告訴緩存中的內容正確,域名服務器應為每項內容設置計時器并處理超過合理時間的項(例如每個項目兩天)。當域名服務器已從緩存中刪去某項信息后又被請求查詢該項信息,就必須重新到授權管理該項的域名服務器綁定信息。當權限服務器回答一個查詢請求時,在響應中都指明綁定有效存在的時間值。增加此時間值可減少網絡開銷,而減少此時間值可提高域名解析的正確性。
    
        不僅在本地域名服務器中需要高速緩存,在主機中也需要。許多主機在啟動時從本地服務器下載名字和地址的全部數據庫,維護存放自己最近使用的域名的高速緩存,并且只在從緩存中找不到名字時才使用域名服務器。維護本地域名服務器數據庫的主機應當定期地檢查域名服務器以獲取新的映射信息,而且主機必須從緩存中刪除無效的項。由于域名改動并不頻繁,大多數網點不需花精力就能維護數據庫的一致性。
    
    

    DNS解析流程舉例

    如上圖所示,我們將詳細闡述DNS解析流程。
    
    1、首先客戶端位置是一臺電腦或手機,在打開瀏覽器以后,比如輸入http://www.zdns.cn的域名,它首先是由瀏覽器發起一個DNS解析請求,
    如果本地緩存服務器中找不到結果,則首先會向根服務器查詢,根服務器里面記錄的都是各個頂級域所在的服務器的位置,當向根請求http://www.zdns.cn的時候,
    根服務器就會返回.cn服務器的位置信息。
    
    2、遞歸服務器拿到.cn的權威服務器地址以后,就會尋問cn的權威服務器,知不知道http://www.zdns.cn的位置。這個時候cn權威服務器查找并返回http://zdns.cn服務器的地址。
    
    3、繼續向http://zdns.cn的權威服務器去查詢這個地址,由http://zdns.cn的服務器給出了地址:202.173.11.10
    
    4、最終才能進行http的鏈接,順利訪問網站。
    
    5、這里補充說明,一旦遞歸服務器拿到解析記錄以后,就會在本地進行緩存,如果下次客戶端再請求本地的遞歸域名服務器相同域名的時候,就不會再這樣一層一層查了,
    因為本地服務器里面已經有緩存了,這個時候就直接把http://www.zdns.cn的A記錄返回給客戶端就可以了。
    
    
    
    DNS查詢類型
    
    DNS的查詢類型有20種,比較常用的查詢類型有有A,NS,CNAME,PTR,MX等五種類型。以下分別介紹五種類型:
    
    1)A:由DNS域名到IP地址的查詢,即正向查詢,編程中由函數gethostbyname實現。
    
    2)PTR:由IP到域名的查詢,即逆向查詢,編程中由函數gethostbyaddr。
    
    3)NS:查詢解析的名字服務器(Name server)。
    
    4)CNAME:查詢DNS的別名。
    
    5)MX:郵箱服務器查詢。
    
    記錄一條域名信息映射關系,稱之為資源記錄(RR)。
    
    當我們查詢域名http://www.zdns.cn的時候,查詢結果得到的資源記錄結構體中有如下數據:
    
    1、TTL,就是生存周期,是遞歸服務器會在緩存中保存該資源記錄的時長。
    
    2、網絡/協議類型,它的代表的標識是IN,IN就是internet,目前DNS系統主要支持的協議是IN。
    
    3、type,就是資源記錄類型,一般的網站都是都是A記錄(IPv4的主機地址)。
    
    4、rdata是資源記錄數據,就是域名關聯的信息數據。
    

    DNS緩存
    DNS緩存指DNS返回了正確的IP之后,系統就會將這個結果臨時儲存起來。并且它會為緩存設定一個失效時間 (例如N小時),在這N小時之內,當你再次訪問這個網站時,系統就會直接從你電腦本地的DNS緩存中把結果交還給你,而不必再去詢問DNS服務器,變相“加速”了網址的解析。

    當然,在超過N小時之后,系統會自動再次去詢問DNS服務器獲得新的結果。所以,當你修改了 DNS 服務器,并且不希望電腦繼續使用之前的DNS緩存時,就需要手動去清除本地的緩存了。

    DNS緩存分類

    1)瀏覽器DNS緩存(內存中): 瀏覽器會按照一定頻率緩存DNS記錄
    
    2)本地操作系統DNS緩存(內存中): 如果瀏覽器緩存中找不到需要的DNS記錄,那就去操作系統找。
    
    3)本地HOSTS文件(硬盤中): Windows系統中位于C:\Windows\System32\drivers\etc
    
    4)路由器指定的DNS(遠程): 路由器自動獲取DNS地址,也可以手動修改-登錄后臺設置DNS服務器地址
      ps:路由器DNS被篡改會造成域名劫持,你訪問的網址都會被定位到同一個位置,但是IP直接可以訪問
    
    5)ISP的DNS服務器(遠程): ISP(Internet Service Provider互聯網服務提供商、聯通電信移動),ISP有專門的DNS服務器應 對DNS查詢請求
    
    6)根服務器(遠程,跨國): ISP的DNS服務器還找不到的話,它就會向根服務器發出查詢請求
    復制代碼
    

    調用系統緩存需要跨進程,消耗大,因此為了解析速度的方便,就有了一系列緩存來加快IP查找速度。

    瀏覽器DNS查找順序
    瀏覽器DNS緩存->本地系統DNS緩存->本地計算機HOSTS文件->ISP DNS緩存->遞歸or迭代搜索

    期間如果查詢到了,也就直接訪問ip地址了,這個就像三級緩存原理一樣,例如,能夠在hosts文件中找到就不會再去查其他的

    清除DNS緩存
    打開cmd執行命令:ipconfig /all

    全國通用DNS地址(國內用戶推薦使用,速度較快!)
    首先DNS服務器地址添:114.114.114.114 (位于北京人民英雄紀念碑)
    備用DNS服務器地址添:114.114.115.115
    全球通用DNS地址(此DNS地址為谷歌服務器的)
    首選DNS服務器地址添:8.8.8.8
    備用DNS服務器地址添:8.8.4.4

    查看本地dns緩存命令:ipconfig /displaydns

    清除本地dns緩存命令:ipconfig /flushdns

    清除瀏覽器緩存:

    我們在開發的時候,有時候會給某個域名綁hosts,用于本地開發測試,但是綁了之后,用谷歌瀏覽器訪問會發現并沒有生效,按F12會發現訪問的還是線上的ip,
    說明瀏覽器是有該域名的dns緩存的,那么如何清除瀏覽器的dns緩存呢?
    
    # 1、針對谷歌瀏覽器
    
    谷歌瀏覽器清除方法如下:打開瀏覽器,訪問如下地址
    chrome://net-internals/#dns
    
    點擊 clear host cache,就清楚了瀏覽器的dns緩存,再訪問綁hosts的域名,就會發現ip變啦
    
    # 2、針對火狐瀏覽器
    
    如果是firefox火狐瀏覽器的話,可以按照以下方式:
    
    在地址欄中 about:config 并回車,可能會出現一個警告信息,直接點擊按鈕進入,會出現firefox的所有配置信息,通過搜索dns 進行過濾,
    可以看到一項名為 network.dnsCacheExpirationGracePeriod 項,它對應的值就是DNS緩存的時間,雙擊此項,會出現修改的提示框,填入 0 (不緩存DNS)即可。
    

    其他了解
    13臺根dns:

    A.root-servers.net198.41.0.4美國
    B.root-servers.net192.228.79.201美國(另支持IPv6)
    C.root-servers.net192.33.4.12法國
    D.root-servers.net128.8.10.90美國
    E.root-servers.net192.203.230.10美國
    F.root-servers.net192.5.5.241美國(另支持IPv6)
    G.root-servers.net192.112.36.4美國
    H.root-servers.net128.63.2.53美國(另支持IPv6)
    I.root-servers.net192.36.148.17瑞典
    J.root-servers.net192.58.128.30美國
    K.root-servers.net193.0.14.129英國(另支持IPv6)
    L.root-servers.net198.32.64.12美國
    M.root-servers.net202.12.27.33日本(另支持IPv6)

    域名定義:http://jingyan.baidu.com/article/1974b289a649daf4b1f774cb.html

    頂級域名:以.com,.net,.org,.cn等等屬于國際頂級域名,根據目前的國際互聯網域名體系,國際頂級域名分為兩類:類別頂級域名(gTLD)和地理頂級域名(ccTLD)兩種。類別頂級域名是         以"COM"、"NET"、"ORG"、"BIZ"、"INFO"等結尾的域名,均由國外公司負責管理。地理頂級域名是以國家或地區代碼為結尾的域名,如"CN"代表中國,"UK"代表英國。地理頂級域名一般由各個國家或地區負責管理。

    二級域名:二級域名是以頂級域名為基礎的地理域名,比喻中國的二級域有,.com.cn,.net.cn,.org.cn,.gd.cn等.子域名是其父域名的子域名,比喻父域名是abc.com,子域名就是www.abc.com或者.abc.com.
    一般來說,二級域名是域名的一條記錄,比如alidiedie.com是一個域名,www.alidiedie.com是其中比較常用的記錄,一般默認是用這個,但是類似
    .alidiedie.com的域名全部稱作是alidiedie.com的二級

    五 網絡通信流程
    1.本機獲取

    本機的IP地址:192.168.1.100
    子網掩碼:255.255.255.0
    網關的IP地址:192.168.1.1
    DNS的IP地址:8.8.8.8
    2.打開瀏覽器,想要訪問Google,在地址欄輸入了網址:www.google.com。

    3.dns協議(基于udp協議)

    4.HTTP部分的內容,類似于下面這樣:

    GET / HTTP/1.1
    Host: www.google.com
    Connection: keep-alive
    User-Agent: Mozilla/5.0 (Windows NT 6.1) ……
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
    Accept-Encoding: gzip,deflate,sdch
    Accept-Language: zh-CN,zh;q=0.8
    Accept-Charset: GBK,utf-8;q=0.7,*;q=0.3
    Cookie: … …

    我們假定這個部分的長度為4960字節,它會被嵌在TCP數據包之中。

    5 TCP協議

    TCP數據包需要設置端口,接收方(Google)的HTTP端口默認是80,發送方(本機)的端口是一個隨機生成的1024-65535之間的整數,假定為51775。

    TCP數據包的標頭長度為20字節,加上嵌入HTTP的數據包,總長度變為4980字節。

    6 IP協議

    然后,TCP數據包再嵌入IP數據包。IP數據包需要設置雙方的IP地址,這是已知的,發送方是192.168.1.100(本機),接收方是172.194.72.105(Google)。

    IP數據包的標頭長度為20字節,加上嵌入的TCP數據包,總長度變為5000字節。

    7 以太網協議

    最后,IP數據包嵌入以太網數據包。以太網數據包需要設置雙方的MAC地址,發送方為本機的網卡MAC地址,接收方為網關192.168.1.1的MAC地址(通過ARP協議得到)。

    以太網數據包的數據部分,最大長度為1500字節,而現在的IP數據包長度為5000字節。因此,IP數據包必須分割成四個包。因為每個包都有自己的IP標頭(20字節),所以四個包的IP數據包的長度分別為1500、1500、1500、560。

    8 服務器端響應

    經過多個網關的轉發,Google的服務器172.194.72.105,收到了這四個以太網數據包。

    根據IP標頭的序號,Google將四個包拼起來,取出完整的TCP數據包,然后讀出里面的”HTTP請求”,接著做出”HTTP響應”,再用TCP協議發回來。

    本機收到HTTP響應以后,就可以將網頁顯示出來,完成一次網絡通信。

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

友情鏈接: 餐飲加盟

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

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