OSI定义了网络互连的七层框架(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层),即ISO开放互连系统参考模型
然而在市场化方面 OSI 却失败了:
法律上的(de jure)国际标准 OSI 并没有得到市场的认可 ,非国际标准 TCP/IP 现在获得了最广泛的应用 。因此TCP/IP 常被称为事实上的(de facto) 国际标准 。、
OSI与TCP/IP体系结构的比较:
OSI与TCP/IP模型有一一对应的关系。
五层协议的体系结构的诞生:
两主机通信时数据传输过程:
应用进程数据先传送到应用层 ,加上应用层首部,成为应用层 PDU 。
应用层 PDU 再传送到运输层 ,加上运输层首部,成为运输层报文
运输层报文再传送到网络层 ,加上网络层首部,成为 IP 数据报(或分组)
IP 数据报再传送到数据链路层 ,加上链路层首部和尾部,成为数据链路层帧
数据链路层帧再传送到物理层 ,最下面的物理层把比特流传送到物理媒体
电信号(或光信号)在物理媒体中传播,从发送端物理层传送到接收端物理层
物理层接收到比特流,上交给数据链路层 。
数据链路层剥去帧首部和帧尾部,取出数据部分,上交给网络层
网络层剥去首部,取出数据部分,上交给运输层
运输层剥去首部,取出数据部分,上交给应用层
应用层剥去首部,取出应用程序数据,上交给应用进程
主机收到数据
问题:描述五层协议的网络体系结构的要点,包括各层的主要功能。
解答 :
(1) 物理层:在物理媒体上传送比特流。具体包括:与物理媒体的接口、比特的表示与同步、数据率、线路配置、物理拓扑等。
(2) 数据链路层:在两个相邻结点间(主机和路由器或路由器和路由器之间)的链路上传送以帧为单位的数据。具体包括:组帧、差错控制、物理编址、接入控制、流量控制等。
(3) 网络层:负责将分组从源主机(按照合适的路由)通过中间若干路由器的转发传送到目的主机。核心功能是逻辑编址、路由选择和分组转发。
(4) 运输层:负责主机中两个进程之间的逻辑通信(端到端通信)。具体包括:复用与分用、可靠数据传输、流量控制、拥塞控制等。
(5) 应用层:通过应用进程间的交互来实现特定网络应用,直接为用户或应用进程提供特定的应用服务,如文件传输、电子邮件等。
虚拟局域网(VLAN)是一组逻辑上的设备和用户,这些设备和用户并不受物理位置的限制,可以根据功能、部门及应用等因素将它们组织起来,相互之间的通信就好像它们在同一个网段中一样,由此得名虚拟局域网。
VLAN成员模式:
VLAN范围:
Trunk:
一条链路需要承载多VLAN信息的时候,需要使用trunk来实现。一般见于交换机和路由器之间。
逻辑上断开环路,防止二层网络的广播风暴的产生。
参考:https://blog.csdn.net/weixin_42442713/article/details/80909292
主要思想:当线路出现故障,断开的接口被激活,恢复通信,起备份线路的作用,保证网络的正常运行 。
为了在网络中形成一个没有环路的拓扑,交换机要进行以下3个步骤:
(1)选取根桥。
(2)每个非根桥交换机计算到达根桥的最短路径。
(3)选择活动端口以及端口的角色类型。
工作过程
1,同网段:
主机A的IP地址为IP_A,MAC地址为MAC_A;
主机B的IP地址为IP_B,MAC地址为MAC_B;
当主机A要与主机B通信时,地址解析协议可以将主机B的IP地址(IP_B)解析成主机B的MAC地址,以下为工作流程:
第1步:根据主机A上的路由表内容,IP确定用于访问主机B的转发IP地址是IP_B。然后A主机在自己的本地ARP缓存中检查主机B的匹配MAC地址。
(不同网段时,第一步:解析网关/下一跳的MAC地址。)
第2步:如果主机A在ARP缓存中没有找到映射,它将询问IP_B的硬件地址,从而将ARP请求帧广播到本地网络上的所有主机。源主机A的IP地址和MAC地址都包括在ARP请求中。本地网络上的每台主机都接收到ARP请求并且检查是否与自己的IP地址匹配。如果主机发现请求的IP地址与自己的IP地址不匹配,它将丢弃ARP请求。
第3步:主机B确定ARP请求中的IP地址与自己的IP地址匹配,则将主机A的IP地址和MAC地址映射添加到本地ARP缓存中。
第4步:主机B将包含其MAC地址的ARP回复消息直接发送回主机A。
第5步:当主机A收到从主机B发来的ARP回复消息时,会用主机B的IP和MAC地址映射更新ARP缓存。本机缓存是有生存期的,生存期结束后,将再次重复上面的过程。主机B的MAC地址一旦确定,主机A就能向主机B发送IP通信了。
ARP缓存:
ARP代理工作过程:
代理路由器回应这种ARP请求的条件:1,本地有去往目的的IP的路由表 2,收到该ARP请求的接口与路由表下一跳不是同一接口
1,ARP请求真实目的站ARP请求
2,ARP路由器代理应答
3,路由器给真实目的站ARP请求
4,真实目的站应答路由器
RARP:把MAC地址解析为IP地址(用于无盘工作站)
(Internet控制报文协议 ): 它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。
一种路由的方式,路由项(routing entry)由手动配置,而非动态决定。与动态路由不同,静态路由是固定的,不会改变,即使网络状况已经改变或是重新被组态。一般来说,静态路由是由网络管理员逐项加入路由表
命令:ip route 本机ip 掩码 目的ip
指路由器能够自动地建立自己的路由表,并且能够根据实际情况的变化适时地进行调整。
动态路由协议
距离矢量协议: (RIP)
动态路由是与静态路由 相对的一个概念,指路由器能够根据路由器之间的交换的特定路由信息自动地建立自己的路由表,并且能够根据链路和节点的变化适时地进行自动调整。当网络中节点或节点间的链路发生故障,或存在其它可用路由时,动态路由可以自行选择最佳的可用路由并继续转发报文。
OSPF路由协议是用于网际协议(IP)网络的链路状态路由协议。该协议使用链路状态路由算法的内部网关协议(IGP),在单一自治系统(AS)内部工作。适用于IPv4的OSPFv2协议定义于RFC 2328,RFC 5340定义了适用于IPv6的OSPFv3。
分组:
OSPF协议依靠五种不同类型的分组来建立邻接关系和交换路由信息,即问候分组、数据库描述分组、链路状态请求分组、链路状态更新分组和链路状态确认分组。
1、问候(Hello)分组
OSPF使用Hello分组建立和维护邻接关系。在一个路由器能够给其他路由器分发它的邻居信息前,必须先问候它的邻居们。
2、数据库描述(Data base Description,DBD)分组DBD分组不包含完整的“链路状态数据库”信息,只包含数据库中每个条目的概要。当一个路由器首次连入网络,或者刚刚从故障中恢复时,它需要完整的“链路状态数据库”信息。此时,该路由器首先通过hello分组与邻居们建立双向通信关系,然后将会收到每个邻居反馈的DBD分组。新连入的这个路由器会检查所有概要,然后发送一个或多个链路状态请求分组,取回完整的条目信息。
3、链路状态请求(Link State Request,LSR)分组
LSR分组用来请求邻居发送其链路状态数据库中某些条目的详细信息。当一个路由器与邻居交换了数据库描述分组后,如果发现它的链路状态数据库缺少某些条目或某些条目已过期,就使用LSR分组来取得邻居链路状态数据库中较新的部分。
4、链路状态更新(Link State Update,LSU)分组
LSU分组被用来应答链路状态请求分组,也可以在链路状态发生变化时实现洪泛(flooding)。在网络运行过程中,只要一个路由器的链路状态发生变化,该路由器就要使用LSU,用洪泛法向全网更新链路状态。
5、链路状态确认(Link State Acknowledgment,LSAck)分组
LSAck分组被用来应答链路状态更新分组,对其进行确认,从而使得链路状态更新分组采用的洪泛法变得可靠。
两大功能: 1,流量控制 2,匹配感兴趣的流量(猜测和权限差不多)
从上往下匹配,当匹配到之后跳出循环。若一个都没有匹配到则丢弃
通配符:
0-严格匹配
1-无所谓
类似通常位掩码的反码
实现:
用途:当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但现在又想和因特网上的主机通信(并不需要加密)时,可使用NAT方法。
私有地址空间:
A: 10.0.0.0-10.255.255.255
B:172.16.0.0-172.31.255.255
C:192.168.0.0-192.168.255.255
术语:
内部本地:转换之前内部源地址的名字
外部本地:转化之前目标主机的地址
内部全局:转换之后内部主机的名字
外部全局:转化之后目标主机的地址
NAT类型:
密)时,可使用NAT方法。
私有地址空间:
A: 10.0.0.0-10.255.255.255
B:172.16.0.0-172.31.255.255
C:192.168.0.0-192.168.255.255
术语:
内部本地:转换之前内部源地址的名字
外部本地:转化之前目标主机的地址
内部全局:转换之后内部主机的名字
外部全局:转化之后目标主机的地址
NAT类型: