当前位置: 首页 > news >正文

以太网--TCP/IP协议(一)

概述

以太网是局域网的一种,其他的比如还有令牌环、FDDI。和局域网对应的就是广域网,如Internet,城域网等。

从网络层次看,局域网协议主要偏重于低层(业内一般把物理层、数据链路层归为低层)。以太网协议(IEEE 802.3)主要针对数据链路层(只规定MAC和LLC)的定义;而Internet采用的TCP/IP协议主要偏重于中间层(网络层/传输层)。

以太网的高层协议既可以是TCP/IP协议、也可以是IPX协议(NetWare)、NetBEUI协议等;反过来,TCP/IP协议既可以运行在以太网上,也可运行在FDDI、WLAN上。

以太网是TCP/IP使用最普遍的物理网络,换句话说,以太网是用户接入Internet最常见的实现方式,而TCP/IP又是Internet采用的协议。

TCP/IP协议

TCP/IP协议(传输控制协议/网际协议)是一种能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议由多个协议组成,其中TCP和IP协议最具代表性。TCP协议负责建立和维护网络连接,确保数据在传输过程中的完整性和可靠性;而IP协议则负责将数据从源主机传输到目标主机,实现数据的路由和转发。

协议结构

TCP/IP协议栈包括四个主要层次:链路层、网络层、传输层和应用层。链路层负责处理与物理网络的接口,如以太网中的数据链路层;网络层使用IP协议实现数据的路由和转发;传输层则通过TCP和UDP协议实现数据的可靠传输和无连接传输;应用层则提供了各种网络应用服务,如HTTP、FTP、SMTP等。

主要协议的用途

  • IP():主要任务是尽力而为地将IP分组从发送端主机通过互联网环境送达接收端主机。
  • TCP(传输控制协议):TCP旨在适应支持多网络应用的分层协议层次结构,为连接到不同但互连的计算机通信网络的主计算机中的成对进程之间提供可靠的通信服务。(高可靠的端到端通信)
  • UDP(用户数据报协议):UDP为应用程序提供一种以最少的协议机制向其他程序发送消息的过程。(不判断目的机是否接收成功)
  • ICMP(互联网控制报文协议):ICMP主要用于在IP网络上进行错误报告和诊断,如当IP数据包在传输过程中发生错误时,路由器或主机会生成一个ICMP错误报文,然后将其发送给数据包的源地址。(处理信关和主机间的差错和传送控制)
  • IGMP(互联网组管理协议):IGMP用来在接收者主机和直接相邻的组播路由器之间建立和维护组播组成员的关系。(提供网际多点传送功能)
  • ARP(地址解析协议):当主机发送信息时,通过ARP请求获取目标IP地址对应的物理地址(MAC地址)。(将网络地址映射到硬件地址)
  • RARP(反向地址解析协议):与ARP相反,RARP用于通过物理地址(MAC地址)查询IP地址。(逆地址解析协议)

IP协议

IP地址

IP地址的点分十进制表示法是一种常用的IP地址表示方式,它使得IP地址更加易于人类阅读和记忆。点分十进制(Dotted Decimal Notation)是IPv4的IP地址标识方法。IPv4地址是一个32位的二进制数,通过点分十进制表示法,它被分割为4个“8位二进制数”(也就是4个字节),每个字节按照十进制表示为0~255,并用点(.)分隔。详细解释如下:

机器中存放的IP 地址是32 bit 二进制代码为10000000000010110000001100011111,每隔8 bit 插入一个空格后变为:10000000  00001011  00000011  00011111,将每8 bit 的二进制数转换为十进制数为128  11  3  31,所以最后的IP地址就是128.11.3.31。

IP地址的分类

A类IP地址

一个A类IP地址由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”。

A类地址的范围是1.0.0.1至126.255.255.254。二进制表示为:从00000001 00000000 00000000 00000001到01111110 11111111 11111111 11111110。

总共有126个可用的A类网络,每个网络理论上可以容纳16,777,214个主机(减去两个保留地址:网络地址和广播地址)。

B类IP地址

一个B类IP地址由2个字节的网络地址和2个字节的主机地址组成,网络地址的最高位必须是“10”。

B类地址的范围是128.1.0.1至191.255.255.254。二进制表示为:从10000000 00000001 00000000 00000001到10111111 11111111 11111111 11111110。

总共有16,384个可用的B类网络,每个网络理论上可以容纳65,534个主机(同样减去两个保留地址)。

C类IP地址 

一个C类IP地址由3字节的网络地址和1字节的主机地址组成,网络地址的最高位必须是“110”。

C类地址的范围是192.0.1.1至223.255.255.254。二进制表示为:从11000000 00000000 00000001 00000001到11011111 11111111 11111110 11111110。

