【计算机网络】NAT及Bridge介绍

OSI七层模型

  • 七层模型介绍及举例
    为通过网络将人类可读信息通过网络从一台设备传输到另一台设备,必须在发送设备沿 OSI 模型的七层结构向下传输数据,然后在接收端沿七层结构向上传输数据。

数据在 OSI 模型中如何流动

库珀先生想给帕尔梅女士发一封电子邮件。库珀先生在笔记本电脑的电子邮件应用程序中编写邮件,然后点击“发送”。电子邮件应用程序将电子邮件传递到应用程序层,应用程序层选取协议(SMTP),再将数据传递到表示层。接着,表示层压缩数据,再将数据传递到会话层,由会话层初始化通信会话。

而后,数据将到达发送方的传输层,在传输层进行分段,再在网络层将这些数据段分解为数据包,然后在数据链路层进一步分解为帧。随后,数据链路层将这些帧传输到物理层,物理层将数据转换为位流 1 和 0,最后通过物理介质(如电缆)发送数据。

帕尔梅女士的计算机通过物理介质(如她的 WiFi)接收位流后,数据将沿其设备的同一系列层级流动,但顺序刚好相反。首先,物理层将位流从 1 和 0 转换为帧,传递到数据链路层。然后,数据链路层将帧重组为数据包,供网络层使用。接着,网络层将数据包重组为数据段供传输层使用,传输层再将数据段重组为数据片段。

随后,数据将流入收件方的会话层,会话层将数据传递到表示层并结束通信会话。表示层解压数据并将原始数据传递到应用程序层。应用程序层将人类可读数据传递到帕尔梅女士的电子邮件软件,这样她就能在笔记本电脑屏幕上阅读库珀先生的电子邮件了。

1 虚拟机NAT

如果你的网络ip资源紧缺,但是你又希望你的虚拟机能够联网,这时候NAT模式是最好的选择。NAT模式借助虚拟NAT设备和虚拟DHCP服务器,使得虚拟机可以联网。

image.png
image.png

image.png

其中virbr0是由宿主机虚拟机支持模块安装时产生的虚拟网络接口,也是一个switch和bridge,负责把内容分发到各虚拟机。

从图上可以看出,虚拟接口和物理接口之间没有连接关系,所以虚拟机只能在通过虚拟的网络访问外部世界,无法从网络上定位和访问虚拟主机
virbr0是一个桥接器,接收所有到网络192.168.122.*的内容。

NAT方式并没有使用物理网卡。

2 Bridge模式

Bridge方式即虚拟网桥的网络连接方式,是客户机和子网里面的机器能够互相通信。可以使虚拟机成为网络中具有独立IP的主机

image.png

如上图,网桥的基本原理就是创建一个桥接接口br0,在物理网卡和虚拟网络接口之间传递数据。
image.png

3 虚拟机通信原理

虚拟机通过tun/tap或者其它类似的虚拟网络设备,将虚拟机内的网卡同br0连接起来,这样就达到和真实交换机一样的效果,虚拟机发出去的数据包先到达br0,然后由br0交给eth0发送出去,数据包都不需要经过host机器的协议栈,效率高。

image.png

docker通信原理

由于容器运行在自己单独的network namespace里面,所以都有自己单独的协议栈,情况和上面的虚拟机差不多,但它采用了另一种方式来和外界通信:

image.png
容器中配置网关为.9.1,发出去的数据包先到达br0,然后交给host机器的协议栈,由于目的IP是外网IP,且host机器开启了IP forward功能,于是数据包会通过eth0发送出去,由于.9.1是内网IP,所以一般发出去之前会先做NAT转换(NAT转换和IP forward功能都需要自己配置)。由于要经过host机器的协议栈,并且还要做NAT转换,所以性能没有上面虚拟机那种方案好,优点是容器处于内网中,安全性相对要高点。(由于数据包统一由IP层从eth0转发出去,所以不存在mac地址的问题,在无线网络环境下也工作良好)

