1 四层:TCP/IP 网络分层模型

四层是指TCP/IP 网络分层模型。

  1. 第一层:“链接层”(link layer),负责在以太网、WiFi 这样的底层网络上发送原始数据包,工作在网卡这个层次,使用 MAC 地址来标记网络上的设备,所以有时候也叫 MAC 层。

  2. 第二层:“网际层”或者“网络互连层”(internet layer),IP 协议就处在这一层。

    • 因为 IP 协议定义了“IP 地址”的概念,所以就可以在“链接层”的基础上,用 IP 地址取代 MAC 地址,把许许多多的局域网、广域网连接成一个虚拟的巨大网络,在这个网络里找设备时只要把 IP 地址再“翻译”成 MAC 地址就可以了。
  3. 第三层:“传输层”(transport layer),这个层次协议的职责是保证数据在 IP 地址标记的两点之间“可靠”地传输,是 TCP 协议工作的层次,另外还有它的一个“小伙伴”UDP。

    • TCP 是一个有状态的协议,需要先与对方建立连接然后才能发送数据,而且保证数据不丢失不重复;TCP 的数据是连续的“字节流”,有先后顺序。
    • UDP 是一个无状态的协议,不用事先建立连接就可以任意发送数据,但不保证数据一定会发到对方;UDP 是分散的小数据包,是顺序发,乱序收。
  4. 第四层叫“应用层”(application layer),由于下面的三层把基础打得非常好,所以在这一层就“百花齐放”了,有各种面向具体应用的协议。例如 Telnet、SSH、FTP、SMTP 等等,当然还有我们的 HTTP。

  5. 数据包

    • MAC 层的传输单位是帧(frame),IP 层的传输单位是包(packet),TCP 层的传输单位是段(segment),HTTP 的传输单位则是消息或报文(message)。
    • 但这些名词并没有什么本质的区分,可以统称为数据包。

2 七层:OSI网络分层模型

