【网络原理】TCP/IP四层模型中的重点网络协议

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

目录

🌟一、应用层协议

🌈1、XML协议 

🌈 2、JSON

🌈 3、其他协议

🌟二、传输层协议(UDP与TCP重点)

🌈1、UDP协议格式

🌈 2、TCP协议格式

🎉TCP的10条机制(必会)

1、确认应答机制(可靠机制)

2、超时重传机制(可靠机制)

3、连接管理机制(三次握手,四次挥手)(可靠机制)

4、滑动窗口机制(效率机制)

5、流量控制(可靠机制)

6、拥塞控制 (可靠机制)

7、延迟应答(效率机制)

8、捎带应答(效率机制)

9、面向字节流

10、TCP异常情况

🌟三、网络层重点协议

🌈1、IP协议格式​编辑

🌈2、IP地址:IPv4与IPv6

🌈3、路由选择 

🌟四、数据链路层重点协议

🌈1、以太网格式

🌈2、MTU(最大传输单元)


🌟一、应用层协议

        在开发应用程序时,一个很重要的工作就是进行协议的确定。协议就是组织数据的格式。

        确定应用层协议:在前文中我们实现的TCP服务器与客户端,发送双方确定的应用层协议就是以换行符作为每条消息的结尾,双方在发送的时候按照换行符进行编码,接收的时候按照换行符再进行解码。

        实际上,每个程序对协议的数据格式进行自定义,但是如果每个程序都定义的不一样没那么就不太灵活,双方都要按照不太的方式去解析和编码请求和响应内容,于是大佬们对一些常用的应用场景做了一些特殊协议并确定下来,形成了标准常见的应用层协议,HTTP,FTP,XML,JSON...

🌈1、XML协议 

xml主要是一种组织数据的格式。

tcp四层模型及其协议,JavaEE初阶,网络,网络协议,tcp/ip

🌈 2、JSON

JSON也是组织数据的一种方式。

tcp四层模型及其协议,JavaEE初阶,网络,网络协议,tcp/ip

🌈 3、其他协议

tcp四层模型及其协议,JavaEE初阶,网络,网络协议,tcp/ip


🌟二、传输层协议(UDP与TCP重点)

传输层的协议主要有两个:UDP与TCP

tcp四层模型及其协议,JavaEE初阶,网络,网络协议,tcp/ip

🌈1、UDP协议格式

tcp四层模型及其协议,JavaEE初阶,网络,网络协议,tcp/ip

在解析UDP数据报文件的时候,先截取16位表示源端口,再截取16位表示目标端口号,再截取16位表示UDP长度...

🌈 2、TCP协议格式

tcp四层模型及其协议,JavaEE初阶,网络,网络协议,tcp/ip

 TCP对数据传输提供的管控机制,主要体现在两个方面:安全和效率。

🎉TCP的10条机制(必会)

1、确认应答机制(可靠机制)

(1)分析现象:由于网络错乱导致消息到达的时间不同,会造成消息的乱序。

tcp四层模型及其协议,JavaEE初阶,网络,网络协议,tcp/ip

(2)解决办法:

TCP为了解决收发乱序的问题,对每个字节进行编号。

tcp四层模型及其协议,JavaEE初阶,网络,网络协议,tcp/ip

 tcp四层模型及其协议,JavaEE初阶,网络,网络协议,tcp/ip

 2、超时重传机制(可靠机制)

原因:消息在网络传输的过程中:操作系统->网卡->交换机->路由器->其他的网络设备,每个设置都有自己的负载能力,如果超出了范围,当前的数据包就可能阻塞或者丢弃。

tcp四层模型及其协议,JavaEE初阶,网络,网络协议,tcp/ip

tcp四层模型及其协议,JavaEE初阶,网络,网络协议,tcp/ip

         不过在情况2中,主机其实已经接收到了数据,只是A没有收到ACK。因此A重发消息,但是存在B会重复接收的一个问题。因此B会在自己的缓冲区中利用32位的序列号过滤到重复数据。 

了解:

tcp四层模型及其协议,JavaEE初阶,网络,网络协议,tcp/ip

 3、连接管理机制(三次握手,四次挥手)(可靠机制)

        主机之间:发送方与接收方之间要进行网络通信,必须要确认双方收发数据的能力。其中涉及到建立连接与断开连接的协商过程。

三次握手:正常通信之前确认双方能力

tcp四层模型及其协议,JavaEE初阶,网络,网络协议,tcp/ip


面试题1: 三次握手的过程? 三次握手的过程能不能简化为两次?四次又是怎么实现的?

tcp四层模型及其协议,JavaEE初阶,网络,网络协议,tcp/ip

 两次不可以的,因为没有完整的校验双方的收发能力;四次是可以的,不过三次就足够了。

参考资料1

参考资料2

tcp四层模型及其协议,JavaEE初阶,网络,网络协议,tcp/ip
三次握手还有一个重要的功能就是协商序列号是从哪里开始。 tcp四层模型及其协议,JavaEE初阶,网络,网络协议,tcp/ip

 四次挥手:断开连接的过程

