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

news2024/12/23 6:36:42

概述

以太网是局域网的一种,其他的比如还有令牌环、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.255

172.16.0.0~172.31.255.255

192.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地址。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

单片机毕业设计基于单片机的智能门禁系统的设计与实现

文章目录 前言资料获取设计介绍功能介绍程序代码部分参考 设计清单具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP…

vue动态统计图的绘画

效果图&#xff1a; 实现&#xff1a; 一、导入依赖 import echarts from echarts 二、vue的代码实现 1.在main.js导入文件 // 引入 echarts 插件 import echarts from echarts // 配置成全局组件 Vue.prototype.$echarts echarts2.代码实现 <template><!--为echa…

韩国火烧车影响出现,浙江出现限制电车进入地下车库,车主难受了

韩国电动汽车起火&#xff0c;烧毁140辆汽车&#xff0c;还导致大楼损坏以及居民受伤的后果&#xff0c;如今在中国市场也产生了影响&#xff0c;《华商报》旗下的《大风新闻》报道指&#xff0c;浙江多地的饭店、大厦禁止电动汽车进入地下车库&#xff0c;这下子电动汽车车主又…

滑动窗口在算法中的应用

滑动窗口是一种经典的算法技巧&#xff0c;就像在处理一系列动态数据时&#xff0c;用一扇可以滑动的“窗口”来捕捉一段连续的子数组或子字符串。通过不断地移动窗口的起点或终点&#xff0c;我们能够以较低的时间复杂度来解决一系列问题。在这篇文章中&#xff0c;我们将通过…

图形视频处理软件Adobe After Effects(AE)2024WIN/MAC下载及系统要求

目录 一、Adobe AE软件简介 1.1 什么是Adobe AE软件 1.2 AE软件的发展历程 1.3 AE软件的应用领域 二、Adobe AE软件下载 2.1 下载 2.2 下载注意事项 三、Adobe AE软件系统要求 3.1 最低配置要求 3.2 推荐配置要求 3.3 显示器和分辨率 四、Adobe AE软件安装与使用 …

【MacOS】mac定位服务中删除已经卸载的软件

mac定位服务中删除已经卸载的软件 网上的帖子真不靠谱 直接右键 WeTypeSettings &#xff0c;查找位置&#xff0c;丢废纸篓即可&#xff01;会提示你卸载的&#xff01;

Pyramid: Real-Time LoRa Collision Decoding with Peak Tracking技术思考与解读

一点点个人的论文解读、技术理解&#xff0c;难免会有错误&#xff0c;欢迎大家一起交流和学习~~ &#x1f600;作者关于lora的系列文章从问题陈述到方法论的提出&#xff0c;再到实验评估&#xff0c;文章结构条理清晰&#xff0c;逻辑性强&#xff0c;并深入分析了LoRa信号处…

力扣刷题(5)

整数转罗马数字 整数转罗马数字-力扣 思路&#xff1a; 把各十百千位可能出现的情况都列出来&#xff0c;写成一个二维数组找出该数的各十百千位&#xff0c;与数组中的罗马元素对应 const char* ch[4][10]{{"", "I", "II", "III"…

webpack - 五大核心概念和基本配置(打包一个简单HTML页面)

// 五大核心概念 1. entry&#xff08;入口&#xff09; 指示Webpack从哪个文件开始打包2. output&#xff08;输出&#xff09; 指示Webpack打包完的文件输出到哪里去&#xff0c;如何命名等3. loader&#xff08;加载器&#xff09; webpack本身只能处理js&#xff0c;json等…

Bev pool 加速(2):自定义c++扩展

文章目录 1. c++扩展2. 案例2.1 案例12. 1.1 代码实现(1) c++ 文件(2) setup.py编写(3) python 代码编写2.1 案例1在bevfusion论文中,将bev_pooling定义为view transform中的效率瓶颈,bevfusion 主要就是对bev_pooling进行了加速,使得视图转换的速度提高了40倍,延迟从500ms…

