计算机网络基础知识点(二)

上篇微博了解了计算机网络的结构,osi七层模型;这篇文章主要介绍,IP地址、子网掩码、网络划分、ARP协议及RARP协议。

3、IP地址

  a)网络地址

  IP地址由网络号(包括子网号)和主机号组成,网络地址的主机号为全0,网络地址代表着整个网络。

  b)广播地址

  广播地址通常称为直接广播地址,是为了区分受限广播地址。

  广播地址与网络地址的主机号正好相反,广播地址中,主机号为全1。当向某个网络的广播地址发送消息时,该网络内的所有主机都能收到该广播消息。

  c)组播地址

  D类地址就是组播地址。

  先回忆下A,B,C,D类地址吧:

    A类地址以0开头,第一个字节作为网络号,地址范围为:0.0.0.0~127.255.255.255;(modified @2016.05.31)

    B类地址以10开头,前两个字节作为网络号,地址范围是:128.0.0.0~191.255.255.255;

    C类地址以110开头,前三个字节作为网络号,地址范围是:192.0.0.0~223.255.255.255。

    D类地址以1110开头,地址范围是224.0.0.0~239.255.255.255,D类地址作为组播地址(一对多的通信);

    E类地址以1111开头,地址范围是240.0.0.0~255.255.255.255,E类地址为保留地址,供以后使用。

    注:只有A,B,C有网络号和主机号之分,D类地址和E类地址没有划分网络号和主机号。

  d)255.255.255.255

  该IP地址指的是受限的广播地址。受限广播地址与一般广播地址(直接广播地址)的区别在于,受限广播地址只能用于本地网络,路由器不会转发以受限广播地址为目的地址的分组;一般广播地址既可在本地广播,也可跨网段广播。例如:主机192.168.1.1/30上的直接广播数据包后,另外一个网段192.168.1.5/30也能收到该数据报;若发送受限广播数据报,则不能收到。

  注:一般的广播地址(直接广播地址)能够通过某些路由器(当然不是所有的路由器),而受限的广播地址不能通过路由器。

  e)0.0.0.0

  常用于寻找自己的IP地址,例如在我们的RARP,BOOTP和DHCP协议中,若某个未知IP地址的无盘机想要知道自己的IP地址,它就以255.255.255.255为目的地址,向本地范围(具体而言是被各个路由器屏蔽的范围内)的服务器发送IP请求分组。

  f)回环地址

  127.0.0.0/8被用作回环地址,回环地址表示本机的地址,常用于对本机的测试,用的最多的是127.0.0.1。

  g)A、B、C类私有地址

  私有地址(private address)也叫专用地址,它们不会在全球使用,只具有本地意义。

  A类私有地址:10.0.0.0/8,范围是:10.0.0.0~10.255.255.255

  B类私有地址:172.16.0.0/12,范围是:172.16.0.0~172.31.255.255

  C类私有地址:192.168.0.0/16,范围是:192.168.0.0~192.168.255.255

