zoukankan      html  css  js  c++  java
  • python全栈开发_day30_OSI七层协议和c/s架构

    1.网络编程
    软件开发架构
    c/s架构
    c:客户端
    s:服务端
    b/s架构
    b:浏览器
    s:服务器
    手机端:好像C/S架构比较火,其实不然,微信小程序,支付宝第三方接口
    统一接口!
    pc端:b/s比较火
    本质:b/s其实也是c/s

    服务端:24小时不间断提供服务,谁来我就服务谁
    客户端:想体验服务的时候,就去找服务端体验服务

    学习网络编程 >>> 开发cs架构的软件
    并发编程,前端,数据库,框架 >>> 开发bs架构的软件

    起源于:美国军事!!!
    想实现远程数据传输

    如何实现远程沟通交流?
    电话插电话线
    大屁股电脑插网线
    笔记本电脑无线网卡

    要想实现远程通信,第一个需要具备的条件就是:物理连接介质

    不同国家的人交流需要有一个公共的语言作为媒介 >>> 英文
    计算机于计算机要想实现远程通信,光有物理连接介质是不够,
    他们也需要一个共同的标准 >>> 协议

    OSI七层协议(模型)!
    应用层
    表示层
    会话层
    传输层
    网络层
    数据链路层
    物理连接层

    我们只需要了解五层
    应用层
    传输层
    网络层
    数据链路层
    物理连接层

    1.物理连接层:
    实现计算机之间物理连接,传输的数据都是01010的二进制
    电信号工作原理:电只有高低电平

    2.数据链路层("以太网协议"!):
    1.规定了二进制数据的分组方式
    2.规定了只要是接入物联网的计算机,都必须有一块网卡!
    网卡上面刻有世界唯一的编号:
    每块网卡出厂时都被烧制上一个世界唯一的mac地址,
    长度为48位2进制,通常由12位16进制数表示(前六位是厂商编号,后六位是流水线号)
    我们管网卡上刻有的编号叫电脑的>>>mac地址
    ----->上面的两个规定其实就是 "以太网协议"!

    基于以太网协议通信:通信基本靠吼!!!
    弊端:广播风暴

    交换机:如果没有交换机,你的电脑就变成了马蜂窝,有了交换机之后,所有的电脑只需要有一个网卡连接交换机
    即可实现多台电脑之间物理连接


    3.网络层(IP协议)
    规定了计算机都必须有一个ip地址
    ip地址特点:点分十进制
    有两个版本ipv4和ipv6 为了能够兼容更多的计算机
    最小:0.0.0.0
    最大:255.255.255.255
    IP协议可以跨局域网传输

    ip地址能够唯一标识互联网中独一无二的一台机器!



    4.传输层(端口协议)
    TCP,UDP基于端口工作的协议!
    其实计算机之间通信其实是计算机上面的应用程序于应用之间的通信
    端口(port):唯一标识一台计算机上某一个基于网络通信的应用程序
    端口范围:0~65535(动态分配)
    注意:0~1024通常是归操作系统分配的端口号
    通常情况下,我们写的软件端口号建议起在8000之后
    flask框架默认端口5000
    django框架默认端口8000
    mysql数据库默认端口3306
    redis数据库默认端口6379
    注意:一台计算机上同一时间一个端口号只能被一个应用程序占用

    小总结:
    IP地址:唯一标识全世界接入互联网的独一无二的机器
    port端口号:唯一标识一台计算机上的某一个应用程序
    ip+port :能够唯一标识全世界上独一无二的一台计算机上的某一个应用程序

    补充:
    arp协议:根据ip地址解析mac地址


    应用层(HTTP协议,FTP协议):



    TCP协议(流式协议,可靠协议)
    三次握手四次挥手
    三次握手建连接

    四次挥手断连接

    星轨

  • 相关阅读:
    Struts2.1.8 + Spring3.0+ Hibernate3.2整合笔记
    SSH整合之_架构的历史序列图
    Spring整合Hibernate笔记
    Oracle日志文件的管理与查看
    java调用Oracle存储存储过程
    Oracle PLSQL笔记(过程的创建和及调用)
    使用 Spring 2.5 TestContext 测试DAO层
    SpringBoot 启动慢的解决办法
    C++ CEF 浏览器中显示 Tooltip(标签中的 title 属性)
    Chromium CEF 2623 -- 支持 xp 的最后一个版本源码下载和编译步骤
  • 原文地址:https://www.cnblogs.com/xuxingping/p/10792844.html
Copyright © 2011-2022 走看看