网络编程
- 认识到客户端和服务器是进程不是机器或者主机是很重要的。
- 客户端和服务器运行在不同的主机上,通过计算机网络的硬件和软件资源来通信。
- 对于一个主机而言,网络只是一种I/O设备作为数据源和数据接收方。
- 一个插到I/O总线的扩展槽的适配器提供了网络的物理接口
- 物理上网络是一个按照地理远近组成的层次系统。
- ==集线器==不加分辨得从一个端口上收到的每个位==复制==到其他的所有端口上。
- 每个主机适配器都能够看到这个帧,但是只有目的主机能够实际读取他。
- 网桥比集线器更加充分的利用电缆带宽。
在层次更高的级别当中多个不兼容的局域网可以通过路由连接起来。
每台因特网主机都运行实现TCP/IP协议
- 因特网的客户端和服务器混合使用==套接字接口函数和UNIX/I/O函数==来进行通信
- 套接字函数是作为陷入内核的系统调用来实现并调用各种内核模式的TCP/IP函数
IP地址
struct in_addr {
unsigned int s_addr;
}
- 因特网主机可以有不同的主机字节顺序 TCP/IP为任意整数数据项定义了统一的网络字节顺序(大端字节顺序)。即使主机字节顺序是小端法。UNIX提供了网络和主机字节顺序之间的转换。
- hostname -i 在Linux来确定自己主机的点分十进制地址