4、子网掩码及网络划分

  随着互联网应用的愈加广泛,Ipv4地址的弊端逐渐暴露,十数年来,连接到Internet的网络数量每隔不到一年的时间就会增加一倍,IP地址空间危机愈发明显,所以其能提供的主机地址也越来越稀缺,目前除了使用NAT在企业内部利用保留地址自行分配以外,通常都对一个高类别的IP地址进行再划分,以形成多个子网,提供给不同规模的用户群使用。

  这里主要是为了在网络分段情况下有效地利用IP地址,通过对主机号的高位部分取作为子网号,从通常的网络位界限中扩展或压缩子网掩码,用来创建某类地址的更多子网。但创建更多的子网时,在每个子网上的可用主机地址数目会比原先减少。

  什么是子网掩码?

  子网掩码是标志两个IP地址是否同属于一个子网的,也是32位二进制地址,其每一个为1代表该位是网络位,为0代表主机位。它和IP地址一样也是使用点式十进制来表示的。如果两个IP地址在子网掩码的按位与的计算下所得结果相同,即表明它们共属于同一子网中。

  在计算子网掩码时,我们要注意IP地址中的保留地址,即“ 0”地址和广播地址,它们是指主机地址或网络地址全为“ 0”或“ 1”时的IP地址,它们代表着本网络地址和广播地址,一般是不能被计算在内的。

  子网掩码的计算:

  对于无须再划分成子网的IP地址来说,其子网掩码非常简单,即按照其定义即可写出:如某B类IP地址为 10.12.3.0,无须再分割子网,则该IP地址的子网掩码255.255.0.0。如果它是一个C类地址,则其子网掩码为 255.255.255.0。其它类推,不再详述。下面我们关键要介绍的是一个IP地址,还需要将其高位主机位再作为划分出的子网网络号,剩下的是每个子网的主机号,这时该如何进行每个子网的掩码计算。

  下面总结一下有关子网掩码和网络划分常见的面试考题:

  1)利用子网数来计算

  在求子网掩码之前必须先搞清楚要划分的子网数目,以及每个子网内的所需主机数目。

  (1) 将子网数目转化为二进制来表示;

  如欲将B类IP地址168.195.0.0划分成27个子网:27=11011;

  (2) 取得该二进制的位数,为N;

  该二进制为五位数,N = 5

  (3) 取得该IP地址的类子网掩码,将其主机地址部分的的前N位置1即得出该IP地址划分子网的子网掩码。

  将B类地址的子网掩码255.255.0.0的主机地址前5位置 1,得到 255.255.248.0

  2)利用主机数来计算

  如欲将B类IP地址168.195.0.0划分成若干子网,每个子网内有主机700台:

  (1) 将主机数目转化为二进制来表示;

  700=1010111100;

  (2) 如果主机数小于或等于254(注意去掉保留的两个IP地址),则取得该主机的二进制位数,为N,这里肯定 N<8。如果大于254,则 N>8,这就是说主机地址将占据不止8位;

  该二进制为十位数,N=10;

  (3) 使用255.255.255.255来将该类IP地址的主机地址位数全部置1,然后从后向前的将N位全部置为 0,即为子网掩码值。

  将该B类地址的子网掩码255.255.0.0的主机地址全部置1,得到255.255.255.255,然后再从后向前将后 10位置0,即为:11111111.11111111.11111100.00000000,即255.255.252.0。这就是该欲划分成主机为700台的B类IP地址 168.195.0.0的子网掩码。

  3)还有一种题型,要你根据每个网络的主机数量进行子网地址的规划和计算子网掩码。这也可按上述原则进行计算。

  比如一个子网有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)ARP协议\RARP协议

  地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。地址解析协议是建立在网络中各个主机互相信任的基础上的,网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;由此攻击者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗。ARP命令可用于查询本机ARP缓存中IP地址和MAC地址的对应关系、添加或删除静态对应关系等。

  ARP工作流程举例:

  主机A的IP地址为192.168.1.1,MAC地址为0A-11-22-33-44-01;

  主机B的IP地址为192.168.1.2,MAC地址为0A-11-22-33-44-02;

  当主机A要与主机B通信时,地址解析协议可以将主机B的IP地址(192.168.1.2)解析成主机B的MAC地址,以下为工作流程:

    (1)根据主机A上的路由表内容,IP确定用于访问主机B的转发IP地址是192.168.1.2。然后A主机在自己的本地ARP缓存中检查主机B的匹配MAC地址。

    (2)如果主机A在ARP缓存中没有找到映射,它将询问192.168.1.2的硬件地址,从而将ARP请求帧广播到本地网络上的所有主机。源主机A的IP地址和MAC地址都包括在ARP请求中。本地网络上的每台主机都接收到ARP请求并且检查是否与自己的IP地址匹配。如果主机发现请求的IP地址与自己的IP地址不匹配,它将丢弃ARP请求。

    (3)主机B确定ARP请求中的IP地址与自己的IP地址匹配,则将主机A的IP地址和MAC地址映射添加到本地ARP缓存中。

    (4)主机B将包含其MAC地址的ARP回复消息直接发送回主机A。

    (5)当主机A收到从主机B发来的ARP回复消息时,会用主机B的IP和MAC地址映射更新ARP缓存。本机缓存是有生存期的,生存期结束后,将再次重复上面的过程。主机B的MAC地址一旦确定,主机A就能向主机B发送IP通信了。

  逆地址解析协议,即RARP,功能和ARP协议相对,其将局域网中某个主机的物理地址转换为IP地址,比如局域网中有一台主机只知道物理地址而不知道IP地址,那么可以通过RARP协议发出征求自身IP地址的广播请求,然后由RARP服务器负责回答。

  RARP协议工作流程:

    (1)给主机发送一个本地的RARP广播,在此广播包中,声明自己的MAC地址并且请求任何收到此请求的RARP服务器分配一个IP地址;

    (2)本地网段上的RARP服务器收到此请求后,检查其RARP列表,查找该MAC地址对应的IP地址;

    (3)如果存在,RARP服务器就给源主机发送一个响应数据包并将此IP地址提供给对方主机使用;

    (4)如果不存在,RARP服务器对此不做任何的响应;

    (5)源主机收到从RARP服务器的响应信息,就利用得到的IP地址进行通讯;如果一直没有收到RARP服务器的响应信息,表示初始化失败。

原文地址:https://www.cnblogs.com/Joyun/p/10269615.html

时间: 2024-10-15 06:21:20

