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

简介: 【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

相关文章
|
8月前
|
数据采集 算法 数据挖掘
模块化控制协议(MCP)在网络中增强智能体执行效率的研究
随着Web3技术的迅速发展,去中心化应用和智能体在各种领域的应用逐渐增多。MCP(Modularized Control Protocol,模块化控制协议)作为一种增强智能体执行能力的关键技术,为Web3场景中的智能体提供了更强的灵活性和可扩展性。本文将探讨如何利用MCP技术提升智能体在Web3场景中的执行能力,并通过实例代码展示其实现路径。
755 22
|
5月前
|
监控 负载均衡 安全
WebSocket网络编程深度实践:从协议原理到生产级应用
蒋星熠Jaxonic,技术宇宙中的星际旅人,以代码为舟、算法为帆,探索实时通信的无限可能。本文深入解析WebSocket协议原理、工程实践与架构设计,涵盖握手机制、心跳保活、集群部署、安全防护等核心内容,结合代码示例与架构图,助你构建稳定高效的实时应用,在二进制星河中谱写极客诗篇。
WebSocket网络编程深度实践:从协议原理到生产级应用
|
6月前
|
运维 架构师 安全
二层协议透明传输:让跨域二层协议“无感穿越”多服务商网络
简介:本文详解二层协议透明传输技术,适用于企业网工、运营商及架构师,解决LLDP/LACP/BPDU跨运营商传输难题,实现端到端协议透传,提升网络韧性与运维效率。
|
负载均衡 网络协议 算法
|
10月前
|
安全 网络协议 Linux
Linux网络应用层协议展示:HTTP与HTTPS
此外,必须注意,从HTTP迁移到HTTPS是一项重要且必要的任务,因为这不仅关乎用户信息的安全,也有利于你的网站评级和粉丝的信心。在网络世界中,信息的安全就是一切,选择HTTPS,让您的网站更加安全,使您的用户满意,也使您感到满意。
296 18
|
11月前
|
安全 网络安全 定位技术
网络通讯技术:HTTP POST协议用于发送本地压缩数据到服务器的方案。
总的来说,无论你是一名网络开发者,还是普通的IT工作人员,理解并掌握POST方法的运用是非常有价值的。它就像一艘快速,稳定,安全的大船,始终为我们在网络海洋中的冒险提供了可靠的支持。
331 22
|
11月前
|
网络协议 数据安全/隐私保护 网络架构
|
12月前
|
缓存 网络协议 API
掌握网络通信协议和技术:开发者指南
本文探讨了常见的网络通信协议和技术,如HTTP、SSE、GraphQL、TCP、WebSocket和Socket.IO,分析了它们的功能、优劣势及适用场景。开发者需根据应用需求选择合适的协议,以构建高效、可扩展的应用程序。同时,测试与调试工具(如Apipost)能助力开发者在不同网络环境下优化性能,提升用户体验。掌握这些协议是现代软件开发者的必备技能,对项目成功至关重要。
|
人工智能 自然语言处理 决策智能
智能体竟能自行组建通信网络,还能自创协议提升通信效率
《一种适用于大型语言模型网络的可扩展通信协议》提出创新协议Agora,解决多智能体系统中的“通信三难困境”,即异构性、通用性和成本问题。Agora通过标准协议、结构化数据和自然语言三种通信格式,实现高效协作,支持复杂任务自动化。演示场景显示其在预订服务和天气预报等应用中的优越性能。论文地址:https://arxiv.org/pdf/2410.11905。
480 6
|
前端开发 网络协议 安全
【网络原理】——HTTP协议、fiddler抓包
HTTP超文本传输,HTML,fiddler抓包,URL,urlencode,HTTP首行方法,GET方法,POST方法

热门文章

最新文章