IP地址【图解TCP/IP(笔记十)】

这篇具有很好参考价值的文章主要介绍了IP地址【图解TCP/IP(笔记十)】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

IP地址的基础知识

在用TCP/IP通信时,用IP地址识别主机和路由器。为了保证正常通信,有必要为每个设备配置正确的IP地址。在互联网通信中,全世界都必须设定正确的IP地址。否则,根本无法实现正常的通信。

因此,IP地址就像是TCP/IP通信的一块基石。

IP地址的定义

IP地址(IPv4地址)由32位正整数来表示。TCP/IP通信要求将这样的IP地址分配给每一个参与通信的主机。IP地址在计算机内部以二进制(二进制是指用0、1表示数字的方法。) 方式被处理。然而,由于人类社会并不习惯于采用二进制方式,需要采用一种特殊的标记方式。那就是将32位的IP地址以每8位为一组,分成4组,每组以“.”隔开,再将每组数转换为十进制数(这种方法也叫做“十进制点符号”(Dot-decimal notation)。) 。下面举例说明这一方法。IP地址【图解TCP/IP(笔记十)】,图解TCP/IP,tcp/ip,笔记,网络协议
将表示成IP地址的数字整体计算,会得出如下数值。

232 =4 294 967 296

从这个计算结果可知,最多可以允许43亿台计算机连接到网络(虽然43亿这个数字听起来还算比较大,但是还不到地球上现有人口的总数。) 。

实际上,IP地址并非是根据主机台数来配置的,而是每一台主机上的每一块网卡(NIC)都得设置IP地址(Windows或Unix中设置IP地址的命令分别为ipconfig/all和ifconfig-a。) 。通常一块网卡只设置一个IP地址,其实一块网卡也可以配置多个IP地址。此外,一台路由器通常都会配置两个以上的网卡,因此可以设置两个以上的IP地址。

因此,让43亿台计算机全部连网其实是不可能的。由于P地址的两个组成部分网络标识和主机标识,其实实际能够连接到网络的计算机个数更是少了很多(根据一种可以更换IP地址的技术NAT,可连接计算机数超过43亿台。) 。
IP地址【图解TCP/IP(笔记十)】,图解TCP/IP,tcp/ip,笔记,网络协议

IP地址由网络和主机两部分标识组成

IP地址由“网络标识(网络地址)”和“主机标识(主机地址)”两部分组成(192.168.128.10/24中的“/24”表示从第1位开始到多少位属于网络标识。在这个例子中,192.168.128之前的都是该IP的网络地址。) 。

如图所示,网络标识在数据链路的每个段配置不同的值。网络标识必须保证相互连接的每个段的地址不相重复。而相同段内相连的主机必须有相同的网络地址。IP地址的“主机标识”则不允许在同一个网段内重复出现。
IP地址【图解TCP/IP(笔记十)】,图解TCP/IP,tcp/ip,笔记,网络协议
由此,可以通过设置网络地址和主机地址,在相互连接的整个网络中保证每台主机的IP地址都不会相互重叠。即IP地址具有了唯一性(唯一性是指在整个网络中,不会跟其他主机的IP地址冲突。) 。

如图所示,IP包被转发到途中某个路由器时,正是利用目标IP地址的网络标识进行路由。因为即使不看主机标识,只要一见到网络标识就能判断出是否为该网段内的主机。
IP地址【图解TCP/IP(笔记十)】,图解TCP/IP,tcp/ip,笔记,网络协议
那么,究竟从第几位开始到第几位算是网络标识,又从第几位开始到第几位算是主机标识呢?
关于这点,有约定俗成的两种类型。最初二者以分类进行区别。而现在基本以子网掩码(网络前缀)区分。不过,在有些情况下依据部分功能、系统和协议的需求,前一种的方法依然存在。

IP地址的分类

IP地址分为四个级别,分别为A类、B类、C类、D类(还有一个一直未使用的E类。) 。它根据IP地址中从第1位到第4位的比特列对其网络标识和主机标识进行区分。

■ A类地址

A类IP地址是首位以“0”开头的地址。从第1位到第8位(去掉分类位剩下7位。) 是它的网络标识。用十进制表示的话,0.0.0.0~127.0.0.0是A类的网络地址。A类地址的后24位相当于主机标识。因此,一个网段内可容纳的主机地址上限为16,777,214个。

■ B类地址

B类IP地址是前两位为“10”的地址。从第1位到第16位(去掉分类位剩下14位。) 是它的网络标识。用十进制表示的话,128.0.0.1~191.255.0.0是B类的网络地址。B类地址的后16位相当于主机标识。因此,一个网段内可容纳的主机地址上限为65,534个。

