首页 > 其他分享 >OSI七层模型和TCP/IP协议

OSI七层模型和TCP/IP协议

时间:2023-07-03 21:46:17浏览次数:27  
标签:协议 IP 端口 TCP OSI 传输层 数据

目录

一、分层思想

  • 分层思想

    • 将复杂的流程分解为几个功能相对单一的子过程
  • 分层优点

    • 整个流程更加清晰,复杂问题简单化
    • 更容易发现问题并针对性的解决问题

二、OSI七层模型

七层模型实际是把互联网的各种网络协议人为的划分为七层,让人们更加了解各层的作用。

  • 七层
层次模型 功能
应用层 网络服务与最终用户的一个借口
表示层 数据的表示、压缩、格式化、加密
会话层 建立、管理、中止会话
传输层 定义传输数据的协议端口号,以及流量和差错校验
网络层 进行逻辑地址寻址,实现不同网络之间的路径选择
数据链路层 进行硬件地址寻址,差错校验等功能
物理层 建立、维护、断开物理连接
  • PDU:Protocol Data Unit,协议数据单元是指对等层次之间传递的数据单位

    • 物理层的PDU是数据位bit
    • 数据链路层的PDU是数据帧frame
    • 网络层的PDU是数据包packet
    • 传输层的PDU是数据段segment
    • 其他更高层次的PDU是消息message
  • 数据封装

    • 应用层、表示层、会话层:打包成上层数据
    • 传输层:tcp或udp头部+上层数据 数据段
    • 网络层:ip头部+tcp或udp头部+上层数据 数据包
    • 数据链路层:mac头部+ip头部+tcp或udp头部+上层数据+校验位 数据帧
    • 物理层:转化成电流

  • 数据解封装

三、TCP/IP协议模型

  • TCP/IP参考模型

TCP/IP就是传输控制协议/网际协议(Transmission Control Protocol/Internet Protocol),是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP 和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇, 只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议。

TCP/IP 4层模型(思科)

TCP/IP 5层模型(华为)

TCP/IP参考模型最多划分了五层,将OSI七层模型中的高三层合并为应用层,分别是应用层、传输层、网络层、数据链路层、物理层。

TCP/IP 4层模型 TCP/IP 5层模型 OSI七层模型
应用层
表示层
会话层
传输层 传输层 传输层
网络层 网络层 网络层
网络接口层 数据链路层 数据链路层
网络接口层 物理层 物理层
  • TCP/IP协议族的组成
模型层 协议
应用层 HTTP FTP TFTP SMTP SNMP DNS
传输层 TCP UDP
网络层 IP(ARP RARP ICMP IGMP)
数据链路层 PPP(Point-to-Point Protocol)
物理层 IEEE802.3有线局域网(以太网) IEEE802.11无线局域网标准

应用层

  • HTTP(超文本传输协议):web网页的传输,默认使用TCP80端口
  • HTTPs(安全的超文本传输协议):在HTTP的基础上加入SSL安全协议,默认使用TCP443端口
  • FTP(文件传输协议):允许指明文件的类型、格式和具有的存取权限,默认使用TCP2021端口;20传输控制权限,21传输真实数据
  • TFTP(简单文件传输协议):只支持文件传输,不支持交互,默认使用UDP的69端口
  • SNMP(简单网络管理协议):用于在 IP 网络管理网络节点(服务器、工作站、路由器、交换机及HUBS等)的一种标准协议,默认使用UDP的161端口
  • SMTP(简单邮件传输协议):一组用于从源地址到目的地址传送邮件的规则,并且控制信件的中转方式,用于邮件的发送,默认使用TCP的25端口
  • POP3(邮局协议版本3):用于邮件的接收,默认使用TCP的110端口
  • telnet(远程登陆协议):通过网络对远程主机或设备进行控制操作,默认使用TCP的23端口
  • ssh(安全的远程登陆协议):安全的通过网络对远程主机或设备进行控制操作,默认使用TCP的22端口
  • DNS(域名解析系统):将域名和IP地址相互映射,默认使用TCPUDP的53端口
  • DHCP(动态主机配置协议):服务器分配的IP地址和子网掩码,默认使用UDP的67和68端口

传输层

  • TCP:传输控制协议 可靠协议 (安全性高,速度慢)
  • UDP:用户数据报协议 不可靠协议 (安全性不高,速度快)

网络层

  • ARP(地址解析协议):将ip地址转换成物理mac地址的协议
  • ICMP(网际控制报文协议):ping网络连通性检测

数据链路层

  • PPP(Point-to-Point Protocol)

物理层

  • IEEE802.3有线局域网(以太网)
  • IEEE802.11无线局域网标准

