传输层协议
传输层的主要功能是为了实现“端口到端口”的通信,以确保一条数据发送到主机上后,能够正确的传递到对应的端口上
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地址文章来源:https://www.toymoban.com/news/detail-415388.html
文章来源地址https://www.toymoban.com/news/detail-415388.html
到了这里,关于常见网络协议汇总(二)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!