zoukankan      html  css  js  c++  java
  • 网络编程

    网络编程

    软件开发架构

    c/s架构(client/server) c:客户端

    s:服务端

    b/s架构(browers/server) b:浏览器

    c:服务器

    b/s架构本质就是c/s架构

    手机端在未来b/s架构会变得更火

    服务端就是24小时,不间断提供服务

    客户端随时随地都能找服务端,体验服务

     

    OSI协议

    七层协议:

    应用层

    表示层

    会话层

    传输层

    网络层

    数据链路层

    物理连接层

    可以将7层简化成5层

    应用层

    传输层

    网络层

    数据链路层

    物理连接层

     

    我们学习七层协议要从最底层学起

    1.物理连接层

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

    2.数据链路层

    1.规定电信号分组方式

    2.规定任何一台接入互联网的计算机都必须有一块网卡

    每一块网卡都是独一无二的,上面刻有12位16进制数

    前六位是厂家编号,后六位是流水线编号

    这12位数就被称之为mac地址

    以上两点被称之为 '以太网协议'

    交换机

    基于以太网协议通信

    不能跨局域网通信

     

    互联网是n多个局域网连接而成的

     

    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关闭再次启动端口号可能就变了

    总结:

    ip地址:用来唯一标识接入互联网的一台计算机

    port端口:用来唯一标识计算机上的某个应用程序

    ip+port:用来唯一标识接入互联网计算机上的某个应用程序

     

     

    5.应用层

    HTTP协议

    FTP协议

     

     

    TCP协议

    流式协议,可靠协议

    基于TCP协议通信 必须先建立双向通道

     

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

    不对,TCP协议之所以可靠主要因为双方传递数据,都会等对方回应接收,才会将内存中的数据删除

    三次握手,四次挥手

  • 相关阅读:
    2017-2018-2 20165207 实验四《Android开发基础》实验报告
    2017-2018-2 20165207 实验三《敏捷开发与XP实践》实验报告
    20165207 第九周学习总结
    20165328 实验四《Andriid应用开发》实验报告
    20165328 第十二周课上补做
    20165328 课下作业补做
    20165328 第九周学习总结
    2017-2018-2 20165328 实验三《敏捷开发与XP实践》实验报告
    20165328 结对编程第二周整体总结
    20165328课上补做
  • 原文地址:https://www.cnblogs.com/asdaa/p/11311536.html
Copyright © 2011-2022 走看看