• 网络编程


    网络架构

    单机架构

    • 单机游戏

    以下两个基于网络

    CS架构

    • cs-->client客户/server服务
    • 客户端: 用户安装的软件
    • 服务端: 统一管理数据库的主机中的软件就叫做服务端, 后来服务端不光只管理数据,也会处理一些业务逻辑

    服务端(应用程序)一个就够了,客户端(应用程序)可以有多个

    服务端和客户端都是应用程序,两个都可以储存数据,那么他们的区别如下:

    • 服务端: 很多人都可以用,它一次更新,也要求用户更新, 能保证数据的安全
    • 客户端: 非常快,但如果本地保存帐号密码,安全性非常低,客户端不联网,数据不更新

    BS架构

    • 网页程序: 如京东淘宝
    • bs-->browser浏览器/服务
    • 把程序放在浏览器上

    互联网和互联网的组成(教材版)

    边缘部分:

    • 客户端/服务端, 两端的计算机,负责接收/发送数据

    核心部分:

    • 传输网络数据的设备,路由,基站等

    互联网的组成

    硬件

    • 提供给你网络

    软件

    • 应用程序, 完成具体的任务

    传输数据只能传输电信号,0和1,OSI协议把0和1从无意义的东西变成有意义的东西

    打开网页的过程(科普版)

    1. 打开浏览器(客户端)
    2. 输入www.taobao.com --> 地址指向淘宝的服务端
    3. 按enter键客户端把 www.taobao.com 解析成淘宝的地址
    4. 发送一条请求给淘宝,让淘宝把数据发给你
    5. 客户端数据渲染

    网络通讯协议

    什么是协议

    协议就是标准,大家要遵守同样的标准才能够正常交流通讯,协议并不是规则,不是一定要遵守的,而是大家约定好的,就像大家都用普通话交流,但你说英文,那基本上就无法沟通了

    什么是网络通讯协议

    协议是由发送方和接受方共同制定的,考虑到计算机已经发展了这么多年,所以制定的协议过程很显然我们没有机会参与了,要做的是了解通讯协议中的各种规定

    OSI七层模型

    什么是OSI

    Open System Interconnection Reference Model,开放式系统互联通信参考模型,缩写为OSI,是由国际标准组织推出的,其实就是一大堆协议,OSI把整个通讯过程划分为七层,简称OSI七层模型

    上图中最右边就是完整的七层模型,是最完整的通讯模型,虽然很详尽,但是整个通讯流程的复杂度较高,后期为了降低学习难度,将其进行了简化,于是又了中间的五层,和左边的四层

    其中应用层,表示层和会话层都是属于应用程序层的,是一个整体,故将其合并为应用层,由此得到中间的五层,这是我们学习的重点!

    物理层

    计算机与计算机之间传输数据(电信号)

    • 光缆/网线: 传输信号,连接两端的计算机

    客户端 ---010101010101100101010101000111---> 服务端

    数据链路层

    让同一局域网下计算机连接在一起

    单纯的0和1没有任何意义,想要变得有意义,必须对电信号分组,并且规定每几位为一组,每组又是什么意思

    以太网协议(ethernet)规定如下:

    • 一组电信号构成一个数据包,叫'帧'
    • 每一数据帧分成:报头head和数据data两部分

    head:(固定18个字节)

    ​ 收件人/源地址;(6个字节)

    ​ 数据类型(标签+以太类型);(6个字节)

    ​ 发件者/源地址;(6个字节)

    data: 内容(最短46字节,最长1500字节)

    • 发件人地址就是mac地址,计算机上网卡的地址,这个地址固定不变,并且唯一,每一台电脑有自己固定的mac地址
    • 广播: 你一定知道自己的mac地址,还有收件人的mac地址,通过某一台设备(交换机),但是交换机不知道mac地址所对应的计算机是哪一台, 交换机就会以广播的形式发送给所有的计算机,收件人的计算机输到了就会解析这条命令,拿到内容之后,交换机也会对这两个地址进行记录

    网络层

    让不同局域网下面的计算机连接在一起

    叫做ip地址,只知道mac地址是无法连接到其他局域网的计算机的,因为mac地址只会被交换机识别,然后不同局域网的交换机也不同,所以现在定义了一个新的地址表明是哪个局域网,通过路由器传输

    在数据链路层的基础上,再包一层ip头

    以太网头+ip头+data

    现在已经知道了淘宝的ip地址和mac地址,你会把自己的mac地址和ip地址一起发送过去,路由器会发送淘宝的ip地址和mac地址,自带mac地址(路由器的)和ip地址(路由器的), 淘宝接受到之后把数据传输给路由器,路由器再传输给客户端

    mac地址(局域网) + ip地址(互联网)就能找到全世界独一无二的电脑

    传输层

    组织网络带来的传输

    传输层给了一个端口号,找到一个固定的应用程序,一个端口号就对应一个应用程序

    mac地址(局域网) + ip地址(互联网) + 端口号就能找到独一无二的电脑的独一无二的应用程序

    数据, 0和1发给应用程序,tcp/udp协议

    抽象层

    客户端和服务端的应用程序想通信,两者传输的数据必须是一样的,

    socket抽象层就是写出一个全世界独一无二的计算机上的应用程序,既可以是客户端,也可以服务端

    补充:

    1.mac地址

    ethernet规定接入internet的设备都必须具备网卡,发送端和接收端的地址便是指网卡的地址,即mac地址

    mac地址:每块网卡出厂时都被烧制上一个世界唯一的mac地址,长度为48位2进制,通常由12位16进制数表示(前六位是厂商编号,后六位是流水线号)

    2.广播

    有了mac地址,同一网络内的两台主机就可以通信了

    ethernet采用最原始的方式,广播的方式进行通信,即计算机通信基本靠吼

    但是广播的广播域一旦太大,便会出现广播风暴(去看计算机网络,这里不详细解释了)

  • 相关阅读:
    6、Docker Image
    5、Docker架构和底层技术
    4、Docker的安装
    3、Docker能干什么?
    2、Docker和虚拟机的对比
    1、Docker介绍
    20、Semantic-UI之数据验证
    Error:java: Compilation failed: internal java compiler error
    Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/boot/context/embedded/ServletRegistrationBean
    spring boot自定义starter
  • 原文地址:https://www.cnblogs.com/lucky75/p/11083438.html
Copyright © 2020-2023  润新知