zoukankan      html  css  js  c++  java
  • 网络编程:OSI协议、TCP协议

    网络编程:

    软件开发架构

    1、C/S架构(client/server)

      c:客户端    s:服务端

    2、B/S架构(browser/server)

      b:浏览器     s:服务器

    ps:b/s架构本质也是c/s架构。近年来b/s架构正在崛起,例如:微信小程序,支付宝小程序等

    因为支付宝和微信都在做一件事:统一接口,所以以后不手机端的b/s架构肯定也会火

    服务端:

      一直等待这客户端发送服务请求
    客户端:

      什么时候需要服务,就向服务端发送服务请求

    学习网络编程:

      可以开发一个cs架构的软件
    并发 数据库 前端 django :

      可以开发一个bs架构的软件

    网路编程的发展史:

      任何现进的技术最早都来源于军事

    过去的网络发展:

       1.早期的电话 电话线

       2.大屁股电脑 网线

       3.笔记本电脑 无线电话 网卡

    实现远程通信需要具备的条件:

      1、物理连接介质

      2、一套公共的标准协议  

    ps:人要想实现无障碍交流必须说统一的语言 >>> 英文

    计算机与计算机之间要想实现远程通信除了有物理连接介质之外,还需要有一套公共的标准/协议。

    OSI协议

    OSI七层协议(应表会传网数物)

    应用层
    表示层
    会话层
    传输层
    网络层
    数据链路层
    物理连接层

    OSI五层协议

    应用层
    传输层
    网络层
    数据链路层
    物理连接层

    1.物理连接层

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

    2.数据链路层

    工作内容:

      1.规定的电信号的分组方式(你可能不知道物理连接层传输过来的二进制数据是几位为一组)
      2.规定了任何一台接入互联网的计算机都必须有一块网卡,每一块网卡上面都刻有世界上独一无二的编号

    网卡编号(mac地址):

      12位16进制数
      前6位是厂商编号
      后6位是流水线编号
      我们管这12数叫mac地址

      ps:以上两点合称为"以太网协议"

    交换机

    基于以太网协议通信的缺点:
      不能跨局域网通信

     

    互联网:由多个局域网彼此之间连接而成的

    3.网络层

      IP协议:

      基于IP协议通信可以实现局域网之间的通信


    规定了只要是接入互联网的计算机都必须有一个IP地址
    ip地址特点:点分十进制
    ip地址最小:0.0.0.0
    ip地址最大:255.255.255.255
    ip地址目前有两个版本:IPV4 IPV6(由于IPV4已经不够表示目前存在的计算机了 所以推出了IPV6版本)
    IP地址是动态分配的

    4.传输层

    TCPUDP都是基于端口工作的协议
    端口(port)
    计算机与计算机之间的通信:计算机上的应用程序与应用程序之间的通信(基于网络发送数据时,数据都是先发送到计算机的内存中,在通过端口找到具体是哪一个应用程序)

    端口:用来唯一标识一台计算机上的某个应用程序
    端口号的范围:0~65535
    注意:0~1024这些都是操作系统默认使用的端口号
    建议:使用8000之后的端口

    几种常见的端口号:

    MySQL默认端口:3306
    Redis默认端口:6379
    django默认端口:8000
    flask默认端口:5000

    端口号是动态分配的:
      如:第一次起qq分配到的是假如是8989
           将qq关闭再次启动端口号可能就变了

    5.总结

    ip地址:

      用来唯一标识接入互联网的一台计算机
    port端口:

      用来唯一标识一台计算机上的某个应用程序
    ip+port:

      唯一标识接入互联网一台计算机上的某个应用程序

    5.应用层

    HTTP协议

    FTP协议

    TCP协议:

      流式协议,可靠协议
      基于TCP协议通信 必须先建立双向通道

    常见问题:

    TCP协议传输数据之所以可靠的原因就在于有双向通道?

      答:并不是,可靠的原因在于它有反馈机制。

    双向通道的知识点:

    三次握手四次挥手:

    数据传输的过程:

      客户端发送消息将保留一份在客户端,当服务端确认收到消息之后才会将客户端的消息清空,否则在一定的时间内,每隔一段时间重新发送一次。

      发送请求为:syn = n

      回复请求为:ack = n+1

    三次握手建连接:

    四次挥手断连接:

      双方都可以主动发送断开请求

    拓展:

      星轨
      明星出轨

  • 相关阅读:
    【风马一族_php】PHP与Mysql建立连接
    【风马一族_php】NO1_用php发出一声 Hi
    【风马一族_php】NO0_搭建web服务器
    【风马一族_mysql】mysql基本指令
    wnmp环境搭建
    appach2.4 + php7 +mysql5.7.14 配置
    常用样式
    jquery 格式化系统时间
    使用插件实现一般处理程序导出excel
    bootstrap分页
  • 原文地址:https://www.cnblogs.com/yangjiaoshou/p/11311905.html
Copyright © 2011-2022 走看看