引入
本文主要参考1
下图中的7层结构不需要看,仅是引入。
(因为现代的网络交换机和路由器通常集成了多个层次的功能。此外,一些协议可能跨越多个层次,而某些层次的功能可能在不同的操作系统或应用程序中实现。所以这个结构和实际硬件很难对得上了。)
WAN:广域网(Wide Area Network)
MAN: 城域网(Metropolitan Area Network))
LAN:局域网(Local Area Network)
计算机网络结构与功能
上图为国际标准化组织(ISO)于1984年提出,旨在为不同厂商的网络设备与协议提供参考框架,OSI体系结构(Open Systems Interconnection Reference Model)。
但OSI模型是一个理论模型,实际应用中更广泛采用的是TCP/IP模型,它将OSI模型的部分层次合并,简化为四个层次:链路层、网络层、传输层和应用层。
TCP(传输控制协议,Transmission Control Protocol)
网络接口层(Link Layer,也叫链路层):
网卡(NIC):也称为网络适配器,是连接计算机和其他网络设备的硬件设备。负责将计算机数据转换成在网络传输的格式,以及将接收的数据转换回计算机可理解的格式。
集线器(Hub):在物理层工作,用于连接多个网络设备,并将信号从一个端口广播到所有其他端口。属于OSI中的网络层,在端口间起作用,现在这玩意没用了。(此处端口应为物理端口)
交换机(Switch):在链路层工作,可以识别数据包中的MAC地址(而集线器不能,相当于集线器里你给别人私发消息都会变成群发),并根据这些地址将数据包转发到正确的端口。一般现在用于Wifi接口插满了,用交换机扩展一下。
网络层(Internet Layer):
路由器(Router):在网络层工作,根据数据包IP决定最佳传输路径,并将数据包从一个网络转发到另一个网络,可以连接到不同的局域网(LAN)和广域网(WAN)。提供网络地址转化(NAT)、防火墙和带宽管理等功能。
(tips:集线器和交换机主要处理同一局域网内的数据传输,而路由器负责不同网络间数据传输)
现在路由器通常集成了交换机、路由器和猫(数模转换:数据转为光电信号以在光纤中传播)的功能,只是更复杂的网络环境中,可能需要额外交换机来扩展有线连接。
传输层(Transport Layer):
传输层不直接对应到具体的硬件设备,而是通过软件协议实现,如TCP(传输控制协议)和UDP(用户数据报协议)。
TCP:在传输开始时,在通信双方间建立一个连接,这一过程通常涉及“三次握手”序列,用于序列号、重传、确认应答、窗口、动态调整机制,数据传输可靠性更强。
适用于需要可靠数据传输的应用,比如web浏览(HTTP),文件传输(FTP),远程登录(Telnet)等。
UDP:传输开始前无需连接,传输快、延迟低,适用于在线游戏、视频等服务。
(tips:协议的意思是一组标准与规则,大家遵循这些规则以保证数据在网络上顺利传输、处理和接受)
应用层(Application Layer):
应用层是最接近用户的层次,它提供了网络服务和应用程序接口,使得用户可以通过应用程序访问网络资源。应用层包括许多协议和网络服务,例如:HTTP、FTP、SMTP、DNS等。
(常见的 FTP 监听 20、 21 端口,而 HTTP 服务监听 80 端口等 https://ivel-li.github.io/2024/11/25/%E7%AB%AF%E5%8F%A3%E6%98%AF%E4%BB%80%E4%B9%88)
传输层与应用层的界限::传输层负责网络中两个节点间端到端的数据传输服务。应用层负责特定应用的数据交换与网络服务功能。
(tips:SSH在TCP层之上工作,因为SSH本身虽然安全,但依旧需要TCP的数据包确认、重传、排序机制保证数据稳定传输。)