TCP/IP网络模型

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

在网络模型中有分为7层模型(OSI模型)和5层模型和TCP/IP模型

TCP/IP网络模型

OSI模型将应用层和表示层作为独立的两层,而TCP/IP模型将它们合并为一个应用层。

两种对比来说,TCP/IP模型更符合实际开发应用

TCP/IP网络模型

应用层

应用层是最上层的一层,也是在开发中接触到最多的,因为在开发中一般需要提供HTTP接口来返回信息

应用层支持HTTP、FTP、DNS、Telnet等传输数据等协议,应用层是不用去关心数据是如何传输的,只需要把要传输的数据交给下边的层

而且应用层是工作在操作系统中的用户态,传输层及以下则工作在内核态,
从应用层到传输层的操作是在操作系统中去完成的,通过网络协议栈的Api(Socket)来完成

应用程序通过 Socket 将数据发送出去时,操作系统内核会将数据从用户空间传输到内核空间,
然后将数据封装成 TCP、UDP 或其他协议的数据包,准备进行传输

总结应用层的大致作用:

  1. 提供HTTP、FTP等网络服务
  2. 实现应用程序间的数据交换
  3. 建立和维护应用程序之间的通信

传输层

运输层的任务就是负责向两个主机中进程之间的通信提供通用的数据传输服务。应用进程利用该服务传送应用层报文。

传输层中的最重要的任务是数据传输的可靠性和完整性的保障。为此,它使用了一些技术,如流量控制、拥塞控制、纠错和校验等等,以确保数据传输的正确性。
另外,它还提供了多路复用和即时连接等技术,以帮助应用程序高效地使用网络资源

在传输层会有两个传输协议,分别是 TCP(传输控制协议) 和 UDP(用户数据报协议)
在TCP使用了包括数据分段、确认应答、超时重传、流量控制等机制来保证数据传输的正确性和可靠性

UDP 相对来说就很简单,简单到只负责发送数据包,不保证数据包是否能抵达对方,但它实时性相对更好,传输效率也高

TCP和UDP的区别分别是:

  1. 可靠性:TCP 是一种面向连接的协议,可以提供可靠的数据传输,保证数据不会丢失和损坏。UDP 是一种无连接的协议,不提供任何可靠性保障,数据发送后可能会丢失或损坏。

  2. 连接方式:TCP 是面向连接的协议,通过三次握手建立连接,传输数据完成后还需要四次握手释放连接。UDP 是无连接的协议,直接发送数据,无需建立和释放连接。

  3. 延迟性:由于 TCP 需要在建立连接后再传输数据,会造成一定的延迟,所以 TCP 在实时性要求不高的场景下表现并不出色。UDP 直接发送数据,几乎没有延迟,适合实时性要求高的场景。

  4. 数据量:TCP 在数据传输时需要分段并封装成 TCP 报文段,还需要创建和维护数据传输控制块,所以相对来说占用的网络资源较多,适合数据量较大、要求完整传输的场景。UDP 直接将数据封装成 UDP 数据报,相对来说占用的网络资源较少,适合短数据量、快速传输的场景。

总之,TCP 适合要求数据传输可靠、数据量较大、不要求实时性的场景;UDP 适合对实时性要求高、数据量较小、可丢失的场景

网络层

网络层负责将数据从一个设备传输到另一个设备,网络层通过 IP (Internet Protocol)协议实现

可以理解为通过IP协议的寻址操作,在寻址的过程中,先匹配到相同的网络号(表示要找到同一个子网),才会去找对应的主机

除了寻址能力, IP 协议还有另一个重要的能力就是路由。实际场景中,两台设备并不是用一条网线连接起来的,
而是通过很多网关、路由器、交换机等众多网络设备连接起来的,那么就会形成很多条网络的路径,因此当数据包到达一个网络节点,就需要通过路由算法决定下一步走哪条路径

IP 协议的寻址作用是告诉我们去往下一个目的地该朝哪个方向走,路由则是根据「下一个目的地」选择路径

IP协议的寻址过程可以分为三个步骤,分别是主机向路由器的寻址、路由器向路由器的寻址、路由器向主机的寻址

  1. 主机向路由器的寻址:主机会根据自己的IP地址和子网掩码,判断目标地址是否在本地子网中。
    如果在本地子网中,则会直接发送ARP请求,获取目标主机的MAC地址。如果目标地址不在本地子网中,则会将数据包发送到本地网关(即本地路由器)的MAC地址。

  2. 路由器向路由器的寻址:路由器会根据路由表中的信息,选择下一跳路由器,并将数据包发送给下一站路由器。如果下一跳路由器不在本地子网中,则会通过ARP协议获取下一跳路由器的MAC地址。

  3. 路由器向主机的寻址:当数据包到达目标子网时,路由器会使用ARP协议获取目标主机的MAC地址,然后将数据包发送到目标主机。如果路由器无法获取目标主机的MAC地址,则会将数据包发送到本地网关进行转发。

网络层和传输层的基本区别在于,网络层处理的是分组(packet),而传输层处理的是数据流(stream)

传输层通过协议(如TCP或UDP协议)从上层应用程序接收数据,并将数据分割成较小的报文段(segment),从而能够被网络层传输

网络接口层

每经过一层,都会在数据包上加上请求头

在通过网络层获取到目标IP后,会将目标IP加到数据包上,生成了 IP 头部,接下来要交给网络接口层(Link Layer)在 IP 头部的前面加上 MAC 头部,并封装成数据帧(Data frame)发送到网络上。