■ C类地址

C类IP地址是前三位为“110”的地址。从第1位到第24位(去掉分类位剩下21位。) 是它的网络标识。用十进制表示的话,192.168.0.0~239.255.255.0是C类的网络地址。C类地址的后8位相当于主机标识。因此,一个网段内可容纳的主机地址上限为254个 。

■ D类地址

D类IP地址是前四位为“1110”的地址。从第1位到第32位(去掉分类位剩下28位。) 是它的网络标识。用十进制表示的话,224.0.0.0~239.255.255.255是D类的网络地址。D类地址没有主机标识,常被用于多播。
IP地址【图解TCP/IP(笔记十)】,图解TCP/IP,tcp/ip,笔记,网络协议
■ 关于分配IP主机地址的注意事项

在分配IP地址时关于主机标识有一点需要注意。即要用比特位表示主机地址时,不可以全部为0或全部为1。因为全部为只有0在表示对应的网络地址或IP地址不可获知的情况下才使用。而全部为1的主机地址通常作为广播地址。

因此,在分配过程中,应该去掉这两种情况。这也是为什么C类地址每个网段最多只能有254(28 -2=254)个主机地址的原因。

广播地址

广播地址用于在同一个链路中相互连接的主机之间发送数据包。将IP地址中的主机地址部分全部设置为1,就成为了广播地址(以太网中如果将MAC地址的所有位都改为1,则形成FF:FF:FF:FF:FF:FF的广播地址。因此,广播的IP包以数据链路的帧的形式发送时,得通过MAC地址为全1比特的FF:FF:FF:FF:FF:FF转发。) 。例如把172.20.0.0/16用二进制表示如下:

10101100.00010100.00000000.00000000   (二进制)

将这个地址的主机部分全部改为1,则形成广播地址:

10101100.00010100.11111111.11111111   (二进制)

再将这个地址用十进制表示,则为172.20.255.255。

■ 两种广播

广播分为本地广播和直接广播两种。

在本网络内的广播叫做本地广播。例如网络地址为192.168.0.0/24的情况下,广播地址是192.168.0.255。因为这个广播地址的IP包会被路由器屏蔽,所以不会到达192.168.0.0/24以外的其他链路上。

在不同网络之间的广播叫做直接广播。例如网络地址为192.168.0.0/24的主机向192.168.1.255/24的目标地址发送IP包。收到这个包的路由器,将数据转发给192.168.1.0/24,从而使得所有192.168.1.1~192.168.1.254的主机都能收到这个包(由于直接广播有一定的安全问题,多数情况下会在路由器上设置为不转发。) 。
IP地址【图解TCP/IP(笔记十)】,图解TCP/IP,tcp/ip,笔记,网络协议

IP多播

■ 同时发送提高效率

多播用于将包发送给特定组内的所有主机。由于其直接使用IP协议,因此也不存在可靠传输。

而随着多媒体应用的发展,对于向多台主机同时发送数据包,在效率上的要求也日益提高。在电视会议系统中对于1对N、N对N通信的需求明显上升。而具体实现上往往采用复制1对1通信的数据,将其同时发送给多个主机的方式。

在人们使用多播功能之前,一直采用广播的方式。那时广播将数据发给所有终端主机,再由这些主机IP之上的一层去判断是否有必要接收数据。是则接收,否则丢弃。

然而这种方式会给那些毫无关系的网络或主机带来影响,造成网络上很多不必要的流量。况且由于广播无法穿透路由,若想给其他网段发送同样的包,就不得不采取另一种机制。因此,多播这种既可以穿透路由器,又可以实现只给那些必要的组发送数据包的技术就成为必选之路了。
IP地址【图解TCP/IP(笔记十)】,图解TCP/IP,tcp/ip,笔记,网络协议
■ IP多播与地址

多播使用D类地址。因此,如果从首位开始到第4位是“1110”,就可以认为是多播地址。而剩下的28位可以成为多播的组编号。
IP地址【图解TCP/IP(笔记十)】,图解TCP/IP,tcp/ip,笔记,网络协议
从224.0.0.0到239.255.255.255都是多播地址的可用范围。其中从224.0.0.0到224.0.0.255的范围不需要路由控制,在同一个链路内也能实现多播。而在这个范围之外设置多播地址会给全网所有组内成员发送多播的包(可以利用生存时间(TTL,Time To Live)限制包的到达范围。) 。

