计算机网络 | I/O模型、网络模型(OSI七层及TCP/IP四层)

这篇具有很好参考价值的文章主要介绍了计算机网络 | I/O模型、网络模型(OSI七层及TCP/IP四层)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

计算机网络 | I/O模型、网络模型(OSI七层及TCP/IP四层)

欢迎关注博主 Mindtechnist 或加入【Linux C/C++/Python社区】一起学习和分享Linux、C、C++、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和技术。



专栏:《网络编程》


I/O模型

阻塞I/O

计算机网络 | I/O模型、网络模型(OSI七层及TCP/IP四层)

①当上层应用app1调用recv系统调用时,如果对等方没有发送数据(缓冲区没有数据),上层应用app1将阻塞(默认行为,被linux内核阻塞);
②当对等方发送了数据,linux内核recv端缓冲区,有数据后,内核会把数据copy给用户空间。然后上层应用app1解除阻塞,执行下一步操作。

非阻塞I/O

计算机网络 | I/O模型、网络模型(OSI七层及TCP/IP四层)

①上层应用程序app2将套接字设置成非阻塞模式。
②上层应用程序app2轮询调用recv函数,接受数据。若缓冲区没有数据,上层程序app2不会阻塞,recv返回值为-1,错误码是EWOULDBLOCK
③上层应用程序不断轮询有没有数据到来。会造成上层应用忙等待。大量消耗CPU。很少直接用。应用范围小,一般和selectIO复用配合使用。

I/O复用

计算机网络 | I/O模型、网络模型(OSI七层及TCP/IP四层)

①上层应用程序app3调用select机制(该机制有linux内核支持,避免了app3忙等待。),进行轮询文件描述符的状态变化。
②当select管理的文件描述符没有数据(或者状态没有变化时),上层应用程序app3也会阻塞。
③好处select机制可以管理多个文件描述符
select可以看成一个管理者,用select来管理多个IO
一旦检测到的一个I/O或者多个IO,有我们感兴事件,发生,select函数将返回,返回值为检测到的事件个数。进而可以利用select相关api函数,操作具体事件。
select函数可以设置等待时间,避免了上层应用程序app3,长期僵死。
⑥和阻塞IO模型相比,selectI/O复用模型相当于提前阻塞了。等到有数据到来时,再调用recv就不会发生阻塞。整个系统性(applinux内核协议栈配合更好了)能优化、提供了。

信号驱动I/O

计算机网络 | I/O模型、网络模型(OSI七层及TCP/IP四层)

① 上层应用程序app4建立SIGIO信号处理程序。当缓冲区有数据到来,内核会发送信号告诉上层应用程序app4。
②上层应用程序app4接收到信号后,调用recv函数,因缓冲区有数据,recv函数一般不会阻塞。
③这种用于模型用的比较少,属于典型的“拉模式”。即:上层应用app4,需要调用recv函数把数据拉进来。

异步I/O

计算机网络 | I/O模型、网络模型(OSI七层及TCP/IP四层)

①上层应用程序app5调用aio_read函数,同时提交一个应用层的缓冲区buf;调用完毕后,不会阻塞。上层应用程序app5可以继续其他任务。
②当tcpip协议缓冲区有数据时,linux主动的把内核数据copy到用户空间。然后再给上层应用app5发送信号;告诉app5数据有了,赶快处理吧。
③典型的“推模式”。
④ 效率最高的一种形式,上层应用程序app5有异步处理的能力(在linux内核的支持下,言外之意:处理其他任务的同时,也可支持IO通讯)。

...

网络模型

OSI七层模型

计算机网络 | I/O模型、网络模型(OSI七层及TCP/IP四层)

物理层:主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后再转化为1、0,也就是我们常说的数模转换与模数转换)。这一层的数据叫做比特。
数据链路层:定义了如何让格式化数据以帧为单位进行传输,以及如何让控制对物理介质的访问。这一层通常还提供错误检测和纠正,以确保数据的可靠传输。如:串口通信中使用到的115200、8、N、1
网络层:在位于不同地理位置的网络中的两个主机系统之间提供连接和路径选择。Internet的发展使得从世界各站点访问信息的用户数大大增加,而网络层正是管理这种连接的层。
传输层:定义了一些传输数据的协议和端口号(WWW端口80等),如:TCP(传输控制协议,传输效率低,可靠性强,用于传输可靠性要求高,数据量大的数据),UDP(用户数据报协议,与TCP特性恰恰相反,用于传输可靠性要求不高,数据量小的数据,如QQ聊天数据就是通过这种方式传输的)。 主要是将从下层接收的数据进行分段和传输,到达目的地址后再进行重组。常常把这一层数据叫做段。
会话层:通过传输层(端口号:传输端口与接收端口)建立数据传输的通路。主要在你的系统之间发起会话或者接受会话请求(设备之间需要互相认识可以是IP也可以是MAC或者是主机名)。
表示层:可确保一个系统的应用层所发送的信息可以被另一个系统的应用层读取。例如,PC程序与另一台计算机进行通信,其中一台计算机使用扩展二一十进制交换码(EBCDIC),而另一台则使用美国信息交换标准码(ASCII)来表示相同的字符。如有必要,表示层会通过使用一种通格式来实现多种数据格式之间的转换。
应用层:是最靠近用户的OSI层。这一层为用户的应用程序(例如电子邮件、文件传输和终端仿真)提供网络服务。