OSI全称为 开放式系统互联通信参考模型(Open System Interconnection Reference Model)`。

  1. OSI 模型的优点

    • TCP/IP 是纯软件的栈,没有网络应有的最根基的电缆、网卡等物理设备的位置,OSI补上了这个缺失
    • OSI 为每一层标注了明确的编号(第一张图是我自己为了区分标的,模型上没有),最底层为第一层,最上层为第七层。
  2. 两个分层模型的映射关系

    • 第一层,物理层,TCP/IP 无对应
    • 第二层,数据链路层,对应 TCP/IP 的链路层
    • 第三层,网络层,对应 TCP/IP 的网际层
    • 第四层,传输层,对应 TCP/IP 的传输层
    • 第五、六、七层,统一对应到 TCP/IP 的应用层
  3. 四层负载均衡指什么?

    • 指工作在应用层上,基于 TCP/IP 协议的特性,例如 IP 地址,端口号等实现对后端服务器的负载均衡。
  4. 七层负载均衡指什么?

    • 指工作在应用层上,看到的是 HTTP 协议,解析HTTP 报文里的 URI、主机名、资源类型等数据,再用适当的策略转发给后端服务器。

3 TCP/IP 协议栈的工作方式

逐层打包再拆包,实现数据传输,但是细节不可见

4 HTTP的“四层”和“七层”的更多相关文章

  1. linux负载均衡总结性说明(四层负载/七层负载)

    在常规运维工作中,经常会运用到负载均衡服务.负载均衡分为四层负载和七层负载,那么这两者之间有什么不同?废话不多说,详解如下: 一,什么是负载均衡1)负载均衡(Load Balance)建立在现有网络结 ...

  2. 四层和七层负载均衡的特点及常用负载均衡Nginx、Haproxy、LVS对比

    一.四层与七层负载均衡在原理上的区别 图示: 四层负载均衡与七层负载均衡在工作原理上的简单区别如下图: 概述: 1.四层负载均衡工作在OSI模型中的四层,即传输层.四层负载均衡只能根据报文中目标地址和 ...

  3. Web负载均衡学习笔记之四层和七层负载均衡的区别

    0x00 简介 简单理解四层和七层负载均衡: ① 所谓四层就是基于IP+端口的负载均衡:七层就是基于URL等应用层信息的负载均衡:同理,还有基于MAC地址的二层负载均衡和基于IP地址的三层负载均衡. ...

  4. 四层and七层负载均衡

    四层负载/七层负载 在常规运维工作中,经常会运用到负载均衡服务.负载均衡分为四层负载和七层负载,那么这两者之间有什么不同? 废话不多说,详解如下: 1.    什么是负载均衡 1)负载均衡(Load ...

  5. 基于Netty的四层和七层代理性能方面的一些压力测试

    本文我们主要是想测试和研究几点: 基于Netty写的最简单的转发HTTP请求的程序,四层和七层性能的差异 三种代理线程模型性能的差异,下文会详细解释三种线程模型 池和非池化ByteBuffer性能的差 ...

  6. Nginx的四层和七层代理

    理论部分: 所谓四层负载均衡,也就是主要通过报文中的目标地址和端口,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器,它一般走的是tcp,udp协议    所谓七层负载均衡,也称为“内 ...

  7. 四层LB和七层LB

    总结: 基于MAC地址玩的是二层(虚拟MAC地址接收请求,然后再分配到真实的MAC地址),      基于IP地址玩的是三层(虚拟IP地址接收请求,然后再分配到真实的IP地址),      基于IP地 ...

  8. LVS 原理(调度算法、四种模式、四层负载均衡和七层 的区别)

    参考文档:http://blog.csdn.net/ioy84737634/article/details/44916241 目录 lvs的调度算法 lvs的四种模式 四层均衡负载和七层的区别 1.l ...

  9. Nginx(二):Nginx的四层(L4)和七层(L7)负载均衡

    OSI七层模型 和 TCP/IP四层模型 四层负载均衡( L4 Load Balancing ) 四层负载均衡,主要通过报文中的目标地址和端口,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内 ...

  10. OSI七层模型对应的协议

    osi七层模型对应的协议 author:headsen chen    2017-10-21  11:44:47 个人原创,转载请注明作者,出处.否则依法追究法律责任 1,物理层:带信号的,同轴电缆, ...

随机推荐

  1. 通过Scrum实现最大生产力的五种方法

    在数字化.信息化.智能化蓬勃发展的今天,敏捷开发和Scrum已成为重塑项目管理的重要方式. 敏捷是一种体现不同方法的思维方式,包括了Scrum,看板,极限编程(XP).精益开发等众多框架. Scrum ...

  2. 原来你是这样的SpringBoot--Async异步任务

    本节我们一起学习一下SpringBoot中的异步调用,主要用于优化耗时较长的操作,提高系统性能和吞吐量. 一.新建项目,启动异步调用 首先给启动类增加注解@EnableAsync,支持异步调用 @En ...

  3. HIS系统部署的关键步骤与注意事项

    HIS系统部署的关键步骤与注意事项 引言:近年来,随着信息技术的快速发展,医疗行业也逐渐意识到数字化转型的重要性与必要性.医院信息系统(HIS)作为医疗信息化的核心,旨在提高医疗服务的质量与效率.在引 ...

  4. MongoDB 中使用 explain 分析创建的索引是否合理

    MongoDB 中如何使用 explain 分析查询计划 前言 查询计划 explain explain 1.queryPlanner 2.executionStats 3.allPlansExecu ...

  5. Solution Set -「ARC 124」

    「ARC 124A」LR Constraints Link. 我们可以把 \(1\sim n\) 个盒子里能放的球的编号集合全部求出来.然后就直接来. 注意题目已经给出了 \(k\) 个球的位置,所以 ...

  6. centos7离线安装docker和docker-compose

    1.找一台可联网的centos7主机 在这台可以联网的机器上把离线包都下载好. 2.下载docker rpm安装包和相关依赖 ## 安装yum-utils包,添加docker yum源 sudo yu ...

  7. flask中cookies的使用

    flask中cookies的使用 在Flask中对cookie的处理 1. 设置cookie: 设置cookie,默认有效期是临时cookie,浏览器关闭就失效 可以通过 max_age 设置有效期, ...

  8. C++ bitset 用法和应用

    C++的 bitset 在 bitset 头文件中,它是一种类似数组的结构,它的每一个元素只能是0或1,每个元素仅用1bit空间. 下面是具体用法 构造函数 bitset常用构造函数有四种,如下 bi ...

  9. MySQL系列之主从复制进阶——延时从库、半同步、过滤复制、GTID复制

    目录 1. 延时从库 1.1介绍 1.2 为什么要有延时从 1.3 配置延时从库 1.4 延时从库应用 1.4.1 故障恢复思路 1.4.2 故障模拟及恢复 2. 半同步 *** 2.1 半同步复制工 ...

  10. oj练习题程序编程题

    打印图形Description按要求输出由*组成的图案Input无需输入Output输出下面由"组成的图案卡 11 print('*') print("***") pri ...