计算机网络基础

一、计算机常见名词

进制转换

在线进制转换:https://tool.oschina.net/hexconvert

二进制 BIN

1 + 1 = 10

2进制1110 -> 10进制
0*2^0 + 1*2^1 + 1*2^2 + 1*2^3 = 14

八进制 OCT

7 + 1 = 10

8进制1110 -> 10进制
0*8^0 + 1*8^1 + 1*8^2 + 1*8^3 = 584

十进制 DEC

9 + 1 = 10

10进制1110 -> 10进制
1110

十六进制 HEX

F + 1 = 10

16进制1110 -> 10进制
0*16^0 + 1*16^1 + 1*16^2 + 1*16^3 = 4368

ASCII码

在线ascii对照表:https://tool.oschina.net/commons?type=4

ASCII 码使用指定的7 位或8 位二进制数组合来表示128 字符字符。

标准ASCII 码也叫基础ASCII码,使用7 位二进制数(剩下的1位二进制为0)来表示所有的大写和小写字母,数字0 到9、标点符号,以及在美式英语中使用的特殊控制字符。

MAC地址

MAC地址也叫物理地址和局域网地址,主要用于确认网上设备的地址,类似于身份证号,具有唯一标识。在网络底层的物理传输过程中,是通过物理地址来识别主机的。

MAC地址烧录在网卡上,是全球唯一的。48bit。

IP

IP地址是指互联网协议地址(Internet Protocol Address,又译为网际协议地址),是IP Address的缩写。IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异,使用计算机能够相互通讯。
IP通常用“点分十进制”表示成 x.x.x.x (x∈[0,255]), 实际上是32位二进制数(01100100.00000100.00000101.00000110)

127.0.0.1 # 本机地址

子网掩码

子网掩码 (subnet mask) 又叫网络掩码、地址掩码、子网络遮罩,是一个应用于 TCP/IP 网络的 32 位二进制值。它可以屏蔽掉 IP 地址中的一部分,从而分离出 IP 地址中的网络部分与主机部分,基于子网掩码,管理员可以将网络进一步划分为若干子网。它必须结合 IP 地址一起使用。

# 子网掩码是用来划分网段的、并不能判断ABC类地址。
以IP 192.168.1.81 为例
子网掩码为: 255.255.255.0
可用 IP: 192.168.1.1 ~ 192.168.1.254  —> 192.168.1.1/24    也被称为C段

子网掩码为: 255.255.0.0
可用 IP: 192.168.0.1 ~ 192.168.255.254  -> 192.168.0.1/16  也被称为B段

网关

默认网关在网络层上以实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关的结构也和路由器类似,不同的是互连层。网关既可以用于广域网互连,也可以用于局域网互连。网关的IP地址是具有路由功能的设备的IP地址。(路由默认下一跳)

# 网关实质上是一个网络通向其他网络的IP地址
# 默认网关一般设置为 x.x.x.1

计算机端口

计算机端口(port),可以认为是计算机与外界通讯交流的出口。按端口号可分为3大类:公认端口、注册端口、动态和/私有端口。

软件领域的端口一般指网络中面向连接服务和无连接服务的端口。

### 第一类
公认端口(Well Known Ports):从0到1023,它们紧密绑定(binding)于一些服务。通常这些端口的通讯明确表明了某种服务的协议,例如:80端口实际上总是HTTP通讯。

### 第二类
注册端口(Registered Ports):从1024到49151。它们松散地绑定于一些服务。也就是说有许多服务绑定于这些端口,这些端口同样用于许多其它目的。例如:许多系统处理动态端口从1024左右开始。

### 第三类
动态和/或私有端口(Dynamic and/or Private Ports):从49152到65535。理论上,不应为服务分配这些端口。实际上,机器通常从1024起分配动态端口。但也有例外:SUN的RPC端口从32768开始。

常见端口
80 http
445 https
53 dns
22 ssh
3306 mysql
...


# windows查看端口命令
netstat -anto
netstat -anto -p tcp # 查看开放的tcp端口
netstat -anto -p udp # 查看开放的udp端口

# linux查看端口命令
netstat -antp  # 查看开放的tcp端口
netstat -anup  # 查看开放的udp端口

拓展: 什么是unix套接字?
Unix域套接字只能用于在同一个计算机的进程间进行通信。虽然网络套接字也可以用于单机进程间的通信,但是使用Unix域套接字效率会更高,因为Unix域套接字仅仅进行数据复制,不会执行在网络协议栈中需要处理的添加、删除报文头、计算校验和、计算报文顺序等复杂操作,因而在单机的进程间通信中,更加推荐使用Unix域套接字。
传统的套接字的用法都是基于TCP/IP协议栈的,需要指定IP地址。如果不同主机上的两个进程进行通信,当然这样做没什么问题。但是,如果只需要在一台机器上的两个不同进程间通信,还要用到IP地址就有点大材小用了。