参考链接

  1. Linux虚拟网络设备bridge你真搞懂了吗?
  2. # VMware虚拟机三种网络模式详解 --------- NAT(地址转换模式)
  3. # KVM虚拟机网络配置 Bridge方式,NAT方式
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
1.简述计算机网络和互联网的定义 答:计算机网络是一些互相连接的、自治(自主)的计算机的集合。为用户提供资源共享和连通性。 互联网是 2.OSI、TCP/IP协议体系结构分为几层,它们每层的名称是什么?请你比较对比这两个体系结构的异同。 请简述ISO/OSI参考模型每层的名称和主要功能。 (1)物理层:完成原始比特传输; (2)数据链路层:完成相邻结点之间的可靠数据传输; (3)网络层:完成任意两台主机之间的数据传送; (4)传输层:完成两台主机上两个进程之间数据通信; (5)会话层:完成进程之间的会话管理; (6)表示层:完成数据格式转换以及数据加密、压缩等工作; (7)应用层:是用户访问网络的接口。 请简述TCP/IP协议体系结构参考模型每层的名称和主要功能。 1.网络接口层 2.网络互连层 3.传输层 4.应用层 3.试比较电路交换、报文交换、分组交换的主要有缺点? 电路交换:整个报文的比特流连续地从源点直达终点,好像在一个管道中传送, 经过通信路径上的线路资源独占; 优点:通信实时性强,适用于交互式会话类通信; 缺点:1. 对突发性通信不适应,通信线路的利用率较低。2.建立连接时间长,系 统不具有存储数据的能力,不能平滑流量。 报文交换:整个报文先传送到相邻结点,全部存储下来后查找转发表,转发到下 一个结点。 优点:无需预先分配传输带宽,在传送突发数据时可提高整个网络的信道利用率; 缺点:时延较长,灵活性较差。 分组交换:单个分组传送到相邻结点,存储下来后查找转发表转发到下一个结点。 优点: 高效 动态分配传输带宽,对通信链路是逐段占用。 灵活 以分组为传送单位和查找路由。 迅速 不必先建立连接就能向其他主机发送分组。 可靠 保证可靠性的网络协议;分布式的路由选择协议使网络有很好的生存 性。 缺点:分组在各结点存储转发时需要排队,会造成一定的时延。分组必须携带的 首部(里面有必不可少的控制信息)也造成了一定的开销。很难提供服务质量。 4.给出TCP和UDP的英文全称和中文解释。简要比较它们的不同。 UDP(User Datagram Protocol -1分,用户数据报协议-1分):无连接的、面向报文的、尽最大努力交付的(不保证可靠)、没有拥塞控制的、首部开销小(1分) TCP(Transmission Control Protocol-1分, 传输控制协议-1分):面向连接的、面向字节流的、可靠交付的、提供全双工通信(2分) 5.解释以下概念:计算机网络体系结构、协议栈、协议数据单元、基带信号、带通信号。 计算机网络体系结构:计算机网络的各层及其协议的集合。或:计算机网络及其构件所应完成的功能的精确定义(2分) 协议栈:指网络中各层协议的总和。计算机网络的体系结构通常分为几层,几个层次画在一起很象一个栈的结构。(2分) 协议数据单元:对等层次之间传送的数据单位(1分) 基带信号:来自信源的基本频带信号(1分) 带通信号:经过载波调制后的信号(1分)。 6.简述IP地址与硬件地址的区别。 IP地址是网络层和以上各层使用的地址(1分),是一种逻辑地址,IPv4地址32位(4字节)(1分),IPv6地址128位(16字节)(1分) MAC地址是数据链路层的和物理层使用的地址(1分),是一种物理地址。MAC地址长度为48位(6字节)(1分) IP地址放在IP数据报的首部(1分),而MAC地址放在MAC帧的首部。(1分) 7.什么是计算机网络计算机网络协议的三要素是什么,各要素的含义什么 计算机网络:一些互相连接的、自治的计算机的集合。(1分) 语法(1分): 数据与控制信息的结构或格式 。 (1分) 语义(1分): 需要发出何种控制信息,完成何种动作以及做出何种响应。 (1分) 同步(1分): 事件实现顺序的详细说明。(1分) 8. 试简述IEEE802.3标准以太网(CSMA/CD)的介质访问控制的工作原理(包括发送端、接收端及冲突处理的原理)。 “多点接入”表示许多计算机以多点接入的方式连接在一根总线上。(1分) “载波监听”是指每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞。 (2分) “碰撞(冲突)检测”就是计算机边发送数据边检测信道上的信号电压大小。(2分) 一旦发现总线上出现了碰撞(冲突),就要立即停止发送,免得继续浪费网络资源,然后等待一段随机时间后再次发送。(2分) 或:先听后发,边听边发,碰撞停止,延迟重发 9.简述透明网桥的工作原理及其学习算法。 (1).网桥收到一帧后先进行自学习(1分)。查找转发表中与收到帧的源地址有无相匹配的项目。如没有,就在转发表中增加一个项目(源地址、进入的接口和时间)(1分)。如有,则把原有的项目进行更新。(1分) (2)转发帧。查找转发表中与收到帧的目的地址有无相匹配的项目。(1分) 如没有,则通过所有其他接口(但进入网桥的接口除外)进行转发(扩散)。(1分) 如有,则按转发表中给出的接口进行转发。(1分) 若转发表中给出的接口就是该帧进入网桥的接口,则应丢弃这个帧(因为这时不需要经过网桥进行转发)。(1分) 1、什么是计算机网络体系结构?计算机网络为什么要分层? 答: 计算机网络中各层及各层协议的集合称为计算机网络体系结构(3分)。分层的原因基于以下几点:(2分) 1)各层之间是独立的。 2)灵活性好。 3)结构上可分割开。 4)易于实现和维护。 能促进标准化工作。 2、试简述IEEE802.3标准以太网的介质访问控制的工作原理(包括发送端、接收端及冲突处理的原理)。 答: (1)工作站要发送数据时,先侦听信道是否有载波,如果有,表示信道忙,则继续侦听,直至检测到空闲,立即发送数据;(2分) (2)在发送数据过程中进行冲突检测,如果在冲突窗口内没有发生冲突,则表示数据发送成功,否则立即停止发送,并采用二进制指数回退算法,等待一个随机时间后在重复发送过程;(2分) (3)对于接收方,则根据数据包的校验和正确与否和物理地址是否为自己来决定是否将数据交给上层协议。(1分) 3、简要说明计算机A与B采用TCP协议通信时,连接建立过程。 答: TCP通讯双方建立连接过程称为3次握手,即双方共计发送三次报文的通讯(2分),若A主机主动向B主机通讯,则其连接建立过程如下(每点1分): 1)A发送报文,其SYN为1; 2)B发送报文,其SYN为1,ACK为1; 3)A发送报文,其ACK为1 4、什么叫流量控制,试简述TCP的流量控制机制,UDP协议中有流量控制吗? 答: (1)为了防止快速的发送设备发出的数据过多,导致慢速的接收设备处理不过来而发生大量数据丢失(淹没慢速的接收设备)所采取的限制措施称为流量控制。(3分) (2)在面向连接的TCP协议中,TCP包中有一个Window size 字段,接收方可以通过该字段告诉发送方,自己还有多少个接收缓冲区,极端情况下,当接收方不能再接收数据时,把该字段设置为0,从而发送方可以根据该字段的值来调整发送数据的大小或速率。(1分) (3)UDP协议中无流量控制。(1分) 3. 常用的信道复用技术有哪些? 1).FDM: Frequency Division Multiplexing 频分复用(1分) 2).TDM:Time Division Multiplexing 时分复用、STDM: Statistic TDM统计时分复用(2分) 3).WDM: Wavelength Division Multiplexing 波分复用(1分) 4).CDM: Code Division Multiplexing 码分复用:(1分) 5. 简单对比虚电路服务和数据报服务 每答对1个对比方面得1分,最高得5分。 对比的方面 虚电路服务 数据报服务 思路 可靠通信应当由网络来保证 可靠通信应当由用户主机来保证 连接的建立 必须有 不需要 终点地址 仅在连接建立阶段使用,每个分组使用短的虚电路号 每个分组都有终点的完整地址 分组的转发 属于同一条虚电路的分组均按照同一路由进行转发 每个分组独立选择路由进行转发 当结点出故障时 所有通过出故障的结点的虚电路均不能工作 出故障的结点可能会丢失分组,一些路由可能会发生变化 分组的顺序 总是按发送顺序到达终点 到达终点时不一定按发送顺序 端到端的差错处理和流量控制 可以由网络负责,也可以由用户主机负责 由用户主机负责 2、简述Link-State路由算法的工作过程及其特点。 答,应该围绕发送时机、发送对象、发送内容3方面展开讲解。 3.网络体系结构中各层传输的数据单位: 物理层:比特(位)bit 数据链路层:帧frame 网络层:分组(包)packet, 或IP 分组,IP 数据报 运输层:TCP:报文段segment, UDP:用户数据报user datagram 3. 网络体系结构中各层的主要设备 物理层:中继器(转发器)repeater、集线器hub(扩大冲突域)、网卡NIC(网 络适配器Adapter) 数据链路层:网桥bridge(会产生广播风暴)、交换机switch(2 层)、网卡NIC(网 络适配器adapter) 网络层:路由器 router (可以抑制广播风暴,丢弃广播分组) 运输层及以上:网关gateway 4. 透明传输的解决方法 字节填充或字符填充:发送端的数据链路层在数据中出现控制字符,则在其前面插入一个转 义字符;接收端的数据链路层在将数据送往网络层之前删除这个插入的转义字符。 零比特填充(位填充):在发送端,先扫描整个信息字段,只要发现有 5 个连续 1,则立即 填入一个 0;在接收端,对帧中的比特流进行扫描,每当发现 5 个连续1 时,就把这 5 个 连续 1 后的一个 0 删除。 3. 端口号(熟知端口号、登记端口号、短暂端口号) :P182-184 FTP :20、21 端口;Telnet:23 端口;SMTP:25 端口;HTTP:80 端口 DNS:53 端口;DHCP :67、68 端口;TFTP:69 端口;SNMP:164 端口 4. TCP 套接字 把 IP 地址和端口号合起来就是套接字(socket) 套接字= (IP 地址: 端口号) 2.解决IPv4 地址耗尽的措施有哪些? 1).子网划分,提高IP 地址利用率,减少IP 地址的浪费 2).无类别编址 CIDR,使 IP 地址的分配更加合理 3).DHCP,分时利用IP 地址 4).NAT,一个公用IP 地址代理多个私有地址 5).使用更大地址空间的新版本IP 协议,如IPv6.

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程小白呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值