网络杂谈


“淡泊明志,心静如水”,心静可以产生智慧,如果诸位不信,可以尝试一次,当心完全静下来时,会不经意产生很多灵感。

计算机网络架构非常清晰,美国人发明了TCP/IP协议,这个协议栈向上支持各种应用程序,比如浏览器、邮件客户端等,向下和网卡/驱动程序对接起来,这样应用程序发出的数据,被TCP/IP协议栈在中间处理了一下,最后被网卡发出,最终到达目的地。

之所以要被TCP/IP处理一下,是因为加上一些IP头、TCP头,为何要加上这些头,因为IP头可以找到世界任何角落的电脑A,TCP头可以找到电脑A上的进程。

在用户眼中,网络就三大块:网卡/驱动程序、TCP/IP协议栈、应用程序用户对于网卡、浏览器等应用程序会有直观的感受,因为可以肉眼看到,但TCP/IP却跑在操作系统的内核里无法看到,但操作系统却提供了足够的工具让用户观看,比如在 windows 系统提供以下工具:

IPconfig

这个工具可以观察IP接口参数,可以使用 /all,/renew /release 来观察DHCP的工作过程

netstat

这个工具可以观察 TCP连接,UDP会话

Nslookup

这个工具可以观察域名解析DNS 的工作过程

Route print

这个工具可以观察路由表

ARP

这个工具可以MAC地址的解析缓存

Ping/Tracert

这个工具可以观察 ICMP工作过程

有这些观察工具可以对TCP/IP协议有一些感性认识,但这还不够,还需要一个抓包工具来研究这些协议的协议字段、以及交互过程。

现在警察破案基本上都靠监控,依据嫌疑人的衣帽特征、时间窗口,追踪他从哪里来,到哪里去,最终准确锁定嫌疑人的身份并抓捕。

而抓包工具就是网络流量的监控,可以还原现场,需要用协议过滤器来缩小包围圈,如果只想研究ARP,那就把它过滤出来,其它统统不要,那研究的注意力就会集中,不会受到干扰。

协议里的字段都有其必要的作用,举个例子,比如DHCP Discovery报文里,有“client Hardware Address”这个字段,刚研究的时候,我在想为何以太帧头已经有了“Source MAC Address”,为何DHCP报文还需要嵌入客户端MAC?

其一:网卡提交给IP层的数据里,没有以太帧头,自然就没有“Source MAC”,那DHCP Server 也无法获得

其二:一般的网络都是通过DHCP Relay 将广播的DHCP Discovery 通过单播路由到DHCP Server,自然会丢失客户端的MAC地址

而DHCP报文嵌入客户端MAC地址,可以让DHCP服务器得到客户端MAC,以此来分配IP地址。

学习过程中会遇到很多难以理解的问题,先放一放,随着学习的深入,那些问题会迎刃而解,当一步一步迈过最初的艰难旅程,会发现接下来的旅程轻车熟路,因为计算机网络的协议都是人类发明出来的,都是遵循极其类似的套路。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值