1. 程式人生 > >linux高性能編程學習筆記(1)

linux高性能編程學習筆記(1)

linux

TCP/TP協議族:分層、多協議的通信體系,四層協議系統,自底向上:數據鏈路層、網絡層、傳輸層、應用層
數據鏈路層:實現網卡接口的網絡驅動程序,以處理數據在物理媒介上得到傳輸
數據鏈路層兩個常用的協議:ARP協議(地址解析協議)、RARP協議(逆地址解析協議)
網絡層:實現數據包的選路和轉發
網絡層最核心的協議是IP協議(因特網協議),另一個重要協議是ICMP協議(因特網控制報文協議)
傳輸層:為兩臺主機上的應用程序提供端到端的通信
傳輸層協議主要有三個:TCP協議(傳輸控制協議)(為應用層提供可靠的、面向連接的和基於流的服務)
UDP協議(用戶數據報協議)(與TCP協議相反,為應用層提供不可靠的、無連接和基於數據報的服務)
   SCTP協議(流控制傳輸協議)(為了在因特網上傳輸電話號而設計)
應用層:負責處理應用程序的邏輯
應用層協議:ping是應用程序,而不是協議
telnet協議是一種遠程登錄協議
OSPF(開放最短路徑優先)協議是一種動態路由更新協議
DNS(域名服務)協議提供機器域名到IP地址的轉換

上層協議通過封裝實現對下層協議的調用
經TCP封裝後的數據稱為TCP報文段(或者TCP段)
經UDP封裝後的數據稱為UDP數據報
經TP封裝後的數據稱為IP數據報
經數據鏈路層封裝的數據稱為幀

ARP協議(地址解析協議):能實現任意網絡層地址到任意物理地址的轉換
linux下使用arp命令來查看和修改ARP告訴緩存
例如:sudo arp -d 192.168.1.109 #刪除

sudo arp -s 192.168.1.109 08:00:27:53:10:67 #添加

使用tcpdump觀察ARP通信過程

DNS(域名服務)協議:DNS是一套分布式的域名服務系統。每個DNS服務器上都存放著大量的機器名和IP地址的映射,並且是動態更新的
tcpdump以“IP 地址。端口號”的形式來描述通信的某一端:以“>”表示數據傳輸的方向,“>”前面是源端,後面是目的端

linux高性能編程學習筆記(1)