孫勤紅 沈鳳仙
摘要:計算思維是人類思維的重要組成部分,培養(yǎng)學(xué)生的計算思維能力是計算機教學(xué)的重要目標之一。本文結(jié)合周以真教授提出的計算思維,針對計算機網(wǎng)絡(luò)的教學(xué)實際,分析了網(wǎng)絡(luò)協(xié)議、IP地址和網(wǎng)絡(luò)數(shù)據(jù)處理等內(nèi)容,提出了在計算機網(wǎng)絡(luò)知識中分層和分解,共享和沖突處理等計算機思維的使用。
關(guān)鍵詞:計算機網(wǎng)絡(luò);計算思維;分層
中圖分類號:TP393-4 文獻標識碼:A 文章編號:1007-9416(2019)08-0215-02
美國卡耐基·梅隆大學(xué)周以真教授提出的計算思維,運用計算機科學(xué)的基礎(chǔ)概念進行問題求解、系統(tǒng)設(shè)計以及人類行為理解的系列思維活動,是與邏輯思維和實證思維并列的三種科學(xué)思維模式之一,占有非常重要的地位。周以真教授認為計算思維是一種能力,這種能力通過熟練地掌握計算機科學(xué)的基礎(chǔ)概念而得到提高。這些能力主要包括:約簡、嵌入、轉(zhuǎn)化、仿真、遞歸、并行、抽象、分解、建模、預(yù)防、保護、恢復(fù)、冗余、容錯、糾錯、啟發(fā)式推理、規(guī)劃、學(xué)習(xí)和調(diào)度等[1]。同時,ACM前主席Denning在《偉大的計算原理》概念分類提出了7個類別:計算、通信、協(xié)作、記憶、自動化、評估和設(shè)計[2]。在實際使用中,很多思維都在被廣泛應(yīng)用。其中分層和分解是解決復(fù)雜問題時常用的思維。為了解決問題,兩種思維均會設(shè)立多個相互合作的模塊。在計算機網(wǎng)絡(luò)中,計算思維也被廣泛使用。
1 計算思維分層和分解在計算機網(wǎng)絡(luò)協(xié)議中的應(yīng)用
分層和分解的思維在現(xiàn)實生活中廣泛使用,在一個學(xué)校校長、副校長、學(xué)院院長、教研室主任和教師等分層模式,使得管理井井有條。在計算機網(wǎng)絡(luò)中,分層和分解體系也同樣被用在很多的方面。如網(wǎng)絡(luò)的通信協(xié)議、IP地址等。
1.1 網(wǎng)絡(luò)通信協(xié)議
在計算機網(wǎng)絡(luò)中,網(wǎng)絡(luò)通信協(xié)常用的為TCP/IP協(xié)議。TCP/IP協(xié)議是目前世界上應(yīng)用最為廣泛的協(xié)議,它是一組協(xié)議的代名詞,還包括許多協(xié)議,組成了TCP/IP協(xié)議簇。TCP/IP通信協(xié)議采用了4層的層級結(jié)構(gòu),每一層都有特定的作用,呼叫它的下一層所提供的網(wǎng)絡(luò)來完成自己的需求。
(1)應(yīng)用層:應(yīng)用層為最高層,是應(yīng)用程序間溝通的層。將數(shù)據(jù)傳遞給傳輸層,傳輸層協(xié)議將數(shù)據(jù)排序成消息或字節(jié)流,以利于在網(wǎng)絡(luò)上傳輸。
(2)傳輸層:傳輸層的主要功能是在互聯(lián)網(wǎng)中源主機與目的主機的對等實體間建立用于會話的端-端連接。傳輸層的兩個重要的協(xié)議TCP和UDP,為應(yīng)用層提供可靠、有序的數(shù)據(jù)傳送,并將其傳輸?shù)较乱粚又小?/p>
(3)網(wǎng)絡(luò)層:主要處理來自傳輸層的分組發(fā)送請求、處理接收的數(shù)據(jù)報,還要處理互連的路由選擇、流控與擁塞問題。此層負責提供基本的數(shù)據(jù)封包傳送功能,讓每一個數(shù)據(jù)包都能夠到達目的主機,如IP協(xié)議。
(4)物理層:也是最底層,定義如何使用實際網(wǎng)絡(luò)(Ethernet、令牌網(wǎng)等),任何一種低層傳輸協(xié)議都可以與網(wǎng)絡(luò)層結(jié)構(gòu)。允許主機接入網(wǎng)絡(luò)時使用多種協(xié)議。
具體看,網(wǎng)絡(luò)協(xié)議按層劃分,每一層都有特定的職責。每一層內(nèi)部設(shè)計多種網(wǎng)絡(luò)協(xié)議共同履行該層的職責,如應(yīng)用層有HTTP、Telnet、FTP等多種協(xié)議。下層屏蔽掉不同類別物理網(wǎng)絡(luò)的實現(xiàn)細節(jié),從而為上一層提供統(tǒng)一的服務(wù)接口。這種分層思想,在現(xiàn)實生活中也經(jīng)常被采用。
1.2 IP地址的兩級結(jié)構(gòu)
IP地址由網(wǎng)絡(luò)號和主機號兩部分構(gòu)成,這樣做可以簡化分組的轉(zhuǎn)換過程,采用了分步實現(xiàn)的思路。將IP地址劃分為網(wǎng)絡(luò)號和主機號兩個級別,便將分組轉(zhuǎn)發(fā)過程分解為兩個步驟。第一步,根據(jù)網(wǎng)絡(luò)號分組傳送到目的主機所在的網(wǎng)絡(luò);第二步,到達目的網(wǎng)絡(luò)后再根據(jù)主機號將分組轉(zhuǎn)發(fā)給目的主機[3]。
1.3 路由選擇
在網(wǎng)絡(luò)傳輸過程中,路由的選擇是非常重要的,有相應(yīng)的路由算法,路由器在進行轉(zhuǎn)發(fā)時,只需要關(guān)注網(wǎng)絡(luò)號,所以路由表的規(guī)模得以大大地縮小。這樣設(shè)計降低了路由器對存儲空間的需求,而且加快了分組的轉(zhuǎn)發(fā)速度。
轉(zhuǎn)發(fā)時,同樣采用了分布的方法。將從發(fā)送端到接收端的完整路徑劃分為若干段。路由器在收到分組后,根據(jù)分組中的目的地址將其轉(zhuǎn)發(fā)給予相鄰的某個路由器。路由器不用了解分組轉(zhuǎn)發(fā)的完整路徑,只需要關(guān)心分組的下一個目的地即可。
2 計算思維共享與沖突避免在計算機網(wǎng)絡(luò)中的應(yīng)用
在計算機設(shè)計中,共享思維使用的非常多,如所有的計算共享一個CPU,共享打印機,三網(wǎng)合一等等。在計算機網(wǎng)絡(luò)中,共享也被廣泛使用。共享的目的是提高使用率,降低成本,提高性價比。但在共享的同時,會引起沖突的狀況,比如一個CPU正在處理一個進程時,突然出現(xiàn)了另外一個進程也需要處理,這就要發(fā)生沖突了。所以,在共享軟硬件資源的同時,要更好的避免沖突的發(fā)生,避免出現(xiàn)拒絕服務(wù)和錯亂的情況。
2.1 多路復(fù)用技術(shù)在網(wǎng)絡(luò)中的使用
在網(wǎng)絡(luò)傳輸數(shù)據(jù)的過程中,一根網(wǎng)線可以只給一個用戶提供數(shù)據(jù)的傳輸,也可以給一棟樓的用戶使用,如果是主干道,是給一個城市、一個省份提供數(shù)據(jù)的傳輸,這就是共享。如我們常說的帶寬,是在數(shù)據(jù)總流量中拿出一定的流量如(10M、100M)等供某個用戶或單位使用。
信道復(fù)用主要根據(jù)傳輸信號的不同分為頻分多路復(fù)用、時分多路復(fù)用、波分多路復(fù)用和碼分多路復(fù)用等。頻分多路復(fù)用是使用不同的頻帶,如廣播中常說的某某臺為多少MHZ,即這個頻率固定為這個臺使用,用于與其他臺區(qū)分和混淆。波分多路復(fù)用與頻分多路復(fù)用非常類似,不過傳送的信號為光信號。
時分多路復(fù)用是將時間劃分為一段段等長的時分復(fù)用幀,每個用戶占用固定的幀。每個用戶所占用的幀都是按照一定的周期重復(fù)出現(xiàn)的,所以不會發(fā)生沖突。在CPU的分配原理中,使用時依據(jù)時間片對需要提供服務(wù)的進程進行處理,這樣每個進程都能夠進行處理,這充分體現(xiàn)了共享。但由于進程的重要程度不同,所以處理的優(yōu)先級別不同,在一定程度上能夠有效的避免沖突。
2.2 網(wǎng)絡(luò)數(shù)據(jù)傳輸過程中的沖突處理
在使用計算機時,會產(chǎn)生各種沖突,如計算機名稱重復(fù)產(chǎn)生沖突,MAC地址重復(fù),IP地址重復(fù)等。以太網(wǎng)為例,常用的介質(zhì)訪問控制方法為具有沖突檢測的載波監(jiān)聽多路訪問。當兩個數(shù)據(jù)幀同時被發(fā)送到物理傳輸介質(zhì)上,并完全或部分重疊時,就發(fā)生了沖突。當沖突發(fā)生時,物理網(wǎng)段上的數(shù)據(jù)都不再有效。因此,當以太網(wǎng)的規(guī)模增大時,就要采取措施來控制沖突的擴散。將采用網(wǎng)橋和交換機將網(wǎng)絡(luò)分段,將一個大的沖突域劃分為若干小沖突域。在進行傳送時,交換機將各個端口連接的網(wǎng)絡(luò)分割成各自獨立的沖突域,能夠同時提供多個獨立通信信道,比傳統(tǒng)的多端口集線器提供更好的帶寬。
同時在傳送時大多采用存儲轉(zhuǎn)發(fā)機制,交換機在轉(zhuǎn)發(fā)前必須接收整個數(shù)據(jù)幀,并進行錯誤校驗,如果沒有錯誤則將這一數(shù)據(jù)幀發(fā)往目的地,如果要傳送的數(shù)據(jù)太多,則排隊等候處理,有效的處理了數(shù)據(jù)傳輸中的沖突。
3 總結(jié)和展望
在生活中,通常會將一個大問題分解為許多小問題逐一解決和實現(xiàn),如蓋一棟大樓先打地基、設(shè)計圖紙、施工、裝修等等一系列規(guī)劃和實現(xiàn)。為了節(jié)約資源,共享也隨處可見,但伴隨而來的是沖突,所以如何處理沖突也顯得格外重要,如圖書館的書籍屬于公共資源,但是同一本書又無法被兩個人借走[4]。再如購票系統(tǒng),一樣要處理沖突。
計算機系統(tǒng)設(shè)計中廣泛使用計算思維,不斷在計算機網(wǎng)絡(luò)中使用,在計算機信息處理、算法設(shè)計、程序設(shè)計、數(shù)據(jù)庫管理等多方面都在使用。在本文闡述中僅對計算機網(wǎng)絡(luò)的部分知識結(jié)合計算思維進行分析,實際中涉及計算思維的更多方面,如簡約、并行、冗余和恢復(fù)等都有使用。
參考文獻
[1] 余大品.計算思維教學(xué)改革宣言[J].中國大學(xué)教學(xué),2013(7):7-10+17.
[2] 教育部高等學(xué)校大學(xué)計算機課程教學(xué)指導(dǎo)委員會.大學(xué)生計算機基礎(chǔ)課程教學(xué)基本要求[M].北京:高等教育出版社,2016.
[3] 劉喜平.面向計算思維的大學(xué)計算機基礎(chǔ)[M].科學(xué)出版社,2018.
[4] 劉軍.面向計算思維的程序設(shè)計教學(xué)實踐[J].計算機教育,2015(14):116-118.
Discussion on the Application of Computational Thinking in Computer Network Knowledge
SUN Qin-hong,SHEN Feng-xian
(Sanjiang university,Department of Computer Science and Engineering,Nanjing? Jiangsu? 210000)
Abstract:Computational thinking is an important part of human thinking, and training students' computational thinking ability is one of the important goals of computer teaching. Based on the computational thinking proposed by professor Zhou Yiqun, this paper analyzes the contents of network protocol, IP address and network data processing based on the teaching practice of computer network, and proposes the use of computer thinking such as stratification and decomposition, sharing and conflict processing in computer network knowledge.
Key words:computer network; Computational thinking; layered