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

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个流程的哪个流程。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值