• 为什么要分层?
    ○ 协议太多,将众多协议分层解决,能提高效率,复杂问题简单化,更容易发现问题,并针对性解决问题。
• OSI七层模型
    ○ 同层使用相同的协议,下层为上层提供服务。
    ○

○ 但在实际应用中,表示层和会话层合并到了应用层也就变成了五层模型,大家都称之为TCP/IP五层协议。
    ○ 再后来又有人提出了四层模型的概念,四层模型也就是将数据链路层和物理层合并为了网络接口层。
• TCP/IP五层协议簇
    ○ 应用层
        ■ 应用层生成了数据,有的人喜欢称之为PDU
            □ 工作在应用层的常见协议(都需有自己专属的端口号):
                ✦ HTTP 80
                ✦ HTTPS 443
                ✦ Telnet 23
                ✦ SSH 22
                ✦ FTP 20/21
                ✦ DHCP 67/68
                ✦ DNS 53
                ✦ SMTP 25
                ✦ POP3 110
                ✦ RDP 3389
                ✦ SMB 445
                ✦ Mysql 3306
    ○ 传输层
        ■ 将应用层的数据添加了TCP或UDP包头,生成了数据段(Fragment)。
        ■ 标明了对应应用的端口号,还确认了连接方式是面向连接的还是无连接的
            □ 传输层的协议:
                ✦ TCP (协议号:6)
                    ◊ 哪些服务依赖于TCP呢?
                    ◊

✦ UDP(协议号:17)
                    ◊ 哪些服务依赖于UDP呢?
    ○ 网络层
        ■ 将数据段进一步封装了IP包头,称为报文或者包或者IP包(Packet)
        ■ 指明了目标主机的IP地址,和自己的IP地址
            □ 网络层的协议:
                ✦ ICMP
                    ◊ 探测协议,ping就是这个协议。
                    ◊ icmp先跑到ip那加个包头就出去了
                ✦ IP
                    ◊ 只有IP协议有能够封装IP包头的协议
                ✦ ARP
        
    ○ 数据链路层
        ■ 数据链路层将包进一步封装成帧(Frame)
        ■ 指明了目标主机的MAC地址,向包添加一个头,这个头叫MAC子层,其中包含了MAC地址,尾部添加了FCS,FCS是用于验证数据的完整性,占四个字节
            □ 数据链路层的协议:
                ✦ MAC子层协议,可能因为国家不同而略有区别。
                ✦ 帧头包含:
                    ◊ 目标MAC
                        ◊ 去到哪里?
                    ◊ 源MAC
                        ◊ 来自哪里?
                    ◊ 类型
                        ◊ 类型为了识别上层协议,为上层协议提供服务。
                            } 0x0800:代表是IP协议流下来的
                                –  0x0800是(四位16进制,每位是四位二进制  4*4=16)16位二进制
                                – 占2字节 (16b/8=2B)
                            } 0x0806:代表是ARP协议流下来的
                ✦ 802.3  有线传输协议
                ✦ 802.11 无线传输协议
                ✦ 802开头的就是国际标准
                    ◊ IEEE是电气电子工程师学会
                    ◊ 802代表有802个科学家
                    ◊ 为了纪念他们都是用802
            □ 数据链路层:
                ✦ 中国MTU最大1500字节
                ✦

○ 物理层
        ■ 以数字信号进行传输
        ■ 传输单位是比特(Bit)
            □ 1比特(Bit)就是1个电脉冲,可以理解成一个二进制数
            □ 8Bit=1Byte=1字节
            □ 一般运营商就是b为单位,如100Mb/s,实际下载速度也就是100/8=12.5MB/s
    
    ○ 详细内容以及图片来源:https://www.bilibili.com/video/BV1i7411G7vm?p=52
        
    ○