TCP/IP四层模型

TCP/IP网络协议栈分为应用层(Application)、传输层(Transport)、网络层(Network)和链路层(Link)四层。如下图所示:

计算机网络 | I/O模型、网络模型(OSI七层及TCP/IP四层)

一般在应用开发过程中,讨论最多的是TCP/IP模型。

应用层 —— telent ftp 
传输层 —— tcp udp 
网络层 —— ip
链路层 —— mac 

计算机网络 | I/O模型、网络模型(OSI七层及TCP/IP四层)
计算机网络 | I/O模型、网络模型(OSI七层及TCP/IP四层)文章来源地址https://www.toymoban.com/news/detail-467993.html


到了这里,关于计算机网络 | I/O模型、网络模型(OSI七层及TCP/IP四层)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【计算机网络】(1)OSI七层模型、协议、交换技术、路由器技术

    计算机网络 是计算机技术与通信技术相结合的产物,它实现了远程通信 、远程信息处理和资源共享 数据通信 资源共享 管理集中化 实现分布式处理 负载均衡 (书本P57) 计算机网络的性能指标 速率 带宽(频带宽度或传送线路速率) 吞吐量 时延 往返时间 利用 (书本P58) 计算

    2024年01月19日
    浏览(29)
  • 【网络】- 计算机网络体系结构 - OSI七层模型、TCP/IP四层(五层)协议

    但凡学习计算机网络知识,肯定绕不过网络协议的,而说的计算机网络协议,总是会听到 OSI七层模型 、 TCP/IP四层协议 ,有些文章又会说成是 TCP/IP五层协议 ,刚入门学这些网络协议时,给我整得一愣一愣的。 这篇文章的目的就是把计算机网络体系的这几个协议给尽可能讲清

    2024年02月03日
    浏览(43)
  • 计算机网络七层体系结构(OSI七层结构)、TCP/IP四层模型、网络五层体系结构

    计算机网络七层体系结构(OSI七层结构)、TCP/IP四层模型、网络五层体系结构 七层体系结构(OSI七层结构) :为了使全世界不同体系结构的计算机能够互联,国际化标准组织ISO提出开放系统互联基本参考模型,简称OSI,即所谓的7层协议体系结构。 TCP/IP四层模型 :是由实际

    2024年02月06日
    浏览(41)
  • 【计算机网络】OSI七层模型与TCP/IP四层模型的对应与各层介绍

    OSI(Open Systems Interconnection)模型是一个由国际标准化组织(ISO)定义的七层网络体系结构,用于描述计算机网络中的通信协议。每一层都有特定的功能,而且每一层的功能都建立在它下面的一层之上。 提供网络服务和应用程序之间的接口 包括各种网络应用,如电子邮件、文

    2024年01月23日
    浏览(34)
  • 系分笔记计算机网络OSI七层模型概念、协议和作用以及TCP/IP协议

      计算机网路是系统分析师考试的常考知识点,本篇主要记录了知识点:OSI七层模型概念、协议和作用以及TCP/IP协议中比较重要的考点。   计算机网络的OSI七层模型从底层往上,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。   计算机网络

    2024年01月16日
    浏览(40)
  • 计算机网络 | OSI 参考模型

    参考视频:王道计算机考研 计算机网络 参考书:《2022年计算机网络考研复习指导》 OSI 参考模型自下而上分为7层: 名称 英文 作用 应用层 Application Layer 直接为用户的应用进程(例如电子邮件、文件传输和终端仿真)提供服务。如HTTP、SMTP、FTP、DNS 等 表示层 Presentation Laye

    2024年02月07日
    浏览(35)
  • 深入了解OSI模型:计算机网络的七大层次

    目录 OSI模型 物理层 数据链路层 网络层 传输层 会话层 表示层 应用层 OSI模型是一个网络通信的概念模型,用于描述计算机网络中各个不同层次之间的通信和功能。它将网络通信分为七个不同的层次,每个层次负责不同的任务,使得网络通信的设计、开发和管理更加模块化和

    2024年02月07日
    浏览(27)
  • 计算机网络-OSI参考模型(来由 通信过程 各层分析)

    两种网络分层结构 结合事实标准和法定标准得到一个中和版本5层的体系结构 刚开始各个公司的网络体系结构不同,所以不能互通 所以ISO组织提出了这么一个模型,但由于与实际应用还是有点偏差,所以实际应用还是采用了TCP/IP模型 资源子网和通信子网相当于就是一个是对

    2024年01月25日
    浏览(36)
  • 计算机网络学习笔记(二)OSI模型与TCP-IP模型

    7层 物链网输会示用(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层) 消耗流量的各个软件和程序。比如发送邮件的FTTP,发送文件的SMTP、万维网(HTTP) 规定两个通信端间传输数据的表达方式。 具体功能: 数据压缩与解压缩 数据加密与解密 数据格式的

    2024年01月22日
    浏览(36)
  • 计算机网络之TCP/IP协议第二篇:OSI参考模型详解

    😉😉 学习交流群: ✅✅1:这是孙哥suns给大家的福利! ✨✨2:我们免费分享Netty、Dubbo、k8s、Mybatis、Spring...应用和源码级别的视频资料 🥭🥭3:QQ群:583783824   📚📚  工作微信:BigTreeJava 拉你进微信群,免费领取! 🍎🍎4:本文章内容出自上述:Spring应用课程!💞💞

    2024年02月09日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包