网络技术基础(3)——常用协议

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
云解析DNS,个人版 1个月
简介: 【2月更文挑战第7天】网络基础笔记

TCP/UDP

传输控制协议(TCP): 提供可靠的、面向连接的数据传输服务,确保数据按顺序到达,并能够进行重传和流量控制。

用户数据报协议(UDP):提供无连接的数据传输服务,不保证数据的可靠性和顺序性,适用于实时性要求高、对数据传输延迟要求较低的应用场景。

TCP 是一种面向连接的传输协议,它在数据传输之前需要先建立一个虚拟的连接,通过三次握手等过程进行连接确认和参数协商,然后才能进行数据传输。TCP 还提供了可靠的数据传输服务,保证数据的顺序和完整性,因此适用于对数据可靠性要求较高的应用,如文件传输、电子邮件等。

UDP 是一种无连接的传输协议,它不需要事先建立连接,只需要将数据报文发送到目标地址即可。UDP 不提供可靠性保证和数据重传机制,因此传输速度较快,但数据的顺序和完整性不能得到保障。UDP 适用于实时性要求较高的应用,如音视频传输、DNS 查询等。

视频会议和语音通话是使用的UDP协议?
视频会议和语音通话通常使用的协议中,既有基于 UDP 的协议,也有基于 TCP 的协议。具体协议的选择取决于应用程序的需求和优化目标。

对于实时音视频应用来说,UDP 协议通常比 TCP 更适合,因为 UDP 无需进行握手、序列号等复杂的控制机制,传输数据的延迟较低,适合处理实时流媒体数据。在 UDP 中,数据报文没有数据重传和流量控制等机制,因此传输过程中可能会出现丢包、乱序等问题,但这些问题可以通过应用层的一些措施进行缓解,如 FEC(Forward Error Correction)纠错等技术。

一些常用的基于 UDP 的协议包括 RTP(Real-time Transport Protocol)和 RTCP(RTP Control Protocol),它们常用于音视频流的传输和控制。同时,UDP 还能够支持一些自定义的协议,比如 Skype 使用自己的协议进行音视频通话。

不过,也有一些实时音视频应用采用了基于 TCP 的协议,主要是因为 TCP 在网络拥塞的情况下更加稳定,能够保证数据的可靠性。同时,TCP 也有流量控制、拥塞控制等机制,可以避免网络过载和数据丢失等问题。一些基于 TCP 的协议包括 HTTP(Hypertext Transfer Protocol)和 SIP(Session Initiation Protocol)等,它们在音视频通信中也有一定的应用。

TCP和UDP—报文格式

image.png

TCP和UDP—端口号

image.png

TCP的建立—三次握手

任何基于TCP的应用,在发送数据之前,都需要由TCP进行“三次握手”建立连接。

image.png

image.png

TCP的序列号和确认序列号

TCP使用序列号和确认序列号字段实现数据的可靠和有序传输

image.png

思考 : 为什么PC1所发报文的Ack字段没有增长 ?
因为PC2返回的载荷是0。

TCP的窗口滑动机制

TCP通过滑动窗口机制来控制数据的传输速率。

image.png

TCP的四次挥手

当数据传输完成,TCP需要通过“四次挥手”机制断开TCP连接,释放系统资源。

image.png

ARP

ARP(Address Resolution Protocol)是一种用于将 IP 地址解析为 MAC 地址的协议。在局域网中,当一台主机需要发送数据到另一台主机时,它通常知道目标主机的 IP 地址,但是不知道目标主机的 MAC 地址。在这种情况下,ARP 协议就起到了关键的作用。

ARP 协议的工作原理如下:

  • 当一台主机需要将 IP 地址解析为 MAC 地址时,它会首先在自己的 ARP 缓存中查找目标 IP 地址对应的 MAC 地址。

image.png

  • 如果找不到对应的 MAC 地址,该主机将发送一个 ARP 请求广播到局域网中的所有主机,请求目标 IP 地址对应的 MAC 地址。

image.png

  • 其他主机收到这个 ARP 请求后,如果发现自己的 IP 地址与请求中的目标 IP 地址匹配,则会向发送请求的主机发送 ARP 响应,包含自己的 MAC 地址。