charles配置安卓抓包(避坑版)

下载Charleshttps://www.charlesproxy.com/安装&#xff0c;疯狂点击下一步即可注册&#xff1a;打开Charles&#xff0c;选择“Help”菜单中的“Register Charles”&#xff0c;进网站生成密钥&#xff1a;https://www.zzzmode.com/mytools/charles/,将生成的密钥填入注册重启…

JavaScript练手小技巧:利用鼠标滚轮控制图片轮播

近日&#xff0c;在浏览网站的时候&#xff0c;发现了一个有意思的效果&#xff1a;一个图片轮播&#xff0c;通过上下滚动鼠标滚轮控制图片的上下切换。 于是就有了自己做一个的想法&#xff0c;顺带复习下鼠标滚轮事件。 鼠标滚轮事件&#xff0c;参考这篇文章&#xff1a;…

Vue 3 + Element Plus 封装单列控制编辑的可编辑表格组件

在Web应用开发中&#xff0c;经常需要提供表格数据的编辑功能。本文将介绍如何使用Vue 3结合Element Plus库来实现一个支持单列控制编辑功能的表格&#xff0c;并通过封装组件的形式提高代码的复用性。通过本教程&#xff0c;你将学会如何构建一个具备单列控制编辑功能的表格组…

Cloudways搭建WordPress外贸独立站完整教程(1)

验证邮件发送完成后&#xff0c;就等待Cloudways的回复邮件&#xff0c;一般24小时之内就会收到激活的邮件。 Cloudways账号升级 激活成功后还需要账户升级&#xff0c;Cloudways提供了为期3天的免费试用体验。如果在试用期结束之前未绑定信用卡以升级账户&#xff0c;试用期…

UE5学习笔记21-武器的射击功能

一、创建C类 创建武器子弹的类&#xff0c;创建生产武器子弹的类&#xff0c;创建弹壳的类&#xff0c;生产武器子弹的类的父类是武器的类 创建后如图&#xff0c;ProjectileMyWeapon类(产生子弹的类)继承自weapon类&#xff0c;Projectile(子弹的类)&#xff0c;Casing(弹壳声…

Claude 3.5:如何高效辅助编程——全面入门指南

在现代编程世界中&#xff0c;AI的角色越来越重要&#xff0c;尤其是在代码生成、调试、文档生成等领域中&#xff0c;AI工具的运用让开发者可以更高效地完成任务。Claude 3.5是一个这样的AI助手&#xff0c;凭借其强大的自然语言处理能力&#xff0c;在编程中提供了大量的支持…

Sui Narwhal and Tusk 共识协议笔记

一、Overwiew [ 整体流程: Client提交transaction到Narwhal Mempool。(Narwhal Mempool由一组worker和一个primary组成) Mempool接收到的Transaction->以Certificate的形式进行广播 由worker将交易打包为Batch,worker将Batch的hash发送给primary primary上运行了mempo…

mysql笔记4(数据类型)

数据库的数据类型应该是数据库架构师(DBA)和产品经理沟通后依据公司的项目、业务而定的&#xff0c;而且会不停地变化。数据类型的选择方面没有一个统一的标准&#xff0c;但是应该符合业务、项目的逻辑标准。 菜鸟教程 Mysql 数据类型 文章目录 1. int类型2. 浮点数3. 定点数4…

C# Dotfuscator加密dll设置流程

按照以下步骤处理后&#xff0c;反编译基本只能看到函数名&#xff0c;看不到源代码 1.Input 2.Setting 3.Rename 4.Rename 5.Control Flow 6.String Encryption 7.Output

【stata】自写命令分享dynamic_est,一键生成dynamic effect

1. 命令简介 dynamic_est 是一个用于可视化动态效应&#xff08;dynamic effect&#xff09;的工具。它特别适用于事件研究&#xff08;event study&#xff09;或双重差分&#xff08;Difference-in-Differences, DID&#xff09;分析。通过一句命令即可展示动态效应&#xf…