当前位置: 首页 > 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地址。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • “阡陌云旅”黄河九省文化旅游平台
  • LabVIEW FIFO详解
  • docker容器高效连接 Redis 的方式
  • LabVIEW灵活集成与调试的方法
  • 【Hot100】LeetCode—763. 划分字母区间
  • 线程的四种操作
  • python内置模块datetime.datetime类详细介绍
  • 2024.9.8
  • Android Framework(四)WMS-窗口显示流程——窗口创建与添加
  • 搭建一个本地 SMTP 服务器
  • 08-图8 How Long Does It Take(C)
  • 移动应用门户实现的技术方案
  • 用了虚拟机后,本机摄像头打不开了(联想电脑thinkpad)
  • [数据集][目标检测]血细胞检测数据集VOC+YOLO格式2757张4类别
  • 2024国赛数学建模B题完整分析参考论文38页(含模型和可运行代码)
  • 【跃迁之路】【733天】程序员高效学习方法论探索系列(实验阶段490-2019.2.23)...
  • 【跃迁之路】【735天】程序员高效学习方法论探索系列(实验阶段492-2019.2.25)...
  • 2017前端实习生面试总结
  • angular2 简述
  • CNN 在图像分割中的简史:从 R-CNN 到 Mask R-CNN
  • gf框架之分页模块(五) - 自定义分页
  • iOS | NSProxy
  • JS题目及答案整理
  • Objective-C 中关联引用的概念
  • Puppeteer:浏览器控制器
  • TiDB 源码阅读系列文章(十)Chunk 和执行框架简介
  • Web Storage相关
  • 前嗅ForeSpider中数据浏览界面介绍
  • 驱动程序原理
  • 通过npm或yarn自动生成vue组件
  • 异常机制详解
  • Prometheus VS InfluxDB
  • #每日一题合集#牛客JZ23-JZ33
  • ( )的作用是将计算机中的信息传送给用户,计算机应用基础 吉大15春学期《计算机应用基础》在线作业二及答案...
  • (24)(24.1) FPV和仿真的机载OSD(三)
  • (附源码)计算机毕业设计ssm高校《大学语文》课程作业在线管理系统
  • (六)vue-router+UI组件库
  • (三)c52学习之旅-点亮LED灯
  • (一)RocketMQ初步认识
  • (转载)Google Chrome调试JS
  • ******IT公司面试题汇总+优秀技术博客汇总
  • ./和../以及/和~之间的区别
  • .NET Core Web APi类库如何内嵌运行?
  • .NET Core 成都线下面基会拉开序幕
  • .net 打包工具_pyinstaller打包的exe太大?你需要站在巨人的肩膀上-VC++才是王道
  • .NET 回调、接口回调、 委托
  • .net 开发怎么实现前后端分离_前后端分离:分离式开发和一体式发布
  • .Net程序猿乐Android发展---(10)框架布局FrameLayout
  • .NET企业级应用架构设计系列之应用服务器
  • [ Linux ] Linux信号概述 信号的产生
  • [ACTF2020 新生赛]Include
  • [Algorithm][综合训练][kotori和气球][体操队形][二叉树中的最大路径和]详细讲解
  • [android] 手机卫士黑名单功能(ListView优化)
  • [Android实例] 保持屏幕长亮的两种方法 [转]
  • [C++] vector list 等容器的迭代器失效问题