【网络篇】第二篇——IP协议与MAC地址详解(一)

本文涉及的产品
公网NAT网关,每月750个小时 15CU
简介: 【网络篇】第二篇——IP协议与MAC地址详解

IP协议


P地址是指互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),是IP Address的缩写。IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。目前还有些ip代理软件,但大部分都收费。


主机: 配有IP地址, 但是不进行路由控制的设备; 路由器: 即配有IP地址, 又能进行路由控制; 节点: 主机和路由器的统称

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


每台计算机都有一个唯一的IP地址,如果一台主机上的数据要传输到另一台主机,那么对端主机的IP地址就应该作为该数据传输时的目的IP地址。但仅仅知道目的IP地址是不够的,当对端主机收到该数据后,对端主机还需要对该主机做出响应,因此对端主机也需要发送数据给该主机,此时对端主机就必须知道该主机的IP地址。因此一个传输的数据当中应该涵盖其源IP地址和目的IP地址,目的IP地址表明该数据传输的目的地,源IP地址作为对端主机响应时的目的IP地址。


在数据进行传输之前,会先自顶向下贯穿网络协议栈完成数据的封装,其中在网络层封装的IP报头当中就涵盖了源IP地址和目的IP地址。

网段划分


IP地址分为两个部分,网络号和主机号

1.网络号:保证相互连接的网段具有不同的标识

2.主机号:同一网段内,主机之间具有相同的网络号,但是必须有不同的主机号

image.png

3.不同的子网其实就是把网络号相同的主机放在一起

4.如果在子网中新增一台主机,则这台主机的网络号和这个子网的网络号一致,但是这个主机号必须不能和子网中的其他主机重复。

通过合理设置主机号和网络号, 就可以保证在相互连接的网络中, 每台主机的IP地址都不相同.

那么问题来了, 手动管理子网内的IP, 是一个相当麻烦的事情.

有一种技术叫做DHCP, 能够自动的给子网内新增主机节点分配IP地址, 避免了手动管理IP的不便。

一般的路由器都带有DHCP功能. 因此路由器也可以看做一个DHCP服务器

过去曾经提出一种划分网络号和主机号的方案, 把所有IP 地址分为五类, 如下图所示

image.png

随着Internet的飞速发展,这种划分方案的局限性很快显现出来,大多数组织都申请B类网络地址, 导致B类地址很快就分配完了, 而A类却浪费了大量地址;

例如, 申请了一个B类地址, 理论上一个子网内能允许6万5千多个主机. A类地址的子网内的主机数更多.

然而实际网络架设中, 不会存在一个子网内有这么多的情况. 因此大量的IP地址都被浪费掉了.

针对这种情况提出了新的划分方案, 称为CIDR(Classless Interdomain Routing):。

  • 引入一个额外的子网掩码来区分网络号和主机号
  • 子网掩码也是一个32位的正整数,通常用一串0来结尾
  • 将IP地址和子网掩码进行 “按位与” 操作, 得到的结果就是网络号;
  • 网络号和主机号的划分与这个IP地址是A类、B类还是C类无关;

下面举个例子:

image.png

可见,IP地址与子网掩码做与运算可以得到网络号, 主机号从全0到全1就是子网的地址范围;

IP地址和子网掩码还有一种更简洁的表示方法,例如140.252.20.68/24,表示IP地址为140.252.20.68, 子网掩码的高24位是1,也就是255.255.255.0

  • 将IP地址中的主机地址全部设为0, 就成为了网络号, 代表这个局域网;
  • 将IP地址中的主机地址全部设为1, 就成为了广播地址, 用于给同一个链路中相互连接的所有主机发送数据包;
  • 127.*的IP地址用于本机环回(loop back)测试,通常是127.0.0.1;

IP地址的数量限制


IP协议使用IP地址来标识网络中的节点,分为IPv4和IPv6。虽然一直在推行IPv6,但目前主流还是IPv4。

IPv4使用32位二进制,分为A、B、C类(D类和E类有特殊用途,不用于标识网络中的节点),共计大约37亿多个可用单播地址。听上去很多,但是Internet发展太快了,早在2011年,IANA就宣布IPv4地址耗尽。


等等,既然2011年IPv4地址就没了,那怎么直到现在,大家都还在高高兴兴地用着IPv4地址呢?

CIDR在一定程度上缓解了IP地址不够用的问题(提高了利用率, 减少了浪费, 但是IP地址的绝对上限并没有增加), 仍然不是很够用. 这时候有三种方式来解决:


1.动态分配IP地址:只给接入网络的设备分配IP地址,因此同一个MAC地址的设备,每次接入互联网中,得到的IP地址不一定是相同的

2.NAT技术(后面重点介绍)

3.IPv6: IPv6并不是IPv4的简单升级版. 这是互不相干的两个协议, 彼此并不兼容; IPv6用16字节128位来表示一个IP地址; 但是目前IPv6还没有普及;

私有IP地址和公网IP地址


其实,在IPv4地址中,有一些特殊的地址范围:

A类地址中,10.0.0.0~10.255.255.255;

B类地址中,172.16.0.0~172.31.255.255;

C类地址中,192.168.0.0~192.168.255.255。

这些地址,我们称之为“私有地址”。

什么是私有地址?就是说,这些地址不会在Internet公网上出现,任何人都可以随便使用,不用花钱!

随便使用?那不会冲突吗?

