• 网络编程


    网络编程

    一、软件开发架构

    • C/S架构:客户端与服务器端架构

      • C就是Client:客户端
      • S就是Server:服务端

      客户端一般指客户端应用程序exe,程序需要先安装后,才能运行在用户的电脑上,对用户的电脑操作系统环境依赖很大

      比如:微信客户端、QQ客户端等

      • 优点
        • 软件的使用稳定
        • 节省网络资源
      • 缺点
        • 安装麻烦,用户体验差
        • 软件的每一次更新,用户都需要重新下载或更新版本

    • B/S架构:浏览器端与服务器端架构

      • B就是Browser:浏览器端
      • S就是Server:服务器端

      Browser浏览器端,其实也是客户端,只是这个客户端并不需要大家去装什么应用程序,只需要在浏览器上通过HTTP请求服务器端相关的资源(网页资源),客户端Browser浏览器就能进行增删改查

      比如:淘宝网页版、京东网页版等

      • 优点
        • 软件的使用方便
        • 无须跟着软件的更新去下载
      • 缺点
        • 如果网络不稳定,软件的使用就不稳定

    二、互联网协议

    计算机与计算机之间通信

    • 语言是人与人之间沟通的介质
    • 协议是计算机与计算机之间沟通的介质

    互联网协议按照功能 不同分为OSI七层或TCP/IP五层或TCP/IP四层

    这七层协议从下往上记会比较好记

    连接通信

    • 交换机:所有连接了同一个交换机的电脑彼此之间都是互联的
    • 三层交换机:既有叫交换机功能,又具有路由器功能
    • 四层交换机:能够根据你走的是什么协议对应到对应的应用

    每层常见运行协议

    1. 物理层

      物理连接介质,传递电信号

      电信号就是(01010101101010101)

      问题:无法获取具体数据内容,将电信号数据扔给数据链路层

    2. 数据链路层

      物理层接收到一长串0101010如何切分取值,这个是数据链路层里面的以太网协议

      以太网协议:

      • 它规定了0101的二进制电信号的分组方式
        • head: 18个字节,划分3组6位字节
          • 6:发送者
          • 6:接收者
          • 6:数据类型
        • data: 电信号具体的数据类型
      • 但凡接入互联网的机器,都需要一块网卡
        • 每一块网卡都会有一串世界上独一无二的数字
        • 12位16进制的数字(mac地址)
          • 前六位:厂商编号
          • 后六位:流水线号
        • mac地址的作用
          • 标识全世界上一台独一无二的计算机
      • 以太网协议的工作方式
        • 单播与广播
        • 缺点
          • 广播风暴
          • 只能在局域网内实现通信,无法跨局域网实现通信
    3. 网络层

      规定了计算机都必须有一个IP地址

      • IP地址(IP协议)
        • 点分十进制的数字组成(192.168.1.1)
        • 最小范围:0.0.0.0
        • 最大范围:255.255.255.255
      • IP的版本
        • IPv4和IPv6为了兼容更多的计算机
      • IP地址的作用
        • IP协议可以跨局域网传输
        • 能够唯一标识互联网中独一无二的一台机器
      • mac地址和IP地址
        • 标识全世界某一个局域网内的某一台计算机
    4. 传输层

      TCP和UDP协议都是基于端口工作的协议

    • TCP协议

      • TCP协议建立双向通道

      • 三次握手,建立连接

        • 客户端向服务端发送建立连接的请求
        • 服务端返回收到请求的信息给客户端,并且发送往客户端建立连接的请求
        • 客户端接收到服务端发来的额请求,返回接收成功给服务端,完成双向连接

        客户向服务端发送请求,请求建立连接

        服务端同客户端的请求,并同时向客户端发送建立

        连接的请求,最后客户端同意后建立 双向连接

      • 反馈机制

        • 客户端往服务端发送请求,服务端必须返回响应
        • 告诉客户端收到请求了,并且将服务端的数据一并返回给客户端
        • C---S: 一次请求,必须有一次响应
        • 缺点
          • 洪水攻击:指的是通过伪造大量的请求,往对方服务器发送请求,导致对方服务器响应跟不上,以至于瘫痪。
          • 半连接池listen:限制用户在同一个时间段的访问量
      • 四次挥手,断开连接

        • 客户端向服务端发送断开连接的请求
        • 服务端返回收到的请求的信息给客户端
        • 服务端确认所有数据发送完成以后,再发送同意断开连接的请求给客户端
        • 客户端返回收到断开连接的请求,给服务端

      主要是软件与软件之间进行通信

      port端口:能够标识一台机器上的某个程序

      IP:能够查到全世界独一无二的计算机

      IP + port:能够确定全世界范围内一台计算机的某个程序

    • UDP协议

      • 称之为数据包协议
      • 特点
        • 不需要建立连接
        • 不需要知道对方是否收到
      • 优点
        • 传输速度快
        • 能支持并发
        • 不会黏包
      • 缺点
        • 数据不安全,容易丢失
    1. 应用层

      HTTP协议

      FTP协议

  • 相关阅读:
    算法模板——线性欧拉函数
    2818: Gcd
    1688: [Usaco2005 Open]Disease Manangement 疾病管理
    3314: [Usaco2013 Nov]Crowded Cows
    3450: Tyvj1952 Easy
    1664: [Usaco2006 Open]County Fair Events 参加节日庆祝
    1054: [HAOI2008]移动玩具
    1432: [ZJOI2009]Function
    1121: [POI2008]激光发射器SZK
    1113: [Poi2008]海报PLA
  • 原文地址:https://www.cnblogs.com/YGZICO/p/11991905.html
Copyright © 2020-2023  润新知