TCP/IP 五层协议模型

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

转载大佬文章

我们每天使用互联网,本质上是在传输/接收各种数据,具体如何传输则是按照一系列互联网协议进行的。我们常说的网络七层模型,五层模型,四层模型都是对数据传输过程做了细化的分层。

按照五层模型比较好理解,并且理解每一层的功能主要是理解每一层的协议,如图是从【客户端】发送数据,经过应用层–》传输层–》网络层–》数据链路层–》物理层这 五层协议的处理,转化为物理的光电信号传输。【服务端】接收到之后再逆向顺序按照每层的协议逆向分析出数据。

分层的意义是为了封装,每一层都有自己特有的功能,上层协议可以使用下层协议的功能,上层的变动完全不涉及下层的结构

TCP/IP 五层协议模型,网络2023,网络协议,TCP/IP 网络模型

一、自下向上的系统的角度

1、物理层

将计算机用物理设备链接,使用网络物理方式传输0/1 序列,其中物理设备主要包含光缆、电缆、双绞线、无线电波等。

2、数据链路层

最终数据是按照0/1 序列进行传输的,0/1序列如何解读和分组,就是『数据链路层』的功能。
作用于该层功能的协议:以太网协议

3、网络层

每个计算机接入网络后都分配一个 IP 地址,我们如何找到具体的计算机节点就是『网络层』的功能。
作用于该层功能的协议:IP 协议、ARP协议、ICMP协议

4、传输层

每个计算机上都运行着多个程序,每个程序都有唯一的端口号,我们如何找到具体某个程序来接收和发送数据就是『传输层』的功能。
作用于该层功能的协议:TCP 协议、UDP协议

5、应用层

用户唯一能接触到的一层,应用之间的数据链接协议,规定应用程序的数据格式就是『应用层』的功能。例如浏览器向服务发送HTTP请求时,就必须按照Http 协议规定的格式发送数据。
作用于该层功能的协议:HTTP 协议、DHCP协议、FTP协议、SMTP协议

二、每层协议功能详细说明

1、物理层

将计算机用物理设备链接,使用网络物理方式传输0/1 序列。
其中物理设备主要包含光缆、电缆、双绞线、无线电波等。也是我们物理上能观察到的。
TCP/IP 五层协议模型,网络2023,网络协议,TCP/IP 网络模型

2、数据链路层

『数据链路层』的功能就是针对 0/1序列解读和分组。

1.以太网协议

以太网规定:一组0/1电信号构成一个数据包,叫做帧,每一帧包含标头(Head)和数据体(Data)
TCP/IP 五层协议模型,网络2023,网络协议,TCP/IP 网络模型
标头包含了数据类型,发送者和接受者等信息。
"标头"的长度,固定为18字节,"数据"的长度,最短为46字节,最长为1500字节,整个"帧"最短为64字节,最长为1518字节。如果数据很长,就必须分割成多个帧进行发送

2.MAC 地址

上面提到数据包标头中包含了发送者和接受者信息,发送和接受的设备都有其唯一标识(网卡地址,MAC地址),每块网卡出厂的时候,都有唯一的MAC地址,长度是48个二进制位,通常用12个十六进制数表示,就可以定位网卡和数据包的路径了。

3.广播

如果都知道了发送和接受设备的MAC地址了,如何做到一对一准确传输呢?
以太网采用一种很"原始"的方式,他会向子网内的所有设备进行广播📢,接收的机器判断自己的 MAC 地址和标头中的 MAC 地址是否相等,相等则接收数据,否则丢弃数据。
TCP/IP 五层协议模型,网络2023,网络协议,TCP/IP 网络模型
上面广播方式时默认了发送者是知道接收者的MAC地址的。那如何获取接受者的 MAC 地址呢?这个是根据网络层的ARP 协议获取的。

3、网络层

数据链路层中以太网以广播的形式传输,如果北京和巴黎两台计算机处于同一子网内时,两者进行通信时,如果还是采用这种广播的方式,那就造成资源浪费和十分低效,所以两者肯定不能存在同一子网范围内 (只是包含了附近少量的设备)。那么如何区分多个设备是属于同一子网内呢?
我们知道,MAC 地址只与物理设备有关,与网络无关,所以这是网络层的功能。
网络层引进一套新的地址,使我们能够区分两台设备是否处于同一子网络,这个地址简称 『网络地址』

1.IP 协议

IP 协议功能是为每一个计算机分配网络地址,并且判断哪些网络地址属于同一子网络。 它所定义分配的地址,就被称为IP地址。(注意:IP 地址是IP 协议定义的网络地址的称呼,IP 协议则是一套协议)。

IPv4规定,网络地址由32个二进制位组成,从0.0.0.0一直到255.255.255.255,互联网上的每一台计算机,都会分配到一个IP地址。这个地址分成两个部分,前一部分代表网络,后一部分代表主机,如何区分哪部分是主机部分,需要用到另一个参数"子网掩码",形式上等同于IP地址,网络部分全部为1,主机部分全部为0,将两个IP地址与子网掩码分别进行AND运算(两个数位都为1,运算结果为1,否则为0),然后比较结果是否相同,如果是的话,就表明它们在同一个子网络中。

