真心求教,网络分布、路由、转发、穿透相关知识怎么系统学习

2022-08-11 15:25:43 +08:00
 lookStupiToForce

起因还是兴趣以及*趣

需求是想搞清楚以下这些东西,最好是能以前后内容贯通的方式系统性地学习:

  1. DNS 的原理,以及简单实现

  2. 硬软路由 / 旁路由 / 单臂路由 等路由组件相通的部分,和各自解决的痛点

  3. 交换机相对路由器又解决了什么关键的问题

  4. NAT 类型以及打洞具体实现方法,进一步 P2P 打洞的实现

  5. 网络包混淆混淆的到底是啥,比如员工使用**上网能让网络工程师看不出他访问了啥网站吗?

感觉在描述网络工程,但我想知道有没有哪一本书是专门把上面这些东西给一个野路子程序员拎清后拿来用的,或者一本《计算机网络》能解决以上问题吗?

3408 次点击
所在节点    程序员
23 条回复
ggvm
2022-08-11 15:34:09 +08:00
TCP/IP 详解
SingeeKing
2022-08-11 15:44:03 +08:00
在基础知识领域,黑皮书秒杀一切博客、大学公开课秒杀一切培训机构
isno
2022-08-11 15:45:30 +08:00
等等我的公众号? 我正在给写稿, 这个月能写完吧.

网络篇的目录

● 互联网连接的原理 (以太网、AS 自治、BGP 协议)
● 协议的分析和问题: ARP 、ICMP(traceroute)、TCP
● 网络延迟的分析与实践 ( mtr 、Wireshark 抓包分析延迟,bgpview.io
● 协议缺陷导致的威胁:ARP 欺骗、DOS 攻击...
● 网络协议的僵化

有兴趣的就关注下 公众号地址: thebyte
mrzhu
2022-08-11 15:49:02 +08:00
cy ,我都是一个个搜的
hemingway
2022-08-11 15:50:12 +08:00
可以实践下,就明白了
coala
2022-08-11 15:52:05 +08:00
NAT 情况下, P2P 打洞这个我是到现在都没想明白...
双方都没公网 IP, 都是 NAT 环境, 在第三台有公网 IP 的机子协助下, 怎么就能直接建链了.
Tinyang
2022-08-11 15:57:43 +08:00
我学的时候是先用 wireshark 抓包分析分析,然后再结合 James_F_Kurose,_Keith_Ross_Computer_Networking_A_Top_Down_Approach 这本书看的
lookStupiToForce
2022-08-11 16:08:25 +08:00
@SingeeKing 请教一下黑皮书是哪一本书?我真的没搜到......你别告诉我是机械工业出版社那一书架的书。或者只是 TCP/IP 详解?
youxiachai
2022-08-11 16:18:35 +08:00
@lookStupiToForce 计算机网络:自顶向下方法

就是很枯燥, 系统是绝对够系统的, 后面还有习题,检验自己是否是真的看懂了
Kasumi20
2022-08-11 16:29:11 +08:00
@coala NAT 转换后就是公网 IP 了,内网的端口映射不会在 TCP 断开之后立即失效,因为 UDP 协议是不需要握手的,这就需要端口映射维持一段时间,这段时间的公网 IP 和对应端口号的流量还是会发给内网机器,所以可以让两台内网机器进行同时打开,大概是这个意思
billzhuang
2022-08-11 16:30:09 +08:00
@coala 都没公网 IP 无法直连,两台局域网的机器能联机,要起飞了。
singerll
2022-08-11 16:37:21 +08:00
ccna ,ccnp ,ccie ,华为的认证也可以。
coala
2022-08-11 16:48:22 +08:00
@Kasumi20 请教下, 利用 UDP 不需要握手, P2P 必须依赖 UDP 吗? 像百度网盘,直播的 P2P 功能

TCP 不是需要四元组"IP:端口 IP:端口", 两台 NAT 下的不同内网的机器有法子实现 TCP 链接, 或者直接发送 TCP 数据吗?
还是必须依赖 UDP 发过去
misaka19000
2022-08-11 17:02:23 +08:00
有一本书好像叫《图解计算机网络》,讲的挺好的,作为科普和简单入门很不错
misaka19000
2022-08-11 17:04:24 +08:00
wanxueyixia
2022-08-11 17:07:58 +08:00
不知道,我看好多人都读研学这个才知道,计算机网络,谢喜人写的就是写了个大概,黑皮书,那个就是反过来,tcpip 这个,感觉就是协议讲解,我没怎么看完,哎,我觉得看看写袭人的和自顶向下方法那个就算了,也不是专门搞计算机网络的
fregie
2022-08-11 17:54:41 +08:00
CCNA
Kasumi20
2022-08-11 18:14:52 +08:00
@coala TCP 也可以打洞的,不过比 UDP 打洞要复杂一点,大概就是通过服务器知道对方的公网 IP 和端口号后,断开与服务器的连接,然后趁着端口映射还有效,双方都去监听之前的端口号,同时,用一个绑定到相同端口号的 socket 去发起 connect (这一步需要设备支持端口复用),然后会有其中一方的监听被 accept ,就可以愉快的交换数据了。
jones2000
2022-08-11 19:12:20 +08:00
去淘宝上买点二手的设备,自己搭建下,才知道怎么搞,光看书没什么用。
goodryb
2022-08-11 19:19:48 +08:00
两个层面吧,知其然,知其所以然

1.先熟悉 osi 七层模型,

2.然后学习交换,在学习路由

3.至于你说的 dns 都是应用层的东西了,和 http 、ftp 等都是同一类

最后是实现原理,非专业人士一般用不到

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/872178

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX