OSI七层网络模型与TCP/IP四层模型

一、OSI七层网络模型

OSI 七层模型 是国际标准化组织提出一个网络分层模型,其大体结构以及每一层提供的功能如下图所示:
在这里插入图片描述
但由于各方面原因,OSI 七层模型并没有被广泛应用,更多的是作为网络分层的一种基础理论模型。

二、TCP/IP 四层模型

TCP/IP 四层模型 是目前被广泛采用的一种模型,我们可以将 TCP / IP 模型看作是 OSI 七层模型的精简版本

1. 应用层

应用层位于传输层之上,主要提供两个主机上的应用程序之间信息交换的服务,它定义了信息交换的格式,也就是说决定了发送数据的格式以及如何解析处理收到的数据,那具体的数据传输工作会通过封装好的底层api交给下一层传输层来处理。

常见应用层协议:HTTP,DNS,FTP,DHCP

2. 传输层

传输层位于网络层之上,负责控制进程托付的数据通过网络层发送给另一台主机的进程,它并不关心要传输的数据的内容和格式,只负责控制如何发送和接收数据,要发送时将数据段加上传输层协议的头部然后交给下一层网络层去发送。

例如TCP协议,它是面向连接的传输层协议,由于它要在不可靠的网际通信中建立可靠的数据传输通道,协议规定数据传输前要先和目的主机的传输层进行三次握手建立连接以确保能够通信,然后才开始发送数据,还要根据情况控制发送数据的速度或者重传数据,以确保对方能够收到完整的数据,并且最后不需要连接的时候通过四次挥手关闭双方的连接。

而UDP协议是无连接协议,它只管把数据发送出去,而不保证对方有没有收到。

主要传输层协议:TCP,UDP

3. 网络层

网络层负责规划如何将数据从一个网络中的主机传输到另一个网络中的主机,网络节点错综复杂,网络层就负责规划路径该怎么走,每台网络设备中都维护了一个路由表,通过查询路由表得知应该走哪个网络节点到哪个网络节点,最后能到达目的主机。

网络层最常使用的是 IP 协议(Internet Protocol),IP 协议会将传输层的报文作为数据部分,再加上 IP 报头组装成 IP 报文,如果 IP 报文大小超过 MTU(以太网中一般为 1500 字节)就会再次进行分片,得到一个即将发送到网络的 IP 报文。那么传输的过程中就根据IP进行路由寻址,寻找下一个要转发的节点,最终转发到目的主机。

如下图所示,在主机A上ping 1.1.1.5,在数据到达网络层后,通过与子网掩码与运算对比网段,发现和主机A不在一个网段不能直接发送,于是查询本机路由表看有没有到主机B的路由,没有则将数据转发给默认网关节点,网关节点接着在所连接的另一个子网中重复上一步的动作,对比网段,若发现仍不在一个网段,则查询路由表继续转发,若在一个网段,则将数据转发给对应主机。(参考:1. IP路由器寻址过程 2. 路由表)

在这里插入图片描述

主要网络层协议:IP协议(还有为IP协议服务的ARP协议、NAT地址转换协议等),ICMP 协议(基于IP协议)

4. 网络接口层

网络接口层包括数据链路层和物理层,负责在以太网(局域网)中将数据从一台机器真实的搬运到另一台机器。前面网络层规定了每一步走哪个节点,但两个节点间实际的数据传输工作是网络接口层完成的,而在以太网中要实际定位一台设备节点是通过MAC地址,因此在网络接口层首先通过ARP协议获取下一个节点的IP对应的MAC地址,放在帧信息中把IP报文包上,最后再通过物理层传输到以太网中的对应设备节点。

在这里插入图片描述
网络接口层的传输单位是帧(frame),IP 层的传输单位是包(packet),TCP 层的传输单位是段(segment),HTTP 的传输单位则是消息或报文(message)。但这些名词并没有什么本质的区分,可以统称为数据包。

主要网络接口层协议:MAC协议

参考:https://xiaolincoding.com/network

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/10410.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

NumPy 基础知识 :1~5

原文:Numpy Essentials 协议:CC BY-NC-SA 4.0 译者:飞龙 一、NumPy 简介 “我宁愿使用通用语言进行数学运算,也不愿尝试使用数学语言进行通用编程。” – John D Cook 在过去的十年中,Python 已成为科学计算中最受欢迎…

MVCC

MVCC基本概念 当前读 当前读 : 读取的是记录的最新版本,读取时还要保证其他并发事务不能修改当前记录,会对读取的记录进行加锁. 对于我们日常的操作. 如 : select....lock in share mode(共享锁) , select * for update , update ,insert,delete(排他锁) 都是一种当前读. 快…

Java对象模型

介绍 Java是一种面向对象的语言,而Java对象在JVM中存储是由一定结构的。而这个 Java对象自身的存储模型称之为Java对象模型HotSpot虚拟机中,设计了一个OOP-Klass Model.OOP指的是普通对象指针,而Klass用来描述对象的具体类型。如下图所示是一…

文章生成器写出来的原创文章

文章生成机器人 文章生成机器人是一种基于人工智能技术和自然语言处理算法的程序,可以自动地生成高质量、原创的文章。 文章生成机器人的优点如下: 提高工作效率:文章生成机器人能够在较短的时间内自动帮助用户生成大量的文章,提…

Python 小型项目大全 21~25

二十一、DNA 可视化 原文:http://inventwithpython.com/bigbookpython/project21.html 脱氧核糖核酸是一种微小的分子,存在于我们身体的每个细胞中,包含着我们身体如何生长的蓝图。它看起来像一对核苷酸分子的双螺旋结构:鸟嘌呤、…