TCP/IP五层模型概述的更多相关文章

  1. 001-OSI七层模型,TCP/IP五层模型

    一.概述 OSI(Open System Interconnection)参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系,一般称为OSI参考模型或七层模型. OSI/ ...

  2. TCP/IP五层模型

    (2)TCP/IP五层模型的协议   应用层 传输层 网络层 数据链路层 物理层   物理层:中继器.集线器.还有我们通常说的双绞线也工作在物理层 数据链路层:网桥(现已很少使用).以太网交换机(二层 ...

  3. OSI七层模型与TCP/IP五层模型

    博主是搞是个FPGA的,一直没有真正的研究过以太网相关的技术,现在终于能静下心学习一下,希望自己能更深入的掌握这项最基本的通信接口技术.下面就开始搞了. 一.OSI参考模型         今天我们先 ...

  4. 简述osi七层模型和TCP/IP五层模型

    OSI七层模型 OSI七层模型的划分 应用层(Application).表示层(presentation).会话层(session).传输层(Transport).网络层(Network).数据链路层 ...

  5. OSI七层模型与TCP/IP五层模型(转)

    reference:https://www.cnblogs.com/qishui/p/5428938.html         博主是搞是个FPGA的,一直没有真正的研究过以太网相关的技术,现在终于能 ...

  6. python记录_day27 tcp/ip五层模型

    ## 网络协议按照不同的功能分为多层,目前存在的模型有osi七层模型.tcp/ip五层和tcp/ip四层模型 我们主要用的是tcp/ip五层模型 那么每层的作用是什么呢,现在就从设计者的角度自下到上逐 ...

  7. OSI七层模型与TCP/IP五层模型详解

    博主是搞是个FPGA的,一直没有真正的研究过以太网相关的技术,现在终于能静下心学习一下,希望自己能更深入的掌握这项最基本的通信接口技术.下面就开始搞了.   一.OSI参考模型         今天我 ...

  8. OSI七层模型和TCP/IP五层模型详解

    OSI是一个开放性的通信系统互连参考模型,他是一个定义得非常好的协议规范.OSI模型有7层结构,每层都可以有几个子层. OSI的7层从上到下分别是 7 应用层 6 表示层 5 会话层 4 传输层 3 ...

  9. 网络基础——TCP/IP五层模型

    TCP/IP五层模型 TCP/IP五层协议和OSI的七层协议对应关系如下 在每一层都工作着不同的设备,比如我们常用的交换机就工作在数据链路层的,一般的路由器是工作在网络层的. 在每一层实现的协议也各不 ...

随机推荐

  1. 【开源】基于 SpringBoot 的 web kettle 在线采集平台

    kettle-scheduler-boot 开发计划 序号 项目 状态 优先级 1 在线管理,编辑kettle脚本 紧急 2 通过源码实现集群,多线程执行任务 紧急 2 重构jpa部分,改为mybat ...

  2. 字节跳动内部微服务架构-Docker实战学习笔记分享 真香

    前言 基于 Spring Cloud 的微服务设计和开发,已经越来越多地得到了更多企业的推广和应用,而 Spring Cloud 社区也在不断的迅速发展壮大之中,近几年时间,Spring Cloud ...

  3. Linux vmstat 使用说明

    摘自 https://www.thomas-krenn.com/en/wiki/Linux_Performance_Measurements_using_vmstat Linux Performanc ...

  4. 用burp爆破tomcat的过程

    首先burp抓包,将抓到的包放到intruder中 通过burp中自带的解码得知账号密码中有个":"号 所以我们选择的数据类型为Custom iterator 第二条输入" ...

  5. Known快速开发框架

    Known是一个基于.NET开发的快速开发框架,前后端分离,使用极少的第三方组件,开发简单快速,大部分代码可通过代码生成工具自动生成,非常适合单兵作战和小团队开发.前端UI是一个基于JQuery开发的 ...

  6. 5分钟看懂系列:Python 线程池原理及实现

    概述 传统多线程方案会使用"即时创建, 即时销毁"的策略.尽管与创建进程相比,创建线程的时间已经大大的缩短,但是如果提交给线程的任务是执行时间较短,而且执行次数极其频繁,那么服务器 ...

  7. MySQL 5.6.38安装

    #1.安装说明 本套安装方式适用于:CentOS6.X 或CentOS7.X系列的OS安装,此方法适用于MySQL5.6.xx版本的安装,如果是5.7版本的话不适合该配置. #2.准备安装环境 # N ...

  8. 迁移sqlserver数据到MongoDb

    前言 随着数据量的日积月累,数据库总有一天会不堪重负的,除了通过添加索引.分库分表,其实还可以考虑一下换个数据库.我强烈推荐使用MongoDb,我举例说一下我的经历:我的项目中有一张表的数据大概是30 ...

  9. AOP的姿势之 简化 MemoryCache 使用方式

    0. 前言 之前写了几篇文章介绍了一些AOP的知识, 但是还没有亮出来AOP的姿势, 也许姿势漂亮一点, 大家会对AOP有点兴趣 内容大致会分为如下几篇:(毕竟人懒,一下子写完太累了,没有动力) AO ...

  10. 《深入理解 Java 虚拟机》读书笔记

    第二章 Java 内存区域与内存溢出溢出 程序计数器 程序计数器是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器.字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的 ...