网络七层及模型&&网络数据包

Posted LoSenTrad

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络七层及模型&&网络数据包相关的知识,希望对你有一定的参考价值。

网络七层及模型&&网络数据包

一.网络基本概念

  • 1.OSI模型
    OSI全称Open System interconnection model,是由一个国际标准化组织提供
    一个使不同的计算机和网络在世界范围内实现互联的标准框架.
    它将计算机网络体系结构划分为七层,每一层都可以提供抽象良好的接口,了解OSI模型,
    有助于了解实际上互联网络的工业标准–TCP/IP协议.

    OSI模型各层间关系和通讯时的数据流向,如图:

    显然,如果一个东西想包罗万象,一般是不可能的;在实际开发应用中,一般在此模型的基础上进行裁剪和整合

  • 七层模型介绍:

    • 物理层:物理层负责最后将信息编码成电流脉冲或其他信号用于网上传输;
      eg:RJ45等将数据转化成0和1
    • 数据链路层:
      数据链层通过物理网络链路提供数据传输.不同的数据链路层定义不同的网路和协议
      特征,其中包括物理编址,网络拓扑图,错误校验,数据帧序列以及流控.
      可以简单的理解为:规定了0 和1的分包形式,确定了网络数据包的形式;
    • 网路层 :网络层负责在源和终点之间建立连接
      可以理解为此处需要确定计算机的位置,怎么确定?IPV4 IPv6
    • 传输层
      传输层向高层提供可靠的端到端的网络数据流服务
      可以理解为:每一个应用程序都会在网卡注册一个端口号,该层及时端口与端口的通 讯!常用的(TCP/IP)协议
    • 会话层: 会话层建立,管理和终止表示层与实体之间的通讯会话
      建立一个连接(自动的手机信息,自动的网络寻址);
    • 表示层:表示层提供多种能用于应用层数据编码和转化,以确保一个系统应用层发送
      的信息可以被另一个系统应用层识别
      可以理解为解决了不同系统之间的通讯,eg:linux下的QQ和windows下的QQ可以
      通讯;
    • 应用层:OSI的应用层协议包括文本的传输,访问以及管理协议(FTAM),以及文件虚
      拟(VIP)和公用管理系统信息(CMIP)等
      还有规定数据的传输协议;
  • 常见的应用层协议:

    互联网分层结构的好处:上层的变动完全不影响下层的结构.

    • TCP/IP协议基本概念
      OSI 模型所分的七层,在实际应用中,往往有一些层被整合,或者功能分散到其他层去。TCP/IP 没有照搬 OSI 模型,也没有 一个公认的 TCP/IP 层级模型,一般划分为三层到五层模型来��述 TCP/IP 协议。
    • TCP/IP协议.

      • 在此描述用一个通用的四层模型来描述,每一层都和 OSI 模型有较强的相关性但是又可能会有交叉。
      • TCP/IP 的设计,是吸取了分层模型的精华思想——封装。每层对上一层��供服务的时 候,上一层的数据结构是黑盒,直接作为本层的数据,而不需要关心上一层协议的任何细节。
      • TCP/IP 分层模型的分层以以太网上传输 UDP 数据包如图所示;
      • 数据包:
        宽泛意义的数据包:每一个数据包都包含”标头”和”数据”两个部分.”标头”包 含本数据包的一些说明.”数据”则是本数据包的内容.
      • 细分数据包:

        • 应用程序数据包: 标头部分规定应用程序的数据格式.数据部分传输具体
          的数据内容. ——对应上图中的数据!

        • TCP/UDP数据包:标头部分包含双方的发出端口和接收端口. UDP数据
          包:’标头’长度:8个字节,”数据包”总长度最大为65535字节,正好放进
          一个IP数据包. TCP数据包:理论上没有长度限制,但是,为了保证网络
          传输效率,通常不会超过IP数据长度,确保单个包不会被分割. ——对应
          上图中的UDP数据!

        • IP数据包: 标头部分包含通信双方的IP地址,协议版本,长度等信息.
          ‘标头’长度:20~60字节,”数据包”总长度最大为65535字节. ——对
          应上图中的IP数据

        • 以太网数据包: 最基础的数据包.标头部分包含了通信双方的MAC地址,数
          据类型等. ‘标头’长度:18字节,’数据’部分长度:46~1500字节. ——
          对应上图中的以太网数据

      • 四层模型

          1. 网络接口层
            网络接口层包括用于协作IP数据在已有网络介质上传输的协议。
            它定义像地址解析协议(Address Resolution Protocol,ARP)这
            样的协议,��供 TCP/IP 协议的数据结构和实际物理硬件之间的接口。
            可以理解为:确定了网络数据包的形式。
        • 2.网间层
          网间层对应于 OSI 七层参考模型的网络层,本层包含 IP 协议、RIP
          协议(Routing Information Protocol,路由信息协议),负责数据
          的包装、寻址和路由。同时还包含网间控制报文协议(Internet
          Control Message Protocol,ICMP)用来��供网络诊断信息;
          可以理解为:该层时确定计算机的位置。
          1. 传输层
            传输层对应于 OSI 七层参考模型的传输层,它��供两种端到端的通信服
            务。其中 TCP 协议(Transmission Control Protocol)��供可靠
            的数据流运输服务,UDP 协议(Use Datagram Protocol)��供不可靠
            的用户数据报服务。
            TCP:三次握手、四次挥手;UDP:只发不管别人收不收得到–任性哈
          1. 应用层
            应用层对应于 OSI 七层参考模型的应用层和表达层;
            不明白的再看看7层参考模型的描述。
  • TCP/IP 协议族常用协议

    • 应用层:TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 等等
    • 传输层:TCP,UDP
    • 网络层:IP,ICMP,OSPF,EIGRP,IGMP
    • 数据链路层:SLIP,CSLIP,PPP,MTU
  • 重要的 TCP/IP 协议族协议进行简单介绍:

    • IP(Internet Protocol,网际协议)是网间层的主要协议,任务是在源地址和和目的地址之间传输数据。IP 协议只是尽最大努力来传输数据包,并不保证所有的包都可以传输 到目的地,也不保证数据包的顺序和唯一。

      • IP 定义了 TCP/IP 的地址,寻址方法,以及路由规则。现在广泛使用的
        IP 协议有 IPv4 和 IPv6 两种:IPv4 使用 32 位二进制整数做地址,一般使用点分十进制方式表示,比如 192.168.0.1。

      • IP 地址由两部分组成,即网络号和主机号。故一个完整的 IPv4 地址往往表示 为 192.168.0.1/24 或192.168.0.1/255.255.255.0 这种形式。

      • IPv6 是为了解决 IPv4 地址耗尽和其它一些问题而研发的最新版本的 IP。使用 128 位 整数表示地址,通常使用冒号分隔的十六进制来表示,并且可以省略其中一串连续的 0,如:fe80::200:1ff:fe00:1。
        目前使用并不多!

      • ICMP(Internet Control Message Protocol,网络控制消息协议)是 TCP/IP 的 核心协议之一,用于在 IP 网络中发送控制消息,��供通信过程中的各种问题反馈。 ICMP 直接使用 IP 数据包传输,但 ICMP 并不被视为 IP 协议的子协议。常见的联网状态诊断工具比如依赖于 ICMP 协议;

      • TCP(TransmissionControlProtocol,传输控制协议)是一种面向连接的,可靠的, 基于字节流传输的通信协议。TCP 具有端口号的概念,用来标识同一个地址上的不 同应用。��述 TCP 的标准文档是 RFC793。

      • UDP(UserDatagramProtocol,用户数据报协议)是一个面向数据报的传输层协 议。UDP 的传输是不可靠的,简单的说就是发了不管,发送者不会知道目标地址 的数据通路是否发生拥塞,也不知道数据是否到达,是否完整以及是否还是原来的 次序。它同 TCP 一样有用来标识本地应用的端口号。所以应用 UDP 的应用,都能 够容忍一定数量的错误和丢包,但是对传输性能敏感的,比如流媒体、DNS 等。

      • ECHO(EchoProtocol,回声协议)是一个简单的调试和检测工具。服务器器会 原样回发它收到的任何数据,既可以使用 TCP 传输,也可以使用 UDP 传输。使用 端口号 7 。

      • DHCP(DynamicHostConfigrationProtocol,动态主机配置协议)是用于局域 网自动分配 IP 地址和主机配置的协议。可以使局域网的部署更加简单。

      • DNS(DomainNameSystem,域名系统)是互联网的一项服务,可以简单的将用“.” 分隔的一般会有意义的域名转换成不易记忆的 IP 地址。一般使用 UDP 协议传输, 也可以使用 TCP,默认服务端口号 53。��

      • FTP(FileTransferProtocol,文件传输协议)是用来进行文件传输的标准协议。 FTP 基于 TCP 使用端口号 20 来传输数据,21 来传输控制信息。

      • TFTP(Trivial File Transfer Protocol,简单文件传输协议)是一个简化的文 件传输协议,其设计非常简单,通过少量存储器就能轻松实现,所以一般被用来通 过网络引导计算机过程中传输引导文件等小文件;

    • SSH(SecureShell,安全Shell),因为传统的网络服务程序比如TELNET本质上都极不安全,明文传说数据和用户信息包括密码,SSH 被开发出来避免这些问题, 它其实是一个协议框架,有大量的扩展冗余能力,并且��供了加密压缩的通道可以 为其他协议使用。

    • POP(PostOfficeProtocol,邮局协议)是支持通过客户端访问电子邮件的服务, 现在版本是 POP3,也有加密的版本 POP3S。协议使用 TCP,端口 110。

    • SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)是现在在互联网 上发送电子邮件的事实标准。使用 TCP 协议传输,端口号 25。

    • HTTP(HyperTextTransferProtocol,超文本传输协议)是现在广为流行的WEB 网络的基础,HTTPS 是 HTTP 的加密安全版本。协议通过 TCP 传输,HTTP 默认 使用端口 80,HTTPS 使用 443。

(相信能看完本文章的同学还是很少啊哈,楼主打字也是很辛苦的!)

以上是关于网络七层及模型&&网络数据包的主要内容,如果未能解决你的问题,请参考以下文章

深入浅出-网络七层模型

OSI七层模型:TCP/IP && HTTP && WebSocket && MQTT

OSI七层及常用协议端口号

OSI七层及常用协议端口号

计算机网络模型和协议

计算机网络模型和协议