osi模型,tcp/ip模型(名字由来+各层介绍+中间设备介绍)

2024-02-28 22:20

本文主要是介绍osi模型,tcp/ip模型(名字由来+各层介绍+中间设备介绍),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

网络协议如何分层

引入

osi模型

tcp/ip模型 

引入

命名由来

介绍 

物理层

数据链路层

网络层

传输层

应用层

中间设备 


网络协议如何分层

引入

我们已经知道了网络协议是层状结构,接下来就来了解了解下网络协议如何分层

  • 常见的网络协议分层模型是OSI模型 和 TCP/IP模型

osi模型

  • osi模型称为开放式系统互联参考模型,是一个逻辑上的定义和规范
  • 包含七个层次,它提供了一个框架,完善地描述了在网络通信中各层次的逻辑功能

tcp/ip模型 

引入

虽然osi模型很好,但是在实际工程中,我们发现了许多问题

  • 我们本来是要把网络功能直接写在内核里的  (因为我们每台电脑都要联网,并且要保证使用统一的标准,所以干脆将网络协议整合到操作系统中,这样就不会出现因为协议不同而导致无法通信的问题了)
  • 但是在实操中,发现会话层和表示层不好在os中实现
  • 于是这两层并没有实际落地,而是将这两层统一看作应用层,在应用层的协议中实现这两层
  • 所以,在实际实现时只剩下了五层

命名由来

  • 站在os角度,最重要的两层是网络层和运输层(因为最终只有这两层被实际写在了os内)
  • 而他们两个最具有代表性的协议分别是ip协议和tcp协议,所以这五层网络协议栈也被叫做tcp/ip协议栈
  • 由于物理层我们考虑的比较少,因此很多时候也可以称为 tcp/ip四层模型

介绍 

物理层
  • 负责光/电信号的传递方式
  • 比如现在以太网通用的网线(双绞线)、早期以太网采用的的同轴电缆(现在主要用于有线电视)、光纤, 现在的wifi无线网使用电磁波等,这些都属于物理层的概念
  • 物理层的能力决定了最大传输速率、传输距离、抗干扰性等属性
  • 集线器(Hub)工作在物理层
数据链路层
  • 负责设备之间的数据帧的传送和识别(数据帧 -- 在数据链路层传输数据的一种结构化格式)
  • 完成网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作
  • 有以太网、令牌环网, 无线LAN等标准(也就是协议)
  • 交换机(Switch)工作在数据链路层
网络层
  • 负责地址管理和路由选择
  • 例如,在IP协议中, 通过IP地址来标识一台主机, 并通过路由表的方式规划出两台主机之间的数据传输的线路
  • 路由器(Router)工作在网路层
传输层
  • 负责两台主机之间的数据传输
  • 如传输控制协议 (TCP), 能够确保数据可靠的从源主机发送到目标主机
  • 没有特定的物理设备与传输层直接对应,传输层主要工作在os中,提供一些协议和机制,以确保应用程序之间的有效通信
应用层
  • 负责应用程序间沟通
  • 如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等
  • 我们的网络编程主要就是针对应用层

中间设备 

随着网络功能的复杂,需要更多的设备来支持,所以会增加一些中间设备,来辅助网络功能的实现

  • 比如路由器,交换机,集线器,网卡等等

这些设备会具备各自层次的功能,但不仅仅只有这个功能

在实际网络中,它们经常需要相互协作以提供综合的网络服务

  • 例如,路由器不仅进行网络层的路由,还可能包括数据链路层的交换功能
  • 交换机虽然主要是数据链路层的设备,但在实现VLAN时可能涉及到网络层的信息

这篇关于osi模型,tcp/ip模型(名字由来+各层介绍+中间设备介绍)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/756789

相关文章

C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)

《C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)》本文主要介绍了C#集成DeepSeek模型实现AI私有化的方法,包括搭建基础环境,如安装Ollama和下载DeepS... 目录前言搭建基础环境1、安装 Ollama2、下载 DeepSeek R1 模型客户端 ChatBo

SpringBoot快速接入OpenAI大模型的方法(JDK8)

《SpringBoot快速接入OpenAI大模型的方法(JDK8)》本文介绍了如何使用AI4J快速接入OpenAI大模型,并展示了如何实现流式与非流式的输出,以及对函数调用的使用,AI4J支持JDK8... 目录使用AI4J快速接入OpenAI大模型介绍AI4J-github快速使用创建SpringBoot

Nginx实现动态封禁IP的步骤指南

《Nginx实现动态封禁IP的步骤指南》在日常的生产环境中,网站可能会遭遇恶意请求、DDoS攻击或其他有害的访问行为,为了应对这些情况,动态封禁IP是一项十分重要的安全策略,本篇博客将介绍如何通过NG... 目录1、简述2、实现方式3、使用 fail2ban 动态封禁3.1 安装 fail2ban3.2 配

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

Ubuntu固定虚拟机ip地址的方法教程

《Ubuntu固定虚拟机ip地址的方法教程》本文详细介绍了如何在Ubuntu虚拟机中固定IP地址,包括检查和编辑`/etc/apt/sources.list`文件、更新网络配置文件以及使用Networ... 1、由于虚拟机网络是桥接,所以ip地址会不停地变化,接下来我们就讲述ip如何固定 2、如果apt安

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

Spring AI Alibaba接入大模型时的依赖问题小结

《SpringAIAlibaba接入大模型时的依赖问题小结》文章介绍了如何在pom.xml文件中配置SpringAIAlibaba依赖,并提供了一个示例pom.xml文件,同时,建议将Maven仓... 目录(一)pom.XML文件:(二)application.yml配置文件(一)pom.xml文件:首

查询SQL Server数据库服务器IP地址的多种有效方法

《查询SQLServer数据库服务器IP地址的多种有效方法》作为数据库管理员或开发人员,了解如何查询SQLServer数据库服务器的IP地址是一项重要技能,本文将介绍几种简单而有效的方法,帮助你轻松... 目录使用T-SQL查询方法1:使用系统函数方法2:使用系统视图使用SQL Server Configu

如何在本地部署 DeepSeek Janus Pro 文生图大模型

《如何在本地部署DeepSeekJanusPro文生图大模型》DeepSeekJanusPro模型在本地成功部署,支持图片理解和文生图功能,通过Gradio界面进行交互,展示了其强大的多模态处... 目录什么是 Janus Pro1. 安装 conda2. 创建 python 虚拟环境3. 克隆 janus

使用Java实现获取客户端IP地址

《使用Java实现获取客户端IP地址》这篇文章主要为大家详细介绍了如何使用Java实现获取客户端IP地址,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 首先是获取 IP,直接上代码import org.springframework.web.context.request.Requ