网络分层

  • TCP/IP的分层
    • 1.数据链路层
    • 2.网络层
    • 3.传输层
    • 4.应用层

OSI七层模型 与 TCP/IP协议族体系四层结构

TCP/IP的分层

1.数据链路层

数据链路层的主要功能是:通过各种控制协议,将有差错的物理信道变为无差错的、能可靠传输数据帧的数据链路。

在计算机网络中由于各种干扰的存在,物理链路是不可靠的。因此,这一层的主要功能是在物理层提供的比特流的基础上,通过差错控制,使有差错的物理线路变为无差错的数据链路,即提供可靠的通过物理介质传输数据的方法。

该层通常又被分为介质访问控制(MAC)和逻辑链路控制(LLC)两个子层。

  • MAC 子层的主要任务是解决共享型网络中多用户对信道竞争的问题,完成网络介质的访问控制;
  • LLC 子层的主要任务是建立和维护网络连接,执行差错校验、流量控制和链路控制。

TCP/IP 协议体系结构中,数据链路层的功能描述为实现网卡接口的网络驱动程序,以处理数据在物理媒介上的传输,不同的物理网络具有不同的电气特性,网络驱动程序隐藏了这些细节,为上层协议提供了一个统一的接口。这一层主要关注的三个基本问题是:封装成帧,透明传输和差错检测。

2.网络层

网络层实现数据包的选路和转发。广域网或者说互联网通常使用众多分级的路由器来连接分散的主机或者局域网,因此,通信的两台主机一般不是直接相连的,而是通过多个中间结点(路由器)连接的。网络层的任务就是选择这些中间结点,以确定两台主机之间的通信路径。同时,网络层对上层协议隐藏了网络拓扑连接的细节,使得在传输层和网络应用程序看来,通信的双方是直接相连的。

网络层最核心的协议是 IP 协议(Internet Protocol,因特网协议)。IP 协议根据数据包的目的 IP 地址来决定何如投递它。如果数据包不能直接发送给目标主机,那么 IP 协议就是为它寻找一个合适的吓一跳路由器,并将数据包交付给该路由器来转发。多次重复这一过程,数据包最终到达目标主机,或者由于发送失败而被丢弃。可见,IP 协议使用逐跳的方式确定通信路径。

网络层另外一个重要的协议是 ICMP 协议(因特网控制报文协议)。它是 IP 协议的重要补充,主要用于检测网络连接。

IP 协议为上层协议提供无状态、无连接、不可靠的服务。

  1. 无状态是指通信双方不同步传输数据的状态信息,因此所有 IP 数据报的发送、传输和接收都是相互独立、没有上下文关系的。这种服务最大的缺点是无法处理乱序和重复的 IP数据报。虽然 IP 数据报头部提供了一个标识字段用以唯一标识一个 IP 数据报,但它是被用来处理 IP 分片和重组的,而不是用来指示接收顺序的。无状态的优点是简单、高效。无须为保持通信状态而分配一些内核资源,也无须再每次通信时携带状态信息。

  2. 无连接是指 IP 通信双方都不长久地维持对方的任何信息。这样,上层协议每次发送数据的时候,都必须明确指定对方的 IP 地址。

  3. 不可靠是指 IP 协议不能保证 IP 数据报准确地到达接收端,它只是承诺尽最大努力。

IPV4头部结构:

3.传输层

传输层为两台主机上的应用程序提供端到端的通信。与网络层使用的逐跳通信的方式不同,传输层只关心通信的起始端和目的端,而不在乎数据包的中转过程。

传输层协议主要有三个:TCP 协议、UDP 协议和 SCTP 协议

TCP 协议(传输控制协议)为应用层提供可靠的、面向连接的和基于流的服务
TCP 协议使用超时重传、确认应答等方式来确保数据包被正确的发送至目的端,因此 TCP 服务是可靠的。使用 TCP 协议通信的双方必须先建立 TCP 连接,并在内核中为该连接维持一些必要的数据结构,比如连接状态,读写缓冲区等。当通信结束时,双方必须关闭连接以释放这些内核数据。TCP 服务是基于流的,基于流的数据没有边界(长度)限制,它源源不断地从通信地一端流入另一端。发送端可以逐个字节地向数据流中写入数据,接收端可以逐个字节地将它们读出。

TCP协议报头:

UDP 协议(用户数据报协议)则与 TCP 协议完全相反,它为应用层提供不可靠、无连接、基于数据报地服务。“不可靠”意味着 UDP 协议无法保证数据从发送端正确地传送到目的端。如果数据在中途丢失,或者目的端通过数据校验发现数据错误而将其丢弃,则 UDP协议只是简单地通知应用程序发送失败。

因此,如果要使 UDP 协议可靠,那么应用程序通常要自己处理数据确认、超时重传等逻辑。UDP 是无连接的,即通信双发不保持一个长久的联系,因此应用程序每次发送数据都要明确指定 接收端的地址。基于数据报的服务,是相对基于流的服务而言的。

每次 UDP 数据报都有一个长度,接收端必须以该长度为最小单位将其所有内容一次性读出,否则数据将被截断。

4.应用层

