stomsmth 2016-04-02
Openstack常提及的L2,L3是什么:
L2顾名思义就是level 2--对应OSI的七层定义中的第二层,数据链路层。
L3就是level 3---对应第三层网络层。
第一层:物理层
就是最底层网卡,负责把高频电流转换为数据包,然后给到驱动程序的,反之亦然。
第二层:数据链路层(网卡驱动)
负责把物理层传上来的位流形式的数据封装成帧并且传到物理层,反之,也将网络层的数据帧拆装位位流形式的数据转换到物理层;并且,还负责出来接受端发回的确认帧的信息,以便提供可靠的数据传输。
该层的作用包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。
第三层:网络层(NDIS)
网络层将数据链路层提供的帧组成数据包,包中封装有网络层包头,其中含有逻辑地址信息(IP)--源站点和目的站点地址的网络地址。
有关路由的一切事情都在第3层处理。地址解析和路由是3层的重要目的。网络层还可以实现拥塞控制、网际互连等功能。
第四层:传输层
传输层代表有TCP, UDP,SPX
TCP单元叫段,UDP单元叫“数据报”
这层确保按顺序无错的发送数据包,传输层包来自会话层的大量消息分成易于管理的包以便向网络发送。
提供面向连接(tcp)和面向无连接(udp)服务。tcp需要握手协议,udp无握手。
第五层:会话层(session)
会话管理:允许用户在两个实体设备之间建立,维持和终止会话,并支持他们之间的数据交换。
会话流量控制
寻址:使用远程地址建立会话连接
第六层:表示层(数据协议转换)
定义由应用程序用来交换数据的格式(用户语法表示问题)。也叫转换器,改层负责协议转换、数据编码和数据压缩
第七层:应用层(代表协议Telnet,FTP,HTTP,SNMP等)
就是应用程序(exe等),应用层是用户与网络,以及应用程序与网络间的直接接口,使得用户能够与网络进行交互式联系。
PS:
网络层协议:包括:IP协议、ICMP协议、ARP协议、RARP协议。 传输层协议:TCP协议、UDP协议。 应用层协议:FTP、Telnet、SMTP、HTTP、RIP、NFS、DNS。
交换机和路由器:
1.交换机是工作在数据链路层 L2,主要用于小网络区间,譬如一个办公室,用于同一个网段
2,路由器工作在网络层 L3, 基于TCP/IP 的国际互联网络Internet 的主体脉络
Dnsmasq :
主要用于提升DNS服务性能,通过缓存DNS请求来提高对访问过的网址的连接速度,
同样Dnsmasq可以为局域网电脑提供内网ip地址和路由,即DHCP功能
DNS和DHCP两个功能可以同时或分别单独实现
混杂模式(Promiscuous Mode)
是指一台机器能够接收所有经过它的数据流,而不论其目的地址是否是他。
VLAN:(Virtual Local Area Network)
就是把局域网(LAN)设备从逻辑上(非物理)上划分为多个网段,现在主要用于交换机上。
VXLAN:(Virtual eXtensible LAN)
就是在包里面再封装一个包,然后通过隧道传送到隧道终点,然后解压包,再根据里面包的信息转发。就是VPN
隧道类似于点到点的连接
通过隧道的建立,可实现:* 将数据流强制送到特定的地址* 隐藏私有的网络地址* 在IP网上传递非IP数据包* 提供数据安全支持
什么是Tap/Tun
TUN与TAP是操作系统内核中的虚拟网络设备, Tap操作在第二层数据包,等同于以太网设备,Tun模拟了网络层设备。
什么是网桥
工作在数据链路层,连接两个不同局域网(LAN)
SNAT和DNAT
都是适用于多个内部机器用一个外部IP(网卡)访问Internet
SNAT: 就是把源地址转换成出口的ip, 通俗来说就是把内部的当要访问外网的某台机器模拟成出口的公网IP,这样内部的机器就能访问公网的机器
DNAT: 就是把外网某台需要访问内部服务器的机器的ip转换成内部的ip,方便外网的机器访问内部服务器。
TCP/IP基础:
TCP/IP协议并不完全遵循OSI,它有自己一套定义的模型
OSI 模型 | TPC/IP |
应用层 (FTP http等) | 应用层 |
表示层 | |
会话层 | |
传输层(tcp,udp) | 传输层 |
网络层 (IP) | 网络层 |
数据链路层 | 网络访问层 |
物理层 |
网络接口层:在模型的最底层是网络接口层。本层负责将帧放入线路或从线路中取下帧。
Internet层:Internet协议将数据包封装成Internet数据包并运行必要的路由算法。
传输层:传输协议在计算机之间提供通信会话。数据投递要求的方法决定了传输协议。
应用层:在模型的顶部是应用层。本层是应用程序进入网络的通道。在应用层有许多TCP/IP工具和服务,如:FTP、Telnet、SNMP、DNS等等。该层为网络应用程序提供了两个接口:Windows Sockets和NetBIOS。
(泪奔啊,当年招聘笔试的时候问了个七层OSI,我还傻乎乎的怎么TCP/IP有七层我不知道。。。。看来还是学艺不精)
重点:
IP 地址分A,B,C D,E 类
xxx.xxx.xxx.xxx 这样的格式就是ip的格式,每三个x就是一组8位的二进制的数字,只是现在变成了十进制就变成了xxx了。
IP分为网络id(区分网段)和主机ID,所以就出现了我们上面说的那几类了。
首先A类就是第一组xxx,为网络ID,后面三组xxx都是主机id,这种网络适用于超大型的网络结构,例如一些大型公司的内部网络,(PS,后面会集中讲各类的ip的id范围)
B类就是第一和第二组xxx都是网络ID,后面两组xxx为主机ID
C类就是第一,二,三 组为网络id,最后一组是主机id,适合小型的网络结构,譬如我们家庭路由器出来的就是这种ip。
D类地址用于多重广播组。这里没有深究
E类留给未来用的。
id范围
A类: 开头1~126(如果变成二进制的话,第一组xxx的最高位为0)。127是一个特殊的网络ID,是用来检查,TCP/IP协议工作状态
B类:开头为128~191(如果变成二进制的话,第一组xxx的最高位为10)
C类:开头为192~223(如果变成二进制的话,第一组xxx的最高位为110)
D类:开头为224~239(如果变成二进制的话,第一组xxx的最高位为1110,大家是不是发现了就是往前面加1。)
以下摘自网络:
主机ID与网络ID的规则:
不能全为“0“或“255“
网络ID不能为“127“
唯一性
0.0.0.0 未知主机(只作源地址)
255.255.255.255 任何主机(只作目的地址)有限广播
A.255.255.255 直接广播(directed broadcast)
B.B.255.255 直接广播(directed broadcast)
C.C.C.255 直接广播(directed broadcast)
193.1.1.255 C类网络193.1.1中的任何主机(只作目的地址)直接广播
193.1.1.3 C类网络193.1.1中编号为3的主机
193.1.1.0 C类网络号为193.1.1的网络ID
0.0.0.3 “本网络”中编号为3的主机(只作源地址)
255.255.0.0 掩码
127.0.0.1 本机
子网掩码
将IP地址的各位,NetID全改为1,HostID全改为0,则是子网掩码。
与IP地址进行“与”或“and”运算,用来分辩网络ID和主机ID
其中“1”是通道,“0”是塞子
1. 标准子网掩码
A类:255.0.0.0
B类:255.255.0.0
C类:255.255.255.0
例1:IP地址是131.107.33.10,子网掩码是255.255.0.0
131 . 107 . 33 . 10
1 0 0 0 0 0 1 1 . 0 1 1 0 1 0 1 1 . 0 0 1 0 0 0 0 1 . 0 0 0 0 1 0 1 0
1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 0 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 0
1 0 0 0 0 0 1 1 . 0 1 1 0 1 0 1 1 . 0 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 0
网络ID 131. 107. 0 . 0
主机ID 0 . 0. 33. 10