前言
有的时候我很好奇,网络传送到底事以什么形式存在的,是通过网线传播?或者为什么我们可以使用无线上网?IP 一直说它地址的门牌号,可是为什么怎么说?对 IP 有了更深的了解我才明白,为什么如此!
问题回答:
1.网络是以什么形式传播的?
在以前,我们需要使用网线连接我们的电脑才能上网。这些网线是双绞线、光纤等介质,用来传输数字信号。数字信号会通过网线传输到路由器、交换机等网络设备进行处理和转发,最终到达目的地。
现在,我们可以通过无线电波和卫星信号进行网络传输,就是无线宽带。无线宽带设备可以接收和转换无线电信号,实现网络连接。而无线网卡或无线适配器则是将电脑或其他设备连接到无线网络的关键。它们能够将无线电信号转换成数字信号,让电脑或其他设备能够理解和处理这些信号,并在无线网络中进行通信和数据传输。
在计算机和互联网中,所有的信息都被表示为数字信号,这些数字信号被编码成二进制形式,通过电脑网络进行传输。在数字信号中,只有两种状态,分别是0和1,它们分别代表了电子元件中的两种电信号状态。计算机通过将数字信号编码成一系列的电信号脉冲,然后通过电线、光纤等介质进行传输。
通常情况下,长距离网络传输使用的是光纤、铜线等有线传输介质,而短距离网络传输使用的是无线电磁波传输。
+----------------+
| 发送端设备(手机、电脑等) |
+----------------+
| 数字数据 (数字数据是一系列二进制数字,在计算机系统和设备理解和处理)
V
+-------------+
| 调制调制器 | (调制调制器通常用于家庭网络或企业网络中的接入方式,如ADSL、光纤等)
+-------------+
| 模拟信号 (模拟信号是一种电信号,是由变化的电压或电流形成的。这种信号可以被转换为无线电磁波进行传输。)
V
+-------------------------+
| 信号通过有线或无线信道传输 |
+-------------------------+
| 模拟信号
V
+-------------+
| 解调器 |
+-------------+
| 数字数据
V
+----------------+
| 接收端设备 |
+----------------+
复制代码
手机中的数字信号需要经过调制才能被传输为模拟信号。
当你在手机上发送一条短信或者打电话时,手机会将数字数据转换成数字信号,并将这个信号通过调制器(也称为调制解调器)转换为模拟信号。调制器是手机的一个内置组件,它的作用是将数字信号转换为可以在无线电信道上传输的模拟信号。
屏蔽器是一种用于屏蔽电磁波的装置,它的原理是利用金属或其他导电材料的屏蔽效应来阻挡或吸收电磁波。当电磁波遇到屏蔽器的金属表面时,会发生反射和吸收现象,从而减弱或消除电磁波的影响。
3.IP 为什么可以说是门牌号,或者说 网络如何识别 IP,达到传送数据?
P地址可以被看作是网络中的门牌号,每个连接到互联网的设备都有一个唯一的IP地址,用来识别该设备在互联网中的位置。通过IP地址,网络可以将数据包从源设备传输到目标设备,实现数据的传输和交换。
在网络中,每个设备都有一个网络适配器,它可以将数据转换成数字信号,并通过网络发送出去。当设备发送数据时,会将目标设备的IP地址添加到数据包的头部,然后将数据包发送到网络中。网络中的路由器会根据目标设备的IP地址,将数据包转发到相应的目标设备。如果目标设备不在同一个子网中,则需要经过多个路由器的转发,直到到达目标设备所在的子网。
IP 协议
IP协议是TCP/IP协议族中的⽹络层协议,主要负责在⽹络中传输数据 包并且确保它们能够到达⽬标设备。
Web 网络传输大部分都需要通过 IP 协议来封装数据,以此来达到将报文或者数据发送到目的地址。
IP 协议的组成
IP地址:
IP地址是⽹络上设备的唯⼀标识。
IPv4地址由32位 ⼆进制数组成,通常表示为四个⼗进制数,例如192.168.1.1。
IPv6地址 由128位⼆进制数组成,表示为8个16进制数字,例如2001:0db8:85a3:0000:0000:8a2e:0370:7334
IP地址是⼀个在计算机⽹络中唯⼀的标识符,⽤于标识⽹络上的每个 设备,就像我们平常⽤的电话号码或者地址⼀样。IP地址是由⼀定的 数字组成,表示⽹络上某个设备的唯⼀地址。
IPv4地址通常分为⽹络地址和主机地址两部分:
在IP 地址中,⽹络地址由⾼位⽐特组成,⽽主机地址由低位⽐特组成。例 如,⼀个IP地址为192.168.1.100,其中192.168.1是⽹络地址,100是主 机地址。
同网段是什么意思,很简单就是 ⽹络地址相同,主 机地址不同,一般同网段下的网络是互通的
私有IP地址 和 公共IP
私有IP地址主要是为了在局域⽹中让计算机之间相互通信⽽设计的, ⽐如您家中多台电脑或者办公室内的多台电脑可以通过局域⽹中的路 由器或交换机进⾏通信,⽽不需要连接到互联⽹。
公共IP是由互联⽹服务提供商(ISP)分 配给您的唯⼀IP地址,它是公共可⽤的,可以在全球范围内访问。
都说 IPv4 越用越少,可是为什么 怎么多年了 IPv4 资源还没枯竭呢?
因为 NAT ⽹络地址转换技术,它允许
将私有IP地址映射到公共IP地址上,以便这些设备能够在互联⽹上进 ⾏通信。在NAT中,路由器充当了⼀个中间⼈,将私有IP地址转换成 公共IP地址,这样就可以使多台设备共享⼀个公共IP地址,并且能够 访问互联⽹。 复制代码
它可以将多 个私有IP地址映射到单个公共IP地址上,端⼝转换(Port Translation),也称为端⼝地址转换(PAT),是NAT 技术的⼀种应⽤,它允许多个内部⽹络设备共享⼀个公共IP地址。路由器通过对内部⽹络设备发送的数据包进⾏地址转 换,将数据包的源端⼝号改变为⼀个在路由器上未使⽤的端⼝号,然 后将数据包发送到外部⽹络。
NAT技术的实现通常是通过路由器来完成的。路由器上通常会配置⼀ 个NAT表,这个表记录着内部⽹络的IP地址和端⼝号与外部⽹络的IP地 址和端⼝号的对应关系。当内部⽹络的设备向外部⽹络发送请求时, 路由器会根据NAT表进⾏地址转换,将内部⽹络的IP地址和端⼝号转 换成外部⽹络的IP地址和端⼝号,然后将请求发送到外部⽹络。当外 部⽹络的设备向内部⽹络发送响应时,路由器会根据NAT表进⾏反向 地址转换,将外部⽹络的IP地址和端⼝号转换成内部⽹络的IP地址和 端⼝号,然后将响应发送到内部⽹络
⼦⽹掩码:
⼦⽹掩码是⼀种⽤于划分⽹络地址和主机地址的 ⽅法。它与IP地址结合使⽤,以确定哪些位表示⽹络地址,哪些位表 示主机地址。
⼦⽹掩码的主要作⽤是将⼀个IP地址划分成⽹络地址和主机地址两部 分,以便于进⾏⽹络通信。在计算机⽹络中,⼦⽹掩码可以帮助计算机确定 ⽹络地址和主机地址的边界,从⽽确定数据包的传输路径。
路由器:
路由器是⼀种⽹络设备,它可以将数据包从⼀个⽹ 络转发到另⼀个⽹络。它使⽤IP协议来确定最佳路径并将数据包发送 到⽬标设备
在IPv4⽹络中,路由器会根据IP地址和⼦⽹掩码的信息将数据包转发 到⽬标设备所在的⽹络中。但是,当数据包到达⽬标⽹络时,路由器 将使⽤⽬标设备的IP地址将数据包传送到正确的⽬标设备。
路由线路:
当数据包从⼀个⽹络发送到另⼀个⽹络时,数据包需要通过路由器进 ⾏转发。
路由器在接收到数据包后,查看数据包中的⽬的IP地址,并 根据⾃⼰的路由表判断将数据包发送到哪个⽹络接⼝。
如果⽬的地址 在本地⽹络中,则路由器将数据包直接转发到本地⽹络,否则路由器 将数据包发送到下⼀个路由器,直到数据包到达⽬的⽹络。
路由器在传输数据包时还会对数据包进⾏转发控制,如数据包的速率 控制、数据包的过滤和转发策略等。
在实际⽹络中,通常存在多个路由器,它们相互连接构成⼀个⽹络拓 扑结构。路由器之间通过路由协议来交换路由信息,以便更好地管理 ⽹络中的路由。
常⻅的路由协议包括RIP(Routing Information Protocol)、OSPF(Open Shortest Path First)、BGP(Border Gateway Protocol)等
数据包:
数据包是在IP⽹络中传输数据的基本单位。每个数 据包包括源IP地址、⽬标IP地址和数据。当⼀个数据包被发送到⽹络 上时,路由器将其传输到⽬标设备
• 版本号:指明IP协议的版本,通常为IPv4或IPv6。
• ⾸部⻓度:指明IP⾸部的⻓度,单位为4字节。
• 区分服务:指明该数据包的优先级和服务质量要求。
• 总⻓度:指明整个IP数据包的⻓度,包括⾸部和数据部分。
• 标识、标志、⽚偏移:⽤于分⽚和重组IP数据包,这是IP协 议的⼀个重要特性。
• ⽣存时间:指定数据包可以经过的路由器数量,⼀旦超过规 定的最⼤值,数据包将被丢弃。
可以自己使用 linux 试试将 linux 的 IP 生存周期设置在1,0 范围内,你就发现你无法发送任何数据了。因为生存时间(TTL)设置在1~0范围内的IP数据包在经过一定数量的路由器后会被丢弃
通过在Linux终端中使用如下命令将TTL设置为1,从而观察到这个现象
sudo iptables -t mangle -A OUTPUT -j TTL --ttl-set 1 复制代码
要恢复正常,可以使用如下命令将TTL恢复为默认值:
sudo iptables -t mangle -D OUTPUT -j TTL --ttl-set 1 复制代码
• 协议:指定数据包所使⽤的传输层协议,如TCP、UDP、 ICMP等。
• ⾸部校验和:⽤于检验IP⾸部的完整性和正确性。
• 源IP地址:指明数据包的发送者IP地址。
• ⽬标IP地址:指明数据包的接收者IP地址。
• 选项:可选字段,可以包含⼀些附加的信息,如时间戳、记 录路由等。
IP 数据包格式
0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version| IHL |Type of Service| Total Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Identification |Flags| Fragment Offset |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Time to Live | Protocol | Header Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Destination Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Options (if any) ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Data |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
复制代码
在将数据发送到⽬标主机之前,发送主机将数据分为⼀定⼤⼩的块, 并将每个块封装成⼀个IP数据包。封装过程中,发送主机将⽬的主机 的IP地址填⼊⽬的IP地址字段中,将发送主机的IP地址填⼊源IP地址字 段中。然后计算校验和并填⼊校验和字段,最后将数据包交给下⼀层 协议进⾏传输。接收主机收到数据包后,根据IP数据包⾸部的信息进 ⾏分⽚重组,将数据传递给上层应⽤程序
TCP、UDP等等协议是运⾏在IP协议之上的协议,它将⾃⼰的数据包封装在IP数据 包的内部进⾏传输,因此可以说TCP协议是将IP协议作为底层协议,并 在其上构建⾃⼰的协议。
协议版本:
IPv4和IPv6是两个不同版本的IP协议。IPv4是⽬ 前使⽤最⼴泛的协议,但它的地址空间已经不⾜以⽀持全球范围内的 设备。IPv6提供了更⼤的地址空间,使得⽹络中的每个设备都可以拥 有⼀个全球唯一的地址。但是由于支持或者厂家普及IPv6并不大力。导致IPv6还是不温不火。