計算機科學與技術專業學生怎樣向網路方向發展?
我是一個二流學校的計算機科學與技術的本科生(說是本科 但其實只是掛個名 真是辦學條件師資力量只是在一個大專校區)今年大二 在學習中 我接觸到了網路方向 對於他比較有興趣 可是由於學校的特殊性 我覺著要早些進行技能的培養和對主流技術的學習 但是現在一頭霧水 不知道是從書看起(看那些書)還是考取證書之類的 還有就是以後的發展是怎麼樣的 麻煩各位大佬們指點迷津
計算機網路,作為計算機的一個分支,主要解決二三層的問題,二三層目前已經被乙太網、IP網路所壟斷,所以基本又等同於研究並解決Ethernet、IP問題。
而Ethernet目前有三種幀格式:
Ethernet II
Ethernet SAPEthernet SNAP
它們之間的本質差別是如何區分上層協議,這其實很簡單。
加上一個用於區分VLAN的802.1Q,也只有4個位元組,即使是QinQ,也只有8個位元組。
IP,如果不包含Option,一共就20個位元組,就研究這20個位元組還不簡單嗎?背也背得出。
但學完這些,並不能解決什麼實際問題,別人問你PPP怎麼回事?PPPoE又是怎麼回事?
所以要去學,順帶學一下LCP、IPCP、PAP、Chap、EAP。
但這些依然不夠,用戶使用的是EPON/GPON上網,還使用PPPoE 撥號,這中間誰是物理層、誰是鏈路層?上行、下行如何傳輸?對稱嗎?
但依然不夠,用戶使用無線AP,物理層是啥,鏈路層是啥?AP如何認證電腦,如何綁定AP,如何DHCP給電腦分配IP等上網參數?如何將單播加密key、廣播加密key推送到電腦?
這裡已經牽扯到安全認證、安全加密了,附帶要看看802.1x。
既然有了IP,如何找到網關,需要理解什麼是同網段、不同網段的通信,這又需要知道網路掩碼、子網掩碼。
用戶IP包是如何在運營商網路路由到目的地,需要理解並掌握OSPF/BGP路由協議。
而為了保護OSPF/BGP,又需要安全認證,這裡又需要知道 shared secret / MD5 / SHA /TCP Option。
為了保證快速檢測路由路徑的失效,通常需要部署第三方檢測協議BFD。
通常,公司會將全國、全球、私有雲的場點連接起來,需要建立隧道傳輸,但不加密不安全,需要使用IPSec 、DMVPN、Open VPN 建立安全隧道,這需要知道IKE、DH、NAT Transversal、NHRP、ESP、AES、HMAC、Nonce、IV、ICV。
如果公司不差錢,可以用二層、三層MPLS VPN互聯各場點,需要知道這些原理背後支撐協議,LDP、MP-BGP、OAM、VRF。
隨著安全深入人心,目前互聯網的絕大多數流量需要安全保護,保護https網頁流量、smtp/IMAP郵件流量、即時通信流量,而實現這個安全的協議是TLS,自然需要熟練掌握TLS協議。
TLS協議又會牽扯到PKI、CA、數字證書、數字簽名/指紋、公鑰加密、ECC、DH、RSA、DSA、AES-GBC、SHA256。
學完這些,再研究一點http、hsts、HPKP、Mixed Content、Same Origin Policy、Cache、Transparent Proxy、DNSSEC。
學完以上內容,差不多可以解釋生活中關於網路、安全的疑問,比如bitcoin 、block chain。
至於那些書需要推薦,只要把我所有回答都看完,肯定能找到答案,因為我曾經推薦過,不會再這裡重複。
學海無涯,唯有持續學習才是唯一正途…
不要輕言網路,山高、路遠、林密、坑深、怪多。
在IP層,可以學習家用路由器的開源固件源碼。
TCP層,可以學習一下伺服器的TCP層。linux和windows分別都有。優化一把TCP。
應用層,可以學習一下開源的vpn,或者其它多媒體協議。
如果是鏈路層,虛擬乙太網或可試試。
如果是物聯網,可以試試藍牙、zigbee、lora、wifi。不過這個不流片,意思不大。
安全,這個不太推薦。野路子和正規軍,誰也瞧不起誰。套路不一樣。追求也不一樣。
最後,建議先做應用層。應用層網路軟體,運用廣泛。等熟悉這個產業後,再專註於某一個領域。
其它的,坑太深。如果不準備入坑,最好是先不要玩,如果真要玩,先學好數學(高數、線代、概率、統計、隨機過程、復變、泛函、離散)再說。其它可能還有高級計算機體系結構、數據結構、數電、FPGA、微電子、高頻電路、微波電路、固電,電子線路、模電、信號與系統、數字信號處理、通信原理、現代數字信號處理等等。
我覺得作為一名計算機專業的畢業生,在對網路達到一個理解的程度的同時,學會,操作系統,編程,資料庫等知識是必須的。當有了更廣的視野,看網路就會有更好的發現和認知。這不僅是對於技術,還有行業,以及自我的認知,也是一個提升。
你是否真正喜愛(應該說是偏愛)網路知識,還是僅僅是學習的熱情以及成就感帶給你的錯覺。。。
如果你想在應屆獲得一份更高的薪資,你可以嘗試其他方向。如果你真的想做一個網路工程師,可以去參加培訓學習。
我覺得在大學就給自己劃定網路工程師是一個不正確的做法,你可以偏愛網路,但是不要當你想轉型基礎架構,運維等其他方向的時候,發現知識儲備完全跟不上。
我認識有很多ccie先後轉型,sdn研發和基礎架構研發,運維,運維研發等等……我以前覺得它們轉是為了提高薪資,進一些國內一線互聯網企業。後來我才知道,原來是他們在工作中發現自己並不喜歡這份工作,或者發現自己的性格和愛好更適合做一個研發工程師等等。。。
不得不承認的是,網路和計算機其他領域的技術相比發展速度慢,門檻也較低。。待遇相比研發的確要差強人意。。
但是如果是真的喜歡,還是可以堅持的。。
還有,學校不好也沒啥, 我也是二本,身邊有很多搞網路的進了廠商,待遇都挺不錯的,上面說的轉型的也是同校的學長,目前幾個都在國內一線互聯網公司。計算機行業還是以能力為主轉學java吧,別讓將來的自己後悔
接觸一個新的專業很正常啊,不要對知識有畏懼的心理。那些有基礎的絕對是極少數,或許他們能很快的甚至已經掌握了一些網路技術與方向。但這不會影響到一個零基礎的人學習。
記得有一個事例,那位同學來自清華大學,他在進入清華計算機科學與技術專業之前由於家裡貧困甚至沒有用過電腦,但他通過自己的努力上進,從大一開始瘋狂閱讀C++ Primer,不斷的敲代碼,問導師,跟著學長做項目,最後他在大三的時候拿到了美國Google總部的offer。
退一步說,在上大學的時候,對於任何一門學科,你其實都只是一個門外漢,最重要的是要選擇一門自己有點興趣甚至是喜歡的學科。大學的專業是非常重要的,在大部分情況下都將決定你未來人生要走的路。極少數情況下你獲得機會去從事與自己大學專業不相關的職業,但畢竟是少數,誰也不願意讓自己四年的青春時間浪費在無用功上。
如果你已經選擇了一個專業,就要去了解它,理解它,熱愛它,讓它慢慢的成為你生活中的一部分。不需要去害怕說我這個完全沒有基礎什麼的,如果你都會了,學校就沒有可教的東西了呀。你要記得自己進校時最初的想法,在四年的時間裡一直按著自己的計划走下去。
送給你一份計算機網路方向的資料,希望以後能再接再厲啊
網路方向大致資料↓http://www.docin.com/touch_new/preview_new.do?id=323844249好巧哦,我的專業也是計算機科學與技術,畢業後目前從事數據通信,主要是計算機網路的二三層報文轉發,其實博主想往計算機網路方面發展的話,可以先了解二層乙太網知識,三層Ip,以及ping過程,這個ping不是簡單的ping一下,可以深入了解一下內部的查表過程,之後有時間和精力可以嘗試考一些思科認證華為認證的證書,國內數據通信三巨頭,華為、華三,還有專門做數據通信的銳捷網路,都是不錯的公司,想詳細了解的話,可以私聊我~
我記得我那時候比較聽話,老師說學什麼我就學什麼,也沒有什麼挑剔。
題主這種情況或許是覺得學一門技術然後靠著這門技術行走江湖吧,在這些技術裡面,接觸到了網路,這在我們專業叫做數據通信。但其實我早年也上過數據結構,覺得數據結構的演算法很多被網路借鑒,所以題主喜歡網路可以好好學學數據結構,我以前還參加過數學建模,然後後來發現,網路可以用矩陣建模。我以前還迷戀過資料庫,正好我們也開了這門課,後來發現原來命令行的交互各種地方都有,包括路由器。我的學校也是二流學校,但是我的老師們卻不是一般老師,以前給單片機嵌入式老師給我們講周易道德經,順帶從哲學角度給我們講講單片機,以至於我後來在這些人的影響下總是樂於把所有的課程混在一起看,從縱向把所有課程放在一個體系裡面,從橫向看沒門課程都有自己的主線。啰啰嗦嗦了那麼多,我只是想說每一門課題主都聽一聽,想一想。關於網路,既然想學,不妨當個興趣愛好,理論方面的話,買一本書看看,比如這一本就不錯啊,看不懂就到知乎上搜搜,很幸運的是,知乎裡面關於路由交換的基礎回答還是挺到位的,實踐操作方面的,網上也有很多關於設備操作的課程,一搜b站發現一大堆,還有什麼mooc啊什麼的,畢竟現在網路那麼發達不是嗎?沒有設備現在有模擬器啊,h3c官網上就能下載啊,所以,不要以學校差為借口了,好好學平時的課,然後課餘學學自己喜歡的。答主課餘喜歡電子競技啦(???????)?。至於考證,我倒是挺鼓勵題主去考證的,這樣給自己一個目標嘛,又激勵學習,又對以後找工作有用,不是嘛( ??? ? ??? )。
一聽樓上說學java的,還說以後會後悔什麼我就來氣,哪門技術學好了沒有前途,就許你java橫行霸道?還有我喜歡路由交換的一個原因是這個行業的人樂於分享自己的知識,並不會有教會徒弟餓死師傅的想法,我在知乎上提問每次都有大量的人來回答,而且盡心儘力,這是我在其他板塊不曾有過的體會。先認識一下網路吧,而不是看見幾個名詞就激動。建議先看一下《計算機網路:自頂向下方法》比國內教材不知道高到哪裡去了。
大二的時候立志做一個網路工程師,考了軟考中級高級的職業資格,大三暑假實習的時候,在一家公司做網管(其實就是修電腦的),暑假結束後自己對這個職業生涯開始懷疑了(可能是小地方,對人才專業能力需求不高),轉而擼代碼了;去年畢業的,杭州做碼農,還湊合
CCNACCNPCCIE基本涵蓋樓上大神說的內容……然後找份工作找個項目跟吧……
本科階段沒必要太過於關注,把計算機基礎學好,重點學好linux。有興趣可以學學移動通信了解了解移動互聯網的主流系統。再找一些雲計算、分散式、sdn/nfv、CDN之類的書看看了解了解,看看自己到底感不感興趣。
同網路畢業,學的雜,學校混了幾年,做烽火PTN網管,沒前景啊
本科網路工程專業,本科二本師範院校,研究生普通一本而已,這個問題我也迷茫過,自己對計算機網路也很感興趣,當時也有想過考一個CCNA或CCNP;本科時和同學一起,經常折騰Linux,看了Linux私房菜系列,看了Linux內核,一年的時間用來了考研,四年時光有些浪費;直到研究生時接觸到了實際項目,這個階段才真真正正感受到了能力的提高,研一時敲過半學期SSH框架,後來時間裡都在認真做Web前端;在一定程度上,我是鼓勵題主去做研發,無論是後端還是前端,然後寒暑假一定要去實習,當然,本科時每門專業課都不要落下,否則都是給自己挖坑,畢業時,題主肯定不會後悔這四年時光。
做網管啊!很簡單!
隨便考個nanp,畢業了找個代理商干到吐。
數通可以學,但開發也要學,這樣以後還可以做SDN
看思科的書,考華為的證。
點個名 @車小胖
答案寫得很好。評論區裡面比較扯。我很多時候覺得寫個長答案比較費事,不過既然兄台說我瞎BB,建議我寫個答案么,我覺得太謙虛也不好。
網路其實是一個比較大的方向。入門一般是路由交換,也就是二三層的東西,二層上面主要是乙太網,三層沒得選,現在只談IP。對了,也有物理層的事情——網工怎麼能不會給雙絞線接水晶頭呢?不過么,作為一個網工,如果只搞這些,那未免太可惜,也太局限。
路由交換可以看作是網路方向的基礎,有了基礎,就可以選專精了。所謂專精,其實可以比照下思科認證的各個Track,語音可能有點偏離網路的主頁,但是安全、無線、數據中心(的網路)是和網路大方向緊密相關的。每個方向都可以鑽研出N朵花來。
要成為一個網路方向上有所成就的從業者,光是路由交換方面的知識是不夠的。首先,網路安全在任何略有規模的網路工程里都是不可或缺的部分,而很多安全策略的實現,很多安全設備本身的機制,都涉及到四層和以上的內容;其次,運營商/互聯網企業有大量的CDN需求,這也是面嚮應用層的;第三,如果你對WLAN更有興趣,這裡面涉及到巨多跟射頻有關的物理層知識,第四,如果你的業務方向貼近數據中心和應用,應用交付(Application delivery)是一個可以考慮的方向,基本上也是四到七層的東西。
我們再回到比較現實的問題,就是下一步的發展和就業。我個人認為這個行業是非常強調動手能力的,所以我幾乎可以斷言你在學校里課堂上那點玩意兒完全不夠看,畢業出來了多半要從頭搞起,一般的路徑是進一個集成公司,老司機帶你起步,實習,shadow,過個一年半載可以放單飛,考行業認證,一步步把自己的能力構建起來。
如果想在畢業的時候有一點先發優勢,那從大三開始,甚至從現在開始,就應該找路子去本地的網路公司或者是運營商裡面尋求實習機會了,同時準備考證書,雖然現在的行業認證普遍都比較水,但是手裡有個證書至少證明你學習鑽研過,投入過,掌握了一些基礎知識,這些是用人單位招人的時候比較看重的。另外我再說點不著調的東西——多去鴻鵠之類的論壇逛逛,找找同道,了解下行情。
最後再補充一點,網路這個東西和其他技術行當類似,經濟越發達的地方,接觸到新東西,接受到鍛煉的機會越多。
男人最怕的就是選錯行。聽一句勸,普通人還是別選網路規劃、建設、維護、實施之類的。好好學編程做開發,幾年後漲薪的頻率、幅度一般會高於網工。那些說網工前途好、待遇高的,請覺一個例,哪家公司搞網路的平均待遇高於開發?
華科計算機系本碩畢業,華為固網兩年的我掏心建議:不要搞網路,去互聯網!搞機器學習!搞圖形學!搞雲計算!搞大數據!
別學計算機網路!!!學一門編程語言,畢業後你會懂的
實踐吧,先搞兩三台機器,讓他們互相通訊。這個過程應該學到很多原理型的東東了。
然後就是加機器,可以用一台物理機虛擬成多台,研究下高並發什麼的,最後,真正的網路方向你
得有環境,沒有環境你學個捷豹啊------找公司實習、就職。計算機科學始終是實踐科學,要在干
中學。
socket網路編程
推薦閱讀:
※Win7配置windows update失敗進不去系統怎麼辦?
※為什麼中國有超級計算機 但是中國的CPU不行?
※華盛頓大學西雅圖的 CS 在美國是什麼地位的?
※有沒有人覺得Windows10輸入法切換很不方便?
※那麼多國家「國產操作系統」為什麼都要用linux內核?