• 计算机网络基础知识


    一、软件开发的架构

    C/S架构:

      客户端与服务器端架构(Client - Server),这种架构是从用户层面(也可以是物理层面)来划分的。这里的客户端一般泛指客户端应用程序 EXE,程序需要先安装,才能运行在用户的电脑上,对用户的电脑操作系统环境依赖较大

    B/S架构:

      浏览器端与服务器端架构(Browser - Server),这种架构也是从用户层面来划分的。Browser 浏览器,其实也是一种 Client 客户端,只是这个客户端不需要去安装什么应用程序,只需在浏览器上通过 HTTP 请求服务器端相关的资源(网页资源),客户端 Browser 浏览器就能进行增删改查。

    服务端需要遵循的原则:

      1)服务端与客户端都需要有唯一的地址,但是服务端的地址必须固定

      2)对外一直提供服务,稳定运行

      3)服务端应该支持并发

    二、网络基础

    网络建立的目的是为了数据之间进行交互(或者说通信)

    如何实现通信:

      1)建立底层的物理连接介质

      2)有一套统一的通信标准,称之为互联网协议

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

    每层运行常见物理设备:

    物理层功能是基于电器特性发送高低电平(电信号),高电平为1,低电平为0。单纯的电信号 0 和 1 没有任何意义,必须规定电信号多少位一组,每组什么意思,数据链路层的功能就是定义了电信号的分组方式。早起的时候各个公司有自己的分组方式,后来形成了统一的标准,即以太网协议。以太网协议规定,一组电信号构成一个数据包,叫做 “帧”,还规定但凡接入互联网的计算机,必须有一块网卡,网卡在出厂时就被烧制好一个世界唯一的 MAC 地址,有了 MAC 地址,同一网络内的两台主机就可以进行通信了(一台主机通过 ARP 协议获取另外一台主机的 MAC 地址),以太网协议采用最原始的广播的方式进行通信,通俗的说,计算机的通信基本靠吼。

    有了以太网协议,MAC 地址以及广播的发送方式,世界上的计算机就可以彼此通信了,问题是世界范围的互联网是由一个个彼此隔离的小的局域网组成的,那么如果所有的通信都采用以太网的广播方式,那么一台机器发送的包全世界都会收到,这就不仅仅是效率低的问题了,这会是一种灾难。

    一个大的网络有一个个小的彼此隔离的局域网组成,以太网只能在一个局域网内发送,一个局域网是一个广播域,跨广播域的通信只能通过路由转发,这就有了网络层,网络层功能是引入一套新的地址用来区分不同的广播域/子网,这套地址即网络地址。基于网络层的常用协议有 IP 协议、ARP协议等。

    网络层的 IP 帮我们区分子网,以太网层的 MAC 地址帮我们找到主机,然后大家使用的都是应用程序,你的电脑上可能同时开启QQ,暴风影音等多个应用程序,那么通过 IP 和 MAC 地址找到了一台特定的主机,如何标识这台主机上的应用程序,答案就是端口,端口即应用程序与网卡关联的编号。因而传输层功能就是建立端口到端口的通信,基于网络层的协议有TCP、UDP协议

    TCP 协议可以为各种各样的程序传递数据,比如 Email、WWW、FTP 等等。那么,必须有不同协议规定电子邮件、网页、FTP数据的格式,这些应用程序协议就构成了 “应用层”。应用层功能就是规定应用程序的数据格式

  • 相关阅读:
    About chrysanthemum and matrimony vine
    time stamp in javascript
    Feeling kind of the sorrow
    从零开始入门 K8s | Kubernetes API 编程利器:Operator 和 Operator Framework
    从零开始入门 K8s | Kubernetes API 编程范式
    Apache Flink 1.10.0 发布 | 云原生生态周报 Vol. 38
    回顾 | Kubernetes SIG-Cloud-Provider-Alibaba 首次网研会(含 PPT 下载)
    开发函数计算的正确姿势——运行 Selenium Java
    Serverless 解惑——函数计算如何访问 Mongo 数据库
    开发函数计算的正确姿势——使用 brotli 压缩大文件
  • 原文地址:https://www.cnblogs.com/qiuxirufeng/p/9892381.html
Copyright © 2020-2023  润新知