编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

ssh连接服务器需要子网掩码吗?

wxchong 2024-06-27 01:16:59 开源技术 14 ℃ 0 评论

IP寻址需要同时知道IP地址和子网掩码,但是在通过ssh连接服务器时,只需要知道IP地址和端口号就可以了,ssh通讯为什么不需要子网掩码呢。在不知道子网掩码的前提下,可以正确找到IP对应的主机吗?

不需要,SSHSecure Shell)客户端软件压根不知道子网掩码为何物。

不光SSH,任何通信软件,其中包括各种浏览器、微信、各种其它形形色色的软件,都不需要知晓通信对端的子网掩码。

既然与对方(目的地)通信,无需知道对方对方(目的地)的子网掩码,要它(子网掩码)何用?

谁是packet的发源(诞生)地,谁用子网掩码,这个子网掩码是谁的啊?

当然是发源地的子网掩码。题主Alice,试图SSH的网站,Alice的主机需要使用Alice主机网卡的子网掩码。

跨网段主机之间的通信

Alice的主机IP地址为192.168.1.2/24,知乎IP=103.41.167.234,服务端口默认= 22 (TCP)

Alice的主机拿24子网掩码长度(24 bit 位),去遮掩(左侧对齐)知乎IP = 103.41.167.234,被遮掩的数字(网段号) = 103.41.167。

Alice的主机就会计算:

知乎的网段号(103.41.167)≠ 自己的网段号(192.168.1)

不同的网段主机的通信,需要网关的帮助才可以。至于如何请求网关的帮助,发布的文章很多,不再重复。

同网段主机之间的通信

Alice的主机IP地址为192.168.1.2/24,SSH另外一台服务器IP=192.168.1.3,服务端口默认 = 22 (TCP)

Alice的主机就会计算:

服务器的网段号(192.168.1)= 自己的网段号(192.168.1)

服务器的主机号(3) ≠ 自己的主机号(2)

这是同一个网段主机之间的通信,很简单,只要用ARP请求对方的MAC地址即可。

同一个主机进程之间的通信

Alice的主机IP地址为192.168.1.2/24,SSH一台服务器IP=192.168.1.2,服务端口默认 = 22 (TCP)

Alice的主机就会计算:

服务器的网段号(192.168.1)= 自己的网段号(192.168.1)

服务器的主机号(2)= 自己的主机号(2)

这是同一个主机进程之间的通信,很简单,packet从上层一路下行到达TCP/IP协议栈的IP路由模块时,被IP路由模块从transmit queue直接移到receive queue,然后到达TCP,再一路上行到端口22的服务器进程。

连ARP都不需要。

以上3个处理流程在coding层面完全是不一样的,这就是子网掩码的存在的价值,子网掩码是packet的发送方,用来决策packet究竟走以上3个流程的哪个流程。

作者|车小胖谈网络|公众号

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表