广播地址

广播地址是专门用于同时向网络中(通常指同一子网)所有工作站进行发送的一个地址。
很多局域网都定义了一个特殊的保留地址, 称为广播地址. 当信息头中目的地址域的内容为广播地址时, 该帧被局域网上所有计算机接收. 这个过程称为广播

# 广播地址一般为 x.x.x.255

计算IP的网址:https://www.sojson.com/convert/subnetmask.html

域名

由于IP地址具有不方便记忆并且不能显示地址组织的名称和性质等缺点,人们设计出了域名域名,并通过 DNS系统 来将域名和IP地址相互映射,使人更方便地访问互联网。

# 如何注册域名?
可以在域名注册服务商如:万网、阿里云、腾讯云注册购买域名,国内域名需要备案。


# 什么是子域名?
以  www.secdriver.com 为例:
根域名为 .com
主域名为  secdriver.com
dh.secdriver.com 是 secdriver.com 的二级域名也可以叫做子域名。
子域名一般都是主域名的附属资产,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符.

DNS

DNS将域名解析为IP

本地 host

# 本地 host 文件与DNS的关系
C:\Windows\System32\drivers\etc\hosts
访问一个域名时,计算机优先查看本地hosts文件中,是否有对应IP,如果本地hosts文件不存在解析IP,计算机再去访问DNS服务器解析域名对应的IP。


# 常见的 DNS 安全问题
DNS缓存投毒、DDoS攻击、域名劫持

网桥

网桥是早期的两端口二层网络设备,也叫桥接器,是连接两个局域网的一种存储或转发设备,能将一个大的LAN分割为多个网段,或将两个以上的LAN互联为一个逻辑LAN,使LAN上的所有用户都可访问服务器。是一种链路层产品,扩展局域网最常见的方法是使用网桥。

网桥的缺点:接口比较有限,默认是两个接口,对网络的冲突域隔离比较有限,网桥没有专用的硬件而是采用CPU来处理数据,所以处理速度相对较慢。

只需要记住:网桥是一种网络设备,用于连接两个或多个局域网并转发数据包。

交换机

交换机(Switch)是网桥演变过来的,所以也是一种链路层产品,交换机一般是用在局域网内数据传送,但是也有广域网交换机。交换机可以隔离冲突域,但是不能隔离广播域。

交换机相比网桥,主要有几个优势:

  • 接口数量更多

  • 采用专用的ASIC硬件芯片进行高速转发,所以速度更快

  • 能够进行VLAN隔离(不仅仅可以隔离冲突域,通过VLAN可以隔离广播域)

路由器

路由器(Router) 是连接因特网中各局域网、广域网的设备,它会根据信道的情况自动选择和设定路由,以最佳路径,按前后顺序发送信号。一般路由器有两个部分组成,WAN和LAN,WAN是用来拨号的上网,是让路由自身能上网的一个部分,LAN是用来局域网内交换数据的,外接的网线插在WAN端口,我们电脑通过网线连接LAN端口,无线路由器的无线部分一般属于LAN,所以一般叫WLAN。路由器内置DHCP服务器,可以为使用路由的电脑自动分配IP,所以他们直接插上就能上网。

NAT(网络地址转换)

NAT英文全称是“Network Address Translation”,中文意思是网络地址转换,它是一个IETF标准,允许一个整体机构以一个公用IP地址出现在Internet上。顾名思义,它是一种把内部私有网络地址(IP地址)翻译成合法网络IP地址的技术。因此我们可以认为,NAT在一定程度上,能够有效的解决公网地址不足的问题

这种方法需要在专用网(私网IP)连接到因特网(公网IP)的路由器上安装NAT软件。装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球IP地址(公网IP地址)。这样,所有使用本地地址(私网IP地址)的主机在和外界通信时,都要在NAT路由器上将其本地地址转换成全球IP地址,才能和因特网连接。

结合VMWare去理解。

二、VMware网络模式(必须掌握)

VMnet0:用于桥接模式下的虚拟交换机

VMnet1:用于仅主机模式下的虚拟交换机

VMnet8:用于NAT模式下的虚拟交换机

桥接模式