单工,半双工和全双工

  • 单工数据传输只支持数据在一个方向上传输;在同一时间只有一方能接受或发送信息,不能实现双向通信,举例:电视,广播。
  • 半双工数据传输允许数据在两个方向上传输,但是,在某一时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信;在同一时间只可以有一方接受或发送信息,可以实现双向通信。举例:对讲机。
  • 全双工数据通信允许数据同时在两个方向上传输,因此,全双工通信是两个单工通信方式的结合,它要求发送设备和接收设备都有独立的接收和发送能力;在同一时间可以同时接受和发送信息,实现双向通信,举例:电话通信。

设备与层的对应关系

分层 对应设备
应用层 计算机
传输层 防火墙
网络层 路由器
数据链路层 交换机
物理层 网卡

总结

本文主要学会OSI七层模型及大致功能,数据封装的具体流程,TCP/IP模型及主要协议和默认端口号。

标签:协议,IP,端口,TCP,OSI,传输层,数据
From: https://www.cnblogs.com/mtwm/p/17524173.html

相关文章

  • JavaScript(四)面向对象
    创建对象prototype对象JavaScript对每个创建的对象都会设置一个原型,指向它的原型对象。当我们用obj.xxx访问一个对象的属性时,JavaScript引擎先在当前对象上查找该属性,如果没有找到,就到其原型对象上找,如果还没有找到,就一直上溯到Object.prototype对象,最后,如果还没有找到,就只能返......
  • pip安装
    pip是Python社区中广泛使用的包管理工具,使得安装和管理第三方库变得更加便捷。pip安装是对准计算机的,而不是针对特定的项目。当您使用pip安装软件包时,它将在计算机上的Python环境中安装该软件包,使得您可以在任何项目中使用它。在大多数情况下,site-packages目录位于Pyt......
  • JavaScript(三)Array的高阶函数
    map、reducemap:map()方法定义在JavaScript的Array中,接收一个函数对象作为参数,函数定义运算规则,对array中的每个元素进行运算,结果是一个新的array。functionpow(x){returnx*x;}vararr=[1,2,3,4,5,6,7,8,9];varresults=arr.map(pow);//[1,4,9......
  • JavaScript(一)基础
    JS引入到文件嵌入到html文件中,在<header>或<body>中使用<script><script> vari=10; console.log(i);</script>引入JS文件,在<header>或<body>中使用<script><scriptsrc="./index3_script.js"type="text/j......
  • 软件开放机构、OSI七层协议、TCP协议和UDP协议
    软件开发架构网络编程:我们要基于网络来编写一款B/S或者是C/S架构的软件,比如:ATM,我们只写写的ATM系统都是单机版本的,没有接入网络的系统,别人时无法访问到的#目的:""" 以ATM为例,现在我们想把之前写的ATM系统编程基于网络传输的,别人如果想用,就必须把客户端下载到本地电脑上,以登......
  • 关于Gin如何在multipart/form-data请求下解析JSON数组
    前言众所周知,在Gin下,如果只是在multipart/form-data请求下解析JSON对象到结构体的话就比较简单。但是如果是要解析JSON数组到对应请求结构体呢?正文举个例子:typeAddItemstruct{IDint`form:"-"` Images[]*multipart.FileHea......
  • 跨境电商选择动态IP还是静态IP?
    随着跨境电商的兴起,选择适合的IP类型对于企业的成功至关重要。在跨境电商中,常见的选择是动态IP和静态IP。下面将就这两种IP类型进行比较,帮助您做出更明智的选择。1.动态IP动态IP是指在一定时间范围内会发生变化的IP地址。跨境电商中使用动态IP具有以下优势:隐私保护:动态IP的变化使得......
  • Getting Started with Eclipse and Counterclockwise
    http://dev.clojure.org/display/doc/Getting+Started+with+Eclipse+and+CounterclockwiseGotostartofmetadata InstallEclipse(IfyoudonothaveEclipseinstalled,oryouwanttomakeisolatedtestsoftheClojurepluginforEclipse)GrabtheEcli......
  • UDPG and Lung Cancer Metastasis: Unraveling the Relationship
    Lungcancerisoneofthemalignanttumorswithfast-growingmorbidityandmortalityandtheworstprognosis.Thedevelopmentofmolecularbiologyandcellbiologyprovidestargetsforthepreventionandtreatmentoflungcancerandopensupnewareasfor......
  • JavaScript 中 object 的几个方法:entries,values,keys 对比
    在JavaScript中,对象(Object)是一种无序的键值对集合。以下是entries,values和keys这三个对象方法的比较: entries()方法:返回一个包含对象的键值对的数组。每个键值对都是一个数组,包含两个元素,第一个元素是键名,第二个元素是对应的值。1constobj={a:1,b:2,c:3};2conso......