linux高性能编程学习笔记

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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高性能编程学习笔记的主要内容,如果未能解决你的问题,请参考以下文章

linux高性能网络编程读书笔记之socket数据读写

《Linux高性能服务器编程》学习总结——Linux网络编程基础API

《Linux高性能服务器编程》学习总结(十三)——多进程编程

《Linux高性能服务器编程》学习总结——TCP/IP协议族

《Linux高性能服务器编程》学习总结——高级I/O函数

《Linux高性能服务器编程》学习总结——信号