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

server/2024/12/23 6:19:30/

概述

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

http://www.ppmy.cn/server/114019.html

相关文章

uniapp如何监听页面滚动?

在uni-app中,监听页面滚动主要通过在页面的.vue文件中的onPageScroll生命周期函数来实现。onPageScroll函数会在页面滚动时触发,你可以在这个函数中获取到当前页面的滚动位置等信息。 下面是一个简单的示例,展示了如何在uni-app中监听页面滚…

python(进阶2)实现自动化注册和登录

1. 分析需求 后端完成接口以后,工作中可能会涉及到自测通断,a接口和b接口之间可能有关联关系,例如:a接口注册,b接口登录,就需要a接口返回的参数传递到b接口 2. 环境准备 需要这些类包 import requests import rand…

socket 断线重连和心跳机制如何实现?

一、socket 概念 1.套接字(socket)是网络通信的基石,是支持 TCP/IP 协议的网络通信的基本操作单元。它是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息:连接使用的协议,本地主机的 IP 地址…

WordPress安装指南:主题、插件和最佳实践

WordPress是世界上最流行的内容管理系统(CMS),因其易用性和灵活性而备受欢迎。本文将指导您完成WordPress的安装过程,介绍一些常用的主题和插件,并分享一些重要的注意事项。 1. WordPress安装 步骤1:准备…

【Linux】System V通信

目录 System V共享内存 共享内存数据结构 共享内存函数 共享内存的关联 共享内存的去关联 用共享内存实现serve&client通信 共享内存与管道进行对比 System V共享内存 管道通信本质是基于文件的,也就是说操作系统并没有为此做过多的设计工作,…

设计模式六大原则

设计模式的六大原则,也称为SOLID原则,是面向对象编程中用于指导软件设计的一套基本原则。这些原则旨在帮助开发者创建可维护、可扩展、灵活且易于理解的代码。 1. 单一职责原则(Single Responsibility Principle, SRP) 含义&…

Anaconda Prompt 安装paddle2.6报错

bug描述 python 3.11.9 通过 pip install paddlepaddle2.6.1 安装后,运行 paddle.utils.run_check() 则出现下面的错误: 解决办法 方法一:使用paddle 3的版本 这里要注意我的python版本 方法二:使用低版本的python python3.9…

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

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