zoukankan      html  css  js  c++  java
  • wireshark学习心得

    IP地址位数=网络位数+主机位数=32位。子网掩码的位数就是网络的位数。A类网络的网络位数是8位,子网掩码就是255.0.0.0,B类网络的网络位数是16位,子网掩码是255.255.0.0,C类是24位,255.255.255.0。

    子网掩码:就是决定前多少位是网络位,多少位是主机数的.

    当两个不同子网的ip进行通信时,先去查询默认网关的mac,因为跨子网通讯需要默认网关的转发,而要和默认网关通讯,就需要获得其mac地址。

    OSI网络参考模型:(物数网传会表应)

    应用层及常用协议-应用层确定进程之间通信的性质,以满足用户的需要。HTTP,HTTPS,FTP,TELNET,SSH,SMTP,POP3。

    表示层及常用协议-主要用于处理两个通信系统中交换信息的表示方式。为上层用户解决用户信息的语法问题。它包括数据格式交换、数据加密与解密数据压缩终端类型的转换。

    会话层及常用协议-在两个节点之间建立端连接。为端系统的应用程序之间提供了对话控制机制。

    传输层及常用协议-常规数据递送-面向连接或无连接。为会话层用户提供一个端到端的可靠、透明和优化的数据传输服务机制。 tcp udp。

    网络层及常用协议-本层通过寻址来建立两个节点之间的连接,为源端的运输层送来的分组,选择合适的路由和交换节点,正确无误地按照地址传送给目的端的运输层。它包括通过互连网络来路由和中继数据 ;除了选择路由之外,网络层还负责建立和维护连接,控制网络上的拥塞以及在必要的时候生成计费信息。常用设备有交换机。ip ipx  ‘apple talk’

    数据链路层及常用协议-在此层将数据分帧,并处理流控制。屏蔽物理层,为网络层提供一个数据链路的连接,在一条有可能出差错的物理连接上,进行几乎无差错的数据传输(差错控制)。本层指定拓扑结构并提供硬件寻址。常用设备有网卡、网桥、交换机。802.3、802.4、802.5、802.11、FDDI、ATM

    物理层及常用协议-处于OSI参考模型的最底层。物理层的主要功能是利用物理传输介质为数据链路层提供物理连接,以便透明的传送比特流。常用设备有(各种物理设备)集线器、中继器、调制解调器、网线、双绞线、同轴电缆。v.24 v.35 RS232 RS485

    TCP/IP是一组用于实现网络互连的通信协议。Internet网络体系结构以TCP/IP为核心。基于TCP/IP的参考模型将协议分成四个层次,它们分别是:网络访问层、网际互连层、传输层(主机到主机)、和应用层。

    1.应用层

    应用层对应于OSI参考模型的高层,为用户提供所需要的各种服务,例如:FTP、Telnet、DNS、SMTP等. 

    2.传输层

    传输层对应于OSI参考模型的传输层,为应用层实体提供端到端的通信功能,保证了数据包的顺序传送及数据的完整性。该层定义了两个主要的协议:传输控制协议(TCP)和用户数据报协议(UDP).

    TCP协议提供的是一种可靠的、面向连接的数据传输服务;而UDP协议提供的则是不可靠的、无连接的数据传输服务.

    3.网际互联层

    网际互联层对应于OSI参考模型的网络层,主要解决主机到主机的通信问题。它所包含的协议设计数据包在整个网络上的逻辑传输。注重重新赋予主机一个IP地址来完成对主机的寻址,它还负责数据包在多种网络中的路由。该层有四个主要协议:网际协议(IP)、地址解析协议(ARP)、互联网组管理协议(IGMP)和互联网控制报文协议(ICMP)。

    IP协议是网际互联层最重要的协议,它提供的是一个不可靠、无连接的数据报传递服务。

    4.网络接入层(即主机-网络层)

    网络接入层与OSI参考模型中的物理层和数据链路层相对应。它负责监视数据在主机和网络之间的交换。事实上,TCP/IP本身并未定义该层的协议,而由参与互连的各网络使用自己的物理层和数据链路层协议,然后与TCP/IP的网络接入层进行连接。

    TCP 协议:TCP是面向有链接安全的传输,是提供有序的传输,所以每个数据段都要标上一个序号当接收方收到乱序的包时,可以重新排序。

                   基于TCP:CIFS, FTP, HTTP, HTTPS。

    • Seq:一个Seq号的大小是根据上一个数据段的Seq号和长度相加来的。
    • Len:该数据段的长度,TCP头部带的数据很多,所以不要以为Len=0就没有意义。
    • Ack:确认号,比如甲方发送了“Seq:x,Len:y”,那么乙回复的确认号Ack就是:x+y。
    • TCP头附带了很多标志位:
    •         SYN 这个标志头说明正在发起连接请求,因为连接是双方的,所以说双方都需要放一个SYN。
    •         FIN 这个标志头表明正在请求终止连接。
    •         RST 这个是用来重置一个混乱的连接,或者拒绝一个无效的请求。

    TCP协议连接时的三次握手形象的表示:

    客户端:“我能跟你建立连接吗?我的初始发送序号是x,如果你同意的话就Ack=x+1。”

    服务器:“收到啦,Ack=x+1,我也想跟你建立连接。我的初始发送序号是Y,你如果答应就Ack=Y+1。”

    客户端:“收到啦,Ack=Y+1。”

    为什么要用三个包来建立连接,两个会不够可靠,比如说某个网络有多条路径,客户端请求建立连接的第一个包跑到一个延迟严重的路径上,所以迟迟没有得到回应,因此客户端以为是丢包了,又重新发送了一个包,第二次由于走了正确的路径很快完成工作并关闭了连接,对于客户端来说事情已经结束了,没想到它的第一个请求经过跋山涉水,还是达到了服务器,服务器并不知道这是一个旧的无效请求,所以按照惯例回复,假如TCP两次握手,服务器这样就建立了一个无效的连接,而在三次握手的机制下,客户端收到服务器的回复,知道这个连接是无效,所以发出一个拒绝包,就终止了连接。

    TCP断开连接的“四次握手”。

    客户端:“我希望断开连接(注意FIN标志)”。

    服务端:“知道了,断开吧。”

    服务端:“我这边的连接也想断开(请注意FIN标志)”。

    客户端:“知道了,断开吧”。

     

    TCP的每个包的都含有Window Size,是在向对方声明自己的接收窗口。

    RTO:超时重传。

    快速重传:当发生拥塞时,后续的包到达接收方时,接收方会发现其Seq号比期望的值大,所以它每收到一个包就ACK一次期望的Seq号,以此提醒发送方重传。当发送方收到3个或者以上的重复确认(Dup Ack)时,就意识到相应的包丢失,从而立即重传它。这个过程称为快速重传,因为它不像超时重传时一样需要等待一段时间。

    假设发送方发送了1,2,3,4,5,6,7,8,但是接收方就只收到了1,4,5,6,7,8(下面关于NewReno方案和SACK方案)

    NewReno方案:当接收方收到重传过来的2号包之后,会回复一个Ack3,因此发送方可以推断出3号包也丢失了,把它也传一遍,因为丢的包都已经补全,所以回复一个Ack9

    ,这时候发送方就可以传新的包了。但是当丢包量特别大的时候,就需要花费多个RTT(往返时间)来重传丢失的包。

    SACK方案:接收到Ack2以后,顺便就把收到的包号告诉了发送方,就像这样:收到4号包时,告诉发送方:“我已经收到4号包,请给我2号包”。收到5号包时,告诉发送方:“我已经收到4,5包,请给我2号包”。... 因此发送方对丢包已经了如指掌了,在快速重传2号包之后,它接着传3号包就行了,然后再传9号包。

     

    TCP的特点:没有拥塞时,发送窗口越大,性能越好。

          经常发生拥塞时,限制发送窗口能提高性能。

          超时重传对性能影响很大,因为它有一段时间(RTO)是没有传输数据的。

          快速重传对性能影响的小一些,因为它没有等待时间,而且拥塞窗口减少的幅度不是很大。

          SACK和NewReno有利于提高传输的效率,提高性能。

          丢包对极小的文件比大文件严重。

    UDP协议:面向无链接的协议,UDP没有重传机制,所以丢包由应用层来处理,当传输的过程中,丢失一个包,则要重传整个包。UDP的协议头里面只有端口号,包长度,和验证码等少量的信息,总共就8个字节。

    DNS协议:域名解析协议,把域名解析成IP地址。有两种查询方式:递归查询,还有迭代查询。DNS除了能用来欺骗还能用来当作攻击,著名的DNS放大攻击就很厉害。

    ARP协议:地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议

         为什么要有ARP?

         OSI 模式把网络工作分为七层,彼此不直接打交道,只通过接口(layre interface). IP地址在第三层, MAC地址在第二层。协议在发生数据包时,首先要封装第三层 (IP地址)和第二层 (MAC地址)的报头, 但协议只知道目的节点的IP地址,不知道其物理地址,又不能跨第二、三层,所以得用ARP的服务。

    RARP协议:RARP协议(Reverse Address Resolution Protocol),反向地址转换协议反向地址转换协议就是将局域网中某个主机的物理地址转换为IP地址,比如局域网中有一台主机只知道物理地址而不知道IP地址,那么可以通过RARP协议发出征求自身IP地址的广播请求,然后由RARP服务器负责回答。RARP协议广泛用于获取无盘工作站的IP地址。

    NFS协议:network file system,NFS可以提供共享目录,分别挂在到多台客户端的本地目录上,当本地的客户端读写这些目录时,实际上就是在对NFS服务器上的读写,以下是NFS最显而易见的好处:

    1. 节省本地存储空间,将常用的数据存放在一台NFS服务器上且可以通过网络访问,那么本地终端将可以减少自身存储空间的使用。
    2. 用户不需要在网络中的每个机器上都建有Home目录,Home目录可以放在NFS服务器上且可以在网络上被访问使用。
    3. 一些存储设备如软驱、CDROM和Zip(一种高储存密度的磁盘驱动器与磁盘)等都可以在网络上被别的机器使用。这可以减少整个网络上可移动介质设备的数量。
     

    CIFS协议:Common Internet File System。CIFS协议有三个版本:SMB,SMB2,SMB3,目前SMB,SMB2比较流行。在windows上创建一个CIFS共享非常简单,只需要右键单击,在选择属性里-->共享,在配置权限就行了,CIFS是基于TCP的。

    FTP协议:文件传输协议File Transfer Protocol,FTP的服务器端口号是21。采用明文传输,基于TCP。

    HTTP协议:超文本传输协议HyperText Transfer Protocol,HTTP的服务器端口号是80,无加密传输,基于TCP

    HTTPS协议:Hyper Text Transfer Protocol over Secure Socket Layer,是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL,端口号是443,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

    笔记来于——Wireshark 网络分析就这么简单  林沛满 著

  • 相关阅读:
    启动dr-elephant失败问题
    hive2.3 任务因一个map导致进程oom挂掉的排查
    hive客户端远程debug
    jdk命令行工具
    hadoop联邦集群 Hive 服务不重启udf函数生效
    livy server高并发下报错java.lang.RuntimeException: java.io.IOException: Unable to connect to provided ports 10000~10010
    使用apache livy导致的结果集不一致问题记录
    spark与hive引擎差异致结果集不一致
    mysql终止当前正在执行的sql语句
    Linux 修改文件目录权限
  • 原文地址:https://www.cnblogs.com/hekkoav/p/4847510.html
Copyright © 2011-2022 走看看