zoukankan      html  css  js  c++  java
  • OSI七层模型和五层TCP/IP协议

    1.查公网ip的方法:

    windows,打开浏览器,访问百度,搜IP即可
    linux:curl ifconfig.me

    2.OSI七层模型

    OSI七层模型.png

    image.png

    网络工程师:

    物理层       1层,通信介质的信号到数字信号(二进制0101)转换
    数据链接层   2层  局域网之间计算机通信  通过mac地址(物理网卡)通信
    网络层       3层  IP地址,路由(通过公网ip来访问全世界)
         公网ip      具体的门牌号(唯一)
         私网ip      家里的房间号(想对唯一)
    
    传输层       4层  tcp/udp    tcp(可靠,速度慢)
                                udp(不可靠,速度快) 
                                端口(让不同的应用程序,同时使用网络)
    
    服务端使用的固定端口号,客户端使用随机端口号(支持多开)
    
    开发工程师:
    会话层       5层  控制发包的数据
    表示层       6层  文件格式
    应用层       7层  应用程序使用
    

    对运维来说,重中之重的协议:tcp协议

    3:tcp/ip协议 5层

    • 物理层
    • 数据链接层
    • 网络层
    • 传输层
    • 应用层

    一个数据包分成2部分,一个控制层面的数据,一个是应用层面的数据:控制层面只占一小部分,数据层面才占用大部分!

    4:数据封装,解封装,数据传输过程

    数据封装与解封装过程

    应用层--->>>数据
    传输层--->>>tcp报头+数据
    网络层--->>>ip包+tcp报头+数据
    数据链接层--->>>数据帧+ip包+tcp报头+数据
    物理层----->>>将完整的数据包,由二进制转换成电信号
    

    最重要的协议:TCP

    5:tcp三次握手,四次挥手

    image.png

    tcp协议在传输数据的时候,需要先进行三次握手,传输上三层数据,四次挥手
    tcp的标识:
    SYN:建立链接
    ACK:回应标识
    FIN  断开链接
    PSH  数据包
    URG  紧急指针
    RST  重置(重传)
    

    6.tcp的三次握手

    三次握手过程演示

    7.tcp的四次挥手

    四次挥手过程演示

    8.用Wireshark软件抓包过程:(tcp.prot == 22)

    1.安装vsftpd
    2.systemctl start vsftpd
    3.systemctl stop firewalld
    systemctl disable firewalld
    4.useradd qiang
    echo "1" |passwd --stdin qiang
    5.到windows命令行模式,键入ftp--->>>输入open 10.0.0.200
    6.提示输入用户名和密码
    7.然后用wireshark执行抓包过程(三次握手、四次挥手、用户名和密码)
    

    三次握手.png
    四次挥手.png

    用户名和密码.png

    练习题:在10.0.0.200服务器上安装telnet服务端(安装,配置,启动)

    在window上telnet登录10.0.0.200,把整个登录过程抓包抓下, 三次握手,四次挥手,显示账号密码的包

    1.安装telnet包
    yum install telnet* -y
    yum install xinetd -y
    
    2.配置telnet
    vim /etc/xinetd.d/telnet
    service telnet
    {
        flags      = REUSE
        socket_type   = stream        
        wait       = no
        user       = root
        server     = /usr/sbin/in.telnetd
        log_on_failure    += USERID
        disable       = no
    }
    
    3.启动
    systemctl start xinetd.service
    
    4.创建普通用户
     useradd abc
     echo "1" |passwd --stdin abc
    
    5.重启服务
     systemctl restart xinetd.service
    

    6.执行抓包
    三次握手.png

    断开连接.png

    四次挥手.png

  • 相关阅读:
    【Linux笔记】Linux目录结构
    《Effective C#》快速笔记(五)-
    《Effective C#》快速笔记(四)- 使用框架
    《Effective C#》快速笔记(三)- 使用 C# 表达设计
    《Effective C#》快速笔记(二)- .NET 资源托管
    《Effective C#》快速笔记(一)- C# 语言习惯
    Visual Studio 数据库架构比较
    C# 反射与dynamic最佳组合
    C# 调用WebApi
    基于微软开发平台构建和使用私有NuGet托管库
  • 原文地址:https://www.cnblogs.com/yinwu/p/11436651.html
Copyright © 2011-2022 走看看