網絡通信協議詳解
1.物理層
典型設備:中繼器、集線器(Hub)、網線、調制解調器、光纖、雙絞線、同軸電纜
數據單元:比特(bit)
作用:機械、電子、定時接口通信信道上原始比特流傳輸
協議:IEEE 802.2、Enternet v.2、Internetwork
2.數據鏈路層
典型設備:網卡、網橋、交換機
數據單元:幀
作用:物理尋址,同時將物理比特流轉變為邏輯傳輸鏈路
協議:隧道協議:PPTP(點對點隧道協議)、L2TP(第二層隧道協議)、MPLS
3.網絡層
典型設備:路由器、防火牆、多層交換機
數據單元:數據包
作用:控制子網的運行,如邏輯編址、分組傳輸、路由選擇
協議:IP、IGMP、BGP、RIP(屬於UDP)、ICMP、ARP、RARP
4.傳輸層
典型設備:進程和端口
數據單元:數據段
作用:接受上一層的數據,在必要的時候把數據進行分割,並將這些數據交給網絡層,且保證這些數據段有效到達對端
協議:TCP、UDP
5.會話層
數據單元:數據
作用:不用機器上的用戶之間建立及管理對話
協議:SSL、TSL
6.表示層
數據單元:數據
作用:信息的語法語義以及他們的關聯,如加密解密、轉換翻譯、壓縮解壓縮
協議:LPP
7.應用層
數據單元:數據
作用:各種應用程序協議
協議:SMTP、POP3、HTTP、FTP、Telnet、DNS、DHCP、SNMP
重點協議解析
1.HDLC
HDLC(High-Level Data Link Control,高級數據鏈路控制),是鏈路層協議的一項國際標准,用以實現遠程用戶間資源共享以及信息交互。HDLC協議用以保證傳送到下一層的數據在傳輸過程中能夠准確地被接收,也就是差錯釋放中沒有任何損失,並且序列正確。HDLC協議的另一個重要功能是流量控制,即一旦接收端收到數據,便能立即進行傳輸。
HDLC的監控幀用於差錯控制和流量控制,通常簡稱為S幀
00——接收就緒(RR),由主站或從站發出,主站可以使用RR型S幀來輪詢從站,即希望從站傳輸編號為N的I幀,邊進行傳輸;從站也可以用RR型S幀來做相應,表示從站希望從主站那里接收到的下一個的I幀的編號是N
01——拒絕(REJ),由主站或從站發出,用以要求發送方對從編號為N開始的幀及其后所有的幀進行重發,這也暗示N以前的幀已被正確接收
10——接受未就緒(NRN),標識編號小於N的I幀已被接收到,但當前正處於忙狀態,尚未准備好接收編號為N的幀,這可用來對鏈路流量進行控制
11——選擇拒絕(SREJ),它要求發送方發送編號為N單個I幀,並暗示其他編號為I幀已經全部確認。差錯機制為選擇重發
2.TCP和UDP
TCP特點:
(1)面向連接的傳輸層協議
(2)每一條TCP連接只能有兩個端點,只能是點到點
(3)TCP提供可靠的交付服務,通過TCP連接傳送的數據無差錯、不丟失、無重復、並且按順序到達
(4)TCP提供全雙工通信,TCP允許通信雙方的應用進程在任何時刻都能發送數據。在TCP連接的兩端都有發送緩存和接收緩存,用來臨時存放通信的數據
(5)面向字節流:TCP把應用進程交下來的數據看成是一連串無結構的字節流,TCP並不關心應用進程一次把多長的報文發送到TCP的緩存中,而是根據對端給出的窗口值和當前網絡擁塞的程度來決定一個報文段應該包含多少個字節
UDP的特點:
(1)UDP是一種簡單的面向數據報的傳輸協議,實現的是不可靠、無連接的數據報服務,通常用於不要求可靠性傳輸的場合
(2)UDP傳輸可以提高傳輸效率,減少額外的開銷,使用UDP傳輸時,應用進程的每次輸出均生成一個UDP數據報,並將其封裝在一個IP數據報中發送
(3)UDP沒有擁塞控制,所以網絡出現擁塞不會讓源主機的發送速率降低,這對於某些實時應用是很重要的。很多實時應用要求源主機以恆定的速率發送數據,並且允許在擁塞的時候丟失一些數據,但不允許有太大的時延
TCP和UDP協議均提供了端口尋址的能力
建立TCP連接時,端口狀態有:
LISTEN:服務器等待連接過來的狀態
SYN_SENT:客戶端發起連接(主動打開),變成此狀態,如果SYN超時,或者服務器不存在直接CLOSED
SYN_RCVD:服務器收到SYN包的時候,就變成此狀態
ESTABLISHED:完成三次握手,進入連接建立狀態,書名此時已經可以進行數據傳輸了
三次握手過程:
作用:建立三次握手,而非二次握手是防止產生錯誤的連接
過程:當發送方發送了SYN=1,ACK=0請求后,需要等待收到對方的發送的SYN=1、ACK=1的數據包;收到之后,發送方在發送SYN回應,已建立正常的三次握手請求
但出現錯誤連接時,會以RST、ACK包回應來拒絕連接
TCP協議中URG指針的作用是當等於1的時候。高速系統有緊急數據傳送,應該盡快
TCP協議中用於進行流量控制的字段為窗口,TCP協議使用可變大小的滑動窗口協議實現流量控制。
2.ARP
ARP協議的數據單元被封裝在以太幀中傳輸
3.ICMP
ICMP協議作為IP數據報中的數據,封裝在IP數據報中傳
4.RIP
RIP協議屬於應用層協議,被封裝在UDP報文中傳輸,RIP協議的默認路由更新周期是30秒
RIPv2對RIPv1協議的改進之一為路由器有選擇地將路由表中的信息發送給鄰居,而不是發送整個路由表。具體說,一條路由信息不會被發送給
該信息的來源,這種方法叫做水平分割法,作用是解決路由環路。
5.OSPF
(1)OSPF路由器周期性(默認10秒)的從其啟動的OSPF協議的每一個接口以組播地址224.0.0.5發送HELLO包,以尋找鄰居
(2)OSPF的每個區域運行路由選擇短發的一個實例
(3)OSPF采用Dijkstra算法計算最佳路由
(4)OSPF在理由發生變化的時候才會發送更新信息
(5)OSPF協議是鏈路狀態路由協議,用區域0表示主干區域,該協議提供了整個網絡的拓撲視圖,並根據拓撲圖計算到達每個目標的最優路徑
(6)OSPF協議能對網絡發生的變化快速響應,當網絡發生變化時發送觸發式更新,發送周期性更新鏈路狀態通告(LSA),並不是相互交換自己的整張路由表
(7)OSPF路由協議不同進程之間可以進行路由重分布,進程號僅在本地有意義。
OSPF協議將網絡分成4種區域,其中存根區域不接受本地自制系統以外的路由信息,歲自制系統以外的目標采用默認路由0.0.0.0,作用是減小路由表規模和路由信息數量。
6.POP3
POP3是郵局協議,用的是TCP的110端口,電子郵件協議有POP3、SMTP、IMAP
7.BGP4
在BGP4協議中keepalive報文將正常工作信息告知鄰居,update報文給出了新的路由信息
8.DHCP
(1)DHCP服務器租約默認為8天
(2)當租約期過去50%時,客戶機與服務器聯系更新租約
(3)當租約期過去87.5%時,客戶機與服務器聯系失敗,重新啟動IP租用過程
(4)客戶機可以采用ipconfig/renew重新申請地址
DHCP客戶端通過廣播的方式發送DHCPDiscover消息。
當DHCP客戶機第一次登陸網絡的時候(也就是客戶機上沒有任何IP數據的時候),他會通過UDP的67端口向網絡上發送出一個DHCPDiscover數據包(包中包含客戶機的MAC地址和計算機名等信息)。因為客戶及還不知道自己屬於哪一個網絡,所以封包的源地址為0.0.0.0,目標地址為255.255.255.255,然后再附上DHCPDiscover的信息,向網絡進行廣播
DHCP Release:釋放申請的IP,DHCP Decline:拒絕該IP,DHCP Nack:取消申請的IP,DHCP Renew:重新申請IP,DHCP Request請求重新租用IP地址
9.DNS
在DNS服務器中的資源記錄有以下幾種:
(1)SOA定義了該區域中哪個名稱服務器是權威域名服務器
(2)NS表示該區域的域名服務器
(3)PTR記錄把IP地址映射到域名
(4)MX郵件交換記錄,定義了區域的郵件服務器及優先級
(5)A表示主機,A記錄表示主機名到IP地址的映射
(6)CNAME表示別名
(7)TXT記錄,一般指為某個主機名或域名設置的說明
10.SNMP
SNMP使用如下5種格式的PDU(協議數據單元),也是SNMP系列協議中最基礎的部分:
Get-Request:由管理進程發出,向管理代理請求其取值
Get-Next-Request:由管理進程發出,在Get-Request報文后使用,表示查詢MIB中的下一個對象,常用於循環查詢
Set-Request:由管理進程發出,用來請求改變管理代理上的某些對象
Get-Response:當管理代理收到管理進程發送的一個Get-Request或Get-Next-Request報文時,將應答的一個該報文
Trap:一種報警機制(屬於無請求的報文),用於在意外或突然故障的情況下管理代理主動向管理進程發送的報警信息。常見的報警類型有冷啟動、熱啟動、線路故障、線路故障恢復和認證失敗等
SNMP采用UDP的方式傳輸,SNMP使用的端口號是161,SNMP TRAP使用的端口號是162
SNMP使用的是無連接的UDP協議,因此在網絡上傳送的SNMP豹紋的開銷很小,但UDP是不保證可靠交付的。同時SNMP使用UDP的方法有些特殊,在運行代理程序的服務器端口用161端口來
接收Get和Set報文和發送響應報文(客戶端使用臨時端口),但運行管理程序的客戶端則使用162端口進行接收來自各代理的Trap報文。
如果代理收到一個Get請求,如果不嗯能夠提供該對象的值,則以該對象的下一個值作為響應。
11.CSMA/CD
CSMA/CD是介質訪問子層的協議
12.FTP
FTP服務器使用20和21兩個網絡端口和FTP客戶端進行通信。主動模式下,FTP服務器的21端口用於傳輸FTP的控制命令,20端口用於傳輸文件數據。
13.RSVP
資源預留協議RSVP,他的過程從應用程序流的源節點發送Path消息開始,該消息會沿着六所流經路徑傳到流的目的節點,並沿途建立路徑狀態,目的節點收到該Path消息后,會向源節點回送Resv消息,
沿途建立預留狀態,如果源節點成功受到預期的Resv消息,則確認在整條路徑上資源預留成功
14.SMTP
使用端口號25
15.HTTP/HTTPS
使用短端口號是80,HTTPS端口號443
16.Telnet
端口號23,Telnet服務器所開放的端口,用於從本地遠程登錄對方電腦
未完待續。。。。4.1