1. 客户端-服务器编程模型

image.png

2. 网络

最流行的局域网LAN技术是以太网Ethernet

每个以太网适配器都有一个mac地址。

**集线器:**不加分辨地将从一个端口上收到的每个位复制到其他所有的端口上,但是只有目的mac的机器才能读取。

**网桥:**随着时间自动学习哪个主机可以通过哪个端口可达,在有必要时,有选择地将帧从一个端口复制到另一个端口

**路由器:**通过ip匹配路由表,进行转发

交换机:根据mac地址进行转发

image.png

3. 全球IP因特网

3.1 ip地址

IP地址定义

/IP address structure */
struct in_addr {
	uint32_t s_addr; /* Address in network byte order (big-endian) */
}

在 IP 地址结构中存放的地址总是以(大端法网络字节顺序存放的

因此,Unix提供了网络字节顺序与本地字节顺序互相转换的方法

uint32_t htons(uint32_t hostlong);  // h 本地 转网络 n
uint32_t ntots(uint32_t netlong);  // 网络转本地

Unix提供了,网络字节顺序二进制,转,点分十进制表示法

// IPv4, 本地二进制地址, char*ip地址, ip地址的长度
inet_ntop(AF_INET, &addr, ip, MAX_SIZE);