一、基本概念
网络编程是指通过计算机网络进行数据交换和通信的编程技术。它涉及处理网络协议、数据传输和通信连接等方面的知识。以下是一些网络编程的基本概念:
1、网络协议: 网络协议是计算机网络中用于确保不同设备之间通信的规则和约定。常见的网络协议包括TCP(传输控制协议)、UDP(用户数据报协议)、IP(因特网协议)等。
2、套接字(Socket): 套接字是网络编程中用于建立网络连接和进行数据传输的一种抽象概念。通过套接字,程序可以通过网络与其他设备进行通信。(1)、套接字是网络通信的端点,它用于在不同计算机之间进行数据传输。(2)、套接字提供了一种编程接口,使应用程序能够通过网络进行通信。(3)、在套接字编程中,有两种常见类型的套接字:流套接字(TCP)和数据报套接字(UDP)。
3、客户端(Client)和服务器(Server): 在网络编程中,客户端是发送请求的程序或设备,而服务器是接受请求、处理请求并提供服务的程序或设备。
4、IP地址和端口号: IP地址是用于在网络上唯一标识设备的数字地址。端口号则是与特定应用程序相关联的数字标识,用于区分同一设备上的不同应用程序。在网络编程中,通过IP地址和端口号来确定通信的目标设备和应用程序。
5、数据传输协议: 在网络编程中,常见的数据传输协议包括TCP和UDP。TCP是一种可靠的、面向连接的协议,它保证数据的可靠传输和顺序性。UDP是一种不可靠的、面向无连接的协议,它以较低的开销进行数据传输,但不保证可靠性和顺序性。
6、线程和并发: 在网络编程中,通常需要处理多个客户端的请求。为了提高效率和响应速度,可以使用多线程或异步编程技术来实现并发处理。
二、Ubuntu网络配置
1、VMware 的虚拟机网络配置
虚拟机的网络适配器的模式有两种:
桥接模式:使得虚拟机跟物理机一样,各自拥有独立的IP地址
桥接模式的使用:
1、 编辑 - > 虚拟网络编辑器 -> 桥接模式 ->活跃的网卡(物理主机正在使用的能够访问外网的网卡)
NAT模式:子网技术,使得虚拟机直接共享物理机的IP,自己本身没有独立的IP地址
主机模式:在 Ubuntu 无需联外网而需与宿主机 Windows 通信
vmware组件缺失的情况,则需要进行还原默认模式:
a、关闭虚拟机;
b、把所有的已存在的虚拟网卡删除(移除网络);
c、还原默认设置。
2、经典 Linux 网络配置
在 Ubuntu-17.10
及以前的版本中,Ubuntu的网络配置围绕文件 /etc/network/interfaces
1、打开终端,输入以下命令 ifupdown2 软件组件安装(如果没有安装);
sudo apt install ifupdown2 #没有这个也不影响网络的使用,如果则使用左边的命令
2、输入以下命令以编辑 NetworkManager.conf 文件;
sudo vim /etc/NetworkManager/NetworkManager.conf
3、在打开的文件中找到 "[main]" 部分,并确保在该下面有以下行,没有则插入;
plugins = ifupdown,keyfile,ofono
dns = dnsmasq
4、找到 "[ifupdown]" 部分,并确保在该下面有以下行,没有则插入;
managed = true
5、保存文件并退出编辑器,在vim编辑器中,您可以按下"Esc"键,然后输入":wq"并按下"Enter"键。完成上述步骤后,已经成功修改了 NetworkManager.conf 配置文件。
注意:对于此类配置更改,可能需要重新启动网络管理器服务或重启计算机才能使更改生效,可以通过执行以下命令来重启NetworkManager服务:
sudo systemctl restart NetworkManager
修改配置文件时需要小心操作,确保不要更改或删除关键配置,以免影响系统的稳定性和网络连接。
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
#静态(二选一)
启用
新版 Linux 网络配置(netplan)
(1)打开 netplan 配置文件:
(2)编辑 netplan 配置文件:
动态获取ip地址的配置
静态ip地址配置
auto ens33
iface ens33 inet static # 设置静态网络形式
address 169.254.54.200 # IP地址,根据具体的网络环境来写
netmask 255.255.0.0 #子网掩码
gateway 169.254.54.1 #网关地址
#,如果想要设置dns /etc/resolv.conf
# nameserver 202.96.134.33
#动态(二选一)
auto ens33
iface ens33 inet dhcp # 设置动态网络形式
根据需求,可以选择动态IP配置或静态IP配置,并将其余部分注释掉。
如果想使用静态IP配置,请按照以下步骤进行修改:
打开终端。
执行以下命令来编辑 /etc/network/interfaces 文件:
sudo vim /etc/network/interfaces
这将使用vim编辑器打开该文件。
注释掉动态IP配置的部分,将其改为静态IP配置。确保只保留以下部分:
auto ens33
iface ens33 inet static
address 169.254.54.200 # 根据具体的网络环境来写IP地址
netmask 255.255.0.0 # 子网掩码
gateway 169.254.54.1 # 网关地址
注意,需要根据实际网络环境来配置IP地址、子网掩码和网关地址。
保存文件并退出编辑器。在vim编辑器中,可以按下"Esc"键,然后输入":wq"并按下"Enter"键。
完成上述步骤后,已经成功修改了 interfaces 配置文件,并配置了静态IP地址。