Linux学习笔记之一(计算机网络基础)

Linux learning note

1、计算机网络

1.1、IP地址和MAC地址

I P IP IP地址指的是互联网协议地址 ( I n t e r n e t (Internet (Internet P r o t o c o l Protocol Protocol A d d r e s s ) Address) Address), M A C MAC MAC地址指的是媒体存取控制位址 ( M e d i a (Media (Media A c c e s s Access Access C o n t r o l Control Control A d d r e s s ) Address) Address)。 I P IP IP地址是服务器分配的,而 M A C MAC MAC地址则是计算机出产配置好的,具有唯一性。从通俗理解的角度,如果把电脑一看成个人,那 I P IP IP地址就是这个人的居住地点, M A C MAC MAC地址就是这个人的名字。

无论是 I P IP IP地址,还是 M A C MAC MAC地址,都具备充当交流标识的作用。即,让参与通信的计算机或服务器,知道信息从何而来,又要到哪去。早期互联网还没发展出 I P IP IP地址,就只能使用 M A C MAC MAC地址作为交流标识。但现在 M A C MAC MAC基本只用在局域网内的计算机之间相互通信,而与外界的交互基本采用 I P IP IP地址协议。

我们现在采用的 I P IP IP地址,通常是指 I P v 4 IPv4 IPv4地址,它由 4 4 4个 8 B i t s 8Bits 8Bits的二进制的数组成(会算换成十进制,如: 192.168.51.3 ) 192.168.51.3) 192.168.51.3)。同时它也被分为私有 I P IP IP和公有 I P IP IP,两种 I P IP IP承当的任务不同。通常来说,一个公网 I P IP IP下会衍生出许多个私网 I P IP IP。

打个比方,私有IP 记录了某一个人的居住地的门牌号,但并未交代此人所住在城市。公有IP 则负责记录了这个人所居住的城市,但不记录此人具体的门牌号。因而一台计算机想访问互联网需要跟刨洋葱一样一层层的刨开,而保证这个递进过程无差错的东西便是我们接下来要讲的 N A T NAT NAT协议。

对比以上两个图,由于每一个每台计算机都有自己的 M A C MAC MAC地址,所以如果全部使用 M A C MAC MAC地址来进行通信,那当计算机的数量激增的时候,势必导致交换机的负担过重。若使用 I P IP IP地址则可以把无数计算机分为一个个局域网进行管理,高效且节约资源。

1.2、NAT、端口

  • NAT :前文提到一台计算想要访问互联网,需要私网 I P IP IP和公网 I P IP IP在 N A T ( N e t w o r k A d d r e s s T r a n s l a t i o n ) NAT(Network Address Translation) NAT(NetworkAddressTranslation)协议下的配合使用。接下来就具体介绍一些这个过程,首先我们先假设有一台家庭计算机想访问互联网,且此时这个家庭的光猫有一个公网IP。如图:

    那么当计算机访问互联网时,会首先把访问信息传递到家庭光猫。此时家庭光猫会为其分配一个端口,并把该计算的私有 I P IP IP记录进一张表格中,然后再用自己的公有 I P IP IP作为源地址(发送请求的 I P IP IP地址)去访问互联网。同理,当互联网信息传递进来的时候,家庭光猫会根据刚刚所记录的 I P IP IP和端口信息,把数据传回给计算机。这个过程就叫 N A T NAT NAT,且用于记录端口信息、私有 I P IP IP以及目的地址(接受请求的 I P IP IP地址)的表格就叫 N A T NAT NAT表格。
    举个例子:你(计算机)想约小红(互联网)出来,但又感到不妥。便叫了小明(光猫)以他自己的名义把小红约出来。当小明把小红约出来之后,再让小明把小红带到你身边。
  • 端口(port) :上面提到当计算机要访问外界互联网时,光猫会为其分配一个端口并记录下该计算机的私有 I P IP IP,其中的端口就是用来辨识具体是计算机中哪个应用程序发送请求的。
    举个例子:快递员通过 I P IP IP地址,把快递送到你家,但还需要通过端口信息,才能知道是你们家中哪个人买的。

1.3、动态IP、静态IP、DHCP

  • 动态 I P IP IP指计算机的 I P IP IP地址由光猫随机分配,一般来说计算机都是默认启用动态 I P IP IP的,因为这不容易造成 I P IP IP冲突。但动态IP的缺点也显而易见,每次计算机想要与其他计算机通信的时候,都得去查一遍自己的 I P IP IP。为了避免这种情况,静态IP就应运而生。
  • 静态 I P IP IP要求光猫永远分配给计算机相同的 I P IP IP,在许多场合,静态IP可以极大的提高通信效率。
  • D H C P ( D y n a m i c DHCP(Dynamic DHCP(Dynamic H o s t Host Host C o n f i g u r a t i o n Configuration Configuration P r o t o c o l ) Protocol) Protocol)是一个支持动态IP的协议,同时该协议也配置了子网掩码、默认路由的 I P IP IP以及域名服务器的 I P IP IP地址。

