TCP/IP精簡

網絡互聯基礎
一、OSI七層協議
    OSI(Open System interconnection)開放系統互連參考模型
    ISO(International Standards Organization)國際標準化組織
1、物理層
    機械性能:接口的型狀,尺寸的大小,引腳的數目和排列方式等。
    電氣性能:接口規定信號的電壓、電流、阻抗、波形、速率及平衡特性等。
    工程規範:接口引腳的意義、特性、標準。
    工作方式:確定數據位流的傳輸方式,如:單工、半雙工或全雙工。
    物理層協議有:
    美國電子工業協會(EIA)的RS232,RS422,RS423,RS485等;
    國際電報電話諮詢委員會(CCITT)的X.25、X.21等;
    物理層的數據單位是位(BIT),典型設備是集線器HUB。
2、鏈路層
    鏈路層屏蔽傳輸介質的物理特徵,使數據可靠傳送。
    內容包括介質訪問控制、連接控制、順序控制、流量控制、差錯控制和仲裁協議等。
    鏈路層協議有:
    協議有面向字符的通訊協議(PPP)和麪向位的通訊協議(HDLC)。
    仲裁協議:802.3、802.4、802.5,即:
    CSMA/CD(Carrier Sense Multiple Access with Collision Detection)、Token
Bus、Token Ring
    鏈路層數據單位是幀,實現對MAC地址的訪問,典型設備是交換機Switch。
3、網絡層
    網絡層管理連接方式和路由選擇。
    連接方式:虛電路(Virtual Circuits)和數據報(Datagram)服務。
    虛電路是面向連接的(Connection-Oriented),數據通訊一次路由,通過會話建立的一條
通路。
    數據報是非連接的(Connectionless-Oriented),每個數據報都有路由能力。
    網絡層的數據單位是包,使用的是IP地址,典型設備是路由器Router。
    這一層可以進行流量控制,但流量控制更多的是使用第二層或第四層。

4、傳輸層
    提供端到端的服務。可以實現流量控制、負載均衡。
    傳輸層信息包含端口、控制字和校驗和。
    傳輸層協議主要是TCP和UDP。
    傳輸層位於OSI的第四層,這層使用的設備是主機本身。 
5、會話層
    會話層主要內容是通過會話進行身份驗證、會話管理和確定通訊方式。
    一旦建立連接,會話層的任務就是管理會話。
   
6、表示層
    表示層主要是解釋通訊數據的意義,如代碼轉換、格式變換等,使不同的終端可以表示。
    還包括加密與解密、壓縮與解壓縮等。
   
7、應用層
    應用層應該是直接面向用戶的程序或服務,包括系統程序和用戶程序,
    例如www、FTP、DNS、POP3和SMTP等都是應用層服務。
    數據在發送時是數據從應用層至物理層的一個打包的過程,
    接收時是數據從物理層至應用層的一個解包的過程,
    從功能角度可分爲三組,1、2層解決網絡信道問題,3、4層解決傳輸問題,5、6、7層處
理對應用進程的訪問。
    從控制角度可分爲二組,第1、2、3層是通信子網層,第4、5、6、7層是主機控制層。

二、TCP/IP 協議簇
    TCP/IP(Transmission Control Protocol/Internet Protocol)已成爲一個事實上的工業
標準。
    TCP/IP是一組協議的代名詞,它還包括許多協議,組成了TCP/IP協議簇。
    TCP/IP協議簇分爲四層,IP位於協議簇的第二層(對應OSI的第三層),TCP位於協議簇的第
三層(對應OSI的第四層)。
    TCP和IP是TCP/IP協議簇的中間兩層,是整個協議簇的核心,起到了承上啓下的作用。
1、接口層
    TCP/IP的最低層是接口層,常見的接口層協議有:
    Ethernet 802.3、Token Ring 802.5、X.25、Frame reley、HDLC、PPP等。
2、網絡層
    網絡層包括:IP(Internet Protocol)協議、ICMP(Internet Control Message Protocol)
控制報文協議、ARP(Address Resolution Protocol)地址轉換協議、RARP(Reverse ARP)反向
地址轉換協議。
    IP是網絡層的核心,通過路由選擇將下一跳IP封裝後交給接口層。IP數據報是無連接服務

    ICMP是網絡層的補充,可以回送報文。用來檢測網絡是否通暢。
    Ping命令就是發送ICMP的echo包,通過回送的echo relay進行網絡測試。
    ARP是正向地址解析協議,通過已知的IP,尋找對應主機的MAC地址。
    RARP是反向地址解析協議,通過MAC地址確定IP地址。比如無盤工作站和DHCP服務。
3、傳輸層
    傳輸層協議主要是:傳輸控制協議TCP(Transmission Control Protocol)和用戶數據報協
