网络原理之TCP-IP地址 & 子网掩码

这篇具有很好参考价值的文章主要介绍了网络原理之TCP-IP地址 & 子网掩码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

网络原理之TCP_IP地址 & 子网掩码


鸡汤:

谋事在人,成事在天

社会有很多不是自己能把握的东西,不必给自己太多压力,朝着自己小目标尽力而为;结果或许重要,那也是看自己时运如何了。

一、IP4&6

概念:连接到Internet中的每一个节点的唯一标识

组成:网络号+主机号

版本:

1、IPv4 (没有特别指定的版本下,通常所谓的IP地址就是IPv4)

  • 一串32位的2进制数,表示2^32个不同的数。
  • 分4组,每组之间用小数点 “.” 分割,每一组的8位2进制数使用10进制数表示。
  • IPv4的点分十进制记法,每一组的10进制数的范围是:[0,255]。

2、IPv6 (是IPv4 的 2^96 倍)

  • 设计用于代替IPv4的下一代互联网协议
  • 一串128为的2进制数,表示2^128个不同的数 (2^128可以说是一个天文数字,每个数可以分配给地球上的每一粒沙)
  • 分8组每组之间用冒号“:” 分割,每一组16位2进制数,使用16进制数表示。
  • IPv6使用冒分十六进制记法。
    • 每一组的前导0可以省略;such as 2001:0000:9d38:0b87:14ea:007d:4b65:b04a —> 2001:0:9d38:b87:14ea:7d:4b65:b04a
    • 若连续的一组或几组全是0,可以压缩为“::”,但是只能出现一次; such as 0:0:0:0:0:0:0:1 —>::1; 0:0:0:0:0:0:0:0 ---->:: ; ff03:0:0:0:2002:0:0:1001 ----> ff03::2002:0:0:1001

IPv6 我们不细讲,现在其实大部分还是使用的IPv4。感兴趣的可以自己下来网上了解。

1.1、IP4分类

根据网络规模的大小,IP地址分为了 A,B,C,D,E 五类,其中的 A,B,C三类为基本地址。

1、A类:

  • 8位网络号+24位主机号。
  • A类地址的第一为2进制数总是为“0”
    • 第一个字节的取值范围 [0,127]
    • 网络数:2^(8-1) = 128
    • 主机数:2^24-2=16777214
    • 特殊用途:
      • 0.0.0.0,服务器监听地址,其实全0表示的含义有很多,不过通常表示整个网络”
      • 127.0.0.1,回环地址,专用于测试,表示本机;实际上只要是127开头,即127.0.0.0~127.255.255.255,都表示本机
  • 保留地址:10.0.0.0~10.255.255.255

网络原理之TCP-IP地址 & 子网掩码

2、B类:

  • 16位网络号+16位主机号
  • B类地址的前两位2进制数总是为 ”10“
    • 第一个字节的取值范围:[128,191]
    • 网络数:2^(16-2)=16384
    • 主机数:2^16-2=65534
  • 保留地址:172.16.0.0~172.31.255.255

网络原理之TCP-IP地址 & 子网掩码

3、C类:

  • 24位网路号+8位主机号
  • C类地址的前三位2进制数总是为“110”
    • 第一个字节的取值范围:[192,223]
    • 网络数:2^(24-3)=2097152
    • 主机数:2^(8-2)=254
    • 保留地址:192.168.0.0~192.168.255.255

网络原理之TCP-IP地址 & 子网掩码

在主机位中:

1、全0表示网络地址;

2、全1表示广播地址;

这两个地址是不能用的,所以计算主机数中都要 “-2”。

5.也有D类和E类,但是我们通常用不动,只重点关注 ABC类即可。

D类:保留用于组播(多播);D类地址前四位2进制数总是“1110”,第一个字节范围[224,239];

E类:用于实验,科研;E类地址前四位2进制数总是“1111”,第一个字节范围[240,255];


总结:

分 类 范围 适用网络 网络数量 主机最大连接数
A 类 0.0.0.0 ~ 127.255.255.255 大型网络 126 16777214( 2 24 2^{24} 224-2)
B 类 128.0.0.0 ~ 191.255.255.255 中等规模 网络 约16000 个 65534( 2 16 2^{16} 216-2)
C 类 192.0.0.0 ~ 223.255.255.255 小型网络 - 254( 2 8 2^8 28-2)
D 类 224.0.0.0 ~ 239.255.255.255
E 类 240.0.0.0 ~ 247.255.255.255