1.4、子网掩码、网关地址、DNS服务器

  • 子网掩码 ( N e t m a s k ) (Netmask) (Netmask):如果想判断计算机A和计算机B是否在同一局域网内,可以用计算机 A 、 B A、B A、B的 I P IP IP地址和其自身的子网掩码做与(&)运算,如果它们的结果相同,则视为在同一子网中(局域网)。这样两个计算机之间的通信就不必通过网关了,且两个计算之间可以互ping。一般子网掩码都是: 255.255.255.0 255.255.255.0 255.255.255.0
  • 网关 ( G a t e w a y ) (Gateway) (Gateway):比如WiFi、光猫之类的都属于网关,它是计算机与外界连通的网络桥梁。
  • D N S DNS DNS服务器 ( D o m a i n (Domain (Domain N a m e Name Name S e r v e r ) Server) Server):其存在的意义是将域名解析成 I P IP IP地址。比如 w w w . b a i d u . c o m www.baidu.com www.baidu.com这些都属于域名,它得通过 D N S DNS DNS解析成百度服务器的 I P IP IP地址之后,计算机才能正常访问。

1.5、TCP、UDP、ftp、http

从网络传输层面(通信方式)可分为:

  • TCP: TCP(Transmission Control Protocol) ,又称传输控制协议。在通信之前需要通信双方进行"三次握手四次挥手"之后才能开始通信,即确保双方准备就绪再通信,故而这种通信方式也归为可靠通信。
  • UDP: UDP(User Datagram Protocol),又称用户数据报协议。它属于不可靠协议,即发送方只管发送报文,直接报文能否被接受则一概不负责。

从网络应用层面(通信内容)可以分为:

  • ftp: ftp(File Transfer Protocol),又称文件传输协议。由此衍生协议的协议有sftp, ftps等等。它是基于TCP通信基础上的一种应用层协议,通常用来传输一些文件、文本之类的数据。比如Filezilla用的就是这一类的协议。
  • http: http(Hyper Text Transfer Protocol),又称超文本传输协议。它也是基于TCP通信基础上的应用层协议,不仅可以传输数字,还可传输静态图、动态图、视频等内容。'

以上只是我对一些常见的协议进行笼统的分类和简单概括,事实上各种网络协议数不胜数,特别是应用层的协议更是令人眼花缭乱。

2、虚拟机的网络管理

2.1、桥接模式

桥接模式(Bridge)无论是否有网线都能建立,一般虚拟机的桥接模式无需网线,而开发板需要网线。在这种模式下,计算机相当于一个交换机,让光猫为虚拟机分配IP地址。所以此时计算机和虚拟机在网络中属于同一个层级的,即虚拟机和计算机的IP应当在同一网段,唯一特殊的是虚拟机和外界交互的数据得经过计算机中转一下。

简而言之,在桥接模式下,虚拟机把计算机当成一个数据中转站,但从 i p ip ip的角度来看,它相当于一台独立的计算机。

2.2、NAT模式

第一小节简单介绍过NAT大概是一个数据转发协议,它允许光猫以自己的名义帮计算机去访问外界互联网。而在此处的NAT也起到同样的作用,只不过此时变成虚拟机借用计算机的名义去联网。如图,虚拟机借用计算机的名义去访问光猫,光猫再用自己的名义去访问外界互联网。

总的来说,NAT模式下的虚拟机逐渐沦为计算机的附庸。相比于桥接模式,它没能和计算享有同个层级的 i p ip ip。

2.3、仅主机模式

仅主机模式(Host-Only)下的虚拟机无法连接互联网,它仅允许虚拟机和计算机之间的通信。相比于NAT模式,仅主机模式显然更加封闭,它将虚拟机和外界完全隔离开了。

2.4、总结

本小节介绍了虚拟机和外界通信的三种方式,分别是桥接模式、NAT模式、仅主机模式。它们三者的共通点在于虚拟机想与外界交流都必须经过计算机,区别仅在于以什么身段居于计算机之下。桥接模式下虚拟机只当计算机为数据中转站,NAT模式下虚拟机把计算机当成了对外的窗口,而仅主机模式下则完全依赖主机。

最后,虚拟机网络部分参考了这篇文章:桥接模式、NAT模式和仅主机模式

相关推荐
磊灬泽1 小时前
【日常错误】鼠标无反应
linux·windows
知识分享小能手1 小时前
React学习教程,从入门到精通, React 属性(Props)语法知识点与案例详解(14)
前端·javascript·vue.js·学习·react.js·vue·react
汇能感知3 小时前
摄像头模块在运动相机中的特殊应用
经验分享·笔记·科技
阿巴Jun4 小时前
【数学】线性代数知识点总结
笔记·线性代数·矩阵
茯苓gao4 小时前
STM32G4 速度环开环,电流环闭环 IF模式建模
笔记·stm32·单片机·嵌入式硬件·学习
是誰萆微了承諾4 小时前
【golang学习笔记 gin 】1.2 redis 的使用
笔记·学习·golang
DKPT5 小时前
Java内存区域与内存溢出
java·开发语言·jvm·笔记·学习
aaaweiaaaaaa5 小时前
HTML和CSS学习
前端·css·学习·html
Miracle&5 小时前
2.TCP深度解析:握手、挥手、状态机、流量与拥塞控制
linux·网络·tcp/ip
ST.J5 小时前
前端笔记2025
前端·javascript·css·vue.js·笔记