3.1 IP地址,版本4和6

原文:https://beej.us/guide/bgnet/html/#ip-addresses-versions-4-and-6

 

3. IP地址、结构体、数据排列

       下面部分决定了,我们需要改变一下。

       首先,我们不谈代码!首先我们谈关于IP地址和端口。当然我们要谈关于套接字API怎么存储和维护IP地址和其他数据。

3.1 IP地址,版本4和6

       当BenKenobi准备呼叫Obi Wan Kenobi,要通过IPv4的路由系统。格式如:192.0.2.111.

       事实上,现在大部分Internet仍然在使用IPv4。

       此处省略若干…

       由于IPv4的地址限制,我们需要IPv6。(IPv4的地址是32bit的;而IPv6是128bit的)

       IPv6格式如:2001:0db8:c9d2:aee5:73e3:934a:a5ae:9551.

       IPv4转换为IPv6,比如IPv4地址为192.0.2.33,那么IPv6地址就是:::c000:0221

3.1.1 掩码

       利用子网掩码可以把大的网络划分成子网,也可以把小的网路归并成大的网络。

       互联网是由许多小型网络构成的,每个网络上都有许多主机,这样便构成了一个有层次的结构。

      IP地址的网络号和主机号各是多少位呢?如果不指定,就不知道哪些位是网络号、哪些是主机号,这就需要通过子网掩码来实现。

子网掩码的长度是32位,

左边是网络位,用二进制“1”表示;

右边是主机位,用二进制“0”表示。

这样做的目的是为了让掩码与ip地址做AND运算时用0遮住原主机数,而不改变原网络段数字,

而且很容易通过0的位数确定子网的主机数(2的主机位数次方-2,因为主机号全为1时表示该网络广播地址,全为0时表示该网络的网络号,这是两个特殊地址)。

只有通过子网掩码,才能表明一台主机所在的子网与其他子网的关系,使网络正常工作。

子网掩码的作用就是获取主机 IP的网络地址信息,用于区别主机通信不同情况,由此选择不同路由。

根据子网掩码格式可以发现,子网默认掩码有:0.0.0.0;255.0.0.0;255.255.0.0;255.255.255.0;255.255.255.255五种,

  • Class A: 255.0.0.0;
  • Class B: 255.255.0.0
  • Class C: 255.255.255.0

现实中掩码的主要表示方式:IP地址/掩码位

例如192.168.207.132/24

其中24即(左边24个1,8位一分割)255.255.255.0

 

3.1.2 端口

IP地址就像一条街上的酒店,而端口就像该酒店的房间号码。

(Think of the IP address as the street address of a hotel, and the port number as the room number.)

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值