zoukankan      html  css  js  c++  java
  • 网络运维

    网络运维基础(三)

    1.1 TCP协议的十一种状态集转换

    1.1.1 TCP三次握手状态集的转换

    1.服务端:

    1)服务端从closed状态转换为listen状态(在服务端开启相应服务),只有在listen才可以     接受客户端建立连接的请求

    2)从colsed转变为listen,实际上就是创建了一个socket信息

    netstat -an|grep -i es  可以看到socket条目信息

    socker条目:tcp或udp协议——目标地址,端口——源地址,端口——状态

    2.客户端:

    1)客户端发送syn信息给服务端,然后客户端从closed状态变为syn_send状态(三次握手   的第一次握手)

    3.服务端:

    1)服务端在listen状态接收到客户端发送的syn请求,会响应syn和ack信息,并且从listen   状态装换为syn_rcvd状态(三次握手的第二次握手)

    4.客户端:

    1)客户端在syn_send状态接收到服务端的syn和ack字段信息,然后回复ack确认信息(三     次握手的第三次),发送完后,从syn_send转换为established

     

    注:在/etc/sysctl.conf中设置net.ipv4.tcp_syncookies=1来防止SYN Flood攻击

    1.1.2 TCP的四次挥手状态集的转化

    1.客户端:

    1)客户端在established状态发送fin字段信息给服务端(四次挥手的第一次挥手)

    客户端状态转变为fin_wait1(第一次等待:服务端的确认ack信息)状态

    2.服务端:

    1)服务端在established接收到客户端发送的fin字段信息,从established状态转换成close_wait状态

    2)服务端在close_wait状态发送ack确认字段(四次挥手的第二次挥手)

    3.客户端:

    1)客户端在fin_wait1状态接收到服务端的ack信息,进入到fin_wait2等待状态(第二次等待:等待服务端的fin信息)

    4.服务端:

    1)服务端在close_wait状态发送fin断开连接字段给客户端(四次挥手的第三次挥手)

    2)服务端从close_wait状态变为last_ack状态

    5.客户端:

    1)客户端在fin_wait2状态接受服务端的fin信息,然后响应ack信息给服务端,并将自己的fin_wait2状态time_wait状态

    6.服务端:

    1)服务端在last_ack状态接受到客户端发送的ack字段信息后,就会进入最终的closed状态

    7.客户端:

    1)在time_wait状态会等待120秒钟的时间,才会进入到closed状态

      注:传输层发送fin(请求断开连接),是接收到了会话层的断开连接请求(这样一层层的转发)

    那么问题来了:1. 为什么会有四次挥手过程,ack 和fin要分开发送?

     答:服务端接受到了客服端的FIN时会向应用层汇报,并回应ACK给客户端,

     然后会等数据传输完毕后,在发送FIN请求断开连接。

    2.客户端为什么要有time_wait状态

    答:为了确保服务端能收到ack,客户端会在time_wait不断给服务端发送ack。

     

    3.总结closing状态的由来:

    答:在第二次挥手的时候,客户端没收到服务端发送的ack,但收到了fin字段信息,按理说收到fin后应该转换为time_wait,所以加了colsing起一个缓存时间(过程很快)

    TCP的十一种状态总结

     

    1.2 UDP相关报文结构

     

    1.3 IP地址分类与子网划分基础

    1.3.1 什么是IP地址(常见的IP的地址为ipv4和ipv6

    1. IPV4:有32位二进制组成,采用点分十进制分为4段,每段为8位二进制

    2. IPV4和IPV6的总数:用awk计算了一下,大约这么多

       

       注:seq -w 10   让数字补齐

            

    1.3.2 IP地址分类

    1. 按IP的数值范围划分:A B C D E 五类地址

    常用地址为ABC三类地址:

    A类地址==网络位+主机位+主机位+主机位

    B类地址==网络位+网络位+主机位+主机位

    C类地址==网络位+网络位+网络位+主机位

    D类地址为组播地址:每一个地址都作为一个网段

    E类地址为科学研究使用

    2 按IP地址的用途分类:公网地址,私网地址

    私网地址:每个局域网都可以使用的地址信息,并局域网内唯一,跨越不同局域网可以重复       使用,因此私网地址有效缓解了地址枯竭问题

    私网地址的范围:

    A类:10.0.0.0  —— 10.0.0.255

    B类:172.16.0.0 —— 172.31.255.255

    C类:192.168.0.0 —— 192.168.2

    公网地址:是互联网上可以识别的地址信息,并且是全球唯一

    1.3.3  ABC三类地址的可用主机数计算:

    公式:2的N次方-2

    注:N为每类地址的主机位数(二进制),最后一个2:表示主机位

    1.3.4 ABC三类地址的可用网段数计算:

    公式:2的N次方  

    注:N表示每类地址的网络位数(二进制)

    1.3.5 特殊地址

     

    1.3.6 三种常见的网络通讯类型

     

    1.3.7 子网划分

    1. 为什么要划分子网?

    1)会出现大量的局域网地址,向同一个网关请求,造成网关负载过高

    2)会引起局域网内的大量广播数据传送,形成广播风暴

    3)浪费地址

    2. 子网划分的优点:

    1)将一个大的广播域划分为几个小的广播域

    2)减少网关设备锁承载的负载量

    3)有效避免ip地址的浪费,使一个大的地址空间更加灵活的分配

    3. 掩码作用:

    1)利用掩码快速得知是A类地址,还是B类,C类?

    2)利用掩码定位网络位信息

    4. 掩码表现形式:

    1)用十进制表示,分为四组,也是32为二进制数组成

    2)A类默认掩码:255.0.0.0 或/8

       B类默认掩码:255.255.0.0 或/16  

       C类默认掩码:255.255.255.0 或/24

    实例1-1 子网划分计算过程:

     

  • 相关阅读:
    [USACO5.1]二维凸包模板
    HTML 5 Web 存储
    计算两个坐标点的距离(高德or百度)
    Cache的一些总结
    PowerDesigner最基础的使用方法
    MongoDB安装
    MangoDB CSharp Driver
    Linq语法详细
    where用法
    .Net下二进制形式的文件存储与读取
  • 原文地址:https://www.cnblogs.com/bryant-dai/p/8407443.html
Copyright © 2011-2022 走看看