Linux高性能服务器编程(一)

1.TCP/IP协议族:

数据链路层:实现了网卡接口的网络驱动程序,以处理数据在物理媒介上的传输。不同物理网络具有不同的电气特性,网络驱动程序隐藏了这些细节,为上层协议提供一个统一的接口。ARP,RARP

网络层:实现数据包的选路和转发。通信的两台主机一般不是直接相连的,网络层选择这些中间节点,以确定两台主机之间的通信路径,隐藏了网络拓扑结构,使得在传输层和网络应用程序看来,通信双方是直接相连的。IP,ICMP

传输层:为两台主机上的应用程序提供端到端的通信。与网络层使用的逐跳通信方式不同,传输层只关心通信的起始端和目的端,而不在乎数据包的中转过程。TCP,UDP,SCTP

应用层:负责处理应用程序的逻辑。ping,talent,OSPF,DNS

Linux高性能服务器编程(一)_第1张图片

ARP:地址解析

RARP:逆向地址解析

IP:根据数据包的目的IP地址来决定如何投递。采用逐跳的方式确定通信路径。

ICMP:因特网控制报文协议。使用的是IP协议提供的服务。对应应用层的ping程序。

TCP:超时重传、数据确认等方式来确保数据包被正确发送至目的端(可靠的)使用TCP通信的双方必须先建立TCP连接,并在内核中维持一些必要的数据结构,如连接的状态、读写缓冲区以及诸多定时器等(面向连接的)基于流的数据没有边界限制,它源源不断的从通信的一端流入另一端(基于流的传输)。

UDP:不可靠、无连接、基于用户数据报的。

2.封装和分用

Linux高性能服务器编程(一)_第2张图片Linux高性能服务器编程(一)_第3张图片

ARP协议工作原理:


你可能感兴趣的:(Linux高性能服务器编程,网络编程)