zoukankan      html  css  js  c++  java
  • 4.26号课堂笔记( 三次握手四次断开)

    课程回顾:

    两台主机如何进行通讯
    常见网络设备
    OSI7层模型
    封装与解封装
    

    1.TCP/IP模型:网路层协议:

    应用层: 
    用层协议:telnet(23),ssh(22)
    

    TELNET:远程链接协议(http)
    FTP:上传下载协议(smtp)
    TFTP: 简单文件协议(无密码)(nfs)
    SNMP:简单网络管理协议(如:dhcp)
    DHCP:动态主机分配协议 
    


    DHCP协议原理过程:

    应用层    主机要主机层    因特网层    网络接入层
    应用层协议:
    >01.客户端主机发出广播信息,请求获取IP地址
    >02.服务端从地址池里取出一个IP地址分配给客户端(192.168.1.1-192.168.1.250)
    >03.客户端返回确认信息。
    >04.服务端从地址池把已经分配的地址从地址池中删除,避免被他人使用
    >05.客户端可以在一定时间内使用分配的地址
    


    TCP/UDP 协议(传输控制协议):

    主机层协议:
    TCP: 文件传输控制协议    属于面向连接的网络协议-----在线传输文件,可靠文件传输,传输效率低
    UDP: 用户报文协议    属于无连接的网络协议----离线传输协议,效率高,传输数据不可靠
    


    TCP/UDP协议对比:

    传输控制协议(TCP)用户数据协议(UDP)
    面向连接
    无连接
    可靠传输不可靠传输
    流量控制尽力而为,尽力传递
    使用TCP应用:
    web浏览器,电子邮件
    UDP应用:
    域名系统(DNS);视屏流; IP语音(VoIP)


    UDP随机端口配置:


    控制字段ACK/SYN

    ACK表示控制字段,确认数据是否接收,控制字段1为有效,为0表示失效
    SYN表示请求建立连接字段 ,控制字段1为有效,为0表示失效
    FIN表示断开连接,控制字段1为有效,为0表示失效

    TCP三次握手原理图


    主动: SYN请求建立连接,syn=1 seq=100
    被动方: ACK发出确认号,ack=100,syn=1,ACK=101
    SYN确认ack1:ack=101syn=1,seq=101
    被动方:确认
    SYN确认ack1: syn=1,seq=102
    ACK确认号,ack=102,syn=1,ACK=101
    确认ack-1确认seq=102

    TCP/四次挥手

    tcpdump 命令

    tcpdump -i eth0 -nn -X -c 5 "port 53"     ##抓取53端口的包
    tcpdump -i eth0 -nn -X -c 5 "port 53" -w /tmp/oldboy.pkg    ##保存到文件
    -n :     转换域名转为IP
    -X :     输出包的头部数据,会以16进制和ASCII两种方式同时输出
    -XX:    输出包的头部数据,会以16进制和ASCII两种方式同时输出,更详细。
    

    显示TCP 11 种 状态集 (参考:https://blog.csdn.net/bestone0213/article/details/44872529)

    服务器启动时创建了一个 soket条目 对应了:客户端tcp IP地址    网关:随机端口    
    源协议:    源IP地址    源端口号    目标地址:    目标端口
    tcp        10.0.0.1 0   :22        10.0.0.1    :  22
    


    11种状态集图片解释:

    11种状态: 任何状态都不能出现过多,否则会影响网络链接

    四次挥手过程为什么不能变为三次?


    TCP11种状态集的转换

    网络报文结构:

    Source Port Number
    (16 bits)  利用随机端口号
    Destination Port Number
    (16 bits)  80 22 23
    0123
    Sequence Number(重点)
    (32 bits)
    4567
    Acknowledgement Number(重点)
    (32 bits)
    891011
    Header Length
    (4 bits)
    Reserved
    (6 bits)
    URGACKPSHRSTSYNFINWindows Size
    (16 bits)
    12131415
    TCP Checksum
    (16 bits)
    Urgent Pointer
    (16 bits)
    16171819
    Options
    (if any,variable length,padded with 0's)
    20212223
    Data
    (if any)
        
    012345678910111213141516171819202122232425262728293031
  • 相关阅读:
    今日进度
    今日进度
    今日进度
    今日进度
    今日进度
    每周总结
    今日进度
    python设置环境变量
    Python Property属性【python风格】
    学习-robot【字符串汇总】
  • 原文地址:https://www.cnblogs.com/superlinux/p/0b767bba9696a2247b12e163c74db5e1.html
Copyright © 2011-2022 走看看