此外,对于多播,所有的主机(路由器以外的主机和终端主机)必须属于224.0.0.1的组,所有的路由器必须属于224.0.0.2的组。类似地,多播地址中有众多已知的地址,它们中具有代表性的部分已在下表列出。

利用IP多播实现通信,除了地址外还需要IGMP(Internet Group Management Protocol) 等协议的支持。
IP地址【图解TCP/IP(笔记十)】,图解TCP/IP,tcp/ip,笔记,网络协议

子网掩码

■ 分类造成浪费?

一个IP地址只要确定了其分类,也就确定了它的网络标识和主机标识。例如A类地址前8位(除首位“0”还有7位)、B类地址前16位(除首位“10”还有14位)、C类地址前24位(除首位“110”还有21位)分别是它们各自的网络标识部分。

由此,按照每个分类所表示的网络标识的范围如下所示。
IP地址【图解TCP/IP(笔记十)】,图解TCP/IP,tcp/ip,笔记,网络协议
用“1”表示IP网络地址的比特范围,用“0”表示IP主机地址范围。将它们以十进制表示,如下所示。其中“1”的部分是网络地址部分,“0”的部分是主机地址部分。
IP地址【图解TCP/IP(笔记十)】,图解TCP/IP,tcp/ip,笔记,网络协议
网络标识相同的计算机必须同属于同一个链路。例如,架构B类IP网络时,理论上一个链路内允许6万5千多台计算机连接。然而,在实际网络架构当中,一般不会有在同一个链路上连接6万5千多台计算机的情况。因此,这种网络结构实际上是不存在的。

因此,直接使用A类或B类地址,确实有些浪费。随着互联网的覆盖范围逐渐增大,网络地址会越来越不足以应对需求,直接使用A类、B类、C类地址就更加显得浪费资源。为此,人们已经开始一种新的组合方式以减少这种浪费。

■ 子网与子网掩码

现在,一个IP地址的网络标识和主机标识已不再受限于该地址的类别,而是由一个叫做“子网掩码”的识别码通过子网网络地址细分出比A类、B类、C类更小粒度的网络。这种方式实际上就是将原来A类、B类C类等分类中的主机地址部分用作子网地址,可以将原网络分为多个物理网络的一种机制。

自从引入了子网以后,一个IP地址就有了两种识别码。一是IP地址本身,另一个是表示网络部的子网掩码。子网掩码用二进制方式表示的话,也是一个32位的数字。它对应IP地址网络标识部分的位全部为“1”,对应IP地址主机标识的部分则全部为“0”。由此,一个IP地址可以不再受限于自己的类别,而是可以用这样的子网掩码自由地定位自己的网络标识长度。当然,子网掩码必须是IP地址的首位开始连续的“1”(最初提出子网掩码时曾允许出现不连续的子网掩码,但现在基本不允许出现这种情况。) 。

对于子网掩码,目前有两种表示方式。以172.20.100.52的前26位是网络地址的情况为例,以下是其中一种表示方法,它将IP地址与子网掩码的地址分别用两行来表示。
IP地址【图解TCP/IP(笔记十)】,图解TCP/IP,tcp/ip,笔记,网络协议
另一种表示方式如下所示。它在每个IP地址后面追加网络地址的位数(这种方式也叫“后缀”表示法。) 用“/”隔开。
IP地址【图解TCP/IP(笔记十)】,图解TCP/IP,tcp/ip,笔记,网络协议
不难看出,在第二种方式下记述网络地址时可以省略后面的“0”。例如172.20.0.0/16跟172.20/16其实是一个意思。
IP地址【图解TCP/IP(笔记十)】,图解TCP/IP,tcp/ip,笔记,网络协议

IPv4首部

通过IP进行通信时,需要在数据的前面加入IP首部信息。IP首部中包含着用于IP协议进行发包控制时所有的必要信息。了解IP首部的结构,也就能够对IP所提供的功能有一个详细的把握。
IP地址【图解TCP/IP(笔记十)】,图解TCP/IP,tcp/ip,笔记,网络协议
■ 版本(Version)

由4比特构成,表示标识IP首部的版本号。IPv4的版本号即为4,因此在这个字段上的值也是“4”。

■ 首部长度(IHL:Internet Header Length)

由4比特构成,表明IP首部的大小,单位为4字节(32比特)。对于没有可选项的IP包,首部长度则设置为“5”。也就是说,当没有可选项时,IP首部的长度为20字节(4×5=20)。

■ 区分服务(TOS:Type Of Service)

由8比特构成,用来表明服务质量。每一位的具体含义如表所示。
IP地址【图解TCP/IP(笔记十)】,图解TCP/IP,tcp/ip,笔记,网络协议
■ DSCP段与ECN段