image.png

  • 发送请求的主机收到 ARP 响应后,就可以将目标 IP 地址与对应的 MAC 地址进行绑定,并更新自己的 ARP 缓存。

image.png
image.png

通过这种方式,ARP 协议能够帮助主机解析 IP 地址和 MAC 地址之间的映射关系,从而实现局域网内主机之间的通信。值得注意的是,ARP 协议仅适用于同一局域网内的主机通信,无法跨越路由器进行通信。

image.png

arp表存储在主机上,当主机关机后arp表中内容会清空吗?

当主机关机后 ARP 表中的内容会被清空。

ARP 表是存储在主机的内存中的,它记录了与该主机通信过程中所遇到的 IP 地址与 MAC 地址映射关系。当主机正常运行时,ARP 表会不断地被更新和维护,以保证它的准确性。但是,当主机关机后,所有存在于内存中的数据都会被清空,包括 ARP 表。

当主机重新启动时,它需要重新建立起与其他主机之间的通信,这时会再次发送 ARP 请求来获取目标主机的 MAC 地址,并将新的映射关系记录到 ARP 表中。因此,ARP 表的内容是动态变化的,它随着主机的运行状况而不断更新。

ICMP

ICMP用来传递差错、控制、查询等信息。

image.png

ICMP的差错检测

ICMP Echo Request和ICMP Echo Reply分别用来查询和响应某些信息,进行差错检测。

image.png

ICMP错误报告

当网络设备无法访问目标时,会自动发送ICMP目的不可达报文到发送端设备。

image.png

ICMP应用—ping

image.png

ICMP应用—tracert

image.png

相关文章
|
16天前
|
机器学习/深度学习 网络协议 网络性能优化
[计算机网络]深度学习传输层TCP协议
[计算机网络]深度学习传输层TCP协议
24 1
|
20天前
|
监控 网络协议 安全
Verilog代码在上网行为管理软件中的网络设备控制与协议分析
**Verilog摘要:** Verilog是硬件描述语言,用于数字电路设计和网络设备控制。它在上网行为管理软件中用于控制路由器、交换机等,例如通过简单模块控制端口状态。此外,Verilog还支持协议分析,如解析以太网帧提取MAC地址。监控数据可结合Verilog实现自动化提交,例如通过HTTP发送请求到服务器,实现实时监控和响应。这些示例展示了Verilog在网络安全和性能优化中的应用潜力。
81 1
|
3天前
|
传感器 算法
基于LEACH路由协议的网络性能matlab仿真,包括数据量,能耗,存活节点
- **LEACH协议**在WSN中通过分簇减少能耗,普通节点向最近簇头发送数据,簇头融合后发送给基站。本项目研究LEACH在不同初始能量、数据包及控制包长度条件下的网络性能,如剩余节点、能量、接收数据量和累计接收量。
|
4天前
|
人工智能 缓存 网络协议
网络层之三层交换、icmp协议、arp协议
网络层之三层交换、icmp协议、arp协议
|
4天前
|
缓存 网络协议 网络性能优化
计算机网络—传输层-tcp、udp协议详解
计算机网络—传输层-tcp、udp协议详解
|
1月前
|
网络协议 C语言 网络架构
计算机网络——数据链路层-点对点协议(组成部分、PPP帧格式、透明传输、差错检测、工作状态)
计算机网络——数据链路层-点对点协议(组成部分、PPP帧格式、透明传输、差错检测、工作状态)
80 7
|
5天前
|
网络协议 数据安全/隐私保护 网络架构
|
1月前
|
网络协议 安全 API
计算机网络——基本概念(计算机网络,Internet,网络协议)
计算机网络——基本概念(计算机网络,Internet,网络协议)
29 2
|
1月前
|
缓存
计算机网络——数据链路层-可靠传输的实现机制:回退N帧协议GBN(无差错情况、累积确认、有差错情况、发送窗口尺寸)
计算机网络——数据链路层-可靠传输的实现机制:回退N帧协议GBN(无差错情况、累积确认、有差错情况、发送窗口尺寸)
22 0
计算机网络——数据链路层-可靠传输的实现机制:回退N帧协议GBN(无差错情况、累积确认、有差错情况、发送窗口尺寸)