c语言之Linux网络开发

一、网络编程预备知识 socket IP地址 端口号 字节序 (一)socket 是一个编程接口 是一种特殊的文件描述符 (everything in Unix is a file) 并不仅限于TCP/IP协议 面向连接 (Transmission Control Protocol - TCP/IP) 无连接 (User Datagram Protocol -UDP 和 Inter-network Packet Exchange - IPX) (二)socket类型 1、流式套接字(SOCK_STREAM) 提供了一个面向连接、可靠的数据传输服务,数据无差错、无重复的发送且按发送顺序接收。内设置流量控制,避免数据流淹没慢的接收方。数据被看作是字节流,无长度限制。 2、数据报套接字(SOCK_DGRAM) 提供无连接服务。数据包以独立数据包的形式被发送,不提供无差错保证,数据可能丢失或重复,顺序发送,可能乱序接收。 3、原始套接字(SOCK_RAW) 可以对较低层次协议如IP、ICMP直接访问。 (三)socket的位置 (四)IP地址 IP地址是Internet中主机的标识: Internet中的主机要与别的机器通信必须具有一个IP地址 IP地址为32位(IPv4)或者128位(IPv6) 每个数据包都必须携带目的IP地址和源IP地址,路由器依靠此信息为数据包选择路由 表示形式:常用点分形式,如202.38.64.10,最后都会转换为一个32位的无符号整数 (五)端口号 为了区分一台主机接收到的数据包应该转交给哪个进程来进行处理,使用端口号来区别 TCP端口号与UDP端口号独立 端口号一般由IANA (Internet Assigned Numbers Authority) 管理 众所周知端口:1~1023(1~255之间为众所周知端口,256~1023端口通常由UNIX系统占用) 注册端口:1024~49150 动态或私有端口:49151~65535 (六)字节序 不同类型CPU的主机中,内存存储多字节整数序列有两种方法,称为主机字节序(HBO): 小端序(little-endian) - 低序字节存储在低地址 将低字节存储在起始地址,称为“Little-Endi...

玩转虚拟机系列之如何高效创建虚拟机

一、如何高效创建虚拟机

在前两期的视频中,我们介绍了虚拟机是如何搭建的,同时大家也发现了通过系统镜像创建虚拟机带来的不便,各种配置参数的填写以及网络配置。那么当我们创建好一个虚拟机后是否可以反复利用,无需重复创建的过程,答案当然是可以。

当我们创建一个虚拟机后,如果以后还想多次复用,切记在创建一个虚拟机最原始的时候进行克隆,保持原有虚拟机的最少功能以及体积最小的状态。

有两种方式可以解决这个问题:

  • 通过VMware克隆功能
  • 通过配置文件互相拷贝
我们分别来说明上述两种方式。

二、VMware克隆功能

通过菜单栏上的 虚拟机--》管理--》克隆功能实现:

点击下一页:

克隆虚拟机的当前状态:

创建完整克隆:

然后给新克隆的虚拟机指定名称以及安装位置:

最后完成克隆即可。

虽然完成了克隆虚拟机,但是新的虚拟机种的ip与之前的虚拟机一样,所以需要修改ip配置。启动新的虚拟机:

我们使用被克隆的虚拟机的账号登陆,然后进入终端:

vi /etc//sysconfig/network-scripts/ifcfg-ens33

TYPE="Ethernet" BOOTPROTO="static" DEFROUTE="yes" PEERDNS="yes" PEERROUTES="yes" IPV4_FAILURE_FATAL="no" IPV6INIT="yes" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_PEERDNS="yes" IPV6_PEERROUTES="yes" IPV6_FAILURE_FATAL="no" IPV6_ADDR_GEN_MODE="stable-privacy" NAME="ens33" UUID="5a09ae90-c928-4a18-a3ba-9b5b4b0e9ae1" DEVICE="ens33" ONBOOT="yes" IPADDR=192.168.111.5 #将ip由192.168.111.3修改为当前ip,只要与之前的不同即可 GATEWAY=192.168.111.2 NETMASK=255.255.255.0 DNS1=114.114.114.114 DNS2=8.8.8.8
然后保存,重启即可。

三、配置文件互相拷贝

当然还有另外一种更简单的方式,就是通过拷贝文件的方式,我们知道在安装虚拟机过程中,指定了安装目录,它下面的就是虚拟机涉及的文件:

我们只需要将这些文件重新拷贝一份,然后必要的文件的进行重新命名即可:

新建一个虚拟机文件夹名称,比如blog,然后将所有文件CentOS-7出现的地方进行替换为blog,然后将上述红线框起来的4个文件中出现CentOS-7的地方以blog替换,如:

其余文件一样修改即可。
修改完毕后,使用VMware打开即可:

最后就是与第一种方式一样修改ip,然后reboot重新启动即可。



更多文章合集前往: 往期精彩文章

此博客中的热门博文

玩转虚拟机系列之如何搭建虚拟机

玩转虚拟机系列之远程工具