DSCP(Differential Services Codepoint,差分服务代码点)是TOS(Type Of Service)的一部分。现在统称为DiffServ ,用来进行质量控制。

如果3~5位的值为0,0~2位则被称作类别选择代码点。这样就可以像TOS的优先度那样提供8种类型的质量控级别。对于每一种级别所采取的措施则由提供DiffServ的运营管理者制定。为了与TOS保持一致,值越大优先度也越高。如果第5位为1,表示实验或本地使用的意思。

ECN(Explicit Congestion Notification,显式拥塞通告)用来报告网络拥堵情况,由两个比特构成。

第6位的ECT用以通告上层TCP层协议是否处理ECN。当路由器在转发ECN为1的包的过程中,如果出现网络拥堵的情况,就将CE位设置为1 。

■ 总长度(Total Length)

表示IP首部与数据部分合起来的总字节数。该字段长16比特。因此IP包的最大长度为65535(=216 )字节。

目前还不存在能够传输最大长度为65535字节的IP包的数据链路。不过,由于有IP分片处理,从IP的上一层的角度看,不论底层采用何种数据链路,都可以认为能够以IP的最大包长传输数据。

■ 标识(ID:Identification)

由16比特构成,用于分片重组。同一个分片的标识值相同,不同分片的标识值不同。通常,每发送一个IP包,它的值也逐渐递增。此外,即使ID相同,如果目标地址、源地址或协议不同的话,也会被认为是不同的分片。

■ 标志(Flags)

由3比特构成,表示包被分片的相关信息。每一位的具体含义请参考下表。
IP地址【图解TCP/IP(笔记十)】,图解TCP/IP,tcp/ip,笔记,网络协议
■ 片偏移(FO:Fragment Offset)

由13比特构成,用来标识被分片的每一个分段相对于原始数据的位置。第一个分片对应的值为0。由于FO域占13位,因此最多可以表示8192(=213 )个相对位置。单位为8字节,因此最大可表示原始数据8×8192=65536字节的位置。

■ 生存时间(TTL:Time To Live)

由8比特构成,它最初的意思是以秒为单位记录当前包在网络上应该生存的期限。然而,在实际中它是指可以中转多少个路由器的意思。每经过一个路由器,TTL会减少1,直到变成0则丢弃该包(TTL占8位,因此可以表示0~255的数字。因此一个包的中转路由的次数不会超过28 =256个。由此可以避免IP包在网络内无限传递的问题。) 。

■ 协议(Protocol)

由8比特构成,表示IP首部的下一个首部隶属于哪个协议。

■ 首部校验和(Header Checksum)

由16比特(2个字节)构成,也叫IP首部校验和。该字段只校验数据报的首部,不校验数据部分。它主要用来确保IP数据报不被破坏。校验和的计算过程,首先要将该校验和的所有位置设置为0,然后以16比特为单位划分IP首部,并用1补数(1补数 通常计算机中对整数运算采用2补数的方式。但在校验和的计算中采用1补数运算方法。这样做的优点在于即使产生进位也可以回到第1位,可以防止信息缺失并且可以用2个0区分使用。) 计算所有16位字的和。最后将所得到这个和的1补数赋给首部校验和字段。

■ 源地址(Source Address)

由32比特(4个字节)构成,表示发送端IP地址。

■ 目标地址(Destination Address)

由32比特(4个字节)构成,表示接收端IP地址。

■ 可选项(Options)

长度可变,通常只在进行实验或诊断时使用。该字段包含如下几点信息:

安全级别
源路径
路径记录
时间戳

■ 填充(Padding)

也称作填补物。在有可选项的情况下,首部长度可能不是32比特的整数倍。为此,通过向字段填充0,调整为32比特的整数倍。

■ 数据(Data)

存入数据。将IP上层协议的首部也作为数据进行处理。文章来源地址https://www.toymoban.com/news/detail-549870.html

