zoukankan      html  css  js  c++  java
  • 网络编程之OSI七层协议略析

    OSI七层协议


    1 物理连接层
    用高低电平模拟二进制数0101
    2 数据链路层
    以太网协议,Ethernet,要求连入网络的计算机必要要有一块网卡,并且规定全球每一块网卡的mac
    地址都不一样,用12位十六进制数表示,前六位表示生产厂商,后六位表示流水线号
    以太网协议的数据传输部分分为报头和数据部分,报头有18个字节组成,前6个字节为自己的mac地址,
    中间6个字节是对方mac地址,后6个字节表示数据类型
    以太网协议通信基本靠吼,一台机器想要和另外一台机器通信,同局域网内所有机器都能收到发包,其他
    机器收到包后会拆包查看是否是属于自己的包,如果不是则丢弃,如果是则读取数据并回应,如果世界范
    围的机器都像这样通信将是一场灾难,这就是广播风暴
    知识点:以太网协议通信只能在局域网中,不能跨局域网通信

    3 网络层
    IP协议,如何实现跨局域网络通信,于是乎诞生了IP协议,IP协议规定了每台计算机都有一个IP地址,
    IP协议通信的数据传输部分也分为报头和数据部分,报头占20-60个字节,内部包含了IP版本号、自己
    IP,目标IP等等数据,数据部分就是包含以太网协议中的所有内容,长度限制1500字节,超过1500字节的
    数据将分片发送,IP分片是没有校验机制的,所有是不可靠传输,所以在传输层的数据尽可能避免到IP层分片
    IP协议通信通过网关统一对外局域网进行联系

    4 传输层(端口协议)
    TCP/UDP协议是基于端口工作的协议
    TCP协议遵循3次握手4次挥手原则,每次传输数据需等到对方回应后才会把数据从内存中删除,是一种可靠协议

    TCP协议工作原理


    port:端口,每台计算机的端口编号由0~65535组成,前1023个端口号由操作系统占用
    flask框架默认端口:5000
    Django框架默认端口:8000
    MySQL数据库默认端口:3306
    redis数据库默认端口:6379

    在一台计算机上,同一时间同一端口只能有一个应用程序占用

    总结:IP能唯一的表示互联网中的某一台计算机,port能唯一的表示一台计算机上的一个应用程序
    所以IP+PORT就可以唯一的表示互联网中某台计算机上的某个应用程序
    补充:ARP协议的作用:通过IP地址解析MAC地址

    5 应用层
    HTTP,FTP等协议

  • 相关阅读:
    fastadmin编辑内容,有下拉选择关联的内容,自定义的参数去获取相应的下拉内容
    fastadmin 全手动添加规则
    微擎转移服务器后,出现 require()错误,解决方案
    laravel 路由
    装饰器练习
    python笔记(五)装饰器函数
    练习函数
    练习一
    python笔记(四)文件操作和函数
    py3和py2的差别(补充)
  • 原文地址:https://www.cnblogs.com/dongxixi/p/10792748.html
Copyright © 2011-2022 走看看