1、作用范围:
【局】域网(LAN,Local Area Network)
办公网络
核心层:保证高速传输
核心层主要是实现骨干网络之间的优化传输,
设计任务重点通常是冗余能力、可靠性和【高速的传输】。
汇聚层:管理
汇聚层是楼群或小区的信息汇聚点,
是连接接入层和核心层的网络设备,为接入层提供数据的汇聚\传输\管理\分发处理。
汇聚层为接入层提供基于策略的连接,如地址合并,协议过滤,路由服务,认证管理等。
通过网段划分(如VLAN)与网络隔离可以防止某些网段的问题蔓延和影响到核心层。
汇聚层同时也可以提供接入层虚拟网之间的互连,控制和限制接入层对核心层的访问,保证核心层的安全和稳定。
接入层:傻瓜交换机,扩展接口。
接入层通常指网络中直接面向用户连接或访问的部分。
接入层目的是允许终端用户连接到网络,
因此接入层交换机具有低成本和高端口密度特性。
【城】域网(MAN,Metropolitan Area Network)
如果一个网络的覆盖面积达到了一个城市,就可以称为城域网。
【广域网】(WAN,Wide Area Network)
如果覆盖面积达到了全国或者全球,就称为广域网,全球最大广域网就是Internet互联网。
2、网络设备知识
网络传输介质及传输信号
OSI七层模型的物理层:
【传输信号】
常见的有办公网【双绞线】、广域网传输【光纤线】,以及近距离无线信号(蓝牙或wifi)
当用双绞线介质传输电信号时,利用【高低电压的变化做为电信号进行传输】。电磁信号传输时,传出一个【高电压就可以表示为1】,
传出如果是一个【低电压可以表示为0】,通过01信号的组合来表述网络设备间通讯的信息。
======0101010100301030======网线里传输
网卡设备
双绞线等介质本身不具有信号发送和接收功能,
其主要作用只是负责传递信号信息,
【真正实现信号的发送和接收的设备称为网卡】
而网卡设备实质就是能够每秒钟【调制出或者接收到的信号个数】。
常见网卡设备为100M、1000M,这表示在一秒内可以调制或接收的信号个数。
比如100M表示表示100Mbps=per second可以传递信号的个数,
其中M表示一个数值单位,b表示bit(即1bit表示上面提到的1或0),具体换算公式如下所示:
大家常说的单位是MB是M字节,即B=byte,字节与比特的换算公式如下:1B=8*bit,bit=1/8Byte;
因此【实际网速】=运营商承诺带宽/8;假设运营商提供了4M带宽线路,4M带宽的实际网速=4000Kbps/8≈512KBps。
MAC地址
就是网卡设备的地址,网卡设备的全球唯一地址。
每台网卡设备都有一个唯一的网络标识
MAC地址是48位的(6个字节),通常表示为12个16进制数,每2个16进制数之间用冒号隔开,
如08:00:20:0A:8C:6D就是一个MAC地址。其前3字节表示OUI(Organizationally Unique Identifier),是IEEE的注册管理机构给不同厂家分配的代码,区分不同厂家。
后3字节由厂家自行分配,称为扩展标识符,必须保证生产出的网卡MAC地址是唯一的地址。(如何查看网卡的mac?)
MAC地址:08:00:20:0A:8C:6D
MAC地址有什么用?
局域网计算机设备(网卡设备)的唯一地址,计算机通信是靠MAC地址的。
网卡配置的是IP地址,找到MAC地址,然后进行通信。
通过IP地址找到MAC地址的过程叫arp协议。
MAC地址与IP地址区别
IP地址和MAC地址相同点是它们【都是唯一的】,不同的特点主要有:
1.MAC是网卡设备的唯一地址,出厂前即设置好了。
IP地址是计算机的唯一地址,随时可以给网卡配置。
2.长度不同。IP地址为32位,MAC地址为48位。
3.IP地址应用于OSI层次中的网络层,
而MAC地址应用在OSI【数据链路层】。
4.数据链路层协议可以通过MAC地址使数据从一个节点传递到相同链路的另一个节点上,
而网络层协议使数据可以从一个网络传递到另一个网络上
(ARP根据目的IP地址,找到中间节点的MAC地址,通过中间节点传送,从而最终到达目的网络)。
中继器(RP repeater)
中继器(RP repeater)是连接网络线路的设备,
用于两个网络节点之间物理信号放大和双向转发工作。
主要功能是通过对衰减的数据信号进行放大再转发,来扩大网络传输的距离。
工作在OSI模型的物理层,主要用于扩展连接相同局域网网段的长度。
HUB(集线器)
由于网络规模的壮大,需要更多的计算机连接到网络中来,因此出现了HUB(集线器)
集线器(HUB)工作在【物理层】,是中继器的一种形式,是一种集中连接缆线的网络组件,
可以认为集线器是一个【多端口的中继器】,集线器能够提供多端口服务,主要功能是对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上
Hub并不记忆报文是由哪个MAC地址发出以及哪个MAC地址在Hub的哪个端口
Hub的特点:1.共享带宽。2.半双工工作模式
CSMA/CD技术负责线路仲裁
(Carrier Sense Multiple Access with Collision Detection
载波监听多路访问/冲突检测机制),凡是采取这样方式网络都可称为以太网。
在总线型网络中,总线的传输距离是有限的,所以根据CSMA/CD技术原理,一定距离内连接的主机越多,冲突的可能性就越大,有效传输信号时间随之越少,而这样一个冲突范围就称为【冲突域】,因此在总线型网络中,所有总线上的接口都在一个冲突域中。在总线型网络中冲突域是在所难免的,早期唯一能做的解决办法就是将一个大的冲突域拆分为若干个小的冲突域,每个小的冲突域内部仍旧遵循CSMA/CD原理进行通讯;但是多个拆分后的冲突域网络之间就不能用铜轴线进行连接了,因为还是会产生电信号进行广播,因此需要用隔离设备进行关联多个冲突域;而隔离设备具有一定的智能性,当一个冲突域网络内部发送数据,并不跨冲突域进行传递。只有不同冲突域之间需要进行通讯时,才通过隔离设备传输到其它冲突域网络环境中;
进行划分不同冲突域网络之间的隔离设备称之为网桥,负责连接两个不同的冲突域网络,
也是网络人员常说的桥接。
CSMA/CD的工作原理可以用以下几句话来概括:
先听后说,边听边说。
一旦冲突,立即停说。
等待时机,然后再说。
这里的"听"即监听、检测之意;"说"即发送数据之意。具体的检测原理描述如下:
(1)当一个站点想要发送数据的时候,它检测网络查看是否有其他站点正在传输,即侦听信道是否空闲。
(2)如果信道忙,则等待,直到信道空闲;如果信道空闲,站点就准备好要发送的数据。
(3)在发送数据的同时,站点继续侦听网络,确信没有其他站点在同时传输数据才继续传输数据。
因为有可能两个或多个站点都同时检测到网络空闲然后几乎在同一时刻开始传输数据。
如果两个或多个站点同时发送数据,就会产生冲突。若无冲突则继续发送,直到发完全部数据。
(4)若有冲突,则立即停止发送数据,但是要发送一个加强冲突的JAM(阻塞)信号,
以便使网络上所有工作站都知道网上发生了冲突,然后,等待一个预定的随机时间,
且在总线为空闲时,再重新发送未发完的数据。
CSMA/CD控制方式的优点是:原理比较简单,技术上易实现,网络中各工作站处于平等地位,
不需集中控制,不提供优先级控制。但在网络负载增大时,发送时间增长,发送效率急剧下降。
网桥(Bridge)
网桥(Bridge)也叫桥接器,是连接两个局域网的一种存储/转发设备,
根据MAC地址表对数据帧进行转发,可隔离碰撞域
进行划分不同【冲突域】网络之间的隔离设备称之为网桥,负责连接两个不同的冲突域网络,也是网络人员常说的桥接。
网桥将网络的多个网段在数据链路层连接起来,并对网络数据帧进行管理
交换机
数据链路层
画图讲解:广播风暴原理:
画图讲解:局域网ARP通信过程
广播域及广播风暴介绍
什么是广播域?
当一个交换机连接多个终端设备,多个终端设备即处于一个相同的网段中,而一个相同的网段,即表示一个广播域
什么是广播风暴?
广播方式不会根据需要传输或接收消息,而是在一个网段中全部设备都要进行无条件接收,
因此当广播信息大量产生时,会耗费网段机器的CPU资源,来接收广播信息,即所谓的广播风暴
两个不同的广播域是不能进行通信的,因为所属在不同的两个网段中
路由器(router)
路由器(Router),是连接因特网中各局域网、广域网的设备,它会根据信道的情况自动选择和设定路由,以最佳路径,
按前后顺序发送信号。路由器知识中会涉及到很多路由协议。
例如【OSPF路由协议】,【RIP路由协议】,【BGP路由协议】,以及【静态路由(route)】。
路由器的使用地点:
1)广域网、公网互联需要路由器,
2)局域网出口需要路由器,
3)链接不同的网段需要路由器。
4)路由器不转发私网地址。
DIY大型企业路由器+三层交换机:
linux+zebra(路由)+squid(代理、行为管理)+tc/iptraf(流量控制)+iptables(攻击防御,NAT转发)
路由器作用特点
1.路由协议的转发(路由选路),工作在网络层。
路由类似于现实生活中从A地去往B地可能需要先步行,在坐车,在做飞机才能到达B地,这样的整个过程在网络中对应数据的传递过程就称为路由。因此一个数据信息跨越不同的网段传递到目的地址,就可以把传递数据的过程称为路由,也可以看做每条传递数据的路径。
2.数据转发,路由表中到达目标最好的路径。
3.维护和检查路由信息(内部维护一个路由表)(相当于一个地图)。
4.路由器会作为企业上网的网关,一般会在网络出口的位置摆放一台路由器
5.广域网链路支持(FR ATM MSTP SDH)
路由器的实质是:
1.隔离广播域,
2.使两个广播域之间信息互通,也就是使两个不同的网段之间互相连通。
linux系统下的路由器quagga(升级版)、zebra(可以替代几万块的路由器)
ARP协议的工作原理
LVS(4层负载均衡,DR模式)
arp工作原理
1:首先,每个主机都会在自己的ARP缓冲区中建立一个ARP列表,以表示IP地址和MAC地址之间的对应关系。
2:当源主机要发送数据时,首先检查ARP列表中是否有对应IP地址的目的主机的MAC地址,如果有,
则直接发送数据。
3.如果没有,就向本网段的所有主机发送ARP广播包,该数据包内容有:
源主机IP地址,源主机MAC地址,目的主机的IP 地址。
4:当本网络的所有主机收到该ARP数据包时,首先检查数据包中的IP地址是否是自己的IP地址,
如果不是则忽略该数据包,如果是,则首先从数据包中取出源主机的IP和MAC地址写入到ARP列表中,
如果已经存在则覆盖,然后将自己的MAC地址写入ARP响应包中,告诉源主机自己的MAC地址。
5:源主机收到单播ARP响应包后。将目的主机的IP和MAC地址写入ARP列表,并利用此信息发送最终数据。
6:如果源主机一直没有收到ARP响应数据包,表示此次ARP查询失败,或把数据包发送网关处理。
广播发送ARP请求,单播回复ARP响应。
通过IP地址,找到MAC过程,arp协议。
3、拓扑结构
1.什么是网络拓扑(Network Topology)?
网络拓扑(Network Topology)结构是指用传输介质互连各种设备的物理布局。
指构成网络的成员间特定的【物理的】即真实的、或者【逻辑】虚拟的排列方式。
如果两个网络的连接结构相同我们就说它们的网络拓扑相同,尽管它们各自内部的物理接线、节点间距离可能会有不同。
网络拓扑价值
网络拓扑就是类似于网络设备组成的一个连接图,通过设备的连接图可以判断设备的连接情况,
便于出现故障时,根据拓扑图更快的定位故障点。在配置网络设备之前,一定要对网络设备进行规划,
也就是网络设备如何进行连接,进而形成一个网络设备的连接图,即网络拓扑(类似于网络设备规划的地图)
在网络拓扑早期规划中,早期定义了几种常见的网络拓扑模型,
分别是总线型,环形,星型、网状等,虽然现在这些模型架构已经被很多云网络模型所替代和囊括,但对于网络初学者而言,这些经典模型仍旧可以引领初学者了解网络的发展轨迹,为熟悉网络的基础知识提供很好的铺垫。下面就一一熟悉一下这三种经典的网络拓扑模型。
2.网络拓扑3种经典模型
网络拓扑结构-总线型
总线型拓扑结构是以一根铜轴电缆作为一根网络结构中的总线,而铜轴电缆总线上分布着多个接头,接头上分别连接多个主机,多个主机之间通过铜轴传递电磁信号进行通讯
总线网络中同一时间内最多只能有两个主机之间可以进行通信,
进行通讯的主机只能在完成本次通讯过程后才能与其它主机进行通讯,否则是被禁止的
主机在进行通讯之前需要进行探测总线线路上是否有正在通讯的主机,
如果存在则继续监听等待,如果线路空闲,占用线路进行网络通讯
如果线路空闲,多台主机同时进行通信产生线路冲突,全部停止通讯,等待一定时间周期后,
继续测线路,进而自行判断是否继续进行通讯。
总线型网络总结
实现线路仲裁,利用MAC地址主机的标识机制
CSMA/CD技术负责线路仲裁(载波监听多路访问/冲突检测机制)。
网络拓扑结构-环形
环形网络是将多台主机设备通过介质连接成一个环形网络。
环形网络属于IBM公司的一种网络专利技术,因此并不流行,
因为使用需要有费用产生。环形网络实现的原理不同于总线型,
因为提出了令牌环的概念替换了CSMA/CD技术,进行线路仲裁。
具体实现是在环形网络中游走着一种令牌环(Token-Ring),
只有需要发信号的主机可以抓住这个令牌环,只有持有令牌环的
主机才可以发送信号,进而解决了线路信号冲突的问题。
星型:
网络拓扑结构总结
通过对以上几种结构了解和学习,就基本掌握了网络通讯结构,并且实现了在一个网络中多台主机间的通讯。
在网络结构中主要以总线型为主进行理解,网络设备之间通过仲裁机制进行线路仲裁(CSMA/CD技术),
从而避免了通讯过程中的信号冲突;通过引入mac机制,实现了网络设备之间的通讯;通过广播机制,
实现了局域网中的主机与主机之间的快速识别,最终实现了网络中数据信号的稳定传输。
4、OSI参考模型
OSI七层参考模型
应用层、表示层、会话层、传输层、网络层、数据链路层、物理层
#应用层:应用程序==>原始数据/
用户信息转换为数据,以便在网络上传输
提供应用程序的接口 FTP TELNET HTTP POP3等
-----------------
#表示层:格式/压缩/加密----快速传递/安全传递
数据转换成数据段
对数据进行转换,加密和压缩,将上层的数据进行转换和编译压缩为标准的文件
-----------------
#会话层:会话/全双工/半双工----身份信息
数据段转换成数据包或数据报,并在报头中放上逻辑地址,这样每一个数据包都可以通过互联网进行传输
建立、管理和终止会话
-----------------
#传输层:分段/重组/端口号---传输效率
提供可靠的端到端的报文传输和差错控制,实际上就是负责建立连接的
TCP:建立可靠的连接
UDP:建立非可靠的连接
将上层的数据进行分段处理
-----------------
#网络层:IP/寻址/路由
将分组从源端传送到目的端;提供网络互联 实质上就是提供路由寻址(IP协议)
将上层分段的数据进行打包
-----------------
#数据链路层:MAC地址/局域网----分段目标、局部地址
将分组数据封装成帧;提供节点到节点方式的传输
帧:就是本地局域网中传输数据的一个单元,负责在局域网内步的点对点的寻址
-----------------
#物理层:传输介质/比特流
底层的链路介质规范
#第7层 应用层
应用层(Application Layer)提供为应用软件而设的接口,以设置与另一应用软件之间的通信。例如:
HTTP、HTTPS、FTP、TELNET、SSH、SMTP、POP3、MySQL等
#第6层 表示层
主条目:表示层(Presentation Layer)把数据转换为能与接收者的系统格式兼容并适合传输的格式
#第5层 会话层
会话层(Session Layer)负责在数据传输中设置和维护电脑网络中两台电脑之间的通信连接。
#第4层 传输层
传输层(Transport Layer)把传输表头(TH)加至数据以形成数据包。传输表头包含了所使用的协议
等发送信息。例如:传输控制协议(TCP)等。
#第3层 网络层
网络层(Network Layer)决定数据的路径选择和转寄,将网络表头(NH)加至数据包,以形成报文。
网络表头包含了网络数据。例如:互联网协议(IP)等。
#第2层 数据链接层
数据链路层(Data Link Layer)负责网络寻址、错误侦测和改错。当表头和表尾被加至数据包时,会形
成信息框(Data Frame)。数据链表头(DLH)是包含了物理地址和错误侦测及改错的方法。数据链
表尾(DLT)是一串指示数据包末端的字符串。例如以太网、无线局域网(Wi-Fi)和通用分组无线服务
(GPRS)等。分为两个子层:逻辑链路控制(logical link control,LLC)子层和介质访问控制
(Media access control,MAC)子层
#第1层 物理层
物理层(Physical Layer)在局部局域网上传送数据帧(Data Frame),它负责管理电脑通信设备和网
络媒体之间的互通。包括了针脚、电压、线缆规范、集线器、中继器、网卡、主机接口卡等
#OSI层次---应用层(7层)
提供应用程序可以接入网络的接口,并根据程序的不同对应不同的接口协议
提供应用程序间的通信接口。
常见应用层协议*****
FTP 21/20 明文协议,文件传输协议,基于TCP
TFTP 69 简单文件传输协议,基于UDP
SSH 22 安全外壳协议,远程连接,加密
Telnet 23 明文协议,远程连接
SNMP 161/162 简单网络管理协议,基于UDP
SMTP 25 简单邮件传输协议,基于TCP,邮件服务端口
POP3 110 接受邮件端口。
HTTP 80 www服务端口,超文本传输协议
HTTPS 443 加密的www端口,超文本传输安全协议
DHCP 67/68/546 动态主机设置协议,C(67),S(68),546(V6)
远程桌面 3389
mysql 3306
oracle 1521
rsync 873
postgresql 5432
nginx负载均衡,7层负载,工作在应用层。
lvs负载均衡,4层负载,工作在传输层。
#OSI层次---表示层
解码、加密、解密、压缩、解压缩
#OSI层次---会话层
建立、管理和终止会话,tomcat session会话同步。
#OSI层次---传输层
负责网络中端到端的连接,差错控制,核心协议TCP和UDP。
提供可靠的端到端的报文传输和差错控制,实质上就是负责建立连接的 TCP/UDP,建立可靠和非可靠连接
将上层的数据进行分段处理
#OSI层次---网络层
网络层的主要作用就是【路由和寻址】,主要接触到的是【IP协议】即IP地址
Layer3网络层:对应设备有路由器
将分组数据从源端传到目的端。
设备:路由器,三层交换机
#OSI层次---数据链路层
普通交换机。
#OSI层次---物理层
逐个将bit进行传输的过程
制定OSI的优势:开放、厂商兼容性、易于理解、学习、模块化工程、故障排除
TCP/IP5层结构
应用层==>应用层+表示层+会话层、传输层、网络层、数据链路层、物理层
#应用层
用户信息转换为数据,以便在网络上传输
-
HTTP/超文本传输协议
Telnet/远程连接协议/远程控制/SSH
FTP/文件传输协议
SMTP/简单邮件传输协议
DNS/域名服务
-----------------
#传输层
数据转换成数据段,并在发送方和接收方主机之间建立一条可靠的连接
-
TCP/传输控制协议/可靠
UDP/用户数据报协议/不可靠
-----------------
#网络层
数据段转换成数据包或数据报,并在报头中放上逻辑地址,这样每一个数据包都可以通过互联网进行传输
-
IP/互联网协议/寻址
ICMP/网络消息管理协议
-----------------
#数据链路层
数据包或数据报转换成帧,以便在本地网络中传输,在本地网段上,使用硬件地址唯一标识每台主机
-
MAC/媒体访问控制地址/Media Access Control Address
48位2进制数字
12位16进制数字
前六位是厂商标识
后六位是硬件标识
例:00-21-CC-C3-8C-B0
-
帧封装:目标MAC//源MAC//数据//CRC[循环冗余校验和]
-
交换机工作原理:学习/广播/转发/更新
-----------------
#物理层
帧转换为比特流,并采用数字编码和时钟方案
-
网线
光纤
-
信号:模拟信号、数字信号
TCP/IP4层结构
应用层==>应用层+表示层+会话层、传输层、物理层、网络接口层
OSI模型和TCP/IP模型的区别
#OSI[开放式互联]:推出时间早、只有理论,没有实践
#TCP/IP[传输控制协议/互联网协议]:当今通信标准、美国军方由实践,总结出的理论
TCP/IP:数据单元/DU
应用层数据:AP / DU ====> ApplicationProtocol / DataUnit ---应用协议 数据单元
传输层数据:segment DU ====> 分段 数据单元
网络层数据:packet DU ====> 包 数据单元
数据链路层数据:frame DU ====> 帧 数据单元
物理层数据:bit DU ====> 比特 数据单元
封装和解封装
封装:数据要通过网络进行传输,在发送端要从高层一层一层的向下传送,如果一个主机要传送数据到别的主机,先把数据装到一个特殊协议报头中,这个过程叫封装
数据封装---发送 数据解封装---接收
TCP三次握手
1、由主机A发送建立 TCP 连接的请求报文,其中报文中包含 seq 序列号,是由发送端随机生成的,并且还将报文中 SYN 字段置为 1,表示需要建立 TCP 连接
2、主机 B 会回复A发送的 TCP 连接请求报文,其中包含 seq 序列号,是由回复端随机生成的,并且将回复报文的 SYN 字段置 1,而且会产生 ACK 字段,ACK 字段数值是在A 发过来的 seq 序列号基础上加1进行回复,以便A 收到信息时,知晓自己的 TCP 建立请求已得到了验证
3、A端收到B端发送的 TCP 建立验证请求后,会使自己的序列号加1表示,并且再次回复ACK验证请求,在B 端发送过来的 seq 基础上加1,进行回复
位置概念:根据TCP的包头字段,存在三个重要的标识 ACK SYN FIN
ACK:标识验证字段
SYN:位数置1,表示建立TCP连接
FIN:位数置1,表示断开TCP连接
seq:序列号
ACK:表示确认控制字段,确认数据是否接收到
SYN:表示请求建立连接字段,和主机建立连接时使用
FIN:表示请求断开连接字段,和主机断开连接时使用
PSH: 表示有DATA数据传输,PSH为1表示的是有真正的TCP数据包内容被传递
RST: 表示连接重置。一般是在FIN之后才会出现为1的情况,表示的是连接重置。
seq序列号:将大的数据进行拆分后标记序列信息,便于接收方将拆分后的数据信息进行组装,在原有序列号基础上+1进行回复,告知发送方下次再给我发送的数据是什么