计算机网络-TCP/IP网络模型

TCP/IP网络模型是一个分层的通信协议体系,包括应用层、传输层、网络层、数据链路层和物理层。应用层提供HTTP、FTP等服务,传输层通过TCP和UDP协议确保数据传输,网络层的IP协议处理寻址和路由,数据链路层用MAC地址标识设备,物理层则负责电信号的传输。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

计算机网络-TCP/IP网络模型

TCP/IP网络模型介绍

对于同⼀台设备上的进程间通信,有很多种⽅式,⽐如有管道、消息队列、共享内存、信号等⽅式,⽽对于不同设
备上的进程间通信,就需要⽹络通信,⽽设备是多样性的,所以要兼容多种多样的设备,就协商出了⼀套通⽤的⽹
络协议。

为了更方便的对其进行实现,此网络协议是分层实现的,每一层都有每一层的作用和职责,下面来一一介绍。

应用层

应用层在最上层,主要是为用户直接提供网络服务,比如web服务,提供了各种应用程序的协议,例如HTTP协议,FTP协议,SMTP协议,DNS协议,POP3协议,DHCP协议等等。

当两个不同设备中的应用进行通信的时候,应用层就把要传输的数据传给下一层,也就是传输层。所以应用层只专注于为用户提供服务,并不关心数据是如何在不同的设备之家进行传输的,在不同设备之间进行传输由下层实现。

应用层是工作在计算机中的用户态,而传输层及以下层是工作在核心态。

传输层

传输层主要是为了进行端到端之间的数据传输,主要是为两台主机设备上的应用程序提供端到端的通信。

也就是说,应用层只负责为用户提供服务,传输层负责将用户产生的数据端到端的传输到目的方,至于数据包是如何在网络中进行中转的,传输层并不关心,这是下层需要关心的事。

传输层有两个协议,分别是TCP和UDP

  • TCP协议(Transmission Control Protocol,传输控制协议)为应用层提供可靠的、面向连接的和基于流(stream)的服务。TCP协议使用超时重传、数据确认等方式来确保数据包被正确地发送至目的端,因此TCP服务是可靠的。TCP服务是基于流的。基于流的数据没有边界(长度)限制,它源源不断地从通信的一端流入另一端。发送端可以逐个字节地向数据流中写入数据,接收端也可以逐个字节地将它们读出。
  • UDP协议(User Datagram Protocol,用户数据报协议)则与TCP协议完全相反,它为应用层提供不可靠、无连接和基于数据报的服务。不可靠意味着如何数据发生任何问题,并不会重新发送或者做其他处理,只会通知发送方数据发送失败。UDP协议是无连接的,即通信双方不保持一个长久的联系,因此应用程序每次发送数据都要明确指定接收端的地址(IP地址等信息)。基于数据报的服务,是相对基于流的服务而言的。每个UDP数据报都有一个长度,接收端必须以该长度为最小单位将其所有内容一次性读出,否则数据将被截断。

TCP与UDP的区别:

  • 是否面向连接 :UDP 在传送数据之前不需要先建立连接。而 TCP 提供面向连接的服务,在传送数据之前必须先建立连接,数据传送结束后要释放连接。

  • 是否是可靠传输:远地主机在收到 UDP 报文后,不需要给出任何确认,并且不保证数据不丢失,不保证是否顺序到达。TCP 提供可靠的传输服务,TCP 在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认、窗口、重传、拥塞控制机制。通过 TCP 连接传输的数据,无差错、不丢失、不重复、并且按序到达。

  • 是否有状态 :这个和上面的“是否可靠传输”相对应。TCP 传输是有状态的,这个有状态说的是 TCP 会去记录自己发送消息的状态比如消息是否发送了、是否被接收了等等。为此 ,TCP 需要维持复杂的连接状态表。而 UDP 是无状态服务,简单来说就是不管发出去之后的事情了

  • 传输效率 :由于使用 TCP 进行传输的时候多了连接、确认、重传等机制,所以 TCP 的传输效率要比 UDP 低很多。

  • 传输形式 : TCP 是面向字节流的,UDP 是面向报文的。

  • 首部开销 :TCP 首部开销(20 ~ 60 字节)比 UDP 首部开销(8 字节)要大。

  • 是否提供广播或多播服务 :TCP 只支持点对点通信,UDP 支持一对一、一对多、多对一、多对多;

网络层

网络层负责为分组交换网上的不同主机提供通信服务,在接触传输层的时候,大家可能会认为传输层就是将数据从一个主机传输到另一个主机,其实并不是,传输层只是端到端的传输数据到不同主机中的应用程序。

网络中的错综复杂的,中间有各种各样的线路和分岔路口,如果一个设备的数据要传输给另一个设备,需要在各种线路中进行选择,如果传输层还负责这方面,这一层就会显得臃肿了。

而实际在网络中传输的是网络层,网络层的一个任务就是选择合适的路由,使源主机运输层所传下来的分组,能通过网络层中的路由器找到目的主机。

网络层的协议:

IP:网际协议 :网际协议 IP 是TCP/IP协议中最重要的协议之一,也是网络层最重要的协议之一,IP协议的作用包括寻址规约、定义数据包的格式等等,是网络层信息传输的主力协议。目前IP协议主要分为两种,一种是过去的IPv4,另一种是较新的IPv6,目前这两种协议都在使用,但后者已经被提议来取代前者。

ARP 协议 :ARP协议,全称地址解析协议(Address Resolution Protocol),它解决的是网络层地址和链路层地址之间的转换问题。因为一个IP数据报在物理上传输的过程中,总是需要知道下一跳(物理上的下一个目的地)该去往何处,但IP地址属于逻辑地址,而MAC地址才是物理地址,ARP协议解决了IP地址转MAC地址的一些问题。

NAT:网络地址转换协议 :NAT协议(Network Address Translation)的应用场景如同它的名称——网络地址转换,应用于内部网到外部网的地址转换过程中。具体地说,在一个小的子网(局域网,LAN)内,各主机使用的是同一个LAN下的IP地址,但在该LAN以外,在广域网(WAN)中,需要一个统一的IP地址来标识该LAN在整个Internet上的位置。

数据链路层

在实际中,网络并不是一个整体,而是由多个网络链接而成的, 所以数据不应该可以在同一个网络中进行传输,也可以在不同的网络中进行传输。一旦需要跨网络传输,就需要一个设备链接两个网络,这个设备就是路由器,路由器可以根据路由表找出要去的下一个ip地址,但是并不知道这个ip地址是哪个设备的,这时就需要一个标识来唯一的标识设备。

有人说为什么ip不能唯一标识一个设备,因为ip地址是逻辑地址,任何人都可以进行修改,所以并不可以标识一个设备,这就需要数据链路层中的mac地址来唯一的标识网络中的一个网络设备,提供链路级别的服务。

物理层

当数据要从设备发送到网络时,需要将数据包转换为电信号,让其可以在物理介质中进行传输,这就是物理层的作用,实现相邻计算机节点之间比特流的透明传送,尽可能屏蔽掉具体传输介质和物理设备的差异。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小崔同学24

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值