总共有约2,097,152个可用的C类网络,每个网络理论上可以容纳254个主机(减去两个保留地址)。

D类IP地址

D类IP地址第一个字节以“1110”开始,它是一个专门保留的地址。

D类IP地址专门用于多点广播(Multicast)。其地址范围从224.0.0.1至239.255.255.254,并不指向特定的网络。多点广播地址允许一次将数据发送到一组计算机。

E类IP地址

E类IP地址以“1111”开头,目前为将来使用保留。这些地址主要用于实验和开发目的。

私有IP

在这么多网络IP中,国际规定有一部分IP地址是用于我们的局域网使用,也就

是属于私网IP,不在公网中使用的,它们的范围是:

10.0.0.0~10.255.255.255172.16.0.0~172.31.255.255192.168.0.0~192.168.255.255

IP地址分配原则

  • 只有A B C类地址可以分配
  • 127.*.*.*用来测试连接
  • 网络地址与主机地址不能全为0或全为1
  • 网络地址相同时主机地址必须唯一

IP数据报格式

  • 版本:IP的版本号。4代表IPv4;6代表IPv6。
  • 手部长度:4位二进制数表示,指出整个报头长度。它以32位二进制数为一个计数单位的长度值(一个单位是32/8=4个字节)。比如 5 即代表数据报的头部含有20个字节(5*4=20)。
  • 区分服务:规定了本数据报的处理方式。
  • 总长度:整个IP报的长度,以字节为单位。
  • 标识:由信源机赋给IP数据报,每个IP数据报有一个唯一的标识符。数据报的标识由信源机产生,每次自动加1后分配给要发送的数据报。
  • 标志:用于表示该IP数据报是否允许分片和是否是最后的一片。
  • 片偏移:表示本片数据在它所属的原始数据报数据区中以8字节为单位的偏移量。
  • 生存时间:指定了数据报可以在网络中传输的最长时间。在实际应用中,生存时间被设置为数据报可以经过的最大路由器数( 32,64,128,256)。该字段减为0时,数据报就被丢弃,并发送ICMP报文通知源主机。
  • 协议:IP协议可以承载多种上层协议。
  • 首部检验和:用于协议头数据有效性的校验,可以保证IP报头区在传输时的正确性和完整性。(不对头部后面的数据进行计算。)
  • 源地址和目的地址:分别表示IP数据报的最初发送者的IP地址和IP数据报最终接收者的IP地址。

相关文章:

以太网--TCP/IP协议(一)

概述 以太网是局域网的一种,其他的比如还有令牌环、FDDI。和局域网对应的就是广域网,如Internet,城域网等。 从网络层次看,局域网协议主要偏重于低层(业内一般把物理层、数据链路层归为低层)。以太网协议…...

LeetCode刷题:找到第K大的元素

