侧边栏壁纸
博主头像
蚌埠住了捏博主等级

快乐,健康,自由,强大

  • 累计撰写 56 篇文章
  • 累计创建 12 个标签
  • 累计收到 21 条评论

目 录CONTENT

文章目录

深入计算机网络,八股背后的工程魅力

蚌埠住了捏
2025-01-01 / 0 评论 / 1 点赞 / 51 阅读 / 2,630 字

2025新年首作!🥳🥳🥳🥳🥳🥳祝大家新年快乐

计算机网络在学生时代以其枯燥的教科书和习题奠定了无聊的基调,让不少人连深入了解的欲望都没有,包括学生时代的我,留在脑子里的只有面试必备的八股。虽然现在八股已经卷到可以轻松看懂的地步了,但是面临一些很常见的网络问题,甚至是非计算机行业的人群会提出的问题,我却没法很好地分析、解决。

图源于我之前一篇文章强推的八股站点:https://javaguide.cn/cs-basics/network/other-network-questions.html#网络分层模型

2024年最后一个月花了一些时间阅读书籍和博客,玩了玩电脑,有了一些稍微深入的基础认识,新年的第一天来分享一下

TCP/IP协议可视化利器 Wireshark

推荐关于wireshark的两本书,作者通过一些实际案例以博客分组的形式讲解了其的工程应用,基于可视化工具分析问题并解决各类故障或者性能问题。

当看到一个个TCP数据包被抓到,并且学习分析数据后,枯燥的知识都具象化。典型的比如三次握手四次挥手。如图中红框所示,是我的电脑和一个服务器建立TCP链接的握手过程,SYN ACK flag可视化真的很有用。

在玩抓包的时候善用IP or MAC地址在线工具查询基本信息,如厂商、地理位置等,比如
https://ipinfo.io/account/search
https://nordvpn.com/zh/ip-lookup/

实体网络架构及基建

深入到网络分层架构的底部看看物理层到底是怎么构造的,所有的互联数据说到底都得走到光纤实现跨域传输

国内

国内网络架构可以参考:
https://blog.csdn.net/weixin_38911591/article/details/97482604。以下是关键截图

CPE (Customer Premises Equipment) 指的是客户终端设备,位于用户端网络的最前沿,连接用户的本地网络和运营商的网络。提供互联网接入(如光纤、DSL 或 5G 网络)。常见的 CPE 设备在家庭宽带场景:家用光猫(光纤接入设备)、DSL 调制解调器、路由器。

BRAS (Broadband Remote Access Server) 是宽带远程接入服务器,位于运营商网络的接入层,负责处理用户接入请求和流量。实现用户认证:通过 PPPoE 或 DHCP,验证用户账号和密码(RADIUS 服务器配合);流量管理:分配带宽,管理 QoS(服务质量),限制流量;地址分配:动态分配 IP 地址;路由转发:将用户流量转发到更高层的骨干网络。

用户设备 (PC, 手机)

CPE (光猫/路由器)

BRAS (宽带远程接入服务器,拨号上网)

核心网 (骨干网 / 数据中心)

互联网

国际

跨国的信息传输一般通过海底光缆,感兴趣的同学可以搜搜纪录片或者长视频看看介绍,我感觉称得上人类超级工程了,目前海底光缆可以绕地球N圈。

有趣的是,光纤是华人发明的,获得了诺贝尔奖

2009年10月6日(周二),瑞典皇家科学院宣布将当年诺贝尔物理学奖授予英国标准电信实验室和香港中文大学高锟教授等3人,高锟的获奖理由(即颁奖词)是“光通信领域中有关光在纤维中传输的突破性成就”。

详见https://www.submarinecablemap.com/

或者我们中国移动的版本
https://www.ctamericas.com/wp-content/uploads/2023/02/China-Telecom-Global-Infrastructure-Map.pdf。

值得一提的是,大陆内部,特别是城际的网络也是通过光缆互联的。一般被主干网或者城际网等名词代替表达

城际网和骨干网的光缆铺设方式

  1. 地下铺设:光纤光缆通常埋在地下,沿高速公路、铁路等干线布设,以降低外部损坏的风险。
  2. 架空铺设:在架空线路杆上布设光缆,主要用于距离短、地形复杂的区域。
  3. 水底铺设:当需要跨越河流、湖泊或沿海时,光缆会被铺设在水底或海底。
  4. 隧道或管道铺设:在城市或地形复杂的区域,光纤可能沿管道、隧道铺设。