先来解释一下为什么会有IP地址,随着时代和科技的发展,网络部分有ICANN负责分配,保障网络地址的全球唯一性,主机地址由各个网络的管理员统一分配,在广域网中我们现在上网都会分配一个唯一IP地址供我们上网.

网络原理之TCP-IP地址 & 子网掩码

IP地址的网络号类似于我们的小区,主机号就是类似于小区中具体的人,这个也类似于Http协议里面的URL基本格式中的端口号拉,区分小区中的具体的位置。要想给别人传递消息或者说是寄东西,首先肯定得知道某小区某单元才能把这消息或者快递给到具体的人手中,但在在广域网中我们的IP地址都是唯一的。

1.2 应对IP不够用的问题

在Internet中IPv4是一个32位的二进制数,那么会分2^32 约等于43亿不同的IP地址,但是我们全球现在有80多亿人口,在Internet中每个人都是不同的IP地址,故iP地址肯定是不够的,所以又想到可以用局域网和私有地址来解决问题。我们的局域网就是以路由器中的Lan口区分,路由器的Wan口就是连接Internet的。我们把唯一的IPv4地址分配给Wan口,也就说的是外网。

外网是唯一的Ip地址。

局域网就是小区,小区里面的某栋某号可能会跟别人的小区是重号的,所以我们的IP地址就可以重复使用,只是他们不在同一个局域网中。要想在不同局域网中发出数据,就得经过路由器,路由器类似于小区里面的保安,快递小哥把东西给保安,保安再把快递给具体的人,而我们在局域网中使用协议规定的保留网址(私有网址)根据自己设备的多少可手动设置ip地址。

保留地址(私有地址)的作用就是能在某个局域网中使用ip地址也可以在另一个局域网中也有重复的ip地址,这样确保每个人都可以分配到IP地址上网。

网络原理之TCP-IP地址 & 子网掩码

注意如果主机号的全 1,也就是255,”192.168.0.255“那么这个路由器会把接收到的信息全部打包(数据包)发给局域网中的每一个设备。俗称”广播地址“。

1.2.2、NAT机制

上文分析出的原理就称为“NAT机制”,因为Ipv4 不够用,IP分为内网和外网,内网可以在不同局域网中重复,外网是唯一,本质上就是一个大的局域网里的设备,通过路由器共用一个外网IP。

而NAT机制是路由器里的一个机制,这个机制是让外网的设备看不到内网的IP,会把局域网里设备访问广域网服务器IP数据报中的源IP进行替换,替换成路由器的外网的IP 。(何为数据报 可以看这篇帖子中 网络初始&网络编程 中的封装与分用那一部分)

网络原理之TCP-IP地址 & 子网掩码

这里两个客户端都连接上了服务器,服务器再根据他们的端口号的不同,来返回不同的应用程序数据,结合IP+port来明确一个唯一的连接。

1.2.2.3 NAPT机制

​ 当客户端分配到相同的源端口,那么路由器就会触发NAPT机制,路由器就会针对源端口,进行一个替换操作(NAPT)。

网络原理之TCP-IP地址 & 子网掩码

路由器如果发现源端口,目的IP和目的端口相同的时候,就会出发NAPT机制 路由器对数据报进行替换:

192.168.0.10:1234 --------------------> 201.1.2.1:1235

这种在路由器内部,就维护了一个映射关系,那么当服务器给主机返回数据的时候,数据先返回到路由器上,路由器通过映射关系找到刚才替换的数据,把之前201.1.2.1:1235 替换回了 192.168.0.10:1234 替换完后再把服务器这个数据转发到局域网里面的设备上。


​ 通过上面的NAT机制和NAPT机制,确实可以把IP地址不够用的问题解决,但是也引来了重要缺陷,局域网中的设备访问外网设备是可以的,但是外网设备访问局域网内部的设备就不行了!!!

综上所述,真正解决IP地址不够用的问题,还是要考IPv6。


​ 对于IP来说,除了管理IP地址外,还有个重要功能,就是路由器的选择,路由器会自己规划出一个通信路径,也就是问路找路的过程。

网络原理之TCP-IP地址 & 子网掩码

​ 一个客服端想要和另外的客服端进行通信,那么中间的过程是会经过很多的设备,错综复杂,在这么复杂的环境中路由器会自动找到一条合适的路。

​ 一个主机构造好网络数据报的时候,会先给他局域网里面的路由器发送数据报;如果局域网的这个路由器认识目的IP,就可以直接转发;如果路由器不认识目的IP,路由器就会把这个数据报沿着一条默认的路径继续转发给下一个路由器;重复上述的过程,转发到一定程度,就能找到认识目的IP的路由器。