应用层负责处理应用程序的逻辑。

计算机网络基础概论——网络分层模型相关推荐

  1. 计算机网络-网络分层模型及基本网络协议

    1. 网络分层模型 1.1 分层模型图示 1.2 七层模型及各层含义 1 物理层(Physical Layer) 激活.维持.关闭通信端点之间的机械特性.电气特性.功能特性以及过程特性.该层为上层协议 ...

  2. 前端网络基础-网络分层模型

    OSI七层网络模型中各层的作用 物理层 物理层提供了两台机器互联的物理链路,比如网线(双绞线,光纤),无线网(电波). 物理层不仅提供了物理链路,还提供了数据传输能力,比如双绞线使用电信号,光纤使用光 ...

  3. 网络分层模型OSI和TCP/IP四层模型

    网络分层模型OSI和TCP/IP四层模型 网络分层模型OSI和TCP/IP四层模型 OSI模型,即开放式通信系统互联参考模型(Open System Interconnection,OSI/RM,Op ...

  4. 网络基础2(分层模型,通信过程,以太网,ARP协议格式和具体功能详解)

    分层模型 OSI七层模型 OSI模型 1 物理层:主要定义物理设备标准,如网线的接口类型.光纤的接口类型.各种传输介质的传输速率等.它的主要作用是传输比特流(就是由1.0转化为电流强弱来进行传输,到达 ...

  5. 老猿学5G扫盲贴:N6接口用户平面协议栈对应的网络分层模型

    在网络通信模型中,都对应有分层的网络结构,如开放式系统互联(OSI)的七层模型(物理层.数据链路层.网络层.传输层.会话层.表示层和应用层)以及TCP/IP四层(网络接口层.网络层.传输层和应用层)模 ...

  6. 山东大学网络教育计算机网络基础,山东大学网络教育《计算机网络基础》(本科).doc...

    山东大学网络教育<计算机网络基础>(本科) <计算机网络基础>模拟卷 填空题 1.试列举四种主要的网络互连设备名称:_中继器.集线器.网桥_和 路由器. 2.一个完整的计算机系 ...

  7. 你真的懂网络分层模型吗?

    写在前边 整个暑假去面试,面试了很多家公司(无论是小厂还是大厂)问到的深度不同,网络原理是面试最容易问到的问题,虽然我们在项目中很少去实践它,但是了解其原理,会让我们背后网络通信是如果工作的,既能在面 ...

  8. HCIA(计算机网络概念、网络协议模型意义)

    HCIA(计算机网络概念-网络协议模型意义) 文章目录 前言 一.计算机网络概念 二.网络协议模型意义 前言 这一节讲述网络的基本概念与网络协议模型的意义 提示:以下是本篇文章正文内容 一.计算机网络 ...

  9. 通信的标准——网络分层模型(1)

    文章目录 一.ISO 二.OSI 三.分层 1.OSI分层的意义 2.分层结构的优点 3.OSI参考模型层次结构(图示) 4.OSI七层模型的功能(图示) ①物理层 ②数据链路层 ③网络层 ④传输层 ...

最新文章

  1. 学习java时的一些笔记(4)
  2. python berkeley DB操作——打开btree索引文件中的database
  3. windows 安装
  4. QoS是否提供更多带宽?-Vecloud
  5. Dapper,大规模分布式系统的跟踪系统--转
  6. 网络:IP协议与寻址
  7. 手把手教你python实现量价形态选股知乎_【手把手教你】Python实现基于事件驱动的量化回测...
  8. Python 中的闭包、匿名函数、decorator 装饰器与python的偏函数
  9. mysql+linux+无法启动服务无法启动不了_Linux实例中MySQL服务常见的无法启动或启动异常处理...
  10. 江湖不再平静---51CTO学院停服公告
  11. 《南溪的目标检测学习笔记》——夏侯南溪的CNN调参笔记,加油
  12. java保留两位小数怎么_java保留两位小数4种方法
  13. Python:用类与对象写一元二次方程计算器中遇到的错误
  14. 基于米思齐的电磁炮基础代码
  15. 电脑的ppt打不开计算机二级,打不开电脑中的ppt文件并提示访问出错的解决方法...
  16. 一次悲惨的被挖矿经历
  17. 手撕神经网络(2)—— 将基本组件搭建成躯干
  18. OpenStack Train Magnum部署Kubernetes(2)--使用OpenStack界面部署虚拟机
  19. 查看 oracle 数据库服务端数据集
  20. PHP生成用户邀请码

热门文章

  1. delphi CopyMemory、FillMemory、MoveMemory、ZeroMemory
  2. FFmpeg源码分析:写媒体文件头avformat_write_header()
  3. ffmpeg学习(印对应的文件信息,抽取音频文件信息)
  4. 安装Twisted 出错
  5. 有了云?服务器还需要防护么?
  6. VS qsort和sort函数
  7. 2022世界500强排行榜出炉!中国国家电网位列第三
  8. Windows Apache Tomcat PHP mysql work together
  9. Jmeter之数据参数化方法汇总
  10. GTS DefaultPermissionGrantPolicyTest测试失败原因分析