计算机网络基础知识点(二)的相关文章

计算机网络基础知识点(一)

1.网络结构分层 国际标准化组织(ISO)在1978年提出了"开放系统互联参考模型",即著名的OSI/RM模型(Open System Interconnection/Reference Model).它将计算机网络体系结构的通信协议划分为七层,自下而上依次为:物理层(Physics Layer).数据链路层(Data Link Layer).网络层(Network Layer).传输层(Transport Layer).会话层(Session Layer).表示层(Presentat

python 基础知识点 (二) 解压序列赋值给多个变量

问题 现在有一个包含 N 个元素的元组或者是序列,怎样将它里面的值解压后同时赋值给 N 个变量? 解决方案 任何的序列(或者是可迭代对象)可以通过一个简单的赋值语句解压并赋值给多个变量. 唯一的前提就是变量的数量必须跟序列元素的数量是一样的. 代码示例: >>> p = (4, 5) >>> x, y = p >>> x 4 >>> y 5 >>> >>> data = [ 'ACME', 50,

C++重点知识点(基础系列二)

C++重点知识点基类 C++重点知识点(基础系列二),布布扣,bubuko.com

《计算机网络基础》考试大纲

一.参考书目: <计算机网络技术与应用(第2版)>,段标.张玲主编,电子工业出版社,出版时间:2011年12月. 二.考试形式:闭卷,考试时间90分钟 三.考试内容和要求 (一)考试要求 1.计算机网络理论知识 掌握计算机网络的定义.计算机网络的组成.功能与应用 掌握计算机网络的分类.常见的网络拓扑结构及特点 掌握模拟信号及数字信号的特点,单工.半双工.全双工通信方式的原理,数据交换技术的基本原理及特点 掌握基本传输媒体的类型与特点 掌握网络体系结构的概念,网络协议的概念及构成要素 掌握OSI

C# .Net基础知识点解答

C# .Net基础知识点解答 1. 什么是.NET?什么是CLI?什么是CLR?IL是什么?JIT是什么,它是如何工作的?GC是什么,简述一下GC的工作方式? 通俗的讲,.Net是微软开发应用程序的一个平台: CLI是Common Language Infrastructure,是公共语言架构: CLR是Common Language Runtime,即公共语言运行时: IL是.Net编译器产生的中间代码,称为通用中间语言CIL(Common Intermediate Language),CIL

Spring4.x 基础知识点

# Spring4.x 基础知识点## 第二章 快速入门- 一般情况下,需要在业务模块包下进一步按分层模块划分子包,如user\dao.user\service.viewspace\dao.viewspace\service等.对于由若干独立子系统组成的大型应用,在业务分层包前还需要加上子系统的前缀.包的规划对于大型应用非常重要,它直接关系到应用部署和分发的便利性.- 在配置文件的定义上,一般也是按模块进行划分,一定程度上降低争用.- 在拼接SQL语句的句前和句后都加一个空格,这样避免分行SQL

fastclick 源码注解及一些基础知识点

在移动端,网页上的点击穿透问题导致了非常糟糕的用户体验.那么该如何解决这个问题呢? 问题产生的原因 移动端浏览器的点击事件存在300ms的延迟执行,这个延迟是由于移动端需要通过在这个时间段用户是否两次触摸屏幕而触发放大屏幕的功能.那么由于click事件将延迟300ms的存在,开发者在页面上做一些交互的时候往往会导致点击穿透问题(可以能是层之间的,也可以是页面之间的). 解决问题 之前遇到这个问题的时候,有在网上看了一些关于解决移动端点击穿透的问题,也跟着网上提出的方式进行了各项测试,最终还是觉得

socket编程之一:计算机网络基础

在开始学习网络之前先复习下计算机网络基础吧. 鲁迅说,天下文章一大抄,看你会炒不会炒,基础知识就抄抄书吧. 一 分层模型 1 为什么分层 为了简化网络设计的复杂性,通讯协议采用分层结构,各层协议之间既相互独立又相互高效的协调工作. 对于复杂的通信协议,其结构应该是采用层次的.分层的协议可以带来很多便利: 分层的好处有: a> 灵活性好:当任何一层发生变化时,只要层间接口关系保持不变,则在这层以上或以下各层均不受影响. 此外,对某一层提供的服务还可进行修改.当某层提供的服务不再需要时,甚至可以将这

Linux安全与加密基础(二)

Linux安全与加密基础(二) 常见的加密算法 SSL: Openssl与CA认证 ssh服务 dropbear AIDE sudo gpg gpg亦可用于对称加密与文件检验. 文件完整性的两种实施方式 被安装的文件     MD5单向散列     rpm --verify package_name (or -V) 发行的软件包文件     GPG公钥签名     rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat*     rpm --checks