zoukankan      html  css  js  c++  java
  • 网络OSI七层模型及各层作用 tcp-ip

    背景

    虽然说以前学习计算机网络的时候,学过了,但为了更好地学习一些物联网协议(MQTTCoAPLWM2MOPC),需要重新复习一下。

    OSI七层模型

    七层模型,亦称OSI(Open System Interconnection)。参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系,一般称为OSI参考模型或七层模型。
    它是一个七层的、抽象的模型体,不仅包括一系列抽象的术语或概念,也包括具体的协议。

    OSI七层模型 功能 对应的网络协议
    应用层 应用层是网络体系中最高的一层,也是唯一面向用户的一层,也可视为为用户提供常用的应用程序,每个网络应用都对应着不同的协议 HTTP、TFTP, FTP, NFS, WAIS、SMTP
    表示层 主要负责数据格式的转换,确保一个系统的应用层发送的消息可以被另一个系统的应用层读取,编码转换,数据解析,管理数据的解密和加密,同时也对应用层的协议进行翻译 Telnet, Rlogin, SNMP, Gopher
    会话层 负责网络中两节点的建立,在数据传输中维护计算机网络中两台计算机之间的通信连接,并决定何时终止通信 SMTP, DNS
    传输层 是整个网络关键的部分,是实现两个用户进程间端到端的可靠通信,处理数据包的错误等传输问题。是向下通信服务最高层,向上用户功能最底层。即向网络层提供服务,向会话层提供独立于网络层的传送服务和可靠的透明数据传输。 TCP, UDP
    网络层 进行逻辑地址寻址,实现不同网络之间的路径选择,IP就在网络层 IP, ICMP, ARP, RARP, AKP, UUCP
    数据链路层 物理地址(MAC地址),网络设备的唯一身份标识。建立逻辑连接、进行硬件地址寻址,相邻的两个设备间的互相通信 FDDI, Ethernet, Arpanet, PDN, SLIP, PPP,STP。HDLC,SDLC,帧中继
    物理层 七层模型中的最底层,主要是物理介质传输媒介(网线或者是无线),在不同设备中传输比特,将0/1信号与电信号或者光信号互相转化 IEEE 802.1A, IEEE 802.2到IEEE 802

    数据发送时从上至下封装,收到数据包后从下至上解包。每一层对于上一层来讲是透明的,上层只需要使用下层提供的接口,并不关心下层是如何实现的。
    我们所说的 socket 编程,是站在传输层的基础上,所以可以使用 TCP/UDP 协议,但是不能干「访问网页」这样的事情,因为访问网页所需要的 http 协议位于应用层。

    两台计算机进行通信时,必须遵守以下原则:
    - 必须是同一层次进行通信,比如,A 计算机的应用层和 B 计算机的传输层就不能通信,因为它们不在一个层次,数据的拆包会遇到问题。
    - 每一层的功能都必须相同,也就是拥有完全相同的网络模型。如果网络模型都不同,那不就乱套了,谁都不认识谁。
    - 数据只能逐层传输,不能跃层。
    - 每一层可以使用下层提供的服务,并向上层提供服务。

    如:

    TCP/IP

    TCP/IP 参考了OSI模型,将 最上的3层(应用层、表示层、会话层) 视为为 应用层, 由 将 最下的2层(数据链路层、物理层)视为 网络接口层

    所以 TCP/IP 只有4层。

    我们用一张图来看,TCP/IP在OSI模型中各个部分对应的是什么部分。

    源自 http://www.colasoft.com.cn/download/protocols_map.php

    附录: TCP/IP在OSI模型中各部分的解释(OSI七层模型 相关协议 缩写)

    应用层

    • HTTP 超文本传输协议

    • FTP 文件传输协议

    • SMTP 简单邮件传输协议

    • TELNET TCP/IP终端仿真协议

    • POP3 邮局协议第三版

    • Finger 用户信息协议

    • NNTP 网络新闻传输协议

    • IMAP4 因特网信息访问协议第四版

    • LPR UNIX 远程打印协议

    • Rwho UNIX 远程 Who协议

    • Rexec UNIX远程执行协议

    • Login UNIX 远程登陆协议

    • RSH UNIX 远程Shell协议

    • NTF HP 网络文件传输协议

    • RDA HP 远程数据库访问协议

    • VT 虚拟终端仿真协议

    • RFA HP 远程文件访问协议

    • RPC Remote Process Comm.

    • S-HTTP 安全超文本传输协议

    • GDP 网关发现协议

    • X-Window

    • CMOT 基于TCP/IP的CMIP协议

    • SOCKS 安全套接字协议

    • FANP 流属性通知协议

    • SLP 服务定位协议

    • MSN 微软网络服务

    • Radius 远程用户拨号认证服务协议

    • DNS 域名系统

    • NFS网络文件系统协议

    • NIS SUN 网络信息系统协议

    • R-STAT SUN远程状态协议

    • NSM SUN 网络状态监测协议

    • PMAP SUN 端口映射协议

    • Mount

    • LPR UNIX 远程打印协议

    • SNMP 简单网络管理协议

    • 常用UDP协议的应用层服务

      • BOOTP 引导协议
      • DHCP动 态主机配套协议
      • NTP 网络时间协议
      • TFTP 简单文件传输协议

    表示层

    • DECnet NSP

    • LPP 轻量级表示协议

    • NBSSN NetBIOS会话服务协议

    • XDP外部数据表示协议

    • IPX

    会话层

    • SSL 安全套接字层协议

    • TLS 传输层安全协议

    • DAP 目录访问协议

    • LDAP 轻量级目录访问协议

    • RPC 远程过程调用协议

    • VINES NETRPC

      • VFRP
      • NeTBIOS
      • IPX

    传输层

    • XOT 基于tcp之上的X协议

    • Van Jacobson 压缩TCP协议

    • ISO-DE ISO 开发环境-------->NetBISO

    • TALI 传输适配层接口协议

    • DSI、NetBIOS、IP NeTBIOS、ISO-TP SSP、SMB、MSRPC

    UDP用户数据报协议

    • RUDP 可靠的用户数据报协议

    • Mobile IP 移动IP协议

    网络层

    • IP/IPv6 互联网协议/互联网协议第六版

    • ICMPv6互联网控制信息协议第六版

    • ICMP互联网控制信息协议

    • IGMP 互联网组管理协议

    • SLIP 串行线路IP协议

    安全协议

    • AH 认证头协议

    • ESP 安装封装有效载荷协议

    路由协议

    • EGP 外部网关协议

    • OSPF 开放最短路径优先协议

    • IGRP 内部网关路由协议

    • NHRP 下一跳解析协议

    • IE-IRGP 增强内部网关路由选择协议

    • RIPng for IPv6 IPv6路由信息协议

    • GGP 网关到网关协议

    • VRRP 虚拟路由器冗余协议

    • PGM 实际通用组播协议

    • RSVP 资源预留协议

    • PIM-DM 密集模式独立组播协议

    • DVMRP 距离矢量组播路由协议

    • RIP2 路由信息协议第二版

    • PIM-SM 稀疏模式独立组播协议

    • MOSPF 组播开放最短路径优先协议

    数据链路层

    • MPLS 多协议标签交换协议

    • XTP 压缩传输协议

    • DCAP 数据转换客户访问协议

    • SLE 串行连接封装协议

    • IPinIP IP套IP封装协议

    隧道协议

    • PPTP 点对点隧道协议

    • L2F 第二层转发协议

    • L2TP 第二层隧道协议

    • ATMP 接入隧道管理协议

    Cisco 协议

    • CDP 思科发现协议

    • CGMP 思科组管理协议

    地址解析协议

    • ARP 地址解析协议

    • RAR 逆向地址解析协议

    物理层

    • IEEE 802.2

    • Ethernet v.2

    • Internetwork

    如果说我的文章对你有用,只不过是我站在巨人的肩膀上再继续努力罢了。
    若在页首无特别声明,本篇文章由 Schips 经过整理后发布。
    博客地址:https://www.cnblogs.com/schips/
  • 相关阅读:
    JAVA语言编程思维入门
    C语言入门编程思维引导
    Spring入门
    Linux设置Swap虚拟内存方法
    WordPress在Centos下Apache设置伪静态方法
    Maven(十五)Maven 聚合
    Maven(十四)Maven 继承
    Maven(十三)Maven统一声明版本号
    Maven(十二)Maven 依赖详解
    Maven(十一)导入手动创建的Maven 工程
  • 原文地址:https://www.cnblogs.com/schips/p/osi_framework_and_tcp-ip.html
Copyright © 2011-2022 走看看