zoukankan      html  css  js  c++  java
  • Python 网络编程 OSI模型 TCP三次握手四次挥手

    一 网络编程

    1.什么是网络编程:指的是基于网络编写的应用程序的过程称之为网络编程。

    二 软件开发架构

    1.客服端和服务端:

       客服端:指访问数据的一方(可随时访问服务端)      服务端:值提供数据的一方(通常24小时提供服务)

    2.C/S 架构:C:客服端    S:服务端

       B/S架构:B:浏览器     S:服务端    补充:另外浏览器也可以访问服务器上的网页数据,称之为B/S,其本质上也是C/S只不过客户端是浏览器

    三 网络通讯的基本要素

    1.物理介质 如:网线,无线电 光纤等

    2.通讯协议 如:osi等

    PS:通讯协议

     1. 协议就是标准,大家要遵循相同的标准才能正常交流通讯,两个人要交流,必须说双方都能理解的语言,想象一下一个说新疆话的人打电话给说闽南语的人,基本说了等于没说 双方都能理解的语言就是,就是标准,就是协议

     2.那问题是,一台计算机被电了一下是什么意思?被电了两下又是什么意思? 这就必须由发送方和接收方共同商定出一套标准,从而可以知道0和1表示的含义

     

    四 OSI七层模型

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

    总结:OSI就是相当于计算机界的通用语言,只要按照osi的标准来通讯,就能够与全世界任何一台计算机通讯。

    一 物理层

    1.基于电信号传输0和1的二进制数据

    二 数据链路层(以太网协议)

    以太网协议:

        1.规定了电信号的分组方式  2. 规定了任何一台互联网的计算机必须有一块网卡mac地址(12位16进制数:前6位厂商编号,后6位流水编号)

         2.基于以太网协议:不能跨局域网通信,容易产生广播风暴

    三 网络层(IP协议)

    ip协议:

     1.规定了只要是接入互联网的计算机都必须有一个ip地址

     2.ip地址特点:点分十进制

      

     3.IP地址的分类:

     A类保留给政府机构

     1.0.0.0---126.0.0.0

     B类分配给中等规模公司

     128.0.0.0---191.255.0.0

     C类分配给任何需要的人

     192.168.0.1 - 192.168.255.254

     D类用于组播

     E类用于实验

    四 传输层(tcp  udp)

    1.tcpudp都是基于端口工作的协议

    2.计算机与计算机之间其实是计算机上的应用程序与应用程序之间的通信

    3.

    端口:用来唯一标识一台计算机上的某个应用程序
    # 端口号的范围:0~65535
    # 注意:0~1024这些都是操作系统默认使用的端口号
    # 建议:使用8000之后的端口
    # MySQL默认端口:3306
    # Redis默认端口:6379
    # django默认端口:8000
    # flask默认端口:5000
    #
    # 端口号是动态分配的
    # 第一次起qq分配到的是8989
    # 将qq关闭再次启动端口号可能就变了
    #      5.总结
    # ip地址:用来唯一标识接入互联网的一台计算机
    # port端口:用来唯一标识一台计算机上的某个应用程序
    #
    # ip+port:唯一标识接入互联网一台计算机上的某个应用程序

    四 应用层(HTTP FTP)

    TCP(传输控制协议)

    1.也称流式协议和可靠协议,基于TCP协议通信,必须先建立双向通信

    2.

    #1.三次握手建立链接 其目的是为了确认传输路径可用

    #2.传输过程中 每一个数据包都需要 确认信息

    # 3.四次挥手断开链接 是为了保障双方数据都已经传输完毕

    3.TCP传输数据可靠是因为反馈机制(不是因为双向通道):客服端向服务端发送一条数据后内存中的数据不会删除,会等到服务端发送确认收到数据的信息才会删除,如果服务端没有发送客户端会每隔一段时间再发送一次直到收到确认信息,等超过一定的时间还是没收到确认信息客户端会认为服务端挂掉了。

    TCP三次握手建立连接

    1.客户端向服务端发送  客户端与服务端建立通讯连接请求

    2.服务端回应客户端的请求并发送服务端与客户端建立通讯连接的请求(此时客户端与服务端建立通讯连接成功

    3.客户端回应请求(此时服务端与客户端建立通讯连接成功

    TCP四次挥手断开连接(发起方可为任一方,此以客户端为例)

    1.客户端向服务端发送  客户端与服务端断开通讯连接请求

    2.服务端回应客户端的请求(此时客户端与服务端断开通讯连接

    3.服务端把剩余数据发送完毕后,向客户端发送断开连接请求

    4.客户端回复服务端请求(此时服务端与客户端断开连接)

    补充:洪水攻击:服务器在同一时间接收到大量访问请求,但请求放不回复响应

     

    
    
    
    

     

     

     

  • 相关阅读:
    利用 Avisynth 2.5.8 的 ColorKeyMask 功能实现视频抠像
    Codebook model 视频抠像 xp sp3 + vs2005 + OpenCV 2.3.1
    call、apply、bind
    网络模型
    搜索关键字变色突出显示
    面向过程与面向对象编程的区别和优缺点
    webpack打包体积优化---插件 webpack-bundle-analyzer
    百度搜索关键词特效
    DNS原理及其解析过程
    亿级高并发数据库调优与最佳实践法则
  • 原文地址:https://www.cnblogs.com/tfzz/p/11311717.html
Copyright © 2011-2022 走看看