到了这里,关于IP地址【图解TCP/IP(笔记十)】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 计算机网络—网络原理之<TCP/IP 五层协议 >图解+详述

    当应用程序间需要进行网络通讯,在 TCP/IP 五层协议的应用层需要做的工作是,程序员 自定义应用层协议 。 当前要开发一个关于“点外卖软件”的一个项目,其中有一个功能为:获取用户的订单历史(后端服务器从数据库中取出数据返回给前端页面),类似像这样的功能,

    2024年02月07日
    浏览(57)
  • 【网络】- TCP/IP四层(五层)协议 - 网际层(网络层) - IP地址

    上篇文章简单介绍了网际协议IP。网际协议 IP 大致分为三大作用模块, ①IP寻址、 ②路由(最终节点为止的转发) 、③IP分包与组包。 这篇文章主要详细介绍IP地址的基础知识。包括IP地址的组成、分类、广播地址、多播、子网掩码等。 在用 TCP/IP 通信时, 用 IP地址 识别主

    2024年02月06日
    浏览(46)
  • 网络的构成要素【图解TCP/IP(笔记七)】

    通信媒介与数据链路 计算机之间通过电缆相互连接。电缆可以分为很多种,包括双绞线电缆、光纤电缆、同轴电缆、串行电缆等。根据数据链路(Datalink,意指相互直连的设备之间进行通信所涉及的协议及其网络。为此,有众多传输介质与之对应。) 的不同选用的电缆类型也

    2024年02月13日
    浏览(53)
  • Java中网络的基本介绍。网络通信,网络,ip地址,域名,端口,网络通信协议,TCP/IP传输过程,网络通信协议模型,TCP协议,UDP协议

    - 网络通信 概念:网络通信是指 通过计算机网络进行信息传输的过程 ,包括数据传输、语音通话、视频会议等。在网络通信中,数据被分成一系列的数据包,并通过网络传输到目的地。在数据传输过程中,需要确保数据的完整性、准确性和安全性。常见的网络通信协议有T

    2024年02月10日
    浏览(69)
  • 网络编程1—— IP地址 + 端口号 +TCP/IP协议 + 协议分层的封装与应用

    本人是一个刚刚上路的IT新兵,菜鸟!分享一点自己的见解,如果有错误的地方欢迎各位大佬莅临指导,如果这篇文章可以帮助到你,劳请大家点赞转发支持一下! 从本篇文章开始就要分享网络编程的内容了,越发的感受到了编程的魅力,鸡汤来喽!! 1️⃣单机阶段:计算机跟计算

    2024年02月12日
    浏览(40)
  • 计算机与网络发展的7个阶段【图解TCP/IP(笔记一)】

    批处理 所谓批处理,是指事先将用户程序和数据装入卡带或磁带,并由计算机按照一定的顺序读取,使用户所要执行的这些程序和数据能够一并批量得到处理的方式。这种计算机通常放置于专门的计算机管理与运维的计算机中心。用户事先将程序和数据装入卡带或磁带送到这

    2024年02月12日
    浏览(58)
  • 《TCP/IP网络编程》阅读笔记--域名及网络地址

    目录 1--域名系统 2--域名与 IP 地址的转换 2-1--利用域名来获取 IP 地址 2-2--利用 IP 地址获取域名 3--代码实例 3-1--gethostbyname() 3-2--gethostbyaddr()         域名系统(Domain Name System, DNS )是对 IP 地址和域名进行相互转换 的系统,其核心是 DNS 服务器;         一般来说, IP

    2024年02月09日
    浏览(62)
  • 详解TCP/IP协议第五篇:详细介绍网络传输中的地址

    😉😉 学习交流群: ✅✅1:这是孙哥suns给大家的福利! ✨✨2:我们免费分享Netty、Dubbo、k8s、Mybatis、Spring...应用和源码级别的视频资料 🥭🥭3:QQ群:583783824   📚📚  工作微信:BigTreeJava 拉你进微信群,免费领取! 🍎🍎4:本文章内容出自上述:Spring应用课程!💞💞

    2024年02月07日
    浏览(41)
  • 【网络通信】探索UDP与TCP协议、IP地址和端口号的奥妙

    🌺 个人主页: Dawn黎明开始 🎀 系列专栏: 网络奇幻之旅 ⭐ 每日一句:往前走,朝着光 📢 欢迎大家:关注 🔍 +点赞 👍 +评论📝+收藏⭐️ 文章目录 📋前言 一.网络通信 1.1网络通信协议 1.2TCP/IP协议中的四个层次 二.UDP协议 2.1定义 2.2UDP连接的交互过程 三.TCP协议 3.1定义

    2024年02月05日
    浏览(47)
  • Linux 网络编程学习笔记——一、TCP/IP 协议族

    数据链路层实现了网卡接口的网络驱动程序,以处理数据在物理媒介(以太网、令牌环等)上的传输,不同的物理网络具有不同的电气特性,网络驱动程序隐藏了这些细节,为上层协议提供一个统一的接口。最常用的协议是 ARP(Address Resolve Protocol,地址解析协议)和 RARP(

    2024年02月02日
    浏览(71)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包