0
点赞
收藏
分享

微信扫一扫

什么是子网


  • 英文小册原文地址:​​beej.us/guide/bgnet…​​
  • 作者:Beej
  • 中文翻译地址:​​www.chanmufeng.com/posts/netwo…​​

现将目录贴下:

  • ​​什么是socket​​
  • ​​两种Socket​​
  • ​​漫谈网络​​
  • ​​IP地址、struct以及地址转换​​
  • ​​IP地址,IPv4和IPv6​​
  • ​​子网​​
  • 字节序
  • struct结构
  • 再谈IP地址
  • 从IPv4迁移到IPv6
  • IP地址,IPv4和IPv6
  • 字节序
  • struct结构
  • 再谈IP地址
  • System call 或 Bust
  • getaddrinfo()—准备开始!
  • socket()—拿到文件描述符!
  • bind()—我在监听哪个端口?
  • connect()—嘿,你好啊!
  • listen()—会有人联系我吗?
  • accept()—感谢呼叫3490端口
  • send() and recv()—跟我唠唠吧,宝儿!
  • sendto() and recvfrom()—用DGRAM风格跟我说话
  • close() and shutdown()—滚犊子!
  • getpeername()—你哪位?
  • gethostname()—我是谁?
  • Client-Server基础
  • 一个简单的流服务器
  • 一个简单的流客户端
  • Datagram Sockets
  • 技术进阶
  • Blocking—何谓阻塞?
  • poll()—同步的I/O多路复用
  • select()—老古董的同步I/O多路复用
  • 数据只传了一部分怎么办?
  • Serialization-如何封装数据?
  • 数据封装
  • 广播数据包-大声说「Hello,World」

现代的互联网是基于​​TCP/IP​​的思路来设计的,说得通俗点就是互联网由许许多多的小子网组成,子网中的设备用集线器进行连接,子网之间通过路由器进行互联,如下图:

什么是子网_子网掩码

为了更好地管理IP地址(其实也是践行上面这个思路),IP地址本身被分成了两部分,分别是网络号和主机号。

更具体地,互联网诞生之初,IP地址曾经被分成了​​A​​​、​​B​​​、​​C​​​、​​D​​​、​​E​​ 5类,很多计算机网络的书介绍IP地址的时候也是以这个分类开始的。

但是这个划分依然是一个历史概念,实际使用中已经没有任何意义!因此关于这部分知识的讲述都可以直接忽略。

取而代之的是在1993年,因特网工程任务组IETF又提出了无分类编址(CIDR)的方法来解决IPv4地址紧缺的问题,当然了,同时启动的还有彻底解决IP地址耗尽问题的IPv6项目。

在互联网中,每个设备都会被分配一个IP地址(其实被分配IP地址的是设备上的网卡,如果一台设备有多个网卡,自然就会有多个IP地址),这个地址就相当于“XX路XX号”,其中“路”就相当于网络号,“号”就相当于主机号,两者合起来就是IP地址啦!

因此,理论上我们应该能通过IP地址识别出主机处于的子网号,以及子网下的主机号。

IPv4的IP地址由​​32​​​个bit组成,按照每​​8​​个比特(1字节)为一组分成4组,但是仅凭这一串数字根本无法区分哪部分是网络号,哪部分是主机号。

因此需要某些附加信息。这个附加信息就是子网掩码

子网掩码的格式是一串与IP地址长度相同的​​32​​​比特数字,左边是一串连续的​​1​​​,右边剩下的都是​​0​​​。其中为​​1​​​的那一部分表示的是网络号,剩下为​​0​​的一部分表示的是主机号。子网掩码表示网络号与主机号之间的边界,正规的表示方式如下所示:

什么是子网_子网掩码_02

一种最简单的表示方法是,把​​1​​的部分的比特数用十进制的方式写在IP地址的右侧,比如:

182.92.193.45/24

举报

相关推荐

0 条评论