4号和10号用两天时间把这个半拇指厚的《Wireshark网络分析就这么简单》书,认真学了一遍,对wireshark有了基本的认识,并且能够对基本问题进行基本的分析。
要说通过一次学习掌握的程度能达到百分之六七十以上已经相当不错了。好在自己在本科阶段积累的网络基础知识,现在派上了用场,学习过程的速度明显加快了许多,晦涩难懂的地方也较少。
同时,也再次驳倒了一批人认为学校接触的知识在社会无用武之地的说法。
因为自己非过目不忘型,因此,需要将书中一些知识要点总结并记录下来,以便日后再次复习使用,加强记忆。
跨子网通信需要默认网关的转发,而和默认网关通信,就需要获得其MAC地址;
在执行ARP(地址解析协议)的时候,如果A和B不在同一个子网,那么A发出的ARP广播请求,B收到请求之后,会直接回复,而不考虑子网问题;
常用网络配置信息的命令
ifconfig | egrep “HWaddr|inet addr”#查看网络配置信息route | egrep "Dest|**.**"#路由查询
常用的过滤方式(Filter栏)
- 协议名称;
- ip地址加port号,最常用的过滤方式。过滤表达式:ip addr eq <ip地址> && tcp.port eq <端口号>
- 还可以右键单击感兴趣的包,选择Follow TCP/UDP Stream,即可自动过滤
NFS(网络上的文件系统)—NFS协议是SUN公司设计
portmap
- 维护一张进程与端口号的对应关系表;
- 端口号111,一般众所周知
- 在linux centos6.0以上版本程序已经更名为rpcbind
rpcinfo获得服务器上的端口列表NFS对客户端的访问控制是通过IP地址实现的
用户与UID的对应关系由客户端的
/etc/passwd,NFS只认UID不认用户名判断一个写操作的包是
async还是sync的方法WRITE Call上的UNSTABLE和FILE_SYNC标志分别代表async和sync在mount时,可以使用
wsize参数来指定每次应该写多少,但在某些客户端上启用sync参数之后,无论wsize定义成多少都会被强制为4KB如果mount时,使用了
noac参数,那么读写性能会受影响noac参数:让客户端不缓存文件属性- 如果也没有指定sync参数,那么noac会把写操作强制变成sync方式
发包的大小是有
MTU较小的一方决定的发送方的发送窗口是受接收方的接收窗口和网络影响的,接收方只要在包里使用
Win=即可告知发送方其窗口大小拥塞点:导致网络拥塞的数据量
拥塞点的一个较靠谱的确定策略:在发送放维护一个虚拟的拥塞窗口,并利用算法使它尽可能接近真实的拥塞点。
RTO:从发出原始包到重传该包的时间。某些操作系统提供了调节RTO大小的参数
重传之后拥塞窗口是否需要调整?RFC建议把拥塞窗口降到1个MSS,然后再次进入慢启动过程
RFC 一系列以编号排定的文件,文件收集了有关互联网相关的信息
即便万分之一的重传对性能的影响都很大
超时重传对性能影响最大,因为它有一段时间(RTO)没有传输任何数据,而且拥塞窗口会被设成1个MSS,所以要尽量避免超市重传。
丢包对极小文件的影响比大文件严重,因为读写一个小文件需要的包数很少,所以丢包时往往凑不满3个Dup Ack,只能等待超时重传了。
Nagle算法原理
在发出去的数据还没有被确认之前,假如又有小数据生成,那就把小数据收集起来,凑满一个MSS或等收到确认后再发送。
Westwood算法原理
先推算出有多少包已经被送达接收方,从而更精确的估算发生拥塞时的带宽,最后再依据带宽来确定新的拥塞窗口。
- Vegas算法原理
通过监控网络状态来调整发包速度,从而实现真正的*拥塞避免*。
当网络状况良好时,数据包的RTT(往返时间)比较稳定,这时可以增大拥塞窗口;
当网络开始繁忙时,数据包开始排队,RTT就会变大,这时需要减小拥塞窗口。
优势:在拥塞真正发生之前,发送发已经能通过RTT预测到,并通过减缓发送速度来避免丢包。
- Windows操作系统中
Compound算法同时维持两个拥塞窗口。Windows7上该算法是默认关闭的。
启用方法:`netsh interface tcp set global congestionprovider=ctcp`
关闭方法:`netsh interface tcp set global congestionprovider=none`
每个包里都有
More fragments的flag。1表示后续还有分片,0表示这是最后一个分片可以组装了。NFS:理论上试用于任何操作系统,但只在Linux/Unix上流行
Windows共享协议:SMB协议(由微软维护),也叫
Common Internet File System(CIFS)。其中有三个版本—SMB、SMB2和SMB3Windows的Backup Operators组中的用户备份和读操作时,通过包区分的方法:备份的时候在Create请求中
Backup Intent为1,读的时候为0多个用户访问同一个文件的情况
- CIFS采用了
Oplock(机会锁) Oplock有Exclusive(允许读写缓存) Batch(允许所有操作缓存) Level2(只允许读缓存)
- CIFS采用了
利用Windows Explorer从CIFS共享上复制文件会比较慢,因为Windows Explorer是逐个复制的(单线程),使用某些工具可能同时复制多个文件(多线程)
SMB3提出了一个叫
BranchCache的机制来解决多用户访问同一个文件,但相同内容需要在有限带宽中传输多次的问题。DNS
- 用域账号登录操作系统,是依靠DNS找到Domain Controller来验证身份。
- Domain Controller(域控制器,控制网络上的计算机能否加入的计算机组合)
- A记录:从域名解析到IP地址
- PTR记录:与A记录相反,从IP地址解析到域名
- SRV记录:指向域里资源
- CNAME记录:称为Alias记录,即别名的意思
- 递归查询和迭代查询
- 工作方式
- 假如有两个同名的A记录,分别对应着两个不同的ip,那么进行多次解析域名时,返回的IP地址是一样的,但每次顺序都是相反的,这是DNS循环工作模式,此特性可以广泛应用于负载均衡
FTP
客户端连接FTP服务器端口21是为了传输控制信息,称之为控制链接;
当需要传输数据时,重新建立一个TCP连接,称之为数据连接三次握手是由服务器端主动发起,称之为主动模式,可以更改主动模式为被动模式,在相应工具中进行设置即可
云存储一般使用对象存储的方式
NLM:
Network Lock Manager的简称,客户端用它来锁定服务器上的文件,从而避免和其他客户端发生访问冲突,一般都是由客户端查询服务器的NLM端口