计算机网络协议

网络协议

在这里插入图片描述

基于TCP的应用层协议

POP3(Post Office Protocol 3):

  • 用于支持客户端远程管理服务器上的电子邮件。
  • 它支持**“离线”邮件处理**,即邮件发送到服务器上后,一旦邮件被POP3客户端下载到本地计算机,邮件服务器上的邮件通常会被标记为已读或删除(具体取决于服务器的配置和客户端的设置),在本地修改邮件后不会同步到服务器。

IMAP:

  • 大致同理POP3,但需注意IMAP支持双向通信,允许在多个客户端之间同步邮件的更改。

FTP(File Transfer Protocol):

  • 用于文件在客户端和服务器之间的传输。
  • FTP默认使用TCP端口20(用于数据传输)和21(用于传输控制信息)。

SMTP(Simple Mail Transfer Protocol):

  • 用于传输电子邮件的协议,处理邮件的发送和接收请求

HTTP(Hypertext Transfer Protocol):

  • 用于在万维网(WWW)上传输超文本。
  • HTTP协议不对请求和响应之间的通信状态进行保存,每次连接只处理一个请求,处理完毕后立即断开连接。

Telnet:

  • 用于在Internet或局域网内提供一个双向的、交互式的文本命令行界面。

基于UDP的应用层协议

DHCP(动态主机配置协议):

  • 用于自动分配IP地址和其他网络参数(如子网掩码、网关、DNS等)给局域网中的计算机。

TFTP(Trivial File Transfer Protocol):

  • 一种简单、轻量级的文件传输协议。相较于FTP等复杂的文件传输协议,TFTP的设计目标是简洁、轻量级,适用于资源有限的嵌入式系统等场景。

SNMP(简单网络管理协议):

  • 监视网络状态、修改网络设备配置、接收网络事件警告等,有助于提高网络管理效率,及时发现和解决网络问题。

DNS(域名系统):

  • DNS是一个分布式数据库系统,用于将人类可读的域名转换为机器可读的IP地址。
  • DNS的主要功能是提供域名解析服务,允许终端用户设备将给定的URL转换为网络可以理解的IP地址。
  • DNS定义了两种报文:查询报文和响应报文,用于在客户端和DNS服务器之间进行通信。

需要注意的是,UDP的应用层协议通常需要自己实现一些避免丢包的机制,因为UDP本身并不提供数据包的确认、排序或重传等可靠性保障。

相较于TCP(传输控制协议),UDP(用户数据报协议)的优势主要体现在以下几个方面:

  1. 高效性:UDP协议无需建立连接,因此没有连接建立、维护和拆除的开销,这使得数据传输速度更快,吞吐效率更高。在实时性要求较高的应用中,如在线游戏、视频流传输等,UDP具有显著优势。
  2. 简单性:UDP协议架构简单,报文首部短,传输开销小。这使得UDP协议易于实现和使用,对系统资源的占用也较少。
  3. 支持广播和多播:UDP协议支持一对多的通信方式,即广播和多播。这使得UDP在需要向多个接收者发送数据的场景中表现出色,如网络会议、群组通信等。(TCP不支持)
  4. 实时性:由于UDP无需等待接收方的确认信息,因此具有较低的延迟。在一些对实时性要求较高的应用中,如在线游戏、实时音视频传输等,UDP的实时性优势尤为明显。

数据链路层协议

ARP(Address Resolution Protocol,地址解析协议)用于将IP地址解析为MAC地址的协议。

  • ARP请求报文(ARP request):

    • 当一台计算机想要与另一台计算机通信时,它知道对方的IP地址,但不知道对方的MAC地址。此时,该计算机会发送一个ARP请求报文,询问网络中哪台计算机的IP地址与它想要通信的IP地址相匹配。
    • 由于发送ARP请求报文的计算机不知道目标计算机的MAC地址,因此它只能以广播的形式发送ARP请求报文。广播帧的目的地址是所有计算机的物理地址,所以网络中的所有计算机都会收到这个请求。
    • 这样做的目的是确保目标计算机能够接收到ARP请求,并回应其MAC地址。
  • ARP响应报文(ARP response):

    • 当网络中的某台计算机接收到ARP请求报文后,它会检查请求中的IP地址是否与其自身的IP地址相匹配。
    • 如果IP地址匹配,该计算机会发送一个ARP响应报文,其中包含其MAC地址信息,以回应发送ARP请求报文的计算机。
    • 与ARP请求报文不同,ARP响应报文是以单播的形式发送的,即只发送给发送ARP请求报文的计算机。这是因为此时目标计算机的MAC地址已知,可以直接进行点对点的通信。

