网络知识回顾

来源:互联网 发布:win10分屏多任务软件 编辑:程序博客网 时间:2024/05/29 11:48

网络知识回顾

一、网络传输

一般的网络传输,建立在服务端和客户端之间,例如传递一个html页面,传输的数据包格式如下:
Ethernet head | IP | TCP | HTTP | Data | Ethernet tail |
- Data就是实际的html页面数据。
- HTTP协议头在html数据前面,报文头信息包括:服务器所使用的HTTP版本,以及表明它包含发给网络客户端信息的状态编码。
- HTTP应用层协议将HTML格式的网页数据发送给传输层。TCP传输层用于管理网络服务器和客户端之间的会话。
- IP信息添加到TCP信息之前。IP指定适当的源和目的IP地址。这些信息就构成了IP报文。
- 以太网协议添加到IP报文的两端之后,就形成了数据链路帧。上述帧发送至通向网络客户端的路径上的最近一个路由器。路由器移除以太网信息,观察IP报文,判定最佳路径,将报文插入一个新的帧,并发送至目标路径上下一个相邻路由器。每一个路由器在转发之前都移除并添加新的数据链路层信息。
- 数据通过互联网络传输,互联网络包含媒介和中间设备。
- 客户端接收到包含数据的数据链路帧,处理各层协议头,之后以添加时相反的顺序移除协议头。首先处理并移除以太网信息,之后是IP协议信息,接下来TCP信息,最后是HTTP信息。
- 之后,将网页信息传递给客户端网页浏览器软件

数据封装:
消息在网络中传输,必须对它进行编码,以特定的格式进行封装,同时需要适当地封装以足够的控制和地址信息,以使它能够从发送方移动到接收方。
消息需要进行分片传输,将不同会话片段交错进行的过程称为多路传输(multiplexing),提高网络通讯的可靠性。通过对片段打上标签的方式来保证顺序以及在接收时重组。
应用层数据在传输过程中沿着协议栈传递,每一层协议都会向其中添加信息。这就是封装的过程。数据片段在各层网络结构中采用的形式就称为协议数据单元(PDU)。封装过程中,下一层对从上一层收到的PDU进行封装。在处理的每一个阶段PDU都有不同的名字来反应它的功能。

访问本地网络资源需要两种类型的地址:网络层地址和数据链路层地址。网络层和数据链路层负责将数据从发送设备传输至接收设备。两层协议都有源和目的地址,但两种地址的目的不同。

网络地址
网络层地址或IP地址包含两个部分:网络前缀和主机。路由器使用网络前缀部分将报文转发给适当的网络。最后一个路由器使用主机部分将报文发送给目标设备。同一本地网络中,网络前缀部分是相同的,只有主机设备地址部分不同。
源IP地址:发送设备,即客户端PC1的IP地址:192.168.1.110
目的IP地址:接收设备,即FTP服务器:192.168.1.9

数据链路地址
数据链路地址的目的是在同一网络中将数据链路帧从一个网络接口发送至另一个网络接口。以太网LAN和无线网LAN是两种不同物理介质的网络示例,分别有自己的数据链路协议。
当IP报文的发送方和接收方位于同一网络,数据链路帧直接发送到接收设备。以太网上数据链路地址就是以太网MAC地址。MAC地址是物理植入网卡的48比特地址。
源MAC地址:发送IP报文的PC1以太网卡MAC地址,AA-AA-AA-AA-AA-AA。
目的MAC地址:当发送设备与接收设备位于同一网络,即为本例中,FTP MAC地址:CC-CC-CC-CC-CC-CC。
源和目的MAC地址添加到以太网帧中。

以太网MAC地址是怎么识别的呢?发送方主机使用地址解析协议(Address Resolution Protocol, ARP)以检测本地网络的所有MAC地址。发送主机在整个LAN发送ARP请求消息,这是一条广播消息。ARP请求包含目标设备的IP地址,LAN上的每一个设备都会检查该ARP请求,看看是否包含它自身的IP地址。只有符合该IP地址的设备才会发送ARP响应。ARP响应包含ARP请求中IP地址相对应的MAC地址。

当主机发送消息到远端网络,必须使用路由器,也称为默认网关。

默认网关就是位于发送主机同一网络上的路由器的接口IP地址。有一点很重要:本地网络上的所有主机都能够配置自己的默认网关地址。如果该主机的TCP/IP设置中没有配置默认网关地址,或指定了错误的默认网关地址,则远端网络消息无法被送达。

二、交换机

涉及帧转发技术,MAC地址表的维护方式,三种帧转发模式,以及冲突域和广播域。

帧转发:以太网上的帧包含源MAC地址与目的MAC地址。交换机从源设备接收到帧并快速发往目的地址。交换的基本概念指基于以下两条准则做出决策的设备:进入(ingress)端口、目的地址

LAN交换机维护一张表,通过这张表决定如何转发数据流。LAN交换机唯一智能部分是利用这张表基于消息的进入端口和目的地址来转发。一个LAN交换机中只有一张定义了地址和端口的主交换表;因此,无论进入端口如何,同一目的地址的消息永远从同一出口离开。

MAC地址表的动态更新:
交换机学习“源地址”,基于“目的地址”转发。帧进入交换机时,交换机“学习”接收帧的源MAC地址,并将此地址添加到MAC地址表中,或刷新已存在的MAC地址表项的老化寄存器;后续报文如果去往该MAC地址,则可以根据此表项转发。帧转发时,交换机检查目的MAC地址并与MAC地址表中地址进行比较。如果地址在表中,则转发至表中与MAC地址相对应的端口。如果没有在表中找到目的MAC地址,交换机会转发到除了进入端口以外的所有端口泛洪(flooding)。有多个互连交换机的网络中,MAC地址表对于一个连接至其他交换机的端口记录多个MAC地址。

