网络之网络分层+网络传输流程

这部分都是些理论的知识,不太好记忆,写篇博客加深一下印象吧。

网络分层

理论上说,是七层模型,分别是:应用层,表示层,会话层,传输层,网络层,数据链路层,物理层。但我们一般讨论的是五层或四层模型,分别是:应用层,传输层,网络层,数据链路层,物理层(四层模型中不包括物理层)。对每层的代表硬件,使用协议等一些其他的东西汇总在下面的表格中。 

    协议/技术 代表硬件 补充
应用层   http、DNS、NAPT   主机应用程序
传输层

源端口,目的端口

TCP、UDP   主机端口号
网络层 源IP,目的IP IP协议、路由 路由器  
数据链路层 源mac,目的mac ARP、MTU 交换机  
物理层   0/1光电信号 集线器、网线  

 发送数据时,对数据进行封装,接受数据时,对数据进行分用。

网络之网络分层+网络传输流程

网络传输流程

这里记录三种传输流程:网路互联,局域网,广域网。在理解这三种传输流程之前,需要一些知识储备:

(1)IP和MAC地址

MAC地址:也称物理地址、硬件地址。由网络设备制造商生产时烧录在网卡上,用于在网络中唯一标识一个网卡。一台设备若有多个网卡,则每个网卡都需要并有唯一一个MAC地址。

IP地址:IP协议提供的一种统一的地址格式,他为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此屏蔽物理地址的差异。有4个数字组成,每个在0-255之间,前三个是网络号,最后一个是主机号。

公有地址:由Inter NIC(因特网信息中心)负责,将这些IP地址分配给注册并向Inter NIC提出申请的组织机构使用,通过它直接访问因特网。

私有地址:非注册地址,专门为组织机构内部使用,以下列出留用的内部私有地址:

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

IP与MAC的区别:

IP是路途总体的起点和终点;MAC是路途上每个区间的起点和终点。如下图:

网络之网络分层+网络传输流程

 网络设备进行数据传输时,硬件是通过MAC地址来发送数据包的。同一网段的网络号相同。

(2)网络设备的功能

主机:((端口号)它的操作系统内核实现了从传输层到物理层的内容)程序发送数据报时就知道五元组信息(协议号+源IP/端口+目的IP/端口)。DNS协议:将域名转为IP。查找顺序:本机缓存->DNS服务器->...上一级...->全球*域名服务器,若没有找到,表示没有该域名。

路由器:(实现了网络层到物理层)具有应用程序,可以处理NAT、NATP协议,故可修改网络层之上的传输层的数据报头(修改端口号)。他的WAN口提供公网IP的端口,连接公网上的设备,使用公网IP;LAN口提供私网IP的端口,连接私网上的设备,使用私网IP。

网络之网络分层+网络传输流程

交换机:(实现了从数据链路层到物理层)只是转发数据报,所有数据报都是根据目的MAC发送。MAC地址表建立了MAC地址和端口映射,端口连接所有主机。

集线器:(实现了物理层)只是转发数据报,所有数据报都是广播发送到其他主机。

主机和路由器中有ARP缓存表,他是IP和MAC的映射表,通过IP查MAC。

了解了这些之后,对我们了解网络传输流程有很大的帮助,下面就正式开始聊传输流程了!

1.网络互联

场景:主机1通过IP+PORT访问主机3的http服务

网络之网络分层+网络传输流程

 流程如下:

(1)主机1通过查询自己的ARP缓存表来得到主机3的MAC地址;

(2)如果没有找到,广播发送ARP请求数据(源MAC,目的MAC:广播地址,FF:FF..,目的IP),其他主机接收并处理数据报,如果目的IP==自己IP,返回自己MAC,否则丢弃;

(3)更新本机ARP;

(4)发送http请求数据,由集线器广播发送给其他所有主机,如果目的IP==自己IP,处理,否则丢弃

网络互联存在冲突域/碰撞域:同一时间,多台主机同时发送数据报,集线器要把多个数据报发送给所有端口,总带宽和单个端口带宽有限,就会造成干扰。

2.局域网

2.1交换机

场景:主机1通过IP+PORT访问主机3的http服务

网络之网络分层+网络传输流程

 1-3步与网络互联一致,第4步有所不同,交换机接收到数据报后,查看目的MAC,通过MAC地址表找到对应的端口,将数据报发送给端口。

2.2交换机+路由器

场景:主机1通过IP+PORT访问主机4的http服务

网络之网络分层+网络传输流程

流程:

(1)将目的IP和子网掩码按位与操作,得到网络号,对比网络号是否和自己在同一个网段;

(2)不在同一网段,这个数据自己处理不了,需要交给上级(路由器)处理;

(3) 发送数据到路由器:源IP+源端口号+源MAC+目的IP+目的端口+目的MAC(路由器)+协议号

(4)路由器处理数据报:将源MAC修改为自己的MAC;目的MAC修改为主机4的MAC(若没有,则广播找)

3.广域网

场景:主机1访问百度https://www.baidu.com

网络之网络分层+网络传输流程

 网络之网络分层+网络传输流程

好了,这次总结就到这里,有不对的地方欢迎小伙伴们留言指正哦。