IP地址和MAC地址的区别

  1. 地址长度和表示方式:
    • IP地址:长度为32位,通常表示为4个用点分隔的8位组(即4个字节),例如“192.168.0.1”。这种表示方式称为点分十进制格式。
    • MAC地址:长度为48位(6个字节),通常表示为12个16进制数,每两个16进制数之间用冒号或连字符隔开,例如“00:50:29:5A:8H:1E”或“00-16-EA-AE-3C-40”。
  2. 所在寻址协议层:
    • IP地址:应用于OSI(开放系统互连)模型的第三层,即网络层。它用于标识网络上的设备或主机,是网络层协议进行路由选择的基础。
    • MAC地址:应用于OSI模型的第二层,即数据链路层。它用于在网络中唯一标识一个网卡,是数据链路层协议进行数据传递的基础。
  3. 性质和用途:
    • IP地址:是逻辑地址,具有分级层次、可变性、全局唯一性和有序性等特点。它可以根据层级结构来分配,包含网络号和主机号两个部分,并可以分为A、B、C、D等类别。IP地址的作用是在网络中标识主机或设备,保证数据在网络中的传输。
    • MAC地址:是物理地址,也称为硬件地址或局域网地址。它由网络设备制造商生产时烧录在网卡上,具有全球唯一性(除非用户自行更改)。MAC地址用于在网络中唯一标识一个网卡,确保数据能够准确地从一台设备传输到另一台设备。
  4. 工作原理:
    • IP地址:在数据传输过程中,网络层协议根据目的IP地址选择路由,将数据从一个网络传递到另一个网络。在IP层以下的协议(如ARP)会根据目的IP地址找到中间节点的MAC地址,并通过中间节点将数据传送到目的网络。
    • MAC地址:在数据传输过程中,数据链路层协议根据MAC地址将数据从一个节点传递到相同链路的另一个节点上。当数据包从初始节点开始传输时,会首先根据目标节点的IP地址映射到中间节点的MAC地址,然后通过中间节点将数据传送到下一个节点,以此类推,直到最终到达目标节点。

总结:IP地址用于标识网络上的设备或主机,是网络层协议进行路由选择的基础;而MAC地址用于在网络中唯一标识一个网卡,是数据链路层协议进行数据传递的基础。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/329736.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis --学习笔记

Redis简介 一个基于内存的key-value结构数据库。Redis 是互联网技术领域使用最为广泛的存储中间件 特点: 基于内存存储,读写性能高 适合存储热点数据(热点商品、资讯、新闻) 企业应用广泛 Redis默认端口号为6379 Redis是用…

Unity射击游戏开发教程:(24)创造不同的敌人

在这篇文章中,我们将讨论添加一个可以承受多次攻击的新敌人和一些动画来使事情变得栩栩如生。敌人没有任何移动或射击行为。这将有助于增强未来敌人的力量。 我们将声明一个 int 来存储敌人可以承受的攻击数量,并将其设置为 3。

力扣刷题---1748.唯一元素的和【简单】

题目描述 给你一个整数数组 nums 。数组中唯一元素是那些只出现 恰好一次 的元素。 请你返回 nums 中唯一元素的 和 。 示例 1: 输入:nums [1,2,3,2] 输出:4 解释:唯一元素为 [1,3] ,和为 4 。 示例 2:…

NLP(16)--生成式任务

前言 仅记录学习过程,有问题欢迎讨论 输入输出均为不定长序列(seq2seq)自回归语言模型: x 为 str[start : end ]; y为 [start1 : end 1] 同时训练多个字,逐字计算交叉熵 encode-decode结构: Encoder将输…

微服务远程调用 RestTemplate

Spring给我们提供了一个RestTemplate的API,可以方便的实现Http请求的发送。 同步客户端执行HTTP请求,在底层HTTP客户端库(如JDK HttpURLConnection、Apache HttpComponents等)上公开一个简单的模板方法API。RestTemplate通过HTTP方法为常见场景提供了模…

从ES5迈向ES6:探索 JavaScript 新增声明命令与解构赋值的魅力

个人主页:学习前端的小z 个人专栏:JavaScript 精粹 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结,欢迎大家在评论区交流讨论! ES5、ES6介绍 文章目录 💯声明命令 let、const🍟1 let声明符&a…

【LeetCode】每日一题 2024_5_24 找出最具竞争力的子序列(栈,模拟,贪心)

文章目录 LeetCode?启动!!!题目:找出最具竞争力的子序列题目描述代码与解题思路 每天进步一点点 LeetCode?启动!!! 题目:找出最具竞争力的子序列 题目链接&a…

【Unity2D:C#Script】实现角色射击功能

一、创建子弹预制体 1. 创建子弹预制体 2. 调整图片大小、层级 二、为子弹添加碰撞体积 1. 添加Box Collider 2D、Rigidbody 2D组件 2. 锁定z轴 三、编辑敌人脚本 注:在以下代码中,只显示本章节新增的代码,省略原有的代码 1. 为敌人添加生…

一阶数字高通滤波器