1.2、子网掩码

1、一组32位的2进制数,与IPv4搭配使用

2、一般而言,总是从1开始,并且有连续的1和连续的0组成

  • 掩码中为1的部分,表示对应Ip地址的网络位子网类
  • 掩码中为0的部分,表示对应Ip地址的主机位。

标准的掩码:

网络原理之TCP-IP地址 & 子网掩码

3、引入子网掩码后,一个IP地址就有3部分组成:

  • 网络号+子网号+主机号

A类的主机号多,网络较少;B类比较平均;C类就是网络号多,主机号少。

这里就有个问题了这样一次划分网络都是8位划分,能不能灵活点可以借1位或者借5位这么划分的吗?在这里就需要用的子网掩码的概念了。

网络原理之TCP-IP地址 & 子网掩码

划分子网的功能:借主机位表示子网,可将一个大的局域网划分成n个小局域网。

划分子网过后,后面的0都是主机位,主机 2^7-2=126台。


总结出了子网划分的优势:

1、节约IP地址,避免浪费。

2、限定广播的传播。

3、保证网络的安全。

4、有助于覆盖大型地理区域。


计算方式:

  • 主机的IP地址与子网掩码进行“按位与”运算 = 主机的子网地址,通过主机的子网地址可以判断主机所属的子网
  • 将子网掩码二进制按位取反,再与 IP 地址位与计算,得到的就是主机号。

4、子网地址相同的主机处于一个“网段”,子网的地址不同的主机处于不同的“网段2”,同一网段的主机可直接通信,不同网段的主机需要使用路由器才能通信

网络原理之TCP-IP地址 & 子网掩码

例题:

Ip1:192.168.1.123

Ip2: 192.168.1.131

Mask:255.255.255.128

判断Ip1和Ip2是不是同一个子网地址的网段?

直接带公式:

if(IP1 & Mask == IP2 & Mask){
    System.out.println("相同");
} else {
    System.out.println("相同");
}

这是伪代码。

二、练习

192.168.16.0    分三个子网
1、他的掩码??
2、每个子网的地址范围
3、每个子网的广播地址
4、每个子网的主机地址范围

① 192.168.16.0 属于c类

三个子网至少要分两个bit位(00,01,10,11)。

​ 255.255.255.1100 0000

​ 192.168.16.192 ---- 掩码

②192.168.16.00 000000 ~ 00 111111 ---------> 0~63

​ 192.168.16.01 000000 ~ 01 111111 ---------> 64~127

​ 192.168.16.10 000000 ~ 10 111111 ---------> 128~191

​ 192.168.16.11 000000 ~ 11 111111 ---------> 192~255

③ 00 ---------> 192.168.16.64

​ 01 ---------> 192.168.16.127

​ 10 ---------> 192.168.16.191

​ 11 ---------> 192.168.16.255

④00 ---------> 192.168.16.1~1921.68.16.62

​ 01 ---------> 192.168.16.65~192.168.16.126

​ 10 ---------> 192.168.16.129~192.168.16.190

​ 11 ---------> 192.168.16.193~192.168.16.254

切记:全1表示的是广播地址

​ 全0是有很多种含义的,其中一个是服务器监听地址,就是说,按照socket协议,我们的服务器在提供服务的时候 需要设定“响应哪一个或哪一些IP地址”。如果我们设定任何地址都是可以连接的,我们在服务器端就是监听0.0.0.0 这个地址,监听这个地址就意味着我们这个服务器可以接受任何一个IP地址的客户端的连接。

后面会详细讲socket协议,也会有代码

所以配置ip地址的时候全1的和全0的都要去掉,不能用,最终计算主机数中都要 “-2”。

三、网络层的ip协议

网络原理之TCP-IP地址 & 子网掩码

1、4位版本号就两个其实,ip4,ip6。

2、4位首部长度(header length):IP头部的长度是多少个32bit,也就是 length * 4 的字节数,。4bit表示最大的数字是15,单位是4个字节,因此IP头部最大长度是15*4=60字节 。

3、8位服务类型(TOS)

​ 3位优先权字段(已经弃用),4位TOS字段,和1位保留字段(必须置为0) ;描述了当前IP协议的形态,网络层中有个很重要的功能,规划两点之间合适的路径,TOS就是在选啥是最后是的,4位TOS分别表示:最小延时,最大吞吐量,最高可靠性,最小成本。这四者相互冲突,只能选择一个。对于ssh/telnet这样的应用程序,最小延时比较重要;对于ftp这样的程序,最大吞吐量比较重要,我们需要在这四种形态中,选择一种形态,作为最适合的依据。

