常见网络协议汇总(二)

news/2024/5/18 12:35:48 标签: 网络协议, 网络, udp

 传输层协议

    传输层的主要功能是为了实现“端口到端口”的通信,以确保一条数据发送到主机上后,能够正确的传递到对应的端口上

    UDP协议

    UDP 为应用程序提供了一种无需建立连接就可以发送封装的 IP 数据包的方法,但是UDP也有自己的缺陷,一旦进行通信,就不知道对方是否接收到数据了,很有可能会造成传输数据的丢包问题

特点:

  • 无连接:只需要知道目的ip和端口号就可以发送数据,无需建立连接

  • 不可靠:没有一系列机制来应对传输数据时的丢包问题

  • 面向数据报发送:应用层交给UDP什么样的报文,UDP就会发送什么样的,不会进行拆分,合并

  • UDP一次传输的数据大小有限,最大64k

    UDP的传输流程

    UDP的适用范围:

    由于UDP不属于连接型协议,所以具有资源消耗小。处理速度优的特点,因此经常使用与视频、音频通话传输中,因为发送的数据较多,偶尔丢包一两个不会产生太大影响

    TCP

    因为上述讲到UDP的传输是不可靠的,经常会导致连接错误、数据丢包问题,针对这些问题规定了另一个传输层协议——TCP协议,TCP是一种面向连接、可靠的、基于字节流的传输层协议

TCP的特点:

  • 面向连接:在传输数据是,要先建立起客户端与服务端的连接,才能进行数据传输

  • 可靠的通信:TCP输出数据中,会基于内部的各种机制保证数据传输到目的端口

  • 基于字节流:TCP传输数据是基于字节传输的,易于对数据的拆分与合并发送

  • TCP的头部比UDP的开销要打,因为要存放更多的信息

TCP与UDP的区别:

  • UDP是无连接的,TCP是有连接的

  • UDP是不可靠的,TCP是可靠的

  • UDP面向数据报,TCP面向字节流

  • UDP比TCP的传输消耗小,速度更快

这里分享一张神图,以便于更加形象的理解TCP和UDP的区别

   网络

    网络层是基于数据链路层和传输层之间的第三层协议,它在数据链路层提供的两个相邻端点之间的数据帧的传送功能上,进一步管理网络中的数据通信,将数据设法从源端经过若干个中间节点传送到目的端,从而向传输层提供最基本的端到端的数据传送服务

    网络层的目的是实现两个端系统之间的数据透明传送,具体功能包括寻址和路由选择、连接的建立、保持和终止等。它提供的服务使传输层不需要了解网络中的数据传输和交换技术。

    IP协议

   IP协议是TCP/IP网络模型中的核心部分,他提供了一种分层的、无关硬件的寻址方式,可以在复杂的路由式网络中传递数据所需的服务

IP协议可以将多个交换网络连接起来,在源地址和目的地址之间传输数据包,同时它还能提供数据的组装功能,以适应不同网络对数据包大小的要求

预研知识:

IP地址:

IP地址是互联网协议特有的一种地址,它是IP协议提供的一种统一的地址格式,IP地址为互联网的每个网络和每台主机分配了一个逻辑地址,以此来屏蔽物理地址的差异

IP地址的格式:

IP地址为32位地址,被分为4个部分,如XXX.XXX.XXX.XXX,IP地址又被划分为两个部分

网络号:前三部分用于标识网段,保证相互连接的两个网段有不同标识

主机号:由最后一部分组成,用于标识主机,保证处于同一网段的两台主机有不同的主机号

通过合理设置主机号和网络号, 就可以保证在相互连接的网络中, 每台主机的IP地址都不相同4

MAC地址:

被称为物理地址,是用来标识网络中每个设备的,MAC地址是设备出厂之后就写死的

引入IP地址的目的:

在单个局域网网段中,计算机与计算机之间可以使用数据链路层提供的MAC地址进行通信

如果在路由式网络中,计算机之间就不能用MAC地址实现通信,主要是因为在路由式网络中,数据只是经过一次简单的利用两个计算机之间的MAC地址建立通信,而是需要进行多次的通信,每次跳转都会体目的主机更近一步,经历都次跳转,最终找到目的主机实现通信,而这个过程中,要知道每次向哪跳转才能更接近目的主机,必须使用一种逻辑化、层次化的寻址方案对网络进行组织,这就是 IP 地址

IP协议数据报格式

IP协议的工作方式:

由于网络分为同网段和不同网段,所以会分成两种方式

  • 同网段:如果源地址主机和目的地址主机处于同一网段,则目的IP地址被 ARP协议 解析为MAC地址后,源主机会根据目的MAC地址直接将数据包发送给目的主机

  • 不同网段:

    如果源地址主机和目的地址主机不处于同一网段,则数据包会经历多个过程最终发送给目的主机

1、网关(一般为路由器)的 IP地址 被 ARP协议 解析为 MAC地址,根据该 MAC地址 源主机会将数据包发送到网关