本文的主要内容包含一阶高通滤波器公式的推导和数字算法的实现以及编程和仿真 1 计算公式推导 1.1.2 算法实现及仿真 利用python实现的代码如下: import numpy as np # from scipy.signal import butter, lfilter, freqz import matplotlib.pyplot as plt #2pifW…

免费分享一套微信小程序旅游推荐(智慧旅游)系统(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】,帅呆了~~

大家好,我是java1234_小锋老师,看到一个不错的微信小程序旅游推荐(智慧旅游)系统(SpringBoot后端Vue管理端)【论文源码SQL脚本】,分享下哈。 项目视频演示 【免费】微信小程序旅游推荐(智慧旅游)系统(SpringBoot后端Vue管理端) Java毕业设计…

视频监控管理平台LntonCVS监控视频汇聚融合云平台主要功能应用场景介绍

随着网络技术的不断发展和万物互联时代的到来,视频融合在一些系统集成项目及综合管理应用中变得日益重要。本文以LntonCVS视频融合云平台为案例,探讨视频融合的对象及其应用场景。 1. 视频监控设备 视频监控摄像设备是各种视频应用项目的基础部分。在视…

亚马逊卖家账号注册复杂吗?需要什么辅助工具吗?

在当今数字化的商业世界中,亚马逊作为全球最大的电商平台之一,吸引着无数的卖家和买家。对于想要进入亚马逊销售市场的卖家来说,首先要完成的一项重要任务就是注册亚马逊卖家账号。本文将详细介绍亚马逊注册的步骤、所需时间,以及…

入门四认识HTML

一、HTML介绍 1、Web前端三大核心技术 HTML&#xff1a;负责网页的架构 CSS&#xff1a;负责网页的样式、美化 JS&#xff1a;负责网页的行动 2、什么是HTML HTML是用来描述网页的一种语言。 3、Html标签 单标签<html> 双标签<h>内容</h> 4、标…

【译】组复制和 Percona XtraDB 集群: 常见操作概述

原文地址&#xff1a;Group Replication and Percona XtraDB Cluster: Overview of Common Operations 在这篇博文中&#xff0c;我将概述使用 MySQL Group Replication 8.0.19&#xff08;又称 GR&#xff09;和 Percona XtraDB Cluster 8 (PXC)&#xff08;基于 Galera&…

服务器数据恢复—EVA存储多块硬盘离线导致部分LUN丢失的数据恢复案例

服务器数据恢复环境&#xff1a; 1台某品牌EVA4400控制器3台EVA4400扩展柜28块FC硬盘。 服务器故障&#xff1a; 由于两块磁盘掉线导致存储中某些LUN不可用&#xff0c;某些LUN丢失&#xff0c;导致存储崩溃。 服务器数据恢复过程&#xff1a; 1、由于EVA4400存储故障是某些磁…

Java 对外API接口开发 java开发api接口如何编写

Java API API&#xff08;Application Programming Interface&#xff09;是指应用程序编程接口&#xff0c;的JavaAPI是指JDK提供的各种功能的Java类 String类 String类的初始化&#xff1a; &#xff08;1&#xff09;使用字符串常量直接初始化 初始化&#xff1a;String s…

闲话 .NET(4):为什么要跨平台?

前言 .NET Core 有一个关键词就是跨平台&#xff0c;为什么要跨平台呢&#xff1f;Windows 操作系统不香吗&#xff1f;今天我们来聊聊这个 原因一&#xff1a;安全考虑 Windows OS 是闭源的&#xff0c;而 Linux 是开源的&#xff0c;因此有些公司的技术负责人就认为 Linux…

笔记:weblogic配置内存启动参数

可以在控制台配置 参数值 -Xms2048m -Xmx2048m -XX:PermSize512m -XX:MaxPermSize512m -Xss128k激活更改。修改完之后&#xff0c;节点需要重启才能生效。 参数说明&#xff1a; -Xms 为JVM启动时分配的内存 -Xmx 为JVM运行过程中分配的最大内存 -XX:PermSize 为JVM初始分配…

Qt笔记:动态处理多个按钮点击事件以更新UI

问题描述 在开发Qt应用程序时&#xff0c;经常需要处理多个按钮的点击事件&#xff0c;并根据点击的按钮来更新用户界面&#xff08;UI&#xff09;&#xff0c;如下图。例如&#xff0c;你可能有一个包含多个按钮的界面&#xff0c;每个按钮都与一个文本框和一个复选框相关联…

python从0开始学习(十二)

目录 前言 1、字符串的常用操作 2、字符串的格式化 2.1 格式化字符串的详细格式&#xff08;针对format形式&#xff09; ​编辑 总结 前言 上一篇文章我们讲解了两道关于组合数据类型的题目&#xff0c;本篇文章我们将学习新的章节&#xff0c;学习字符串及正则表达式。 …