• 网络编程相关


    网络编程

      软件开发架构:c/s架构   c:客户端    s:服务器

             b/s架构   b:浏览器    s:服务器

      服务器:24小时运行提供服务

      客户端:当用户需要服务的时候,寻找服务

    网络编程的发展史:任何先进的技术最早都来源于军事

    OSI协议

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

    1、物理连接层

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

    2、数据链路层

    以太网协议:

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

      2.规定任何一台接入互联网的计算机都必须有一块网卡,每张网卡上面都有一个世界上独一无二的12位16进制的编号

    交换机:基于以太网通信协议,不能跨局域网通信

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

    3、网络层

      IP协议

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

    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协议传输数据之所以可靠的原因就在于有双向通道???


    三次握手四次挥手

    三次握手建连接


    四次挥手断连接

     

     

  • 相关阅读:
    NS3 使用NS3工具PyViz
    ns-3 NetAnim遇到了一个问题
    NS-3 MyFirstScriptExample
    Ubuntu下Eclipse安装与编译ns-3遇见的各种问题
    Ubuntu 12.04 安装JDK
    近期学习的参考博客链接
    Win7上安装WMware虚拟机和Ubuntu操作系统
    C++课程小结 继承与派生
    C语言中生产随机数 rand()函数
    PTA第三次上机
  • 原文地址:https://www.cnblogs.com/wkq0220/p/11312095.html
Copyright © 2020-2023  润新知