zoukankan      html  css  js  c++  java
  • 了解网络编程

    网络编程

    软件开发架构

    c/s架构(client/server)

      c:客户端

      s:服务端

    d/s架构(browser/server)

      d:浏览器

      s:服务端

    服务端:24小时不间断提供服务,谁来服务谁

    客户端:什么时候想体验服务就去找心意的服务端寻求服务

    b/s架构本质也是c/s架构

    ps:手机端看上去c/s架构比较火,实际上b/s已经崛起,微信支付宝都在做一件事:统一接口

      学习网络编程就可以开发一个c/s架构的软件

      学习并发 数据库 django 就可以开发一个b/s架构软件

    实现远程通信的条件

    一.物理连接介质

       计算机与计算机之间要想实现远程通信的基本条件

    二.OSI 协议

       计算机与计算机之间要想实现远程通信的公共标准

      OSI 七层协议 :应用层 表示层 会话层 传输层 网络层 数据链路层 物理连接层

      1.物理连接层

        基于电信号传输的二进制数据

      2.数据链路层

        1.规定了电信号的分组方式

        2.规定了任何一台介入互联网的计算机都有必须有一块网卡,没块网卡上刻有独一无二的编号

        12位16进制数 也叫mac地址 前六位是厂商编号 都六位是流水编号

        物理连接层 + 数据链路层 也被称为:以太网协议(局域网)

      3.网络层

        IP 协议: 规定了只要介入互联网的计算机都必须有一个IP地址

        ip地址的特点:点分十进制

        ip地址最小: 0.0.0.0 最大:255.255.255.255

        ip地址版本:IPV4 / IPV6

        ip地址是动态分配的

      4.传输层

      TCP/UDP 都是基于 端口(port) 工作的协议

      TCP协议: 流式协议 / 可靠协议  基于TCP协议通信 必选先建立双向通道

       三次握手: 

        第一次:客户端向服务端发送链接请求

        第二次:服务端同意请求并向客户端发送链接请求

        第三次:客户端同意请求​​

      

      四次分手

        第一次:客户端向服务端发送断开请求

        第二次:服务端同意

        第三次:服务端检测是否还有未发送的数据,若有,发送完后再向客户端发送断开请求

        第四次:客户端同意

      

      

      TCP的可靠性

      

        计算机与计算机之间其实是计算机上的应用程序之间的通信

      端口(port): 用来唯一标识一台计算机上的某个应用程序

      端口号范围:0-65535 建议是有8000之后的端口号

      操作系统默认使用的端口号 0-1024

      MySQL 默认端口 3306

      Redis 默认端口 6379

      Django 默认端口 8000

      flask 默认端口 5000

      端口号是动态分配的

      ip + port : 唯一标识介入互联网的一台计算机上的某个应用程序

    5.应用层

      HTTP 协议

      FTP 协议

     

  • 相关阅读:
    Docker之路-docker架构
    Docker之路-认识docker
    Docker之路-版本选择及安装
    Golang理解-集合
    大话算法-动态规划算法
    运维职责
    Golang理解-匿名结构体
    DotNetty项目基本了解和介绍
    变量声明在循环体内还是循环体外的争论
    SqlServer与MySql语法比较
  • 原文地址:https://www.cnblogs.com/waller/p/11311362.html
Copyright © 2011-2022 走看看