免费服务器建站一学一做短视频网站
2026/4/3 22:11:13 网站建设 项目流程
免费服务器建站,一学一做短视频网站,广州地铁18号线最新线路图,wordpress内容采集虚拟网络环境及socket概述 文章目录虚拟网络环境及socket概述一、前言二、VMware虚拟机网络环境概述2.1 概述2.2 注意事项2.3 几种组网方式的区别2.4 Vmware和Windows的数据互通三、Socket简介3.1 什么是socket四、socket下的常用编程接口五、小结一、前言 今天#xff0c;将带…虚拟网络环境及socket概述文章目录虚拟网络环境及socket概述一、前言二、VMware虚拟机网络环境概述2.1 概述2.2 注意事项2.3 几种组网方式的区别2.4 Vmware和Windows的数据互通三、Socket简介3.1 什么是socket四、socket下的常用编程接口五、小结一、前言今天将带来新的内容——虚拟网络环境的介绍当进入虚拟的网络环境中先前学的数据传输你还认识它吗二、VMware虚拟机网络环境概述2.1 概述虚拟机是一种软件技术。通过在宿主机里安装一个服务利用这个服务来共享宿主机的资源通过服务虚拟化成多个独立的主机进行管理。完成虚拟机首先保证服务是否安装。这里的宿主机就是Windows2.2 注意事项宿主机找到这个服务搜索中找到服务-找到VM打头的服务都要打开大约4-5个-通过双击可以查看服务的详细信息服务就是一个进程/程序选了这个服务就相当于接了一根线。如图里面有显示文件地址说明服务就这个文件里因此说服务是一个程序。在网络中有两个服务是非常重要的DHCP服务和NAT服务。安装虚拟机时如果出现了没有IP地址或者连不上网等情况可以先检查一下这些服务有没有打开有时候可能会被杀毒软件给禁用重新换成自动再重启以下可能就好了。2.3 几种组网方式的区别NAT方式宿主机里含有一个NAT服务NAT是网络地址转换器可以模拟成路由器含有LAN口和WAN口NAT有两个IP一个接收虚拟机内部的私有网一个将私有网隐藏起来转成别的IP交给WAN口WAN口具有路由能力宿主机被安装了能够连接到NAT路由器的虚拟网卡vmnet8宿主机就是通过这个网卡和虚拟机进行通信的虚拟机如果要访问外网需要配置网关只要不在一个网段的就往网关丢网关的地址必须是NAT路由器的LAN口IP不能是windows的vmnet8vmnet8这个网卡是宿主机专门用来访问虚拟机用的一定不要配置网关和DNS这个网卡不是为宿主机提供网络服务的NAT服务就像是一个假的路由器靠软件实现的外网能不能上就看宿主机能不能上网。host-only宿主机里安装了虚拟的交换机虚拟机为宿主机提供了vmnet1的网卡来连接到交换机上。一旦虚拟机网卡连接到了host-only就意味连接到了交换机只能和vmnet1进行数据交互。因为没有路由能力交换机只能识别MAC地址不能识别IP地址虚拟机就无法访问外网。一个网卡意味着一个小网络有单独的IP地址和网段。host-only使用的很少桥接虚拟机利用宿主机利用实际的网卡充当虚拟机的物理层虚拟机利用自己的独立MAC地址使用宿主机的物理层进行数据通信应用寝室里其他设备也可以直接访问到虚拟机嵌入式开发板和虚拟机相连一个网卡可以设置很多很多IP地址vmnet0指桥接可以桥接到很多地方2.4 Vmware和Windows的数据互通提出问题vmtools安装不了介绍vmtools就是VMware这个虚拟机软件提供的一个插件只适合同一台机器上宿主机和虚拟机的访问实验室的多台主机和服务器相连这个插件就无能为力建议使用网络服务进行数据交换到底是什么服务呢C/S模型介绍client和server模型客户端和服务器就像是浏览器和百度服务器之间的关系浏览器主动连接百度服务器百度服务器才会回它消息使用利用ssh的远程登陆协议虚拟机里安装ssh的服务器进程宿主机安装ssh的客户端进程虚拟机里安装ssh的服务器进程如何判断虚拟机里有没有这个服务若没有就安装netstat -tuan——查看当前机器的服务socket链接状态netstat -tuan // t-所有的tcpu-所有的udpa-alln-以数字形式打印出来每行都表示一条链接协议 接收缓存 发送缓存 本地地址 远程地址 状态只需要找本地地址中端口号为22的只要有这行就表示服务已经安装好了如何安装ssh服务Ubuntu敲sshd的命令自动提示你用什么命令来安装这个服务sudo apt install openssh-serverCentos搜索sshd的服务是什么软件然后利用yum install xxxx宿主机安装ssh的客户端进程Mobaxterm——免费的开源软件也可以使用xshell等苹果的自带了ssh的客户端服务。在这里我以Mobaxterm为例进行讲解~官网安装-使用整个软件的核心就是session在windows上编写程序传输到传输到Linux上。Windows上编写了hello world的程序——不要忘记保存关于Linux的指令这里就不再详述了只做演示而已三、Socket简介3.1 什么是socket应用层 用户态/- - - - - - - - - - - - -/ syscall系统调用实现从用户态向内核态的转换需要名词对象传输层网路层 内核态这三层物理接口层传输层、网络层和物理接口层就是将用户千方百计构造出来的数据无差错的、有序的发送给对方可靠传输应用层关注如何处理数据包如何在用户态访问内核态用户态需要名词文件描述符内核态这三层维护了很多条链接链接可以理解为非常复杂的结构体用户态不能直接访问。每条链接如何抽象给用户态呢这就有了文件描述符。文件描述符就是一个非负整数如0、1、2、3等。代表硬件设备一个进程中管理器的数字号用户态利用文件描述符和系统调用的动词实现数据的交互。我们改一下程序重新拖到Linux上去运行奇怪的事情发生了为什么会这样呢printf是一个标准输出的设备write将标准输出的设备抽象成数字1向1写那个值代表着1就是那个设备。设备都有驱动Linux的操作系统内有一张表01234…对应内核的驱动。如必须获得这个内核抽象链接的对应的文件描述符socket可以认为是一张信封也是一个大而全的通用接口历史演变1969年Linux已经出现了1973年有一个分支BSD伯克利大学在原有的Linux的基础上提出了一个技术——socket技术注意此时网络还没出现1985年网络普及tcp/ip逐渐得到认可为了能像接口一样接入网络socket本意就是插座充当一个中转站实现机器和网络之间的连接socket正式支持TCP/IP协议能够上网四、socket下的常用编程接口鉴于socket是一个大而全的接口我们可以使用man 2 socket选一个合适的参数填进去从而使用。socket拿信封拿一个进程里面和内核相关的设备行为bind绑定local address举个例子完整代码#includestdio.h#includestring.h#includesys/socket.h#includenetinet/in.h#includenetinet/ip.h#includesys/types.h#includearpa/inet.hintmain(intargc,char*argv[]){structsockaddr_inself;// 结构体里包含了IP和端口信息intret;intudp_socketsocket(AF_INET,SOCK_DGRAM,0);// 获取一张信封传输层采用了UDP技术// 将这个信封绑定系统的一个端口号其他客户端就能通过这个端口号向你发出信息// 服务器就可以通过这个端口号来获取信息了memset(self,0,sizeof(self));self.sin_familyAF_INET;self.sin_porthtons(7788);retbind(udp_socket,(conststructsockaddr*)self,sizeof(self));if(ret-1){perror(bind);return-1;}// 一定要让服务器不能死掉一般服务器都是循环等待新的客户请求while(1){getchar();}return0;}运行结果展示五、小结通过本篇相信你也对虚拟网络环境的配置有了大致的了解以及有关socket的基本概述后面将会继续深入~

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询