4、16位总长度,就是IP数据报的长度,类似于UDP的数据报长度。

5、16位标识,3位标志位,13位片偏移,这里面涉及到了IP协议的拆包和组包。

​ IP总长度 是16位 = > 64k 这样的数据,但可能64k不完全能表示数据报,数据报可能大于64k,这时我们对大于64k的数据报进行拆包,拆的每一个包都小于64k,拆的包里面16位标识是相同的,也就是说IP报头是一样的,每一个小包里面都带有一个IP报头,然后由数据链路层,针对分出来的包分别进行封装,再进行发送传输。

​ 最后发给接收方的时候,这些包可能会发生“后发先置”的情况,为了明确顺序,我们需要用13位片偏移来约定每一部分的 顺序(小的在前,大的在后),接收方就会根据片偏移的顺序来进行组包。

网络原理之TCP-IP地址 & 子网掩码

​ 最后剩下3位标志位,3位标志位判断条件结束,是确定后续是否还有包。

​ (1)、这一位是1,表示后续还有其他包;

​ (2)、这一位是0,表示后面就没有包了。

6、8位生存时间 TTL

​ 单位是转发次数,一个包被构造出来的时候,TTL默认值是64。当这个IP数据报每次经过一个路由器的转发,TTL就会 -1 ,当TTL变成0,这个包就被丢弃,就不会继续转发。意味着一个数据发送到另外一个主机上,中间转发的次数一定不超过64,当超过64还没有到达的时候,那么这个数据永远也不会到达。

7、8位协议

​ 表示传输层使用的是那个协议。TCP 和 UDP都有不同的值,为了在分用的时候,清楚的把网络层的数据交给正确的传输层的协议来处理。

8、16位首部校验和

​ 和UDP校验和是一样的

9、32位源IP,32位目的IP,这个就是IP协议中最关键的信息,类似于收件人地址和发件人地址。

​ 就说上面所说的内容,点分十进制记法的格式。

四、数据链路层中的IP

网络原理之TCP-IP地址 & 子网掩码

链路层就是负责相邻两点的之间的通行情况,就是我之前局的例子,把小区里的包裹给到菜鸟驿站(本地)。

1、目的地址和源地址,指的是“mac地址”(物理地址)

4.1、MAC地址

1、每一块网卡的ROM芯片中都固化了一个48位的2进制数,称为“MAC地址”。

2、MAC(Media Access Control),媒体访问控制地址,简称“MAC地址”。

3、MAC地址作用是确保局域网中的每一台主机都有的一个唯一地址

4、MAC地址通常使用十六进制数表示,such as :00-19-21-2E-DA-EC。

5、MAC地址是6个字节,表示范围比IPv4大很多

跟IP地址作用区别:

1、IP地址主要是用来表示转发过程中起点和终点

2、MAC地址则是表示转发过程中任意一个中间过程中的起点和终点。

6、ARP:表示地址解析协议,负责把IP地址解析为MAC地址;

7、RARP:逆地址解析协议,负责把MAC地址解析为IP地址;

4.2、MTU

​ 以太网帧格式中的IP数据报 46 - 1500 是以太网数据正帧能够承载的数据范围,这里的1500受限于当前物理层硬件设备的结构,不同的数据链路层协议,搭配不同的物理层设备对应承载数量的最大长度,也不同。

​ MTU是对上层协议带来的直接影响。正对IP协议,如果IP数据报超过了1500个字节,那么就无法装到一个以太网数据帧中,这是就会触发IP的分包操作,这是以太网数据帧MTU限制来分;

所以IP分包操作,可以是超过64k这个长度二分,也可以是以太网的MTU限制来分,但是大多数影响分包操作的概率是MTU来分。


​ 铁汁们,觉得笔者写的不错的可以点个赞哟❤🧡💛💚💙💜🤎🖤🤍💟,收藏关注呗,你们支持就是我写博客最大的动力!!!!文章来源地址https://www.toymoban.com/news/detail-451230.html