例如:
已知IP地址172.16.254.1和172.16.254.233的子网掩码都是255.255.255.0,请问它们是否在同一个子网络?两者与子网掩码分别进行AND运算,结果都是172.16.254.0,因此它们在同一个子网络。

2.IP 数据包

根据 IP协议发送的数据包就成为IP 数据包,IP数据包也分为"标头"和"数据"两个部分。数据部分直接放进以太网数据包的"数据"部分 ,标头部分增加IP地址信息(完全不用修改以太网的规格。这就是互联网分层结构的好处:上层的变动完全不涉及下层的结构)。
TCP/IP 五层协议模型,网络2023,网络协议,TCP/IP 网络模型

3.ARP 协议

ARP 协议(地址解析协议)主要负责 IP 地址和 MAC 地址的映射关系解析。
ARP协议也是发出一个数据包(包含在以太网数据包中,这里也体现了:上层协议可以使用下层协议的功能),其中包含它所要查询主机的IP地址,在对方的MAC地址这一栏,填的是FF:FF:FF:FF:FF:FF,表示这是一个"广播"地址。它所在子网络的每一台主机,都会收到这个数据包,从中取出IP地址,与自身的IP地址进行比较。如果两者相同,都做出回复,向对方报告自己的MAC地址,否则就丢弃这个包。

4、传输层

有了MAC地址和IP地址,我们已经可以在互联网上任意两台主机上建立通信。
但是每个计算机上都运行着多个程序,还需要一个参数表示每个程序的唯一性。这个参数就叫做"端口"(port)。

"端口"是0到65535之间的一个整数,正好16个二进制位。0到1023的端口被系统占用,用户只能选用大于1023的端口。不管是浏览网页还是在线聊天,应用程序会随机选用一个端口,然后与服务器的相应端口联系。

“网络层"的功能是建立"主机到主机"的通信,“传输层"的功能是建立"端口到端口"的通信。那么如何将端口信息加到数据报中呢,使用了下面的协议。

1.UDP 协议

用户数据报协议,也是由"标头"和"数据"两部分组成,"标头"部分主要定义了发出端口和接收端口。"数据"部分就是具体的内容。然后,把整个UDP数据包放入IP数据包的"数据"部分,而前面说过,IP数据包又是放在以太网数据包之中的,所以整个以太网数据包现在变成了下面这样。
TCP/IP 五层协议模型,网络2023,网络协议,TCP/IP 网络模型

2.TCP 协议

传输控制协议。
对比UDP协议,TCP 协议提供了建立连接的可靠传输,可靠性强,实现复杂。
详细内容后面讲。

5、应用层

应用层主要功能就是规定应用程序的数据格式。
举例来说,TCP协议可以为各种各样的程序传递数据,比如 Email、WWW、FTP等等。那么,必须有不同协议规定电子邮件、网页、FTP数据的格式,这些应用程序协议就构成了"应用层"。

1. DHCP

计算机每次开机都会动态分配一个 IP 地址,DHCP 协议就是实现这个过程的(动态主机分配协议)
该协议规定,子网内有一台计算机专门负责管理本网络的IP地址,这台主机称为 DHCP 服务器,每台计算机开始接入网络时,回动态的向服务器发送一个『DHCP数据包』来申请IP地址和相关的网络参数。
TCP/IP 五层协议模型,网络2023,网络协议,TCP/IP 网络模型

DHCP 协议是基于UDP协议的应用层协议,其『DHCP数据包』 格式如上:

(1)以太网标头中存放本机MAC 地址、DHCP服务器 MAC 地址(此时还不知道,设置为广播地址:FF-FF-FF-FF-FF-FF)
(2)IP 标头中存放发出方和接收方的 IP 地址,两者都不知,前者:0:0:0:0,后者:255:255:255:255
(3)UDP标头中存放发出方的端口和接收方的端口。这一部分是DHCP协议规定好的,发出方是68端口,接收方是67端口

以太网是广播发送的,每台计算机都收到请求,拿到广播的 MAC 地址时,都不确定。所以必须要解析 IP地址,当看到发出方IP地址是0.0.0.0,接收方是255.255.255.255,于是DHCP服务器知道"这个包是发给我的",而其他计算机就可以丢弃这个包

接下来,DHCP服务器解析这个包的数据,发送回去一个"DHCP响应"数据包,以同样的格式,分配的 IP 和网络信息都在 DATA 中。至此,新加入的计算机收到这个响应包,于是就知道了自己的IP地址、子网掩码、网关地址、DNS服务器等等参数。

2.HTTP协议

HTTP协议是基于 TCP 的应用层协议。
TCP/IP 五层协议模型,网络2023,网络协议,TCP/IP 网络模型
HTTP格式如下:

   GET / HTTP/1.1
  Host: www.google.com
  Connection: keep-alive
  User-Agent: Mozilla/5.0 (Windows NT 6.1) …
  Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
  Accept-Encoding: gzip,deflate,sdch
  Accept-Language: zh-CN,zh;q=0.8
  Accept-Charset: GBK,utf-8;q=0.7,*;q=0.3
  Cookie: … …

