网络编程

 架构:
      C/S架构:充分发挥PC机的性能
      B/S架构:统一了应用接口,隶属于C/S架构
    物理地址:mac,全球唯一,类似于一个身份证
    ip地址:四位点分十进制    8位点分二进制
    (要求:二进制,十六进制,十进制)
    arp协议:通过目标ip地址,获取目标mac地址
    OSI五层模型:
       应用层          http协议,ftp协议,https协议,py文件
       传输层          tcp/udp协议
       网络层          ip协议
       数据链路层      arp协议
       物理层          传输电信号
     交换机的通信方式:
       单播:点对点
       组播:点对多(一组,不是指所有)
       广播:向多个pc端发送数据包(吼一嗓子)
     交换机的功能:
       组成局域网,经过内部处理解析数据,将数据以点对点,点对多的方式发送给目标
     路由器的功能:
       跨网段的数据传输,路由出网络传输的最佳路径


     TCP协议:面向连接的,面向字节流传输,可靠,
     UDP协议:无连接,面向数据包,不可靠,快
     TCP协议和UDP协议的区别:
        TCP有三次握手,四次挥手
           三次握手:第一次的请求一定是客户端先发起
             客户端向服务器发送一个连接请求
             服务器回复一个确认接收到请求,并要求连接客户端
             客户端回复服务器一个确认连接的消息
           四次挥手:谁先发起都可以
             客户端先发送一个断开连接的请求
             服务器回复一个确认收到
             服务器回复一个确认断开连接的请求
             客户端回复一个确认收到
        TCP可能会出现粘包情况
          粘包:在数据传输过程中,接收端接收数据时,不知道应该如何接收数据,造成的一个数据混乱的现象
          粘包的原因:
            一个是拆包机制
            一个是合包机制(Nagle算法)
            两个机制都是发生在发送端
        TCP本质上就是只允许在同一时间,一个服务器和一个客户端保持连接
        UDP允许一个服务器和多个客户端同时通信

    新模块:
        socket模块 :套接字,网络传输数据,处于应用层和传输层之间的一个抽象层
        subprocess模块 :Popen方法:执行操作系统命令的
        struct模块:pack和unpack方法
原文地址:https://www.cnblogs.com/xiao-xue-di/p/9452830.html