到了这里,关于网络原理之TCP-IP地址 & 子网掩码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 如何算出IP地址、子网掩码、网络地址、广播地址、可用IP地址。

    本篇咱们从以下两个方面展开本篇的分享 重点理论 计算方法 IP地址分为IPV4和IPV6 IPV4 是由 32位二进制 组成,一般用 点十进制 来表示。 IPV6 是由 128位 组成,一般用 冒号分隔,十六进制 表示 由于咱们目前主用的是IPV4,所以接下来的内容咱们就围绕IPV4来分享。 IPV4分为私有网

    2024年02月04日
    浏览(54)
  • 云计算应用管理----TCP/IP协议及配置、IP地址、子网掩码、网关地址、DNS与DHCP介绍

    一 、云计算的介绍 什么是服务器 •能够为其他计算机提供服务的更高级的电脑 –机架式 –塔式 –机柜式 –刀片式 典型服务模式 •C/S,Client/Server架构 –由服务器提供资源或某种功能 –客户机使用资源或功能 二 、TCP/IP协议及配置 •TCP/IP是最广泛支持的通信协议集合 –包

    2024年01月23日
    浏览(53)
  • 计算机网络相关-ip地址,子网掩码与网络地址,广播地址

    计算机网络基础(进制转换和IP地址详解)_ip地址进制转换方法_码海小虾米_的博客-CSDN博客 总的来说,ip地址用点隔开,用4个0-255之间的十进制数表示,如192.168.65.98 有这样的题:告诉你ip地址和子网掩码位数,求网络地址和广播地址。 一般给出的信息是这样的:192.168.65.98

    2024年02月07日
    浏览(54)
  • IP地址、子网掩码、网络号、主机号、子网号的计算

    构成:网络号+主机号 分类 IP地址分类 网络号 主机号 A类 8位 24位 B类 16位 16位 C类 24位 8位 有效主机位:2 主机号 -2个.其中第一个地址为子网地址, 最后一个为广播地址不可用因此省略,但在计算所有主机位的时候不要忽略要加上 如何区分A、B、C类 类别 第一字节范围 最大主

    2024年02月04日
    浏览(59)
  • IP地址,子网掩码,网络地址,直接广播地址,网络位主机位的计算

    IPV4的长度为32位,IPV4地址包括网络号和主机号两部分,根据这两个部分的划分又分为 A类地址,B类地址,C类地址。它们都是32位的(1字节=8位), 网络部分唯一标识了一条物理链路,对于与该链路相连的所有设备来说网络号部分是共同的,而主机号部分唯一地标识了该链路

    2023年04月12日
    浏览(45)
  • 已知IP地址和子网掩码计算网络号

    已知B类地址的子网掩码为255.255.0.0,假设某B类地址为127.24.36.55,那么它的网络号为:() 解答: 步骤一:首先将网络的IP地址和子网掩码都转换成32位二进制字符。 IP地址为127.24.36.55,子网掩码为255.255.0.0,转换成二进制: IP地址:01111111.00011000.00100100.00110111 子网掩码:111

    2024年02月09日
    浏览(54)
  • 【IP地址与子网掩码】如何计算网络地址、广播地址、地址范围、主机个数、子网数(附详解与习题)

    【 写在前面 】其实很多时候通过IP地址和子网掩码计算其网络地址、广播地址、可用IP,地址范围,主机数啥的,有些人不太清楚规则就只能瞎猜了,但是作为一个网络管理员还是一个基础常识的,这不因为最近备考网络管理员,所以我做了一个梳理,顺带出了一个习题给大

    2024年02月03日
    浏览(78)
  • IP地址、网关、网络/主机号、子网掩码关系

    一、IP地址 IP地址组成 IP地址分为两个部分:网络号和主机号 (1)网络号:标识网段,保证相互连接的两个网段具有不同的标识。 (2)主机号:标识主机,同一网段内,主机之间具有相同的网络号,但是必须有不同的主机号。   IP地址规则     同一个局域网中,主机之间的网

    2024年02月10日
    浏览(51)
  • 详细介绍IP 地址、网络号和主机号、ABC三类、ip地址可分配问题、子网掩码、子网划分

    1、 IP 地址: 网络之间互连的协议,是由4个字节(32位二进制)组成的逻辑上的地址。 将32位二进制进行分组,分成4组,每组8位(1个字节)。【ip地址通常使用十进制表示】 ip地址分成四组之后,在逻辑上,分成网络号和主机号 2、网络号和主机号:                           

    2024年01月20日
    浏览(47)
  • 已知子网掩码和Ip地址怎么求网络地址、最大主机数、广播地址使用Ip地址范围

    假设子网掩码为255.255.255.0,Ip地址为192.168.128.128 将子网掩码换算成二进制11111111.11111111.11111111.00000000 Ip地址:11000000.10101000.10000000.10000000 网络地址为两者进行与运算:为11000000.10101000.10000000.00000000 换算成十进制:192.168.128.0 最大主机数: 由子网掩码求出主机号:子网掩码:

    2024年02月04日
    浏览(45)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包