tcp四层模型及其协议,JavaEE初阶,网络,网络协议,tcp/ip

tcp四层模型及其协议,JavaEE初阶,网络,网络协议,tcp/ip

4、滑动窗口机制(效率机制)

        (1)针对的问题:之前说到确认应答机制,对于每一发送的数据段,都要给一个ACK应答,接收到ACK应答之后再发送下一个数据段。这种数据一发一收的过程虽然可以保证正常通信,但是效率并不高。

        (2)滑动窗口:既然一发一收的性能比较低,那么我们一次发送多条数据,就可以大大提高性能。

tcp四层模型及其协议,JavaEE初阶,网络,网络协议,tcp/ip

tcp四层模型及其协议,JavaEE初阶,网络,网络协议,tcp/ip

tcp四层模型及其协议,JavaEE初阶,网络,网络协议,tcp/ip (3)预见可能会遇见的丢包问题

情况1:ACK丢了

tcp四层模型及其协议,JavaEE初阶,网络,网络协议,tcp/ip

情况2:发送的请求包丢包 

tcp四层模型及其协议,JavaEE初阶,网络,网络协议,tcp/ip


问题:滑动窗口与效率大小?

(1)效率的高低与窗口大小有关;

(2)窗口越大效率越高;

(3)窗口越小,效率越低;

(4)假设窗口无穷大,此时发送方就完全不需要等待ACK,此时的效率就和UDP一样,不需要响应就可以直接发送。 

新的问题:滑动窗口的大小到底取多少合适呢?——>因此提出了接下来的 流量控制机制。

5、流量控制(可靠机制)

主要目标:流量控制机制主要是用来确定滑动窗口的大小,通过发送方与接收方动态协商来确认的。

tcp四层模型及其协议,JavaEE初阶,网络,网络协议,tcp/ip

tcp四层模型及其协议,JavaEE初阶,网络,网络协议,tcp/ip

tcp四层模型及其协议,JavaEE初阶,网络,网络协议,tcp/ip

tcp四层模型及其协议,JavaEE初阶,网络,网络协议,tcp/ip

6、拥塞控制 (可靠机制)

解决的问题:

        虽然TCP有了滑动窗口这个大杀器,能够高效可靠的发送大量的数据。但是如果在刚开始阶段就发送大量的数据,仍然可能引发问题。
        因为网络上有很多的计算机,可能当前的网络状态就已经比较拥堵。在不清楚当前网络状态下,贸然发送大量的数据,是很有可能引起雪上加霜的。
        TCP引入 慢启动 机制,先发少量的数据,探探路,摸清当前的网络拥堵状态,再决定按照多大的速度传输数据;

tcp四层模型及其协议,JavaEE初阶,网络,网络协议,tcp/ip

tcp四层模型及其协议,JavaEE初阶,网络,网络协议,tcp/ip

tcp四层模型及其协议,JavaEE初阶,网络,网络协议,tcp/ip

实际上就是在每次通信过程中试探网络的拥堵状态,从而调整窗口大小。

因此动态调整窗口大小,与接收方的缓冲区大小有关,也与网络大小有关。

问题:窗口大小的取值,以哪个值为准?

(1)接收方缓冲区大小

(2)拥塞控制中跟开网络的状态确定下来的窗口大小

以这两个值中较小的那个为准。

7、延迟应答(效率机制)

tcp四层模型及其协议,JavaEE初阶,网络,网络协议,tcp/ip

tcp四层模型及其协议,JavaEE初阶,网络,网络协议,tcp/ip

8、捎带应答(效率机制)

tcp四层模型及其协议,JavaEE初阶,网络,网络协议,tcp/ip

9、面向字节流

(1)存在的问题:粘包问题

tcp四层模型及其协议,JavaEE初阶,网络,网络协议,tcp/ip

 (2)解决粘包问题

  • 来回往复的读取:长度+消息体
  • 在消息末尾加特殊字符表示消息结束。

tcp四层模型及其协议,JavaEE初阶,网络,网络协议,tcp/ip

10、TCP异常情况

tcp四层模型及其协议,JavaEE初阶,网络,网络协议,tcp/ip


问题1tcp四层模型及其协议,JavaEE初阶,网络,网络协议,tcp/ip

 问题2

tcp四层模型及其协议,JavaEE初阶,网络,网络协议,tcp/ip


🌟三、网络层重点协议

🌈1、IP协议格式

tcp四层模型及其协议,JavaEE初阶,网络,网络协议,tcp/ip

理解16位标识,3位标志字段与13位分片偏移。         

        对于较长的消息,TCP报文中可能无法承载。就将过长的消息分割成很多小消息体。这一整个大的消息用16位标识表示,三位标志字段如果表示的是“更多分片”,就表示若干个小的消息体。假设TCP报文中一次只能承载10M,分成10份,每个小的消息分片只是1M,13位偏移表示小的消息体从哪个位置开始。

tcp四层模型及其协议,JavaEE初阶,网络,网络协议,tcp/ip

  

tcp四层模型及其协议,JavaEE初阶,网络,网络协议,tcp/ip

 🌈2、IP地址:IPv4与IPv6

