Ruby网络编程:从基础到高级实践
1. 网络基础概念
1.1 网络概述
网络是一组以某种方式连接的计算机。例如,家里多台计算机通过有线或无线路由器连接,形成局域网(LAN),同时这些计算机还可能连接到互联网。网络编程主要研究两台或多台计算机或设备之间的通信,而Ruby提供了丰富的库来实现网络相关操作。
1.2 TCP和UDP协议
协议 | 特点 | 应用场景 |
---|---|---|
TCP(传输控制协议) | 可靠,确保数据按序传输和接收 | 需要永久连接的操作,如电子邮件访问 |
UDP(用户数据报协议) | 不可靠,不保证数据到达 | 快速操作,如域名和主机名与IP地址的转换、视频和音频流传输 |
1.3 IP地址和DNS
每台基于IP的网络设备都有一个或多个唯一的IP地址,数据通过网络发送到特定IP地址时,拥有该地址的设备将接收数据。当访问网站时,计算机首先向域名系统(DNS)服务器查询与主机名对应的IP地址,然后通过特定端口(如80端口用于Web服务器)与目标机器建立连接。