TCP/IP网络模型

IP 头部中的接收方 IP 地址表示网络包的目的地,通过这个地址我们就可以判断要将包发到哪里,但在以太网的世界中,这个思路是行不通的

以太网在判断网络包目的地时和 IP 的方式不同,因此必须采用相匹配的方式才能在以太网中将包发往目的地,
而 MAC 头部就是干这个用的,所以,在以太网进行通讯要用到 MAC 地址,MAC 头部是以太网使用的头部,它包含了接收方和发送方的 MAC 地址等信息,
我们可以通过 ARP 协议获取对方的 MAC 地址

所以说,网络接口层主要为网络层提供「链路级别」传输的服务,负责在以太网、WiFi 这样的底层网络上发送原始数据包,工作在网卡这个层次,使用 MAC 地址来标识网络上的设备

总结

这就是TCP/IP分层的大致

TCP/IP网络模型文章来源地址https://www.toymoban.com/news/detail-436824.html

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

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

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

相关文章

  • 【计算机网络概述】第二章:应用层:2.1 应用层原理

    客户端/服务器模式 peer to peer 模式(对等模式)        在第一章的内容中,我们学习了计算机网络的大体轮廓,因为在计算机网络中,我们需要记住非常多的专有名词,所以在第一章中,我们需要进行非常多的记忆。第一章还是非常重要的。        比如,我们所使用

    2024年01月18日
    浏览(56)
  • 【网络】-- 应用层

    目录 TCP协议通讯流程 三次握手的过程 四次挥手的过程 TCP 和 UDP 对比 应用层 \\\"协议\\\" 网络版计算器 认识TCP 守护进程 铺垫讲解 守护进程讲解 setsid 总结         下图是基于TCP 协议的客户端 / 服务器程序的一般流程: TCP是面向连接的通讯协议,在通讯之前,需要进行 3次握

    2023年04月09日
    浏览(62)
  • 计算机网络————应用层

    应用层的具体内容就是规定应用进程在通信时所遵循的协议 应用层的许多协议都是基于客户服务器方式,客户是服务请求方,服务器是服务提供方 应用进程通信的方式: 1、客户/服务器(C/S, Client/Server)方式 应用层的许多协议是基于C/S方式,例如,在移动互联网环境下,每

    2024年02月12日
    浏览(45)
  • 计算机网络 应用层

    域名系统概述 域名系统 DNS (Domain Name System) 是互联网使用的命名系统,用来把便于人们使用的机器名字转换为 IP 地扯 互联网的域名系统 DNS 被设计成为一个联机分布式数据库系统,并采用客户服务器方式。 DNS 使大多数名字都在本地进行解析(resolve). 互联网的域名结构 采用层

    2024年01月17日
    浏览(68)
  • 计算机网络-应用层

    对应用程序的通信提供服务:文件传输、访管FTP、电子邮件SMTP、虚拟终端HTTP 应用层协议定义了报文类型、语法、语义、发送/响应报文的规则 减轻了服务器的计算压力,不需要完全依赖某个服务器,利用大量客户机减轻对服务器的压力 多个客户机直接共享文档 可拓展性好,

    2024年02月07日
    浏览(49)
  • 【网络】应用层——HTTP协议

    🐱作者:一只大喵咪1201 🐱专栏:《网络》 🔥格言: 你只管努力,剩下的交给时间! 上篇文章中,本喵带着大家对HTTP有了一个初步的认识,今天就来详细讲解一下这个应用层协议。 如上图所示的 url (网址),里面包含有 / 以及 ? 等字符。 像这样的字符,已经被url当做 特殊

    2024年02月15日
    浏览(43)
  • 计算机网络——应用层

    这篇文章是计算机网络系列文章的第五篇 计算机网络——物理层 计算机网络——数据链路层 计算机网络——网络层 计算机网络——传输层 计算机网络——应用层 计算机网络中的应用层在当今的社会起到了什么作用? 应用层在当今社会有着必不可缺的作用。是协议栈中的最

    2024年02月16日
    浏览(58)
  • 【计算机网络】应用层

    客户-服务器体系结构: 特点:客户之间不能直接通信;服务器具有周知的,固定的地址,该地址称为IP地址。 配备大量主机的数据中心常被用于创建强大的虚拟服务器; P2P体系结构: 特点:对位于数据中心的专用服务器有最小(或者没有)依赖 P2P最引人入胜的特征之一是

    2024年02月06日
    浏览(56)
  • 【网络】应用层——HTTPS协议

    🐱作者:一只大喵咪1201 🐱专栏:《网络》 🔥格言: 你只管努力,剩下的交给时间! 前面本喵讲解并演示了HTTP协议,在比较 POST 和 GET 方法的时候,本喵说这两个方法都不安全,虽然 POST 的提交的表单内容在请求正文中,无法在地址的 url 中看到,但是它仍然是不安全的。

    2024年02月14日
    浏览(45)
  • 计算机网络网--应用层

    特点 网络核心中没有应用层软件 网络核心没有应用层功能 网络应用只在端系统上存在,快速网络应用开发和部署 在计算机网络中,进行通信的是 进程 而不是程序。不同端系统上,进程通过计算机网络交换 报文 而相互通信。 进程与计算机网络接口 进程通过称为 套接字 的

    2024年02月15日
    浏览(53)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包