1、IPv4

总长是32位,最多可以表示42亿个地址。

问题1:怎么分配这些IP地址让计算机之间可以相互访问呢?

(1)动态分配

设置上网的时候才获取一个IP(一个IP只能同时表示一台主机),下线的时候就会被收回。

(2)NET机制

一个子网中的所有机器,共用一个公网IP地址(不能重复),子网中的机器分配内网IP(不同子网中是可以重复的)。

tcp四层模型及其协议,JavaEE初阶,网络,网络协议,tcp/ip

 tcp四层模型及其协议,JavaEE初阶,网络,网络协议,tcp/ip


2、IPv6

IPv6的范围 可以为地球上的每一粒沙子分配一个IP。

tcp四层模型及其协议,JavaEE初阶,网络,网络协议,tcp/ip

🌈3、路由选择 

tcp四层模型及其协议,JavaEE初阶,网络,网络协议,tcp/ip

 举个例子

tcp四层模型及其协议,JavaEE初阶,网络,网络协议,tcp/ip


tcp四层模型及其协议,JavaEE初阶,网络,网络协议,tcp/ip


🌟四、数据链路层重点协议

🌈1、以太网格式

tcp四层模型及其协议,JavaEE初阶,网络,网络协议,tcp/ip

🌈2、MTU(最大传输单元)

tcp四层模型及其协议,JavaEE初阶,网络,网络协议,tcp/ip

面试题

tcp四层模型及其协议,JavaEE初阶,网络,网络协议,tcp/ip


tcp四层模型及其协议,JavaEE初阶,网络,网络协议,tcp/ip文章来源地址https://www.toymoban.com/news/detail-765872.html

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

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

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

相关文章

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

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

    2024年02月06日
    浏览(39)
  • 【网络原理】TCP/IP协议五层模型

    🥊作者:一只爱打拳的程序猿,Java领域新星创作者,CSDN、阿里云社区优质创作者。 🤼专栏收录于:计算机网络原理 本期讲解协议、OSI七层模型、TCP/IP五层模型、网络设备所在的分层、数据的封装和分佣。 目录 1. 什么要有协议? 2. 协议的分层 2.1 协议分层的好处 3. OSI七层

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

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

    2024年02月06日
    浏览(38)
  • OSI七层网络模型与TCP/IP四层模型

    OSI 七层模型 是国际标准化组织提出一个网络分层模型,其大体结构以及每一层提供的功能如下图所示: 但由于各方面原因,OSI 七层模型并没有被广泛应用,更多的是作为网络分层的一种基础理论模型。 TCP/IP 四层模型 是目前被广泛采用的一种模型,我们可以将 TCP / IP 模型

    2024年02月10日
    浏览(39)
  • 网络分层模型 | OSI七层模型、TCP/IP四层模型

    欢迎关注博主 Mindtechnist 或加入【Linux C/C++/Python社区】一起学习和分享Linux、C、C++、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和技术。 专栏:《网络编程》 ① 物理层:主要定义物理

    2024年02月05日
    浏览(46)
  • 【网络知识】网络结构中-TCP/IP四层模型介绍

    OSI的七层协议体系结构的概念清楚,理论也比较完整,但它既复杂又不实用,ISO制定的OSI参考模型的过于庞大、复杂招致了许多批评。由技术人员自己开发的TCP/IP协议栈获得了更为广泛的应用。TCP/IP体系结构则不同,它现在已经得到了非常广泛的应用,TCP/IP是一个四层的体系

    2024年02月05日
    浏览(45)
  • 【JavaEE初阶】网络原理|认识协议|协议分层|TCP/IP模型|封装和分用

    目录 一、认识协议 1.概念 2.作用(为什么需要协议?) 二、协议分层 1.为什么需要⽹络协议的分层? 2. 协议分层是什么 3.分层带来的好处 三、TCP/IP五层(或四层)模型 (1)物理层 (2)数据链路层 (3)网络层 (4)传输层 (5)应用层 四、封装和分用(协议的层和层之间

    2024年04月23日
    浏览(37)
  • 网络基础:OSI七层模型和TCP/IP四层模型

    目录 1.计算机网络基本概念 2.计算机网络分类与模型 OSI七层模型: 应用层 应用层的主要功能 表示层 表示层的具体功能  会话层 会话层的具体功能 传输层 传输层的主要功能 网络层 网络层的主要功能 数据链路层 数据链路层的主要功能 物理层 物理层的主要功能 TCP/IP四层模

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

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

    2024年02月03日
    浏览(40)
  • 互联网基石:TCP/IP 四层模型,由浅入深直击原理!

    TCP/IP 是迄今为止最常用的网络互联协议套件,在全球互联网运营方面发挥了巨大作用,可以这样说 TCP/IP 在互联网世界无处不在! TCP/IP 最初由 DARPA(美国国防高级研究计划局)的两位科学家于 1970 年代开发,这两位科学家分为是 Vint Cerf 和 Bob Kahn,被称为 Internet 之父 。 当时

    2024年02月04日
    浏览(38)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包