网络套接字------IP地址

简单的认识

IP协议有两个版本IPV4和IPV6,我们在整个的课程当中,凡是提到的IP协议,没有特殊的说明,默认指的都是IPv4。

  • IP地址是在IP协议中,用来标识网络中不同主机的地址。
  • 对于IPv4来说,IP地址是一个4字节,32位的整数。IPV6是由128位的整数。
  • 我们通常使用“点分十进制”的字符串表示IP地址,例如192.168.0.1;用点分割的每一个数字表示一个字节,范围是0~255。

相关的知识

①网络中的每一个主机或路由器至少有一个IP地址;
在Internet中不允许有两个设备具有同样的IP地址;
②IP地址采用分层结构;
IP地址是由网络号(net ID)与主机号(host ID)两部分组成的。
这里写图片描述
③ IP地址的分类
IP地址长度为 2位,点分十进制(dotted decimal)地址;
IP地址=网络地址+子网地址+主机地址。
采用x.x.x.x的格式来表示,每个x为8位,每个x的值为0~255(例如 202.113.29.119);
④根据不同的取值范围,IP地址可以分为五类;
IP地址中的前5位用于标识IP地址的类别:
A类地址的第一位为0;
B类地址的前两位为10;
C类地址的前三位为110;
D类地址的前四位为1110;
E类地址的前五位为11110。
这里写图片描述

A类、B类、C类

概念 特征 网络范围 默认掩码
A类地址 第1个8位中的第1位始终为0 0-127.x.x.x 255.0.0.0/8
B类地址 第1个8位中的第1、2位始终为10 128-191.x.x.x 255.255.0.0/16
C类地址 第1个8位中的第1、2、3位始终为110 192-y.x.x.x 255.255.255.0/24

特殊

D类 以1110开始 用于组播
E类 以11110开始 用于科研保留
范围上划分有些要注意的:
A类 从1.0.0.0 到126.255.255.255
B类 从128.0.0.0到191.255.255.255
C类 从192.0.0.0到223.255.255.255
其中127.x.x.x段地址空间是被保留的回环地址

IP地址包含 网络地址+主机地址,即IP地址=网络地址+主机地址

网络地址:

1、如果是192的C段地址,那么,网络地址就是:192.168.1.0,地址掩码是:255.255.255.0。
2、如果地址掩码是:255.255.0.0,那么网络地址就是:192.168.0.0。
3、网络地址很大一部分是由地址掩码决定的。

主机地址:

如IP地址是202.112.14.137,掩码是255.255.255.224 ,
网络地址是202.112.14.128,子网号是128。
主机地址是202.112.14.137 。

子网掩码

子网掩码(subnet mask)又叫网络掩码、地址掩码、子网络遮罩,它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。

子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。
子网掩码是一个32位地址,用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在远程网上。

子网掩码——屏蔽一个IP地址的网络部分的“全1”比特模式。对于A类地址来说,默认的子网掩码是255.0.0.0;对于B类地址来说默认的子网掩码是255.255.0.0;对于C类地址来说默认的子网掩码是255.255.255.0。

  • 通过子网掩码,就可以判断两个IP在不在一个局域网内部。
  • 子网掩码可以看出有多少位是网络号,有多少位是主机号

网关

网关(Gateway)又称网间连接器、协议转换器。默认网关在网络层上以实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关的结构也和路由器类似,不同的是互连层。网关既可以用于广域网互连,也可以用于局域网互连

网关实质上是一个网络通向其他网络的IP地址。

比如有网络A和网络B,网络A的IP地址范围为“192.168.1.1~192. 168.1.254”,子网掩码为255.255.255.0;网络B的IP地址范围为“192.168.2.1~192.168.2.254”,子网掩码为255.255.255.0。

在没有路由器的情况下,两个网络之间是不能进行TCP/IP通信的,即使是两个网络连接在同一台交换机(或集线器)上,TCP/IP协议也会根据子网掩码(255.255.255.0)判定两个网络中的主机处在不同的网络里。

而要实现这两个网络之间的通信,则必须通过网关。如果网络A中的主机发现数据包的目的主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络B的网关,网络B的网关再转发给网络B的某个主机。

所以说,只有设置好网关的IP地址,TCP/IP协议才能实现不同网络之间的相互通信。那么这个IP地址是哪台机器的IP地址呢?网关的IP地址是具有路由功能的设备的IP地址,具有路由功能的设备有路由器、启用了路由协议的服务器(实质上相当于一台路由器)、代理服务器(也相当于一台路由器)。

广播地址(Broadcast Address)

广播地址(Broadcast Address)是专门用于同时向网络中所有工作站进行发送的一个地址。

在使用TCP/IP 协议的网络中,主机标识段host ID 为全1 的IP 地址为广播地址,广播的分组传送给host ID段所涉及的所有计算机。例如,对于10.1.1.0 (255.255.255.0 )网段,其广播地址为10.1.1.255 (255 即为2 进制的11111111 ),当发出一个目的地址为10.1.1.255 的分组(封包)时,它将被分发给该网段上的所有计算机。