冲突域
设备间共享同一网段称为冲突域。因为该网段内两个以上设备同时尝试通讯时,可能发生冲突。使用工作在数据链路层的交换机可将各个网段的冲突域隔离,并减少竞争带宽的设备数量。交换机的每一个端口就是一个新的网段,因为插入端口的设备之间无需竞争。结果是每一个端口都代表一个新的冲突域。网段上的设备可以使用更多带宽,冲突域内的冲突不会影响到其他网段,这也成为微网段。
广播域
尽管交换机按照MAC地址过滤大多数帧,它们并不能过滤广播帧。LAN上的交换机接收到广播包后,必须对所有端口泛洪。互连的交换机集合形成了一个广播域。网络层设备如路由器,可隔离二层广播域。路由器可同时隔离冲突和广播域。
当设备发出二层广播包,帧中的目的MAC地址被设置为全二进制数,广播域中的所有设备都会接收到该帧。二层广播域也称为MAC广播域。MAC广播域包含LAN上所有接收到广播帧的设备。广播通信比较多时,可能会带来广播风暴。特别是在包含不同速率的网段,高速网段产生的广播流量可能导致低速网段严重拥挤,乃至崩溃。

三、路由

网络性能是影响业务效率的一个重要因素。将大型广播域分段是提高网络性能的方法之一。路由器能够将广播包阻隔在一个接口上,但是,路由器的LAN接口数量有限,它的主要功能是在网络间传输数据,而不是对终端设备提供网络接入。访问LAN的功能还是由接入层交换机来实现。与三层交换机相类似,通过在二层交换机上创建VLAN来减少广播域。现代交换机就是通过VLAN来构造的,因此在某种程度上,学习交换机就是学习VLAN。

VLAN(virtual local area network)是一组与位置无关的逻辑端口。VLAN就相当于一个独立的三层网络。VLAN的成员无需局限于同一交换机的顺序或偶数端口。缺省情况下,接在同一交换机上的所有节点实际上都是同一VLAN。因此,这种拓扑接口可看作是基于同一VLAN的。引入VLAN之后,源地址表按照VLAN将端口与MAC地址相对应起来,从而使得交换机能够做出更多高级转发决策。

VLAN的作用:
安全性:每一个分组的敏感数据需要与网络其他部分隔离开,减少保密信息遭到破坏的可能性。
节约成本:无需昂贵的网络升级,并且带宽及上行链路利用率更加有效。
性能提高:将二层网络划分成多个逻辑工作组(广播域)减少网络间不必要的数据流并提升性能。
缩小广播域:减少一个广播域上的设备数量。如上图所示:网络上有六台主机但有三个广播域:教职工,学生,访客。
提升IT管理效率:网络需求相似的用户共享同一VLAN,从而网络管理更为简单。当添加一个新的交换机,在指定端口VLAN时,所有策略和步骤已配置好。
简化项目和应用管理:VLAN将用户和网络设备汇集起来,以支持不同的业务或地理位置需求。
每一个VLAN对应于一个IP网络,因此,部署VLAN的时候必须结合考虑网络地址层级的实现情况。

Trunk:
Trunk是在两个网络设备之间承载多于一种VLAN的端到端的连接,将VLAN延伸至整个网络。没有VLAN Trunk,VLAN也不会非常有用。VLAN Trunk允许VLAN数据流在交换机间传输,所以设备在同一VLAN,但连接到不同交换机,能够不通过路由器来进行通信。
一个VLAN trunk不属于某一特定VLAN,而是交换机和路由器间多个VLAN的通道。如下图所示,交换机S1和S2,以及S1和S3之间的链路,配置为传输从VLAN10,20,30以及90的数据流。该网络没有VLAN trunk就无法工作。

当安装好trunk线之后,帧在trunk线传输是就可以使用trunk协议来修改以太网帧。这也意味着交换机端口有不止一种操作模式。缺省情况下,所有端口都称为接入端口。当一个端口用于交换机间互连传输VLAN信息时,这种端口模式改变为trunk,节点也路由器通常不知道VLAN的存在并使用标准以太网帧或“untagged”帧。trunk线能够使用“tagged”帧来标记VLAN或优先级。
因此,在trunk端口,运行trunk协议来允许帧中包含trunk信息。

以太网交换机工作在第二层即数据链路层,用于在同一网络内部转发以太网帧。但是,当源和目的IP地址位于不同网络时,以太网帧必须发送给路由器。路由器负责在不同网络间传输报文,通过路由表来决定最佳转发路径。当主机将报文发送至不同IP地址时,由于主机无法直接与本地网络以外的设备通信,报文被转发至默认网关。默认网关就是数据流从本地网络路由至远端设备的目的地。它通常用来连接本地网与公共网。

报文转发过程:

路由器在一个接口接收报文并将它从另一个接口转发出去,这一过程的关键步骤是为输出链路将报文封装在适当的数据链路帧中。路由器主要执行以下三个步骤:
1. 将第二层的帧头和帧尾移除,解析出第三层报文。
2. 检查IP报文的目的IP地址,在路由表中查找最佳路由。
3. 如果路由器找到一条最佳路径,则将三层报文封装到新的二层帧中,并将帧转发到输出端口。

四、IP地址与子网

五、NAT原理

六、TCP

七、Wireshark抓包

八、Linux网络配置

九、tcpdump使用

原创粉丝点击