关于TCP/IP的分层,以及各层的作用???
- TCP/IP是一个协议族,也就是一组不同层次上的多个协议的组成
- 被划分为四层:应用层,运输层,网络层,链路层。
链路层:用于处理当前应用设备对应其他第三方设备的物理接口,进行数据的链路传输
网络层:主要用用于处理分组在网络中的活动(例如分组的选路......),类似网络的路由选择
运输层:对讲应用程序上报的数据进行分发给网络层
应用层:处理特定的应用程序细节(指的是某种应用程序服务)
应用层 -> 运输层 - > 网络层 -> 链路层
个人理解???
主机A通过网络向主机发送TCP/IP协议,例如进行文件的传输。经过应用层执行特定的服务细节,然后通过运输层将数据进行切割,然后分发给网络层。网络层根据自身携带的IP等等协议,路由转发到链路层。链路层通过设备驱动,网络接口网卡等等与第三的设备进行对接,实现物理接口中的细节,然后接口处理数据。主机B获取到数据,并且处理接口的业务逻辑。此时完成了一次通信!!!
两台设备进行通信例子???
通过下面的FTP客户端和FTP服务器进行远程远程文件传输的过程进行剖解,TCP/IP协议层次之间的工作?
应用层只关系应用程序的处理细节,而关于数据的传输,则由运输层,网络层,链路层去处理!!!
关于路由器???
多台计算机,组成一个网络
多个网络,组成互联网。(通过相同协议进行连接)
如何把两个网络或者多个网络连接在一起呢?
我们可以通过一个用于网络互连的硬件盒子,也就是“路由器”,它为不同类型的物理网络提供的连接。那么路由器也成为“网关”。应用层网关(IP协议)用于连接两种不同协议的进程。
路由器例子解析???
两台设备通过路由器进行连接如下图所示:
- 在应用层和运输层,直接通过端对端的协议进行直连。(用于两个端系统直接的协议)
在网络层(IP协议),则通过逐跳协议(用于两个端系统和中间系统的协议)
- 为什么说在网络层中IP协议提供的是一种“不可靠”的服务呢???
- 因为它只是尽可能快的把分组从源节点送到目的地节点,不提供可靠性保证
- 那么如何保证数据的可靠性,而不丢失呢???
- 在运输层包含TCP和UDP两个协议,TCP在不可靠的IP层上提供了一个可靠的运输层。采用了超时重传,发送和接收端到端的确认分组等机制,去保证数据的可靠性!!!
通过上面我们知道了TCP/IP协议族不同层次负责不同的功能。
运输层(TCP、UDP)对数据进行运输,保证数据的可靠不丢失
网络层(IP)进行网关,用于不同协议的连接,将运输层给的分组数据从源节点送到目的地节点。
关于路由器的定义和网桥???
路由器中由接口,通过接口,两个不同的设备进行不同的协议进行数据交互。
那么如何定义路由器???
路由器不一定指的是互联网中用于转发分组的特殊硬件盒子。在不同的场景下我们应该使用不同的术语。例如在我们可以使用多接口的主机来承担路由器的功能(主机需要进行特殊的配置),那么这个主机也被称为路由器!!!
关于网桥???
-连接网络的途径除了路由器,还有网桥。网桥则是在”链路层”上对网络进行互连。
而路由器则是通过在”网络层“进行互连的。
- -网桥让多个局域网(LAN)组合在一起,这样对于上层来说就像是一个大的局域网。
- -但是在TCP/IP中也更加倾向语使用路由器,而不是网桥连接网络。
为什么在TCP/IP中使用路由器来连接网络,而不是网桥呢???
那么在我们使用网桥的时候,基于链路层的,相当于一个二层交换机在mac层,那么连接局域网的设备可以相互通信,但是不能连接外部网络(也就是只能连接内网,不能访问外网)。
在我们使用路由器时,有一个路由交换的功能,在路由器接口上的设备可以相互通信,还可以与外部网络进行连接(也就是可以连接内网,能访问外网)