2、网关根据数据包中的网段ID找到目标网络,如果找到,将数据包发送给目标网路,如果没有则重复第一步发送到更高一级网关

3、数据包经过网关发送到正确的网段后,目标IP被 ARP协议 解析为MAC地址,在根据该 MAC地址 将数据包发送给目标地址的主机

    ICMP协议

    ICMP协议又叫控制报文协议,ICMP协议用于在IP 和 路由器之间传递控制消息,描述网络是否通畅、主机是否可达、路由器是否可用等网络状态,ICMP本身并不传输数据,但对于用户间数据的传递起着重要的作用

    作用:

    在数据包从源主机传输到目的主机的过程中,会经历一个或多个路由器,而数据包在经过这些路由器传输过程中,可能会遇到很多问题,最终导致数据包没有成功传递给目的主机。为了了解数据包在传输过程中在哪个环节出了问题,就需要用到ICMP协议,它可以跟踪数据包,并把消息返回给源主机。

    数据链路层

    数据链路层是TCP/IP网络模型的第二层,基于物理层和网络层之间,数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自物理层来的数据可靠地传输到相邻节点的目标机网络层。

    ARP协议

    ARP协议是数据进行网络传输过程中,通过IP地址向MAC地址的转换,解决网络层和物理层衔接问题

    引入ARP协议的目的:

    由于 IP 地址和 MAC 地址定位方式不同,ARP 协议成为数据传输的必备协议。主机发送信息前,必须通过 ARP 协议获取目标 IP 地址对应的 MAC 地址,才能正确地发送数据包。

ARP的工作流程:

如图展示的是同一网段下的两台主机,ARP的工作流程

  • 主机A以广播的形式向该网段内的所有主机发送ARP请求,请求中包含了目的主机的IP地址

  • 主机B接收到请求,通过请求中的目的IP地址发现自己是主机A要找的,返回响应,响应包括主机B的 MAC地址


http://www.niftyadmin.cn/n/215199.html

相关文章

Java 系列 Nacos

Java 系列文章 文章目录Java 系列文章前言一、Nacas 介绍及安装1. 什么是Nacos2. 为什么使用Nacos3. Nacos 下载和安装二、Nacos服务提供者注册1. Nacos代替Eureka2. Nacos服务注册中心3. Nacos Discovery引入1. 创建新项目2. POM3. YML文件4. 启动类5. 业务类6. 测试&#xff…

动力节点杜老师Vue笔记——Vue程序初体验

一、Vue程序初体验 我们可以先不去了解Vue框架的发展历史、Vue框架有什么特点、Vue是谁开发的,这些对我们编写Vue程序起不到太大的作用,更何况现在说了一些特点之后,我们也没有办法彻底理解它,因此我们可以先学会用,使…

Spring学习小结

文章目录1. BeanFactory与ApplicationContext的关系2.只在Spring基础环境下,常用的三个ApplicationContext3.Spring开发中Bean的配置4. Bean的初始化和销毁方法配置5 Bean的实例化配置1. BeanFactory与ApplicationContext的关系 BeanFactory是Spring的早期接口&…

pandas读取Excel核心源码剖析,面向过程仿openpyxl源码实现Excel数据加载

📢作者: 小小明-代码实体 📢博客主页:https://blog.csdn.net/as604049322 📢欢迎点赞 👍 收藏 ⭐留言 📝 欢迎讨论! 今天我们将研究pandas如何使用openpyxl引擎读取xlsx格式的Excel的…

常用设计模式(超级无敌认真好用,万字收藏篇!!!!)

文章目录常用设计模式前言1 单例模式(必会)1.1 饿汉式1.2 懒汉式1.3 枚举2 工厂模式(必会)2.1 简单工厂模式2.2 抽象工厂模式3 代理模式(必会)3.1 静态代理模式3.2 动态代理模式(基于JDK实现)3.3 CGLIB代理4 适配器模式5 策略模式6 责任链模式7 装饰者模式8 观察者模式(必会)常…

SpringMVC基础解析之Restful

1.简介 REST:Representational State Transfer 表现层资源状态转移 a>资源 资源是一种看待服务器的方式,即,将服务器看作是由很多离散的资源组成。每个资源是服务器上一个可命名的抽象概念。因为资源是一个抽象的概念, 所以它…

数据治理之元数据管理

从关于元数据的三个概念谈起,讲到元数据的分布范围和如何获取元数据,最后从几个常见的应用出发,谈谈元数据的一些实际应用场景。 一、元数据到底是个啥? 元数据是一个相当抽象、不易理解的概念,所以第一个章节&#…

《Vue3实战》 第一章 nods/npm安装、配置

1、nods.js安装(Windows) 1.1、下载并安装node https://nodejs.org/en/ , 安装到d盘nodejs目录 1.2、配置环境变量 path配置 1.3、配置全局包存放目录和缓存目录 在根目录下创建node_global(全局包存放目录)和node_cache&…