根据IP地址和子网掩码求 网络地址 和 广播地址

  • 将IP地址和子网掩码换算为二进制,子网掩码连续全1的是网络地址,后面的是主机地址,虚线前为网络地址,虚线后为主机地址
  • IP地址和子网掩码进行与运算,结果是网络地址(即主机号全0是网络地址)
  • 将运算结果中的网络地址不变,主机地址变为1,结果就是广播地址
  • 地址范围就是含在本网段内的所有主机

网络地址+1即为第一个主机地址,广播地址-1即为最后一个主机地址,
由此可以看出地址范围是: 网络地址+1 至 广播地址-1

  • 主机的数量=2^二进制位数的主机-2

减2是因为主机不包括网络地址和广播地址。

示例
一个主机的IP地址是202.112.14.137,掩码是255.255.255.224,要求计算这个主机所在网络的网络地址和广播地址

根据子网掩码可以分割网络号+主机号

255.255.255.224 转二进制:

11111111 11111111 11111111 11100000

网络号有27位,主机号有5位

网络地址就是:把IP地址转成二进制和子网掩码进行与运算

11001010 01110000 00001110 10001001

IP地址&子网掩码

11001010 01110000 00001110 10001001

11111111 11111111 11111111 11100000

------------------------------------------------------

11001010 01110000 00001110 10000000

即:202.112.14.128

计算广播地址

广播地址:网络地址的主机位全部变成1 ,10011111 即159 即:202.112.14.159

主机数

主机号有5位,那么这个地址中,就只能有25−2=3025−2=30个主机

因为其中全0作为网络地址,全1作为广播地址

根据每个网络的主机数量进行子网地址的规划和计算子网掩码

这也可按上述原则进行计算。

比如一个子网有10台主机,那么对于这个子网需要的IP地址是
10+1+1+1=13
注意:加的第一个1是指这个网络连接时所需的网关地址,接着的两个1分别是指网络地址和广播地址。
因为13小于16(16等于2的4次方),所以主机位为4位。

而 256-16=240 所以该子网掩码为255.255.255.240。

如果一个子网有14台主机,不少人常犯的错误是:依然分配具有16个地址空间的子网,而忘记了给网关分配地址。这样就错误了,因为:
14+1+1+1=17
17.大于16,所以我们只能分配具有32个地址(32等于2的5次方)空间的子网。这时子网掩码为:255.255.255.224

5) 主机的数量

206 110 4 0/18被划分成16个子网,每个子网掩码?

(划分成16个子网,根据子网掩码/18就表示有18个1,就要从的IP地址的主机位借4位来用作网络位!)

子网掩码是255.255.252.0

每个子网可以容纳的主机数是1024台。

下面我来给你详细解答:

206.110.1.0 /18 由最后的那个/18,我们可以知道这个IP已经规定了它的网络位是18位,它默认的子网掩码就是11111111.11111111.11 | 000000.00000000(其中1代表网络位,0代表主机位)

可以看出我们可以操作的位数就是后面的14个0,也就是说我们可以在地面划分出几位作为子网的网络位,进而来划分子网。要求是切分成16个子网,我们知道2的4次方刚好等于16,这就说明子网网络位的位数是4位,那14-4=10就是子网的主机位。所以上面我写的那串二进制就可以变成:11111111.11111111.111111 | 00.00000000(其中1代表网络位,0代表主机位)

ip段/数字-如192.168.0.1/24是什么意思?

后面这个数字标示了我们的网络号的位数,也就是子网掩码中前多少号为1

129.168.1.1 /24 这个24就是告诉我们网络号是24位

也就相当于告诉我们了

子网掩码是:11111111 11111111 11111111 00000000

即:255.255.255.0

172.16.10.33/27 中的/27

也就是说子网掩码是255.255.255.224 即27个全1

11111111 11111111 11111111 11100000

理解源IP地址和目标IP地址

唐僧的例子
在西游记中别人问他从哪里来的,他总是从回答别人我从东土大唐来,去往西天取经。
在IP数据包头部中,有两个IP地址,分别叫做源IP地址,和目的IP地址。

认识端口号(port)

端口号标识了这台主机上唯一的一个网络进程。
端口号是传输层协议的内容。对于服务器来说端口号必须是众所周知的,并且不能进行随意的修改。

  • 端口号是一个2字节的16位的整数
  • 端口号用来标识一个进程,告诉操作系统,当前的这个数据应该交给哪一个进程进行处理。
  • IP地址+端口号可以用来标识网络上的某一台主机的某个进程
  • 一个端口号只能被一个进程使用

理解端口号和进程ID

我们可以知道的是pid表示唯一一个进程;此处我们的端口号也是唯一表示一个进程,那么这两者之间到底是有什么关系呢?

一个进程可以绑定多个端口号,但是一个端口号不能被多个进程绑定。

理解端口号和目的端口号

传输层协议TCP和UDP的数据段中有两个端口号,分别叫做源端口号和目的端口号,就是在描述“数据是谁发的,是要发给谁”;

猜你喜欢

转载自blog.csdn.net/daboluo521/article/details/80401838
今日推荐