我们假定这个部分的长度为4960字节,它会被嵌在TCP数据包之中。文章来源地址https://www.toymoban.com/news/detail-607684.html

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

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

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

相关文章

  • 【网络】- TCP/IP四层(五层)协议 - 网际层(网络层) - 网际协议IP

    这篇文章主要介绍TCP/IP协议的网际层,上一篇文章介绍了数据链路层,数据链路层的主要作用是 在互连同一种数据链路的节点之间进行包传递 。而网际层的主要作用是 实现终端节点(即使不在同一网络)的通信 。 网际层 有时也称 网络层 ,但由于网际层的作用中包含了“实现

    2024年02月06日
    浏览(41)
  • 【网络】- TCP/IP四层(五层)协议 - 网际层(网络层) - IP地址

    上篇文章简单介绍了网际协议IP。网际协议 IP 大致分为三大作用模块, ①IP寻址、 ②路由(最终节点为止的转发) 、③IP分包与组包。 这篇文章主要详细介绍IP地址的基础知识。包括IP地址的组成、分类、广播地址、多播、子网掩码等。 在用 TCP/IP 通信时, 用 IP地址 识别主

    2024年02月06日
    浏览(32)
  • 【网络】- TCP/IP四层(五层)协议 - 物理层

    TCP/IP 在最初定义时,是一个四层的体系结构,包括应用层、传输层、网络层、网络接口层。不过从实质上来讲,TCP/IP只有最上面三层,因为最下面的网络接口层并没有什么具有内容。因此,在学习计算机网络原理时,往往采用折中的办法,综合了 OSI 和 TCP/IP 的优点,采用了

    2024年02月05日
    浏览(36)
  • TCP/IP协议模型的五层处理流程简介

    TCP/IP是一种分层模型,它将通信协议分解为五个层次,每个层次都有特定的功能和任务。以下是TCP/IP五层的处理流程: 应用层(Application Layer):这是TCP/IP模型的最上层,负责处理应用程序的请求和数据。在该层,应用程序(例如浏览器、电子邮件客户端等)与用户进行交互

    2024年02月16日
    浏览(29)
  • 【网络】- TCP/IP四层(五层)协议 - 网际层(网络层) - 路由控制

    网际协议 IP 大致分为三大作用模块, ①IP寻址、 ②路由(最终节点为止的转发) 、③IP分包与组包。前面两篇文章讨论了IP地址的相关知识,本文继续讨论网际协议的第二个模块——路由,了解IP数据报是怎样从一个网络到另一个网络的。 在进行下面的阅读之前,先了解一个

    2024年02月06日
    浏览(33)
  • 计算机网络—网络原理之<TCP/IP 五层协议 >图解+详述

    当应用程序间需要进行网络通讯,在 TCP/IP 五层协议的应用层需要做的工作是,程序员 自定义应用层协议 。 当前要开发一个关于“点外卖软件”的一个项目,其中有一个功能为:获取用户的订单历史(后端服务器从数据库中取出数据返回给前端页面),类似像这样的功能,

    2024年02月07日
    浏览(45)
  • TCP/IP 五层网络模型详解

    目录 什么是TCP/IP 协议分层的好处 如何分层 进行网络传输 封装 分用 中间的过程 TCP/IP五层网络模型是当下最广泛使用的网络模型,而OSI七层网络模型是仅存在于教科书上的 为何需要ICP/IP五层网络模型: 在网络通信中的环境其实是非常复杂的,面对复杂的环境,就需要复杂协议;

    2024年02月02日
    浏览(65)
  • 【网络】- TCP/IP四层(五层)协议 - 网际层(网络层) - 划分子网、构造超网

    前面的文章介绍了网络层的 网际协议IP ,介绍了IP地址的定义,知道了IP地址分为 网络标识 (网络地址)、 主机标识 (主机地址)两部分,也清楚了最初IP地址是按照 分类 被划分为A、B、C、D、E 五类。但是这样的分类却存在不合理的地方,这篇文章的内容之一就是要谈谈这些不

    2024年02月06日
    浏览(31)
  • 【JavaEE初阶系列】——网络初识—TCP/IP五层网络模型

    目录 🚩网络的发展史 🎈局域网LAN  🎈广域网WAN 🚩网络通信基础 🎈IP地址 🎈端口号 🎈协议类型  🎈五元组 🚩协议分层  🎈什么是协议分层 🎈协议分层的好处 🎈OSI七层网络模型 🎈TCP/IP五层网络模型 💻物理层 💻数据链路层 💻网络层 💻传输层  💻应用层 🎈网络

    2024年04月15日
    浏览(26)
  • 通信模型四层(TCP/IP)、五层、七层(OSI)的作用、协议及数据传输单位

    四层模型 五层模型 七层模型 每层作用 物理层:传输比特流 数据链路层:控制网络层和物理层之间的通信 网络层:IP寻址和路由选择 传输层:建立、维护、管理端到端连接 会话层:建立、维护、管理会话连接 表示层:数据格式化,加密、解密、 应用层:为应用程序提供网

    2024年02月03日
    浏览(35)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包