美文网首页
TCP/IP网络模型有哪几层

TCP/IP网络模型有哪几层

作者: xxttw | 来源:发表于2023-06-18 10:34 被阅读0次
应用层

最上层,也就是我们能直接接触到的就是应用层, 比如我们电脑手机中使用的应用程序,都是应用层的实现
应用层只专注于为用户提供应用功能

应用层不用去关心数据是如何传输的, 就类似于我们寄快递,只需要将快递交给快点小哥, 由他负责运输即可

应用层是工作在操作系统的用户态, 而传输层及一下 则工作在内核态

传输层

应用层的数据包会交给传输层, 为应用层提供网络支持

传输层会有两个协议, 分别是TCPUDP
TCP 全称叫传输控制协议(Transmisson Control Protocol), 大部分应用使用的正是TCP传输层协议
TCP相比UDP多了很多特性, 比如流量控制,超时重传, 拥塞控制

UDP相对来说就比较简单, 简单到只负责发送数据包, 也不保证数据包是否能够到达对方, 但它的实时性比较高
不会有流量拥塞的问题,传输的数据包报文头部体积小, 传输速度快, 但是它是不可靠的传输

应用有时候传输的数据可能会很大, 直接传输就会不好控制, 因此当传输层的数据包大小超过MSS(TCP最大报文长度), 就要将数据包分块, 这样及时中途丢包了, 我们也只需要重复发送丢掉的那个包即可, 而不用重新发送整个数据包, 这就是TCP的可靠传输, 我们把每个分块称之为TCP段(TCP Segment)

image.png

当设备作为接收方时, 传输层要把数据包传送给对方, 但是一台设备上可能有很多个应用在接收和处传输数据, 因此我们需要一个编号来将应用区分开来, 那么这个编号就是端口

比如80端口通常就是Web服务器用的, 22端口远程登录服务器, 浏览器每个标签页都是一个单独的端口, 操作系统会随机进行端口号分配

传输层的报文中就会携带端口号, 因此接收方能够识别出是发送给哪个应用

网络层

刚开始接触传输层的时候, 我以为是传输层来传送的数据, 其实并不是它负责

实际场景中网络传输的环境是错综复杂的, 中间还有各种各样的线程和分叉路口, 设备的数据要传输给另一个设备, 就需要在各种各样的节点中进行选择, 而传输层的设计理念是简单、高效、专注, 如果传输层还要负责这一块的功能就有点违背设计原则了

也就是说不希望传输层处理的事情太多, 只需要服务好应用即可, 让其作为应用层数据传输的媒介即可. 实际传输的功能交给一下层, 网络层(Internet Layer)


image.png

网络层最长使用的是IP协议(Internet Protocol), IP协议会将传输层的报文作为数据部分, 再加上IP包头组成IP报文, 如果IP报文大小超过MTU(以太网中一般为1500字节)就会再次进行分片, 得到一个即将发送到网络的IP报文

网络层负责将数据从一个设备传输到另一个设备, 世界上那么多设备, 又该如何能够找到对方呢, 因此网络层需要有区分设备的编号就是IP地址

IP地址微分

  • 网络号, 负责标识该IP地址属于哪个[子网]
  • 主机号, 负责标识同一[子网]下的不同主机

寻址能力, 两台设备并不是用一条网线连接起来, 中间会进过很多网关, 路由器,交换机等众多网络设备,

IP协议的寻址作用是告诉我们去往下一个目的地的方向在哪里, 路由则是根据下一个目的地选择路径, 寻址像是在导航, 而路由更像是在操作方向盘去往导航的目的地

网络接口层

网络层数据包交给网络接口层,在IP头部的前面加上MAC头部,并封装成数据帧(Frame),发送到网络上

MAC头部包含了发送接收双方的MAC地址

网络接口层主要为网络层提供[链路级别]的传输服务, 负责在以太网,WIFI这样的底层网络上发送原始数据包,工作在网卡这个层次, 使用MAC地址来表示网络上的设备

总结


综上所述,TCP/IP网络通常是由上到下分成4层, 分别是应用层, 传输层, 网络层和网络接口层


image.png
image.png

网络接口层是帧(frame), 网络层IP层传输单位是包(packet), TCP层是段(segment), HTTP的传输单位则是消息或者报文,可以统称为数据包

相关文章

  • 2016.10.14问题

    osi七层模型,包括哪七层,作用分别是什么? tcp/ip模型有哪几层,分别对应osi模型的哪几层? 简述tcp三...

  • Linux环境下排除网络故障常用命令

    1. 网络模型回顾 先来回顾一下OSI和TCP/IP网络模型,TCP/IP网络模型更符合现实中的网络。TCP/IP...

  • 计算机网络知识整理

    TCP/IP 网络模型 TCP/IP 网络模型 应用层,传输层,网络层,链路层 TCP、UDP TCP报文段 源端...

  • java笔记--网络编程

    网络模型: OSI参考模型,TCP/IP参考模型。 网络通讯要素: IP地址(InetAddress): 网络中设...

  • Android网络基础知识

    网络体系 主要关注TCP/IP模型,了解OSI模型即可image.png TCP/IP协议族 TCP/IP概念层模...

  • iOS IP地址&端口号&网络模型&Socket

    一、IP地址 二、端口号 三、网络模型 TCP/IP网络模型 传输协议TCP\UDP 四、Socket 详情可去此...

  • Unix网络编程(1)

    一、TCP/IP网络模型 网络层:ip协议(internet protocol)。传输层:tcp协议:面向连接的、...

  • 网络基础

    OSI参考模型—层次结构 OSI参考模型和TCP/IP参考模型的比较 TCP/IP参考模型—层次结构 ·网络接口层...

  • TCP/IP模型&HTTP协议

    什么是TCP/IP模型?TCP/IP模型是互联网的基础,TCP/IP模型是一系列网络协议的总称。这些协议的目的,就...

  • 网络通讯原理简介以及演示通讯过程

    OSI网络七层参考模型 这是7层网络参考模型非实现层面的 TCP/IP协议实现 TCP/IP协议实现了七层网络模型...

网友评论

      本文标题:TCP/IP网络模型有哪几层

      本文链接:https://www.haomeiwen.com/subject/esxqcdtx.html