虚拟机网络环境及socket概述
一、Vmware虚拟机网络环境概述 虚拟机——软件技术(宿主机里安装一个服务,利用这个服务来共享宿主机的资源,通过服务,虚拟化成多个独立的主机进行管理) 1.宿主机里找到这个服务 2.几种组网方式的区别 a.NAT方式 宿主机里含有一个NAT服务(网络地址转换器,模拟成路由器) a.1.宿主机里被安装了一个能够连接到NAT路由器的虚拟网卡(vmnet8),宿主机就是通过这个网卡和虚拟机通信 a.2.虚拟机如果要访问外网,需要配置网关,网关的地址,必须是NAT路由器的LAN口IP(不能是windows的vmnet8) a.3.vmnet8这个网卡,是给宿主机专门用来访问虚拟机用的,一定不要配置网关和DNS,这个网卡不是为宿主机提供网络服务假的路由器(软件),外网能不能上,就看宿主机能不能上网了 b.host-only 宿主机里安装了一个虚拟的交换机,为宿主机提供了vmnet1的网卡,来连接到交换机上。 一旦虚拟机网卡连接到host-only,就意味连接到了交换机,只能和vmnet1进行数据交互。因为没有路由能力,虚拟机就无法访问外网 c.桥接 虚拟机利用宿主机里实际的网卡,充当虚拟机的物理层,虚拟机利用自己的独立NAc地址,使用宿主机的物理层进行数据通信寝室里其他设备也可以直接访问到虚拟机 3.Vmware和windows的数据互通 a.vmtools就是vmware这个软件提供的一个插件,只适合同一台机器上宿主机和虚拟机的访问实验室的多台主机和服务器相连,这个插件无能为力 b.建议使用网络服务进行数据交换 c.C/S模型 client和server a.1.ssh的远程登陆协议 a.2.虚拟机里安装ssh的服务器进程 如何判断虚拟机里有没有这个服务 netstat -tuan 查看当前机器服务链接状态 只需要在本地地址中端口号为22的,只要有这一行就表示服务已安装 a.3.宿主机安装ssh的客户端进程 Mobaxterm/Xterminal
二、socket简介 应用层 用户态 利用文件描述符和系统调用,实现数据的交换 ——————————-syscall 系统调用 名词(文件描述符) 传输层 网络层 内核态 很多条链接,每条链接如何抽象给用户态 物理接口层
文件描述符:就是一个非负整数
Linux的操作系统内,有一张表
0 内核的驱动1
1 内核的驱动2
2 内核的驱动3
3 NULL
4 NULL
必须获得这个内核抽象链接的对应的文件描述符 socket认为是一张信封,但是socket是一个大而全的一个通用接口
三、socket下的常用编程接口 socket 拿信封 bind 绑定local address