• 为什么要分层?
    ○ 协议太多,将众多协议分层解决,能提高效率,复杂问题简单化,更容易发现问题,并针对性解决问题。
• 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. 初中的一些OI琐屑 & APIO2020 & NOI2020

    这篇文章会发布在我的博客上 https://www.cnblogs.com/dmoransky/(一个小习惯,把信息学竞赛的学习历程记录在个人博客中). 借这篇随笔回顾并简短总结一下我的初中OI(信息 ...

  2. AcWing 180. 排书

    AStar 最坏情况\(O(log_2560 ^ 4)\) 用\(AStar\)算法做了这题,程序跑了\(408ms\). 相比于\(IDA*\)的\(100ms\)左右要慢上不少. 且\(A*\)由 ...

  3. 【学习笔记】K-D tree 区域查询时间复杂度简易证明

    查询算法的流程 如果查询与当前结点的区域无交集,直接跳出. 如果查询将当前结点的区域包含,直接跳出并上传答案. 有交集但不包含,继续递归求解. K-D Tree 如何划分区域 可以借助下文图片理解. ...

  4. 使用 open 函数 写的代码 用户名登录

    先创建文件ha.log 内容: aaa$$123bbb$$456 def dl(user,pas): f = open('ha.log', 'r', encoding="utf-8" ...

  5. bilibili插件推荐

    目前看到的好的插件就两个,现在来介绍一下. 第一个是 哔哩哔哩助手 这是它的功能,这里就以截图来给大家看 以上为这个插件的所有功能. 点击前往官网 第二个是 bilibili网页端添加APP首页推荐 ...

  6. Day5 - 04 函数的参数-可变参数*

    传入的参数的个数是可变的. 例子:定义一个函数,通过给出一组数,返回这组数中最大值与最小值的和.    def msum(numbers):        r = max(numbers) + min ...

  7. 五、testNG异常处理

    当程序出现异常或者测试中有异常测试案例可以使他抛出异常 例如:0不可以当做除数,如果将除数设置为0会抛出异常 在testNG上加上 expectedExceptions = ArithmeticExc ...

  8. Java各版本新增特性, Since Java 8

    Java各版本新增特性, Since Java 8 作者:Grey 原文地址: Github 语雀 博客园 Java 8 Reactor of Java 这一章来自于<Spring in Act ...

  9. js 获取某月第一天和最后一天

    1.获取某月第一天和最后一天日期 function getDateByMonth (timeStamp) { let inDate = new Date(timeStamp) let year = i ...

  10. PHP文件包含及使用伪协议getshell

    file:// - 访问本地文件系统 http:// - 访问 HTTP(s) 网址 ftp:// - 访问 FTP(s) URLs php:// - 访问各个输入/输出流(I/O streams) ...