本题其实就是考察排序算法,为了减低时间复杂度,所以采用堆排序 import java.security.Key; import java.util.Scanner;public class FindKtopElements {public static void main(String[] args) {Scanner scanner new Scanner(System.in);String lin…...

HTML页面配置高德地图,获取位置

HTML页面配置高德地图,获取位置 一、使用情况 1、之前项目用的前后端分离框架,所以用Vue接入的高德地图,自动搜索补全,是请求的后台返回的数据。 2、现在用单体项目,前端是Bootstrap,需要接高德地图&…...

HTTrack

--不破不立 HTTrack 是一个免费开源的网站离线浏览器。通过它可以将整个网站下载到本地的某个目录,包括 html、图片和脚本以及样式文件,并对其中的链接进行重构以便于在本地进行浏览。 1.官网下载地址:https://www.httrack.com/page/2/en/in…...

干货分享|分享一款微软出品的工作效率神器 PowerToys

工具介绍:Microsoft PowerToys 是一组实用工具,可帮助高级用户调整和简化其 Windows 体验,从而提高工作效率。 安装步骤:直接打开微软商店安装即可,并且可以保证下载到最新版本。 功能介绍: 高级粘贴 高级…...

神经网络的线性部分和非线性部分

神经网络的线性部分和非线性部分是其构成中的两个核心元素,它们共同决定了模型的能力和行为。让我们分别看一下这两部分: 1. 线性部分 线性部分通常是指神经网络中的加权和操作。这部分可以用以下形式表示: [ z W \cdot x b ] W 是权重…...

微信支付开发避坑指南

1 微信支付的坑 1.1 不能用前端传递过来的金额 订单的商品金额要从数据库获取,前端只传商品 id。 1.2 交易类型trade type字段不要传错 v2版API,不同交易类型,要调用的支付方式也不同。 1.3 二次签名 下单时,在拿到预支付交…...

Qt5.4.1连接odbc驱动操作达梦数据库

Qt5.4.1连接odbc驱动操作达梦数据库 1 环境介绍2 Qt5.4.1 安装2.1 图形化界面安装Qt5.4.12.2 配置Qt5.4.1 环境变量2.3 Qt5.4.1 生成 libqsqlodbc.so 并配置2.3.1 生成Makefile2.3.2 查看 libqsqlodbc.so 文件并配置 3 配置Qt测试用例4 达梦数据库学习使用列表 1 环境介绍 CPU…...

计算机组成原理(第一课)

计算机系统概述 1.发展史 摩尔定律:集成电路上可以容纳的晶体管数目在大约每经过18个月到24个月便会增加一倍 2.操作系统组成 存储程序程序控制 五个部分记住: 输入输出功能 I/O 记忆功能 访问 计算功能 计算 判断功能 判断 自我控制功能 自我控制…...

计算机网络练级第一级————认识网络

目录 网络搁哪? 网络的发展史(了解) 独立模式: 网络互联: 局域网时期: 广域网时期: 什么是协议 TCP/IP五层/四层模型 用官话来说: 我自己的话来说 第一层应用层&#xff1…...

Java基于微信小程序的家庭财务管理系统,附源码

博主介绍:✌Java徐师兄、7年大厂程序员经历。全网粉丝13w、csdn博客专家、掘金/华为云等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇🏻 不…...

P2343 宝石管理系统

不会写平衡树怎么办&#xff0c;可以用STL的vector或者是pb_ds&#xff0c;这个东西太乱&#xff0c;还是STL好用 #include<bits/stdc.h> using namespace std; int read() {int x 0, f 1;char ch getchar();while (ch < 0 || ch > 9) {if (ch -) f -1;ch g…...

Spring6梳理6——依赖注入之Setter和构造器注入

以上笔记来源&#xff1a; 尚硅谷Spring零基础入门到进阶&#xff0c;一套搞定spring6全套视频教程&#xff08;源码级讲解&#xff09;https://www.bilibili.com/video/BV1kR4y1b7Qc 目录 一、引言 二、Java方法初始化过程 2.1 set方法及构造器方法实现Book对象初始化 三…...

【C++】C++入门基础,详细介绍命名空间,缺省参数,函数重载,引用,内联函数等

目录 1. 命名空间 1.1 使用命名空间的目的 1.2 命名空间定义 1.3 命名空间使用 2. 缺省参数 2.1 缺省参数概念 2.2 缺省参数分类 2.3 实际案例 2.4 注意事项 3. 函数重载 3.1 函数重载概念 3.2 函数重载原理 4. 引用 4.1 引用的概念 4.2 引用的特性 4.3 使用…...

Android使用Room后无法找到字符BR

一般来讲&#xff0c;无法找到BR字符多与Data Binding 相关。 在 Android Studio 中使用 Data Binding 时&#xff0c;如果突然出现 “BR 文件不可用” 或 “找不到符号 BR” 的错误&#xff0c;可能是由以下原因造成的&#xff1a; Data Binding 未启用&#xff1a;确保在你的…...

网络通讯安全基础知识(加密+解密+验签+证书)

1、加密解密基本概念 通讯的加密和解密‌主要涉及将原始信息&#xff08;明文&#xff09;转换为不可直接理解的格式&#xff08;密文&#xff09;&#xff0c;以及将密文还原为原始信息的过程。这一过程通常包括三个基本步骤&#xff1a;加密、传输和解密&#xff0c;其中加密…...

[数据集][目标检测]石油泄漏检测数据集VOC+YOLO格式6633张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;6633 标注数量(xml文件个数)&#xff1a;6633 标注数量(txt文件个数)&#xff1a;6633 标注…...

【Oracle篇】全面理解优化器和SQL语句的解析步骤(含执行计划的详细分析和四种查看方式)(第二篇,总共七篇)

&#x1f4ab;《博主介绍》&#xff1a;✨又是一天没白过&#xff0c;我是奈斯&#xff0c;DBA一名✨ &#x1f4ab;《擅长领域》&#xff1a;✌️擅长Oracle、MySQL、SQLserver、阿里云AnalyticDB for MySQL(分布式数据仓库)、Linux&#xff0c;也在扩展大数据方向的知识面✌️…...

都2024年了还不明白Redis持久化?RDB文件、AOF文件、AOF重写

都2024年了&#xff0c;不会还有人不知道redis的RDB和Aof吧&#xff1f;不知道没关系&#xff0c;看完这篇文章我相信你就会有个大概的了解和认识了 1. Redis持久化 1.1 持久化概念 Redis本身是一个基于内存的数据库&#xff0c;它提供了RDB持久化、AOF持久化两种方式&#…...

浅谈Unity协程的工作机制

一. 什么是协程 协程概述 在 Unity 中&#xff0c;协程&#xff08;Coroutine&#xff09;是一种非常常用的机制&#xff0c;用于非阻塞地处理需要跨越多个帧、等待某些条件或延迟一段时间才能完成的任务。Unity 的协程通过 C# 的 IEnumerator 和 yield return 实现&#xff0…...

数学建模_数据预处理流程(全)

数据预处理整体流程图 一般数据预处理流程 处理缺失值&#xff1a;填补或删除缺失值。处理异常值&#xff1a;检测并处理异常值。数据编码&#xff1a;将分类变量进行标签编码或独热编码。数据标准化/归一化&#xff1a;对数据进行标准化或归一化处理。连续变量离散化&#xff…...

深入解析Flink SQL:基本概念与高级应用

深入解析Flink SQL&#xff1a;基本概念与高级应用 目录 深入解析Flink SQL&#xff1a;基本概念与高级应用 引言 一、Flink SQL概述 1. Flink SQL的定义 2. Flink SQL与传统SQL的区别 二、Flink SQL的核心特性 1. 事件时间和处理时间 2. 窗口操作 3. 连接和聚合操作 …...

计算机的发展史和基本结构

好久不见&#xff0c;粉粉们&#xff0c;我是#Y清墨。今天来分享一下最近学习做的笔记。 计算机发展史和四代计算机概述 阶段 年代 电子元件 运算速度&#xff08;每秒/次&#xff09; 第一代 1946-1958 真空电子管 数千至数万 第二代 1958-1964 晶体管 几十万至百万…...

VSTO常见的异常

在开发和使用 VSTO&#xff08;Visual Studio Tools for Office&#xff09;插件时&#xff0c;常见的异常主要涉及到与 Microsoft Office 应用程序&#xff08;如 Excel、Word、Outlook 等&#xff09;的交互、环境配置和 COM 组件的使用。以下是一些常见的异常及其可能的原因…...

【H2O2|全栈】关于HTML(3)HTML基础(二)

HTML相关知识 目录 HTML相关知识 前言 准备工作 标签的具体分类&#xff08;二&#xff09; 本文中的标签在什么位置使用&#xff1f; 本期前置知识点 超文本 超文本引用和源属性 图片标签 锚链接 iframe 锚点 预告和回顾 后话 前言 本系列博客将分享HTML相关…...

前端AST

前端AST 1、什么是编译器2、什么是AST3、编译器的基本思路3.1 词法分析3.2 语法分析3.3 代码转换3.4 代码生成3.5 完整链路 4、一个简单的编译器的实现4.1 词法分析4.2 语法分析4.3 代码转换4.4 代码生成4.5 完整流程 1、什么是编译器 定义&#xff1a;编译器就是个将当前语言…...

基于EPS32C3电脑远程开机模块设计

基于EPS32C3电脑远程开机模块设计 前言 缘起&#xff0c;手头资料太多了&#xff0c;所以想组一台NAS放在家里存储数据。在咸鱼淘了一套J3160主板加机箱&#xff0c;加上几块硬盘组建NAS。 对于NAS&#xff0c;我的需求是不用的时候关机(节省功耗)&#xff0c;要用的时候开机…...

深度解析 Netty 性能卓越的背后原因

一、引言 在当今数字化时代&#xff0c;构建高性能、高可靠的网络应用成为了技术领域的关键需求。Netty 作为一款备受推崇的网络应用框架&#xff0c;以其出色的性能在众多框架中脱颖而出。深入探究 Netty 性能卓越的原因&#xff0c;不仅能够帮助开发者更好地理解和运用这一框…...

虚幻引擎(Unreal Engine)技术使得《黑神话悟空传》大火,现在重视C++的开始吃香了,JAVA,Go,Unity都不能和C++相媲美!

虚幻引擎&#xff08;Unreal Engine&#xff09;火了黑神话游戏。 往后&#xff0c;会有大批量的公司开始模仿这个赛道&#xff01; C 的虚拟引擎技术通常指的是使用 C 语言开发的游戏引擎&#xff0c;如虚幻引擎&#xff08;Unreal Engine&#xff09;等。以下是对 C 虚拟引…...

华为-2022-测试面试题

文章目录 一、源数组a&#xff0c;将a中所有元素乘以2之后组成一个新数组&#xff0c;则这个新数组就叫双倍数组&#xff0c;给你一个数组a&#xff0c;判断它是不是双倍数组&#xff0c;如果是则输出源数组&#xff0c;不是则输出空数组。二、如果想把一个文件移动到另一个文件…...