天天看點

網絡程式設計之網絡協定概念(基礎篇)

android開發不可避免的問題就是涉及到網絡程式設計。一個沒有網絡接入的應用怎麼好意思稱之為移動網際網路應用呢

網絡程式設計之網絡協定概念(基礎篇)

自身基礎比較薄弱,先溫習下網絡的基礎知識。任何兩個事物交換資訊都會按一定的規則來傳輸。在網絡中傳輸資訊所用的協定就叫網絡協定,我們的計算機都是借着網絡協定來進行通信的。

網絡協定在百度百科中是這樣定義的:為計算機網絡中資料交換而建立的規則,标準或約定的集合。

網絡協定的組成主要有3個要素:

1.語義:解釋控制資訊每個部分的意義。也就是告訴你這一段内容是做什麼的。

2.文法:定義了所要傳輸的資料與控制資訊的結構,順序。告訴你怎麼做。

3.時序:描述了事件發生的的順序。它告訴你什麼時候做什麼事情。

網絡上很多裝置都需要交換資訊,比如路由器,計算機,交換機,防火牆等等。這些裝置之間傳輸都會有特定的協定,而我們這裡網絡的協定正是這些協定的集合。這樣保證這些裝置都能互相交換資訊。一般的網絡協定都有自己分層的體系結構,每一層協定都建立在下一層協定之上,向上一層提供服務,而他會對上一層隐藏自己的細節。而在網絡的各層中又存在着各種協定。我們現在使用的網際網路internet使用的協定是:TCP/IP協定。除此之前,網絡協定還有:IPX/SPX協定,NetBUI協定。

在網絡傳輸中,會遇到很多的結點,不同的結點之間的聯系比較複雜。為了簡化協定,一般用層級結構的方法來對協定進行分層,規定這些層級劃分的原則:

1.每一層都規定有明确的的服務和接口标準。

2.協定的最高層是應用層。

3.除最高層之外,協定的每一層都向上一層提供服務,同時又是下一層的使用者。

4.将實體通信線路層設為協定的底層。

下面我們再具體了解下網絡協定分層層次具體劃分情況:為了使不同廠家生産的計算機之間能互相通,以便建立一個更大的互通的網絡。國際标準組織(ISO)在1978年提出了一個開放系統互聯參考模型,即OSI/RM模型。在模型裡,網絡通信協定分為7個層次,自上而下分别為:

1.應用層

2.表示層

3.會話層

4.傳輸層

5.網絡層

6.資料鍊路層

7.實體層

資料傳輸在第四層已經完成,上面的三層主要是面像使用者的。而每一層都有相應的服務定義和協定規範。

常見的不同層的協定規範:

實體層: 以太網 ·  數據機 · 電力線通信(PLC) ·  SONET/SDH · G.709 ·  光導纖維 · 同軸電纜 · 雙絞線等 資料鍊路層:Wi-Fi( IEEE 802.11) · WiMAX( IEEE 802.16) · ARP · RARP ·ATM · DTM ·  令牌環 ·  以太網·FDDI ·  幀中繼 · GPRS · EVDO ·HSPA · HDLC · PPP · L2TP ·PPTP · ISDN·STP 等 網絡層協定:IP (IPv4 · IPv6) · ICMP· ICMPv6·IGMP ·IS-IS · IPsec 等 傳輸層協定:TCP · UDP · TLS ·  DCCP · SCTP · RSVP · OSPF 等 應用層協定:DHCP · DNS · FTP · Gopher · HTTP· IMAP4 · IRC · NNTP · XMPP ·POP3 · SIP · SMTP ·SNMP · SSH ·TELNET · RPC · RTCP · RTP ·RTSP· SDP · SOAP · GTP · STUN · NTP· SSDP · BGP · RIP 等

繼續閱讀