轉載自 這裡
TCP/IP 的起源歷史 :
早期的電腦﹐並非如我們日常生活中見到的個人 PC 那樣細小﹔它們大都是以一個集中的中央運算系統﹐用一定的線路與終端系統(輸入輸出設備)連接起來。這樣的一個連接系統﹐就是網路的最初出現形式。各個網路都使用自己的一套規則協定﹐可以說是相互獨立的.
在 1969 年﹐為美蘇冷戰期間﹐美國政府機構試圖發展出一套機制﹐用來連接各個離散的網路系統﹐以應付戰爭危機的需求。這個計劃﹐就是由美國國防部委託 Advanced Research Project Agency 發展的 ARPANET 網路系統﹐研究當部份電腦網路遭到工具而癱瘓後﹐是否能夠透過其他未癱瘓的線路來傳送資料.
ARPANET 的構想和原理﹐除了研發出一套可靠的資料通訊技術外﹐還同時要兼顧跨平臺作業。後來﹐ARPANET 的實驗非常成功﹐從而奠定了今日的網際網路模式﹐它包括了一組電腦通訊細節的網路標準﹐以及一組用來連接網路和選擇網路交通路徑的協定﹐就是大名鼎鼎的 TCP/IP 網際網路協定。 時至 1983 年﹐美國國防部下令用於連接長距離的網路的電話都必須適應 TCP/IP﹐同時 Defense Communication Agency (DCA) 將 ARPANET (Advanced Research Projects Agency Net)分成兩個獨立的網路﹕一個用於研究用途﹐依然叫做 ARPANET﹔另一個用於軍事通訊﹐則稱為 MILNET (Military Network).
ARPA 後來發展出一個開放版本, 以鼓勵大學和研究人員來採用它的協定﹐其時正適逢大部份大學電腦學係的 UNIX 系統需要連接它們的區域網路。由於 UNIX 系統上面研究出來的許多抽象概念與 TCP/IP 的特性有非常高度的吻合﹐再加上設計上的公開性﹐而導致其它組織也紛紛使用 TCP/IP 協定。從 1985 年開始﹐TCP/IP 網路迅速擴展至美國﹑歐洲好幾百個大學﹑政府機構﹑研究實驗室。它的發展大大超過了人們的預期﹐而且每年以超過 15% 的速度成長﹐到了 1994 年﹐使用 TCP/IP 協定的電腦已經超過三百萬台之多。及後數年﹐由於 Internet 的爆炸性成長﹐TCP/IP 協定已經成為無人不知﹑無人不用的電腦網路協定了.
TCP/IP 之標準制定 :
雖然 ARPA 計劃從 1970 年就開始發展交換網路技術﹐到了 1979 年 ARPA 組織了一個委員會叫做 Initernet Control and Configuration Board (ICCB)﹐但事實上 TCP/IP 協定並不屬於某一特定廠商和機構。它的標準是由 Internet Architecture Board (IAB) 所制定的。IAB 目前從屬於 The Internet Society (ISOC)﹐專門在技術上作監控及協調﹐且負責最終端評估及科技監控。
IAB 組織除了自身的委員會之外﹐它主要包含兩個主要團體﹕InternetResearch Task Force (IRTF) ﹐和 Internet Engineering Task Force (IETF)。這兩個團體的職能各有不同﹐IRTF 主要致力於短期和中期的難題﹔而 IETF 則著重處理單一的特別事件﹐其下又分出許多不同題目的成員與工作小組﹐各自從事不同的研究項目﹐研發出網際網路的標準與規格.
由於 TCP/IP 技術的公開性﹐它不屬於任何廠商或專業協會所有﹐因此關於它的相關資訊﹐是由一個叫 Internet Network Information Center (INTERNIC) 來維護和發表﹐以及處理許多網路管理細節(如 DNS 等)。TCP/IP 的標準大部份都以 Request For Comment (RFC) 技術報告的形式公開。RFC 文件包含了所有 TCP/IP 協定標準﹐以及其最新版本。RFC 所涵蓋的內容和細節非常廣﹐也可以為新協定的標準和計劃﹐但不能以學術研究論文的方式來編輯。RFC 有許多有趣且實用的資訊﹐並非僅限於正式的數據通訊協定規範而已. RFC 在全世界很多地方都有它的複製文件﹐可以輕易透過電子郵件﹑FTP 等方式從網際網路取得. (RFC Database)
RFC 是依據其所寫的時間順序來編號的﹐不過 RFC1000 這份文件﹐可以用來做 RFC 文件的指引﹐卻是一個不錯的起始點。閱讀及研究 RFC﹐恐怕是每一個網絡系統管理員必不可少的題目了吧.
TCP/IP 的應用 :
TCP/IP 可以用在任何互連網路上的通訊﹐其可行性在許多地方都已經得到證實﹐包括了家庭﹑校園﹑公司以及全球 61 個國家實驗室。例如在美國就有 National Science Foundation (NFS )﹑Department of Energy (DDE)﹑Department of Defense (DOD)﹑Health and Human Services Agency (HHS)﹐以及 National Aeronautics and Space Administration (NASA)﹐等大機構投注了相當大的資源來開發和應用 TCP/IP 網路.
這些技術的應用﹐讓所有與網路相連的研究人員能夠和全世界的同僚們共同分享資料和研究成果﹐感覺就像隔壁一樣。網路證明了 TCP/IP 的可行性和它優秀的整合性﹐使之能適應各種不同的現行網路技術。對今天的網路發展局面來說﹐TCP/IP 的實作可以說是一個卓越的成就.
TCP/IP 協定不僅成功的連接了不同網路﹐而且許多應用程式和概念也是完全以 TCP/IP 協定為基礎發展出來,從而讓不同的廠商能夠忽略硬體結構開發出共同的應用程式﹐例如今天應用廣泛的 WWW﹑E-MAIL﹑FTP﹑DNS 服務等等.
TCP/IP 的特性 :
對於一個電子郵件的使用者來說﹐他無需透徹了解 TCP/IP 這個協定﹔但對於 TCP/IP 程式人員和網路管理人員來說﹐TCP/IP 的一些特性卻是不能忽略的 :
* Connectionless Packet Delivery Service
* Reliable Stream Transport Service
* Network Technology Independent
* Universal Interconnection
* End-to-End Acknowledgements
* Application Protocol Standards
正式由於 TCP/IP 具備了以上那些有利特性﹐才使得它在眾多的網路連接協定中脫穎而出﹐成為大家喜愛和願意遵守的標準.
TCP/IP 在網路中所扮演的角色 :
TCP/IP 的全稱是 Transmission Control Protocol / Internet Protocol (TCP/IP)﹐當初是用來配合 ARPANET 來處理不同硬體之間的連接問題的﹐比如Sun系統和Mainframe﹑Mainframe和個人電腦之間的連接.
Internet Protocol (IP) 工作於網路層. 它提供了一套標準讓不同的網路有規則可循﹐當然﹐前提是您想使用 IP 從一個網路將封包路由到另一個網路。IP 在設計上是用來在 LAN 和 LAN 及 P C 和 PC 之間進行傳輸﹐每一台 PC 或每一個 LAN﹐都可以由一組 IP 位址來區分。一個 IP 位址的格式是四個用小數點( . ) 分隔開來的十進位數字﹐每各數值介乎於 0 到 255 之間。實實上,每一組數字﹐在 IP 位址中是以 “Octet”的格式承現的,也就是完整的 8 個 bit 。我們會在後面的「網際網路層」中詳細講解 IP 位址的所包含的信息和功用.
您可以把 IP 看成是遊戲規則﹐而 TCP 則用來詮釋這些規則的﹐更準確來說﹐TCP 在 IP 的基礎之上﹐解釋了參與通訊的雙方是如何透過 IP 進行資料傳送的。TCP 提供了一套協定﹐能夠將電腦之間使用的資料透過網路相互傳送﹐同時也提供一套機制來確保資料傳送的準確性和連續性.
雖然 TCP/IP 原先是專門為幾所大學和機構的使用而設計的﹐但現在TCP/IP已經成為最流行的通訊協定了﹐我們使用的Internet就是用TCP/IP來傳送封包的.
This is a blog to track what I had learned and share knowledge with all who can take advantage of them
標籤
- [ 英文學習 ]
- [ 計算機概論 ]
- [ 深入雲計算 ]
- [ 雜七雜八 ]
- [ Algorithm in Java ]
- [ Data Structures with Java ]
- [ IR Class ]
- [ Java 文章收集 ]
- [ Java 代碼範本 ]
- [ Java 套件 ]
- [ JVM 應用 ]
- [ LFD Note ]
- [ MangoDB ]
- [ Math CC ]
- [ MongoDB ]
- [ MySQL 小學堂 ]
- [ Python 考題 ]
- [ Python 常見問題 ]
- [ Python 範例代碼 ]
- [心得扎記]
- [網路教學]
- [C 常見考題]
- [C 範例代碼]
- [C/C++ 範例代碼]
- [Intro Alg]
- [Java 代碼範本]
- [Java 套件]
- [Linux 小技巧]
- [Linux 小學堂]
- [Linux 命令]
- [ML In Action]
- [ML]
- [MLP]
- [Postgres]
- [Python 學習筆記]
- [Quick Python]
- [Software Engineering]
- [The python tutorial]
- 工具收集
- 設計模式
- 資料結構
- ActiveMQ In Action
- AI
- Algorithm
- Android
- Ansible
- AWS
- Big Data 研究
- C/C++
- C++
- CCDH
- CI/CD
- Coursera
- Database
- DB
- Design Pattern
- Device Driver Programming
- Docker
- Docker 工具
- Docker Practice
- Eclipse
- English Writing
- ExtJS 3.x
- FP
- Fraud Prevention
- FreeBSD
- GCC
- Git
- Git Pro
- GNU
- Golang
- Gradle
- Groovy
- Hadoop
- Hadoop. Hadoop Ecosystem
- Java
- Java Framework
- Java UI
- JavaIDE
- JavaScript
- Jenkins
- JFreeChart
- Kaggle
- Kali/Metasploit
- Keras
- KVM
- Learn Spark
- LeetCode
- Linux
- Lucene
- Math
- ML
- ML Udemy
- Mockito
- MPI
- Nachos
- Network
- NLP
- node js
- OO
- OpenCL
- OpenMP
- OSC
- OSGi
- Pandas
- Perl
- PostgreSQL
- Py DS
- Python
- Python 自製工具
- Python Std Library
- Python tools
- QEMU
- R
- Real Python
- RIA
- RTC
- Ruby
- Ruby Packages
- Scala
- ScalaIA
- SQLAlchemy
- TensorFlow
- Tools
- UML
- Unix
- Verilog
- Vmware
- Windows 技巧
- wxPython
訂閱:
張貼留言 (Atom)
[Git 常見問題] error: The following untracked working tree files would be overwritten by merge
Source From Here 方案1: // x -----删除忽略文件已经对 git 来说不识别的文件 // d -----删除未被添加到 git 的路径中的文件 // f -----强制运行 # git clean -d -fx 方案2: 今天在服务器上 gi...
-
前言 : 為什麼程序管理這麼重要呢?這是因為: * 首先,本章一開始就談到的,我們在操作系統時的各項工作其實都是經過某個 PID 來達成的 (包括你的 bash 環境), 因此,能不能進行某項工作,就與該程序的權限有關了。 * 再來,如果您的 Linux 系統是個...
-
屬性 : 系統相關 - 檔案與目錄 語法 : du [參數] [檔案] 參數 | 功能 -a | 顯示目錄中個別檔案的大小 -b | 以bytes為單位顯示 -c | 顯示個別檔案大小與總和 -D | 顯示符號鏈結的來源檔大小 -h | Hum...
-
來源自 這裡 說明 : split 是 Perl 中非常有用的函式之一,它可以將一個字串分割並將之置於陣列中。若無特別的指定,該函式亦使用 RE 與 $_ 變數 語法 : * split /PATTERN/,EXPR,LIMIT * split /...
沒有留言:
張貼留言