常见网络协议汇总(二)
传输层协议
特点:
-
无连接:只需要知道目的ip和端口号就可以发送数据,无需建立连接
-
不可靠:没有一系列机制来应对传输数据时的丢包问题
-
面向数据报发送:应用层交给UDP什么样的报文,UDP就会发送什么样的,不会进行拆分,合并
-
UDP一次传输的数据大小有限,最大64k
UDP的传输流程
UDP的适用范围:
由于UDP不属于连接型协议,所以具有资源消耗小。处理速度优的特点,因此经常使用与视频、音频通话传输中,因为发送的数据较多,偶尔丢包一两个不会产生太大影响
TCP
因为上述讲到UDP的传输是不可靠的,经常会导致连接错误、数据丢包问题,针对这些问题规定了另一个传输层协议——TCP协议,TCP是一种面向连接、可靠的、基于字节流的传输层协议
-
面向连接:在传输数据是,要先建立起客户端与服务端的连接,才能进行数据传输
-
可靠的通信:TCP输出数据中,会基于内部的各种机制保证数据传输到目的端口
-
基于字节流:TCP传输数据是基于字节传输的,易于对数据的拆分与合并发送
-
TCP的头部比UDP的开销要打,因为要存放更多的信息
-
UDP是无连接的,TCP是有连接的
-
UDP是不可靠的,TCP是可靠的
-
UDP面向数据报,TCP面向字节流
-
UDP比TCP的传输消耗小,速度更快
IP协议数据报格式 |
IP协议的工作方式:
由于网络分为同网段和不同网段,所以会分成两种方式
-
同网段:如果源地址主机和目的地址主机处于同一网段,则目的IP地址被 ARP协议 解析为MAC地址后,源主机会根据目的MAC地址直接将数据包发送给目的主机
-
不同网段:
3、数据包经过网关发送到正确的网段后,目标IP被 ARP协议 解析为MAC地址,在根据该 MAC地址 将数据包发送给目标地址的主机
ARP的工作流程:
如图展示的是同一网段下的两台主机,ARP的工作流程
-
主机A以广播的形式向该网段内的所有主机发送ARP请求,请求中包含了目的主机的IP地址
-
主机B接收到请求,通过请求中的目的IP地址发现自己是主机A要找的,返回响应,响应包括主机B的 MAC地址
-
DNS解析:将域名转换成对应IP地址(本机DNS缓存栈开始找—>逐级向上查找,如果根域服务器找不到,表示公网上没有该域名主机)
-
找到IP后:通过目的IP找到对应的目的MAC地址
-
根据目的IP计算目的主机是否和主机A处于同一网段
-
如在同网段:接通过ARP协议解析出对应的目的MAC,跳转到底9步
-
如不在同一网段:发送数据报到网关,现在ARP缓存表查找,通过网关IP查找MAC地址,找不到发送查询MAC广播数据报,最终返回网关自己的MAC
-
交换机转发:在MAC地址转换表中找到对应MAC交换机接口
-
路由器接收:分用数据报
8.途中的设备:与第7步同样操作如目的IP对应的MAC地址不是当前设备则继续重复该操作继续往更接近目的IP的路由发送
9.找到目的主机B,主机B的服务器开始接受分用请求,解析,最终组织响应