计算机网络微课堂1-3节

目录 1. TCP/TP协议​编辑 2. 3.调制解调器 4.因特网的组成 5.电路交换 6.分组交换 重要常用 7.报文交换 8.总结电路交换 报文交换和分组交换 9. 1. TCP/TP协议 2. ISP 网络提供商 ISP的三层 国际 国家 和本地 3.调制解调器 什么是调制解调器,它存在的…

Python 小型项目大全 11~15

十一、标题党生成器 原文:http://inventwithpython.com/bigbookpython/project11.html 我们的网站需要欺骗人们去看广告!但是想出有创意的原创内容太难了。幸运的是,有了标题党生成器,我们可以让一台计算机产生数百万个令人发指的…

【Linux】浅析Input子系统

文章目录1. 框架1.1 数据结构1.2 evdev_handler1.3 evdev_init1.4 input_register_handler2. 应用如何打开节点并读取到事件数据2.1 evdev_fops2.2 evdev_open2.3 evdev_release2.4 evdev_read2.5 evdev_write2.6 evdev_poll2.7 evdev_fasync2.8 evdev_ioctl2.9 evdev_ioctl_co…

[考研数据结构]第3章之栈的基本知识与操作

文章目录 栈的基本概念 栈的实现 顺序栈 共享栈 链栈 栈的基本概念 栈的定义 栈(Stack)是只允许在一端进行插入或删除操作的线性表 相关术语 栈顶(Top)线性表允许进行插入或删除的那一端称之为栈顶栈底(Bottom&…

【计算机网络-数据链路层】集线器、网桥、交换机

本文许多文字和图片使用了湖科大教书匠(高军老师)的 PPT,在此表示感谢。正是他让非科班的我能以奇妙的方式走进网络的世界。 文章目录1 【物理层】集线器(Hub)——共享式以太网1.1 为什么使用集线器?1.2 集…

macOS Monterey 12.6.5 (21G531) Boot ISO 原版可引导镜像

本站下载的 macOS 软件包,既可以拖拽到 Applications(应用程序)下直接安装,也可以制作启动 U 盘安装,或者在虚拟机中启动安装。另外也支持在 Windows 和 Linux 中创建可引导介质。 2023 年 4 月 10 日(北京…

ESXI 6.7全面系统教程~汇总

ESXI 6.7全面系统教程 许可证:0A65P-00HD0-375M1-M097M-22P7H esxi 是一个脱机系统,也是一个虚拟机系统与vmware 相比,它可以直接运行在硬件上,这样可以减少资源浪费,一般用于服务器上;下面是esxi 的完整…

stable-diffusion-webui-colab部署记录

stable-diffusion-webui-colab 该模型可以在网上云端部署stable-diffusion,减少本地部署的繁琐步骤降低配置要求的依赖。 一、进入stable-diffusion-webui-colab 1.网址:https://github.com/camenduru/stable-diffusion-webui-colab 在分支中选择driv…

我的创作纪念日:Unity CEO表示生成式AI将是Unity近期发展重点,发布神秘影片预告

PICK 未来的AI技术将会让人类迎来下一个生产力变革,这其中也包括生成型AI的突破性革新。各大公司也正在竞相推出AIGC工具,其中微软的Copilot、Adobe的Firefly、Github的chatGPT等引起了人们的关注。然而,游戏开发领域似乎还没有一款真正针对性…

Vulnhub:Digitalworld.local (Development)靶机

kali:192.168.111.111 靶机:192.168.111.130 信息收集 端口扫描 nmap -A -v -sV -T5 -p- --scripthttp-enum 192.168.111.130 查看网站首页源码 访问development目录,提示存在一个流量包 查看流量包发现另一个网站路径:/devel…

java继承类怎么写

继承类是通过把父类的方法和属性继承到一个类中,而子类的方法和属性是子类自己定义的。 Java中有一个很重要的概念叫做继承,这也是 Java语言的精髓所在。Java语言提供了一种机制,叫做派生类。在 Java中,如果没有实现了某个派生类方…

python 调用c++

python中调用c,函数参数用 int类型,返回值为类型1,且返回值为 false。 注意:如果你使用了C中的 false,则返回的是-1。 在 Python中调用C时,你会得到一个名为 bool的类,其中包含了两个成员变量: …

多智能体深度强化学习在移动边缘计算的联合多通道访问和任务卸载中的应用

多智能体深度强化学习在移动边缘计算的联合多通道访问和任务卸载中的应用主要贡献与相关工作比较的贡献三、系统模型(only 2 pages)3.1 网络模型3.2 通信模型3.3 计算模型3.3.1 本地计算3.3.2 卸载计算四、预备知识(only 1 page)五…

SpringCloud-Gateway网关搭建整合nacos配置中心实现动态路由整合sentinel实现服务限流熔点降级

官方文档(更多配置详情直接查看官方文档) 为什么需要服务网关 传统的单体架构中只需要开放一个服务给客户端调用,但是微服务架构中是将一个系统拆分成多个微服务,如果没有网关,客户端只能在本地记录每个微服务的调用地址,当需要调…

安全防御 --- 恶意代码、防病毒

一、恶意代码 1、按照传播方式分类 (1)病毒 概念:病毒是一种基于硬件和操作系统的程序,具有感染和破坏能力,这与病毒程序的结构有关。病毒攻击的宿主程序是病毒的栖身地,它是病毒传播的目的地&#xff0…