并不会,因为这些地址只限于你所在的局域网内部使用,如家庭、企业、学校等,公网上并没有这些地址。就好像你在一个局域网用10.1.1.1,我在另一个局域网也使用10.1.1.1,只要保证各自局域网内不冲突就行。


可是,如果我们两人要通信呢?地址不是冲突了吗?


不不,私有地址只在局域网内部使用,如果要访问外网,需要NAT给你发的数据包整个容!


一般情况下,局域网接入公网的出口设备上都会配置NAT功能。家庭中常见的“无线路由器”,其实本质上不过是一台“无线NAT”而已!


如果NAT设备发现有私有数据包要去公网,会给它整个容:把里面IP封装中的私有地址换成公网地址,做好记录,再发出去;数据包回来时,再把地址换回来,发回你的电脑。


企业、学校的公网地址可以花钱向运营商购买固定地址,便于注册域名,向外提供网络服务;家庭上网一般由运营商动态分配。

image.png

图中电脑的IP地址是私有地址192.168.1.10,出口NAT设备接入Internet的公网地址是12.34.56.78,假设公网上有一台地址为98.76.54.32的www服务器,内网电脑通过浏览器访问它。

路由


本质就是在复杂的网络结构中,找出一条通往终点的路线;

路由的过程, 就是这样一跳一跳(Hop by Hop) “问路” 的过程. 所谓 “一跳” 就是数据链路层中的一个区间. 具体在以太网中指从源MAC地址到目的MAC地址之间的帧传输区间.

image.png

IP数据包的传输过程也和问路一样

  • 当IP数据包, 到达路由器时, 路由器会先查看目的IP;
  • 路由器决定这个数据包是能直接发送给目标主机, 还是需要发送给下一个路由器;
  • 依次反复, 一直到达目标IP地址;
  • image.png
  • 路由表可以使用route命令查看
  • 如果目的IP命中了路由表, 就直接转发即可;
  • 路由表中的最后一行,主要由下一跳地址和发送接口两部分组成,当目的地址与路由表中其它行都不匹配时,就按缺省路由条目规定的接口发送到下一跳地址

假设某主机上的网络接口配置和路由表如下:

  • image.png
  • 这台主机有两个网络接口,一个网络接口连到192.168.10.0/24网络,另一个网络接口连到192.168.56.0/24网络;
  • 路由表的 Destination 是目的网络地址, Genmask 是子网掩码, Gateway 是下一跳地址, Iface 是发送接口, Flags中 的 U 标志表示此条目有效(可以禁用某些 条目), G 标志表示此条目的下一跳地址是某个路由器的地址,没有 G 标志的条目表示目的网络地址是与本机接口直接相连的网络,不必经路由器转发;


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
12天前
|
负载均衡 网络协议 算法
|
3天前
|
网络协议 网络安全 网络虚拟化
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
24 3
|
5天前
|
网络协议 网络安全 数据安全/隐私保护
计算机网络概念:网关,DHCP,IP寻址,ARP欺骗,路由,DDOS等
计算机网络概念:网关,DHCP,IP寻址,ARP欺骗,路由,DDOS等
24 4
|
6天前
|
网络虚拟化
生成树协议(STP)及其演进版本RSTP和MSTP,旨在解决网络中的环路问题,提高网络的可靠性和稳定性
生成树协议(STP)及其演进版本RSTP和MSTP,旨在解决网络中的环路问题,提高网络的可靠性和稳定性。本文介绍了这三种协议的原理、特点及区别,并提供了思科和华为设备的命令示例,帮助读者更好地理解和应用这些协议。
20 4
|
14天前
|
网络协议 安全 Go
Go语言进行网络编程可以通过**使用TCP/IP协议栈、并发模型、HTTP协议等**方式
【10月更文挑战第28天】Go语言进行网络编程可以通过**使用TCP/IP协议栈、并发模型、HTTP协议等**方式
43 13
|
7天前
|
网络协议 定位技术 网络架构
IP 路由:网络世界的导航仪
IP 路由:网络世界的导航仪
20 3
|
14天前
|
存储 缓存 网络协议
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点,GET、POST的区别,Cookie与Session
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点、状态码、报文格式,GET、POST的区别,DNS的解析过程、数字证书、Cookie与Session,对称加密和非对称加密
|
3天前
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
【10月更文挑战第39天】在数字化时代,网络安全和信息安全成为了我们生活中不可或缺的一部分。本文将介绍网络安全漏洞、加密技术和安全意识等方面的内容,帮助读者更好地了解网络安全的重要性,并提供一些实用的技巧和方法来保护自己的信息安全。
14 2
|
4天前
|
安全 网络安全 数据安全/隐私保护
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
【10月更文挑战第38天】本文将探讨网络安全与信息安全的重要性,包括网络安全漏洞、加密技术和安全意识等方面。我们将通过代码示例和实际操作来展示如何保护网络和信息安全。无论你是个人用户还是企业,都需要了解这些知识以保护自己的网络安全和信息安全。
|
3天前
|
存储 安全 网络安全
云计算与网络安全:探索云服务中的信息安全策略
【10月更文挑战第39天】随着云计算的飞速发展,越来越多的企业和个人将数据和服务迁移到云端。然而,随之而来的网络安全问题也日益突出。本文将从云计算的基本概念出发,深入探讨在云服务中如何实施有效的网络安全和信息安全措施。我们将分析云服务模型(IaaS, PaaS, SaaS)的安全特性,并讨论如何在这些平台上部署安全策略。文章还将涉及最新的网络安全技术和实践,旨在为读者提供一套全面的云计算安全解决方案。