跳转至

Network

  1. IP地址分类 IP地址分为公有IP地址和私有IP地址。公有IP地址是在互联网上唯一标识一台主机的地址,而私有IP地址是在本地网络内部使用的地址,不会在互联网上公开路由。
  2. 私有IP地址范围 根据RFC 1918规定,以下三个IP地址范围被定义为私有IP地址:
  3. 10.0.0.0 到 10.255.255.255(10.0.0.0/8)
  4. 172.16.0.0 到 172.31.255.255(172.16.0.0/12)
  5. 192.168.0.0 到 192.168.255.255(192.168.0.0/16)
  6. IP地址结构 IP地址由32位二进制数组成,通常分为四个八位组(即四个字节),每个八位组用一个十进制数表示,范围是0到255。

TCP协议(传输控制协议)

TCP(Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。它在互联网中被广泛使用,以确保数据可以从一个网络设备准确无误地传输到另一个网络设备。 主要特点: - 面向连接:在数据传输之前,需要先建立一个TCP连接。 - 可靠性:通过确认(ACK)和重传机制,确保数据的可靠传输。 - 有序性:确保数据按照发送的顺序到达接收方。 - 流量控制:通过滑动窗口算法,控制数据的发送速度,避免网络拥塞。 - 拥塞控制:检测网络拥塞情况,并相应地调整数据传输速率。

HTTP协议(超文本传输协议)

HTTP(HyperText Transfer Protocol)是一种应用层协议,主要用于在Web浏览器和服务器之间传输超文本数据。 主要特点: - 简单性:协议相对简单,易于理解和使用。 - 无状态性:每次请求之间相互独立,服务器不会保存之前的请求状态。 - 可扩展性:通过头部字段,可以很容易地扩展新的功能。 - 基于请求-响应模式:客户端发送请求,服务器响应请求。 版本: - HTTP/1.0:第一个广泛使用的版本,但每个连接只能处理一个请求。 - HTTP/1.1:对1.0进行了改进,支持持久连接,可以在一个连接中处理多个请求。 - HTTP/2:引入了头部压缩、多路复用等技术,提高了性能。 - HTTP/3:基于QUIC协议,进一步提高了速度和安全性。 总结来说,TCP是一种底层的传输层协议,用于确保数据的可靠传输;而HTTP是一种应用层协议,用于定义如何在Web服务器和客户端之间交换数据。HTTP通常运行在TCP之上,利用TCP的可靠性来保证数据的正确传输。

传输层和应用层是网络模型中的两个重要层次,各自包含了一些关键的协议。以下是这两个层次中常见的一些协议:

传输层协议

传输层位于网络模型中的第四层,主要负责在网络中的两个终端之间提供端到端的通信服务。除了TCP(传输控制协议)之外,传输层还包括以下协议: - UDP(用户数据报协议):提供无连接的数据传输服务,不保证数据包的可靠传输,但传输速度较快,适用于实时应用,如视频会议和在线游戏。 - DCCP(数据报拥塞控制协议):为数据报流量提供拥塞控制,介于TCP和UDP之间,适用于实时通信。 - SCTP(流控制传输协议):提供可靠的数据传输,类似于TCP,但支持多宿(Multi-homing)和多流(Multi-streaming)。

应用层协议

应用层位于网络模型的最顶层,为应用软件提供网络服务。它定义了应用程序如何通过网络进行通信。除了HTTP(超文本传输协议)之外,应用层还包括以下协议: - HTTPS(HTTP Secure):HTTP的安全版本,通过SSL/TLS加密HTTP通信,用于安全的Web浏览。 - FTP(文件传输协议):用于在网络上进行文件传输。 - SMTP(简单邮件传输协议):用于电子邮件的发送。 - IMAP(互联网消息存取协议)/POP3(邮局协议版本3):用于电子邮件的接收和管理。 - DNS(域名系统):将人类可读的域名转换为机器可读的IP地址。 - SSH(安全外壳协议):用于安全地访问远程计算机。 - Telnet:用于远程登录到网络设备。 - NTP(网络时间协议):用于网络时间同步。 - XMPP(可扩展消息处理现场协议):用于即时消息传递,如Jabber。 - RPC(远程过程调用协议):允许程序在不同的计算机上执行代码。 这些协议只是应用层和传输层协议中的一部分,实际上还有更多的协议用于各种不同的网络应用和服务。

网络模型通常指的是OSI模型(开放式系统互联通信参考模型)或TCP/IP模型(传输控制协议/互联网协议模型)。以下是这两个模型的层次结构:

OSI模型(7层)

  1. 物理层(Physical Layer)
  2. 负责传输原始比特流,通过物理媒介(如电缆、光纤)进行数据传输。
  3. 数据链路层(Data Link Layer)
  4. 负责在相邻节点之间的可靠传输,处理错误检测和修正。
  5. 网络层(Network Layer)
  6. 负责数据包从源到目的地的传输和路由选择,例如IP协议。
  7. 传输层(Transport Layer)
  8. 确保数据的正确传输,包括分段、流量控制、错误控制和数据重传,如TCP和UDP。
  9. 会话层(Session Layer)
  10. 负责建立、管理和终止会话,会话可以是点到点的连接或多个参与者的会话。
  11. 表示层(Presentation Layer)
  12. 负责数据的转换、加密和压缩,确保数据在网络中传输前后的表示是一致的。
  13. 应用层(Application Layer)
  14. 为应用程序提供网络服务,如HTTP、FTP、SMTP等。

TCP/IP模型(4层)

  1. 链路层(Link Layer)
  2. 相当于OSI模型中的物理层和数据链路层,负责在物理媒介上发送和接收数据。
  3. 互联网层(Internet Layer)
  4. 相当于OSI模型中的网络层,负责数据包的路由和寻址,主要协议是IP。
  5. 传输层(Transport Layer)
  6. 与OSI模型的传输层相同,包括TCP和UDP等协议。
  7. 应用层(Application Layer)
  8. 相当于OSI模型的会话层、表示层和应用层,为应用程序提供网络服务。 TCP/IP模型是一个更实用的模型,它简化了OSI模型的层次结构,将链路层合并了物理层和数据链路层的功能,并将OSI模型的会话层、表示层和应用层合并为应用层。实际上,TCP/IP模型是互联网的基础。

要检查Windows系统上的2222端口是否可以从局域网中的其他机器访问,你可以采取以下步骤:

步骤 1: 确认服务正在运行

首先,确保你的机器上有一个服务正在监听2222端口。你可以使用以下命令来检查:

netstat -an | findstr 0.0.0.0:2222
或者使用 PowerShell 命令:
Get-NetTCPConnection -LocalPort 2222
如果服务正在运行,你应该会看到有关于2222端口的输出。

步骤 2: 检查防火墙设置

确保Windows防火墙允许通过2222端口的连接。你可以通过以下步骤检查和修改防火墙设置: 1. 打开控制面板。 2. 点击“系统和安全”,然后点击“Windows Defender 防火墙”。 3. 在左侧菜单中选择“高级设置”。 4. 在“入站规则”中查找与2222端口相关的规则,如果没有,你可能需要添加一个新的规则来允许该端口的连接。

步骤 3: 从其他局域网机器测试连接

在确保服务正在运行并且防火墙设置正确后,你可以从局域网中的另一台机器尝试连接到这台机器的2222端口。以下是一些方法:

使用 telnet

在另一台机器上,你可以使用以下命令尝试连接到你的Windows机器的2222端口:

telnet <你的Windows机器的局域网IP> 2222
如果连接成功,你应该会看到连接建立的信息。如果连接失败,你可能会看到一个错误消息。

使用 nc (Netcat)

如果你有Netcat安装在其他机器上,可以使用以下命令:

nc -zv <你的Windows机器的局域网IP> 2222
如果端口是开放的,你将看到端口是可连接的。

注意事项

  • 确保你知道Windows机器在局域网中的IP地址。
  • 如果其他机器上的防火墙也配置了出站规则,确保它允许连接到2222端口。
  • 如果你在测试连接时遇到问题,可能需要检查网络交换机或路由器的设置,以确保它们没有阻止端口2222的通信。 完成这些步骤后,你应该能够确定是否可以从局域网中的其他机器访问Windows机器上的2222端口。

从你提供的命令输出中,我们可以看到以下信息: 1. netsh interface portproxy show v4tov4 命令显示了一个端口代理设置,其中: - IPv4地址 0.0.0.0 在端口 2222 上侦听。 - 来自端口 2222 的连接会被转发到 IPv4地址 172.28.209.100 的端口 22。 2. netstat -an | findstr 0.0.0.0:2222 命令确认了确实有一个服务在 0.0.0.0:2222 上监听。这意味着任何发往该机器IP地址的2222端口的连接都会被接受。 由于你已经设置了端口转发,任何到本机2222端口的连接都会被转发到 172.28.209.100 的22端口。以下是一些需要注意的点: - 0.0.0.0 表示这个服务监听在所有可用的网络接口上,所以从局域网的其他机器应该能够访问这个端口。 - 确保你的Windows防火墙允许传入连接到2222端口。 - 确保局域网中的其他机器能够解析或直接使用你的Windows机器的IP地址来尝试连接。 如果你想在局域网中的其他机器上测试连接,可以使用以下命令: 对于 telnet(如果其他机器上安装了telnet客户端):

telnet <你的Windows机器的局域网IP> 2222
对于 nc (Netcat):
nc -zv <你的Windows机器的局域网IP> 2222
如果连接成功,你将看到连接建立的证据。如果失败,你可能会收到一个错误消息,表明端口不可达或连接被拒绝。如果出现这种情况,你可能需要检查以下内容: - 确保端口转发服务正在运行。 - 确保没有其他网络设备(如路由器或交换机)阻止这种连接。 - 确保其他机器的防火墙设置允许连接到你的Windows机器的2222端口。

要删除使用 netsh 命令配置的端口转发规则,你可以使用 netsh interface portproxy delete v4tov4 命令。以下是删除特定端口转发规则的步骤: 首先,确定你想要删除的规则。从你提供的信息中,你想要删除的是监听端口为 3366 的规则。 运行以下命令来删除该规则:

netsh interface portproxy delete v4tov4 listenport=3366 listenaddress=0.0.0.0
这个命令将会删除监听地址为 0.0.0.0 且监听端口为 3366 的端口转发规则。 如果你想删除所有端口转发规则,你可以使用以下命令:
netsh interface portproxy reset
这将会删除所有配置的 IPv4 到 IPv4 的端口转发规则。 请确保在执行这些命令时你有足够的权限,可能需要以管理员身份运行命令提示符。在 Windows 上,你可以通过右键点击开始菜单并选择“Windows PowerShell (管理员)”或“命令提示符 (管理员)”来以管理员身份运行。


最后更新: 2025-05-12
创建日期: 2025-05-12
作者: gis-xh