議UDP(User Datagram rotocol)。
    TCP是面向連接的通信協議,通過三次握手建立連接,通訊時完成時要拆除連接,由於TCP
是面向連接的所以只能用於點對點的通訊。
    TCP提供的是一種可靠的數據流服務,採用“帶重傳的肯定確認”技術來實現傳輸的可靠
性。TCP還採用一種稱爲“滑動窗口”的方式進行流量控制,所謂窗口實際表示接收能力,用
以限制發送方的發送速度。   
    UDP是面向無連接的通訊協議,UDP數據包括目的端口號和源端口號信息,由於通訊不需要
連接,所以可以實現廣播發送。
    UDP通訊時不需要接收方確認,屬於不可靠的傳輸,可能會出丟包現象,實際應用中要求
在程序員編程驗證。
4、應用層
    應用層一般是面向用戶的服務。如FTP、TELNET、DNS、SMTP、POP3。
    FTP(File Transmision Protocol)是文件傳輸協議,一般上傳下載用FTP服務,數據端口
是20H,控制端口是21H。
    Telnet服務是用戶遠程登錄服務,使用23H端口,使用明碼傳送,保密性差、簡單方便。
    DNS(Domain Name Service)是域名解析服務,提供域名到IP地址之間的轉換。
    SMTP(Simple Mail Transfer Protocol)是簡單郵件傳輸協議,用來控制信件的發送、中
轉。 
    POP3(Post Office Protocol 3)是郵局協議第3版本,用於接收郵件。
    數據格式:
    數據幀:幀頭+IP數據包+幀尾 (幀頭包括源和目標主機MAC地址及類型,幀尾是校驗字)
    IP數據包:IP頭部+TCP數據信息 (IP頭包括源和目標主機IP地址、類型、生存期等)
    IP數據信息:TCP頭部+實際數據  (TCP頭包括源和目標主機端口號、順序號、確認號、校
驗字等)   
三、TCP連接的建立
1、TCP連接通過三次握手完成。
    client首先請求連接,發一個SYN包;Server收到後迴應SYN_ACK包;Client收到後再
發ACK包。即:
    Client     Server
     SYN  --->   收
          <--- SYN+ACK
     ACK  --->   收
   established表示建立狀態,當某端發出數據包後收到了迴應則進入established狀態。
   在TCP/IP連接時,如果兩端都是established狀態,則握手成功,否則是無連接或半聯接狀
態。

2、套接字Socket
    套接字Socket由協議、IP地址和端口號組成,套接字表示一路通訊,一般是一個服務,如
www服務是TCP的80端口,Telnet是TCP的23端口。

四、IP地址劃分
1、IP地址分類
    IP地址有四個段,包括網絡標識和主機標識兩部分:netid+hostid。
    IP地址應用分爲A、B、C三類,D、E類是保留和專用的。
    Class A  0******* xxxxxxxx xxxxxxxx xxxxxxxx
    Class B  10****** ******** xxxxxxxx xxxxxxxx
    Class C  110***** ******** ******** xxxxxxxx
    Class D  1110**** ******** ******** ********
    Class E  1111**** ******** ******** ********
2、地址區間
    址址類 地址區間                 網絡數                           主機數
    A 類 1.0.0.1~126.255.255.254 27-2=126 224-2=16777214
    B 類 128.0.0.1~191.255.255.254 214-2=16382 216-2=65534
    C 類 192.0.0.1~223.255.255.254 221-2=2097150 28-2=254
    D 類 224.0.0.1~239.255.255.255 228=268435456 0
    E 類 240.0.0.1~255.255.255.255 228=268435456 0

3、特殊地址
    主機地址全0表示爲一個網絡地址。
    主機地址全1表示爲對應網絡的廣播地址。
    全0的IP地址:0.0.0.0,表示本機地址,只在啓動過程時有效。
    全1的IP地址255.255.255.255,表示本地廣播(有的軟件不支持)。
    私有地址:
    10.0.0.0 - 10.255.255.255
    172.16.0.0 - 172.31.255.255
    192.168.0.0 - 192.168.255.255
    127.0.0.0網絡是迴環網絡loopback,用於本機測試。例如:
    ping 127.0.0.1 是測試本機網卡是否工作正常。

4、子網掩碼
    子網掩碼用來區分網絡地址和主機地址,標準的子網掩碼爲:
    A 類: 1.0.0.1~126.255.255.254   netmask:255.0.0.0
    B 類:128.0.0.1~191.255.255.254  netmask:255.255.0.0
    C 類:192.0.0.1~223.255.255.254  netmask:255.255.255.0
    子網掩碼和IP地址的“與”運算得出對應的網絡地址。
    如果將子網掩碼“1”的位數增加則網絡地址數增加,形成子網。相當於網絡的分隔。
    如果將子網掩碼“1”的位數減小則網絡地址數減少,形成超網。相當於網絡的聚合。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章