Starlink卫星通信网络

作为很少偏远地区hiking的人,其实很少意识到国家基建的重要性,因为一切都过于透明。在高速路上不妨多观察铁塔,有高压继电器的是电塔,

有天线的是网络基站

当你看到几百公里的路上、高山上、田地里伫立的铁塔后才明白网络的来之不易并对一切抱有感激。同样的我们出国也会买各个国家运营商的电话卡来接入基站网络。

那么基站覆盖不到地方有吗,当然:高山、人迹罕至的森林荒漠、大海、小岛。电影里迷失小岛没有信号没法求救的故事历历在目。

Starlink通过卫星网络和配套的地面天线设备实现了地球上偏远地区的网络互联接入,比如再配合个太阳能电池板供电。同理还有应对急救需求的卫星电话。

星际

火星设备通信?移民通信?以后依兴趣填坑

玩一玩

指令

不妨请求一个网站,然后看一下请求的IP路由,一共经历了多少跳,每一跳的IP厂商是什么。

指令 功能 日常用途
ifconfig 查看网络接口配置信息,包括IP地址、子网掩码、网关等。 检查本地网络配置,例如是否获取到IP地址,网络接口是否正常工作。
ifconfig en0 查看特定网络接口(如en0)的配置信息。 查看特定网络接口(如Wi-Fi)的详细配置。
nslookup <domain> 查询DNS记录,获取域名解析的IP地址。 检查域名解析是否正常,获取域名的IP地址。
ping <host> 测试与目标主机的网络连通性,通过发送ICMP请求包测量响应时间。 判断网络是否畅通,测试目标主机是否可达,排查网络问题。
traceroute <host> 显示数据包到目标主机经过的路由路径及延迟。 分析网络路径中延迟或中断的节点,排查网络瓶颈。
sudo lsof -i -nP 列出所有网络连接和端口活动,需要管理员权限。 检查本地系统当前的网络活动,分析端口占用情况。
route -n 查看路由表信息,显示数据包的转发规则。 检查默认网关和路由表配置,排查路由异常。
netstat -rn | grep default 查看默认路由配置。 快速定位默认网关的IP地址。
nmap -A <subnet> 扫描子网中的主机并获取详细信息(操作系统、开放端口等)。 深度分析局域网设备信息,排查设备安全风险。
arp -a 查看本地ARP表,显示已解析的IP地址和MAC地址对应关系。 检查局域网中的设备信息,排查设备冲突或伪装情况。

家用网络admin界面

基本上都是一个光猫(modem调制解调器,谐音猫)+N个路由器,我租的房子比较小,只有一个路由器。有外漏天线的是路由器,没有的是光猫,路由器通过网线连接到光猫。如果是合租,多半会见到客厅里装光猫,然后每个合租卧室连一根网线进屋接各自的wifi路由器。

想了解家庭网络的最好方式就是进管理界面,一般可以在盒子的底部找到初始密码,一般租客不会修改(除了我🥸)。

有了密码就差网页地址了,路由器和光猫的管理页面基本都是没有domain name的,而是赤裸裸的192.168开头的IP地址

我们应用刚才讲到的运营商架构知识可以知道,任何一个对外的包都要经过路由器和光猫,所以我们直接看一下初始路由路径就可以了

traceroute 8.8.8.8

不出意外,第一个192.168.18.1就是路由器IP,用浏览器访问该地址就可以看到自如智能管理界面,可以看到连接到路由器的设备,也可以用来安全检查,比如有没有未知设备。

第二个192.168.1.1自然就是光猫了,里面这台有线设备就是我们的路由器啦。还可以看到网络电视、电话等设备接入!有趣的是光猫也提供wifi,而且是ChinaNet开头的,相信大家走在大街上或者楼道里尝试搜索wifi的时候见过不少ChinaNet wifi了,我才发现哈哈。

管理界面除了看设备还可以监控配置流量规则。

BTW,一个热知识,为什么百兆带宽,实际下载速度最多十几MB,因为带宽的单位都是bit,而下载软件常用的指标是byte为单位的,所以要除以8才是实际我们认知的下行速度。

1

评论区