网络基础知识
首先,让我们谈谈网络基础知识,即计算机如何彼此通信。
在这种通信的核心是IP地址,它是网络上每个设备的唯一标识符。IPv4地址是32位的,允许大约40亿个唯一地址。然而,随着设备数量的增加,我们正在转向IPv6,它使用128位地址,显著增加了可用唯一地址的数量。
当两台计算机通过网络通信时,它们发送和接收数据包,每个数据包都包含一个IP头部,其中包含发送者和接收者的IP地址等重要信息,确保数据到达正确的目标。
这个过程由Internet协议(IP)管理,它是一组定义数据如何发送和接收的规则。
除了IP层,我们还有应用层,其中存储特定于应用协议的数据。
这些数据包中的数据按照特定的应用协议数据格式进行,比如HTTP用于Web浏览,以便接收设备正确地解释数据。
TCP和协议层
一旦我们了解了IP地址和数据包的基础知识,我们可以深入研究传输层,其中TCP(传输控制协议)和UDP(用户数据报协议)发挥作用。
TCP在传输层操作,确保可靠的通信。它就像一个快递员,确保您的包裹到达并检查没有丢失任何东西。
每个数据包还包含一个TCP头部,携带诸如端口号和控制标志之类的重要信息,这些信息对于管理连接和数据流是必要的。
TCP以其可靠性而闻名;它确保数据包的完整且正确的传递。它通过序列号等功能来跟踪数据包的顺序,并通过一种称为三次握手的过程建立两台设备之间的稳定连接。
相比之下,UDP更快,但比TCP不可靠。它在发送数据之前不建立连接,并且不能保证数据包的传递或顺序。
但是这使得UDP更适合时间敏感的通信,比如视频通话或实时流媒体,其中速度至关重要,而一些数据丢失是可以接受的。
DNS
为了将所有这些概念联系在一起,让我们谈谈DNS(域名系统)。
DNS就像互联网的电话簿,将人类友好的域名转换为IP地址。当您在浏览器中输入URL时,浏览器会发送DNS查询以找到相应的IP地址,从而建立与服务器的连接并检索网页。
DNS的功能由ICANN(互联网名称与数字地址分配机构)监督,它协调全球IP地址空间和域名系统。
像Namecheap或Godaddy这样的域名注册商经过ICANN认证,可以向公众出售域名。
DNS使用不同类型的记录,比如A记录,将域名映射到其相应的IPv4地址,确保您的请求到达正确的服务器,或AAAA记录,将域名映射到其IPv6地址。
网络基础设施
最后,让我们谈谈支持所有这些通信的基础设施。
网络上的设备具有公共或私有IP地址。公共IP地址在互联网上是唯一的,而私有IP地址在本地网络中是唯一的。
IP地址可以是静态的,永久分配给设备,也可以是动态的,随时间变化。动态IP地址通常用于家庭互联网连接。
在局域网(LAN)上连接的设备可以直接通信。为了保护这些网络,使用防火墙,监视和控制基于安全策略的进出网络流量。
在设备内部,特定的进程或服务由端口标识,与IP地址结合在一起,为网络服务创建唯一标识符。一些端口保留用于特定协议,如端口80用于HTTP或端
口22用于SSH,依此类推。
简化的层次图
所以这是一个简化的图表,代表了互联网协议套件的不同层,从应用层到物理硬件。
•应用层:这是应用特定协议(如用于Web浏览的HTTP,用于文件传输的FTP和用于电子邮件的SMTP)操作的地方。数据根据这些协议进行格式化,并发送到传输层。端口用于将数据传输到正确的应用程序。DNS属于应用层,因为它是一个将人类可读域名(例如www.example.com[1])转换为网络可理解IP地址的网络服务。•传输层:在传输层,我们有TCP和UDP。TCP提供数据的可靠有序传递,而UDP提供更快但不可靠的传递。TCP使用序列号和确认来确保所有数据都被接收并且顺序正确。•互联网层:在这里有IP地址和IP头部,跨网络路由数据包。IP地址用于标识网络上的设备,可以是公共/私有和静态/动态。•链路层:这一层负责物理网络连接,使用MAC地址标识本地网络上的设备,并使用交换机来传输流量。•物理硬件:这包括计算机、路由器、防火墙以及它们形成的局域网。