桥接模式就是将主机网卡与虚拟的网卡利用虚拟网桥进行通信。类似于把物理主机虚拟为一个交换机,所有桥接设置的虚拟机连接到这个交换机的一个接口上,物理主机也同样插在这个交换机当中,所以所有桥接下的网卡与网卡都是交换模式的,相互可以访问而不干扰。在桥接模式下,虚拟机IP地址需要与主机在同一网段,如果需要联网,则网关与DNS需要与主机网卡一致

所以,桥接模式下的所有虚拟机都是和主机是在同一网段的,可以把它们看成是"平等"的关系,这就会带来一些麻烦,比如192.168.1段下只有254个主机地址,所以桥接模式下虚拟机和物理的总数不能超过这个数字!

NAT模式

上面说过,桥接模式可能会导致一定的ip资源紧缺,这时候NAT模式时最佳选择。

先看网络结构图:

在NAT模式中,主机网卡直接与虚拟NAT设备相连,然后虚拟NAT设备与虚拟DHCP服务器一起连接在虚拟交换机VMnet8上,这样就实现了虚拟机联网。VMware Network Adapter VMnet8网卡是为了实现主机与虚拟机之间的通信。

可见NAT模式下主机更像是虚拟机们的"路由器",通过VMnet8虚拟网卡为虚拟机分发地址。所以虚拟机和主机不再同一网段下,可以理解为主机是虚拟机的"上级",这也就是为什么桥接模式没有VMnet0这个虚拟网卡,因为桥接模式下的虚拟机和主机是"平等"的,共用同一个路由器呀。

仅主机模式(一般不使用)

仅主机模式可有看成是NAT模式去除了虚拟NAT设备,然后使用VMware Network Adapter VMnet1虚拟网卡连接VMnet1虚拟交换机来与虚拟机通信的,Host-Only模式将虚拟机与外网隔开,使得虚拟机成为一个独立的系统,只与主机相互通讯

自定义模式(用于自组局域网)

自定义模式下,可以看成是主机作为一个交换机,使用相同网卡名称的虚拟机能够相互通讯,组成了一个局域网。

三、计算机网络体系结构分层

OSI七层参考模型

OSI是Open Systems Interconnection(开放式系统互联)的缩写,是一个国际标准化组织(ISO)制定的网络通信协议参考模型。

OSI模型将计算机网络通信分为七个不同的层级,每个层级负责特定的功能,每个层级的输出作为下一层级的输入。以下是OSI模型的七个层级:

TCP/IP四层模型

OSI和TCP/IP是两种不同的但相关的网络协议参考模型。

TCP/IP模型:TCP/IP是一组协议,用于实现互联网上数据的传输和通信。它是实际使用最广泛的网络协议套件。

TCP/IP 与 OSI 在分层模块上稍有区别。OSI 参考模型注重“通信协议必要的功能是什么”,而 TCP/IP 则更强调“在计算机上实现协议应该开发哪种程序”

image

每一层级的作用

数据在各层的名称

应用层

两台电脑想要互通数据,右边电脑部署了一个Web应用,左边电脑想去访问的话,就需要一个浏览器。浏览器与Web服务器如何进行交互就是应用层负责的工作。

常见的应用层协议有HTTP协议,开发者可以基于HTTP协议开发应用来实现两天计算机直接的逻辑连通。实际意义的连通是由物理层实现的。

表示层

表示层负责对不同表现形式的数据进行编码或解码的转换。还包括对数据加密、压缩等。

会话层

会话层的主要功能是建立、维护和终止两个网络应用程序之间的会话或对话。

例如:网站服务可以保存你的登录状态,不用每次都输入账号和密码。

传输层

数据可以借由IP和MAC到达对方主机,但是对方主机运行着很多的应用程序。此时需要端口来定位数据具体要发送到哪里。

在传输层,数据的名字称为段。

传输层在网络层的基础上,实现了服务进程到进程之间的数据的传输。传输包括可靠的(TCP)和不可靠的(UDP)。

网络层

互联网是一张大网,如果只靠MAC地址,在下图的情况中就很难快速作出定位。

此时IP作为逻辑地址,可以快速进行选址与路由转发。

在网络层中传输的数据被称为包,在封装成帧之前,数据叫做包,并且会在封装时加上目标的IP。路由器根据包里的IP地址进行路由转发。

链路层

链路层负责在直接相连的网络节点之间进行可靠的数据传输。

在数据链路层,比特数据会被封装成帧。并且会在封装时添加上目标的MAC地址。传输的01比特数据也会在此进行差错校验与流控制。

物理层

在物理层中,数据以二进制的形式在物理媒介中传输,这种数据称为“比特”。

常见的物理媒介有:电缆、光纤、无线电、双绞线等。

posted @ 2026-04-17 20:13  Xiewt  阅读(31)  评论(0)    收藏  举报