首页 > 其他分享 >如何学好计算机网络的方法?

如何学好计算机网络的方法?

时间:2023-03-09 21:36:25浏览次数:40  
标签:学好 TCP Server 计算机网络 动手 Linux 工具 方法

 

我觉得正确的学习方法应该是边学理论边动手实践。

动手包括两类方法:

                                    一类是用一些命令行工具进行观测,另外一类就是用 socket 来写程序。

                               我建议首先要准备一台 Linux 电脑。在 Linux 下有很多成熟的网络相关的工具可供你使用。现在国内的互联网公司的服务器基本上也都是 Linux。而且用 Linux 有个好处就是源码是公开的。实在遇到不懂的问题,可以更容易地搜答案。这点比 Windows 强太多了。

                                   对于第一类动手观测法,我的建议是你学到某一层的时候,就找到一些相关的工具来做几个实验。比如讲到 TCP 的时候,你可以启动一个 Nginx(或者干脆自己写一个 Server),用 curl 等工具发起 TCP 连接建立请求。这时候用 tcpdump 动手进行抓包,看看三次握手究竟是怎么握的。 看看每次握手的时候,包体究竟是长什么样的。我把 linux 下常用的各种网络工具简单整理几个,各位有需要可以保存下来。<img src="https://pic1.zhimg.com/50/v2-7ad1eceab9db04af13c949e00caa35ce_720w.jpg?source=1940ef5c" data-caption="" data-size="normal" data-rawwidth="1256" data-rawheight="1358" data-default-watermark-src="https://pic1.zhimg.com/50/v2-870bdc575d1d0b4d9e0a4870ed59b615_720w.jpg?source=1940ef5c" class="origin_image zh-lightbox-thumb" width="1256" data-original="https://pica.zhimg.com/v2-7ad1eceab9db04af13c949e00caa35ce_r.jpg?source=1940ef5c"/>

                              第二类方法就是动手编程。刚开始可以从一些简单的开始,比如就写个 tcp server, tcp client 让他们相互连接然后传输一些简单的数据。然后可以开始练一些更为复杂一点的。比如写一套 FTP Server 和 Client, 让它们之间能够实现简单的文件下载。或者写一个 Web Server,支持通过浏览器来下载 Web Server 上的静态文件。再比如说模拟 tcpdump 来写一个抓包工具。(可以参考我的这篇文章,里面提供了一个简单的 demo)。做完这些相信你对网络的理解会前进一大步。对于我个人来讲,我也是一直通过理论 + 实践的方法来对知识进行学习的,效果很好。比如我在网络中,我想弄懂一条空的 TCP 连接消耗多大的内存。我自己在工作之余抽了好长时间去翻内核源码,然后动手做实验。当实验完成的时候,我对 TCP 连接的内存开销的理解就非常的深了。

标签:学好,TCP,Server,计算机网络,动手,Linux,工具,方法
From: https://www.cnblogs.com/hongsebeizi/p/17201516.html

相关文章

  • linux 配置IP地址的三种方法
    方法1:图形化界面打开网络,直接配置:IP:172.16.129.108子网掩码:255.255.255.0网关:172.16.129.254方法2:ifconfig命令使用ifconfig命令配置ip地址,通常用来临时测试用,重启后ip地址......
  • springmvc-通过控制器方法的形参获取请求参数
         ......
  • 内置方法简单版
    进制:bin(),oct(),hex()字符串(str)name=“aaaaa”“”stripsplitreplaceindigit,lower,upper,center,count,find,index,join,format,startswith,endswith列表(l......
  • IDEA类和方法注释模板设置(非常详细)
    类注释模板File-->settings-->Editor-->FileandCodeTemplates-->Files我们选择Class文件(当然你要设置接口的还也可以选择Interface文件)${NAME}:设置类名,与下面的${......
  • IDEA中web目录没有小蓝点的处理方法
    1.晚上启动一个练手项目时,发现网页报500错误,说路径错误,找不到\index.html页面,检查一番后发现,我的这个web项目的web目录没有被识别。也即没有小蓝点。2.打开项目结构,选择......
  • iperf3使用方法详解
    转载自:https://zhuanlan.zhihu.com/p/314727150========== iperf3是一款带宽测试工具,它支持调节各种参数,比如通信协议,数据包个数,发送持续时间,测试完会报告网络带宽......
  • 一些有趣的计算方法
    \[\begin{aligned}&\int\frac1{\sqrt{x^2+1}}\mathrmdx=\int\frac1{x+t}\mathrmdx\\&=\int\left(\frac{1-t^2}{2t}+t\right)^{-1}\mathrmd\left(\frac{1-t^2}{2t}\ri......
  • win10系统遇到深色背景自动降低亮度解决方法
    电脑突然莫名奇妙地深色背景亮度随背景颜色变化而变化,看起来很费眼。尝试了网上地解决方案,都没效果。1、Interl显示控制系统-功率关闭显示器节能,没效果2、控制面板......
  • java-IO-File类概述和构造方法
         ......
  • 3.4数组的常用方法
    ​ 数组的常用方法<!DOCTYPEhtml><html><head><metacharset="UTF-8"><title></title><script>......