作者:书友67997456_296 | 来源:互联网 | 2023-01-27 14:22
TCPIP五层模型TCPIP是两个独立的且紧密结合的协议,负责管理和引导数据报文在网络上的传输。TCP负责和远程主机的连接,IP负责寻址,是报文被送到其该去的地方。TCPIP也分为
TCP/IP五层模型
TCP/IP是两个独立的且紧密结合的协议,负责管理和引导数据报文在网络上的传输。TCP负责和远程主机的连接,IP负责寻址,是报文被送到其该去的地方。
TCP/IP也分为不同的层次开发,每一层负责不同的通信功能,但TCP/IP协议简化了层次设备。而由下而上一次是网络接口层、网络层、传输层、应用层。
- 网络接口层:有时候也称为数据链路层,通常包括操作系统中设备的驱动程序和计算机相应的网络接口卡。
- 网络层:处理分组在网络中的活动,如分组的选路。
- 传输层:主要为两台主机上的应用程序提供端到端的通信。
- 应用层:负责处理特定的应用程序和程序细节。
各层主要的协议
OSI和TCP/IP的区别
不同之处:
OSI模型包括了7层,而TCP/IP模型只有四层,虽然它们具有功能相同的网络层,传输层,和应用层,其但他层并不相同。
OSI参考模型在网络层支持无连接和面向连接的两种服务,而在传输层仅支持面向连接的服务。TCP/IP模型在网络层仅支持无连接服务,在传输层支持面向连接和无连接两种服务。
网络传输的基本流程
网络传输的流程图
局域内两台主机通过TCP/IP协议通讯的过程如下所示
首先用户层需要传输文件,那么就需要文件传输协议。
在需要传送的数据加上文件传输协议的报头,呼叫下一层。
传输层接收到这个指令之后,加上该层的协议报头,再呼叫下一层。
网络层收到这个指令之后,加上网络层的报头,传给链路层。
链路层的协议中包括传送目标。通过局域网传送给了对方主机的链路层。
以上过程称为——封装。
数据封装的过程
在不同的协议层对数据包的叫法也是不同的,在传输层叫段,在网络层叫做数据报,在链路层叫做帧。
应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部,称为封装。
首部信息中包含了一些类似于首部有多长,载荷有多长,上层协议是什么等信息。
数据封装成帧后会发到传输介质中,到达目的主机后每层协议再剥掉相应的首部,根据首部的“上层协议字段”将数据交给对应的上层协议进行处理。
以下为数据封装的过程
对方主机接收到该数据之后,进行解包,将本层协议的报头拆开,剩下的内容传递给上层。
每一层只能够解自己的报头。 直到数据传递给用户层,用户就接收到了该数据,称为—-解包。
所以,封装是自顶向下的过程,解包是自底向上的过程。每一层协议只能添加自己的报头信息。每一层也只能解包自己的报文信息。
那么在解包的过程中,它的上层协议有很多,那么到底下层该传递给上层的谁呢?
所以,封装时,在每一层的报头信息必须包含:它的上层协议是谁。解包时,依据对应的报文信息传递给上层协议。这个过程叫做——分用
其实这个过程可以简单的通过下面这个例子理解:
比如说,我在网上直接买了一瓶洗面奶。卖家发货要发快递给我。但是我收到的不只有一个洗面奶,还有包装,快递单,快递盒子,快递单子。映射到网络的数据传输过程 ,那些快递包装盒,包装袋就有点像网络传输过程中的传输协议加上的报头信息。通过这些报头信息,每一个快递员都能判断这个数据是不是我要的(是不是我要派送的快递)。直到数据被传送的用户手里就是洗面奶送到我的手里,外面的那些包装我根本不关心,就将它们一层层丢弃,这个过程就像是数据传送至接收方的物理层之后,进行解包的过程。
那么快递员根据快递单上的信息,得知了快递是要交给谁的。也就是说,每一层自底向上交付的时候,报文信息必定会包含我这个数据是要交付给上层的谁的。
跨网段的主机的传输。数据从一台计算机到另一台计算机传输过程中要经过一个或者多个路由器
两个主机此时不在同一个局域网内,所以它们两个主机想要沟通,就必须通过路由器。
客户从用户层发送数据,自顶向下发送,一步步添加报头信息,这是封装的过程。然后发送到局域网内,可是发送方发送数据时,已经知道了他要发送数据的接收方不在这个局域网内。那么他就会将该数据发给路由器。寻求路由器的帮助,帮助它转发。
路由器也是一个主机,所以他经过解包,得到了目标主机的ip地址,然后在经过封装,此时就会加上目标局域网的报头信息。(相当于该数据换了身衣服)通过路由器的路由功能,数据被发送到了接收方的局域网内,该局域网内所有主机都能收到,但是在通过解析,只有指定接收方会响应。
这就是在广域网内数据传输的过程。
ip协议可以屏蔽底层的局域网差异。在ip层看来,全世界的网络都只遵守ip这一种协议。
这里要着重区分一下MAC地址和IP 地址:
对于MAC地址,由于我们不直接和它接触,所以大家不一定很熟悉。在OSI(Open System Interconnection,开放系统互连)7层网络协议(物理层,数据链路层,网络层,传输层,会话层,表示层,应用层)参考模型中,第二层为数据链路层(Data Link)。它包含两个子层,上一层是逻辑链路控制(LLC:Logical Link Control),下一层即是我们前面所提到的MAC(MediaAccess Control)层,即介质访问控制层。所谓介质(Media),是指传输信号所通过的多种物理环境。常用网络介质包括电缆(如:双绞线,同轴电缆,光纤),还有微波、激光、红外线等,有时也称介质为物理介质。MAC地址也叫物理地址、硬件地址或链路地址,由网络设备制造商生产时写在硬件内部。这个地址与网络无关,也即无论将带有这个地址的硬件(如网卡、集线器、路由器等)接入到网络的何处,它都有相同的MAC地址,MAC地址一般不可改变,不能由用户自己设定。
mac地址可以标识全世界上唯一一台主机,仅仅在局域网内有效。
ip地址可以标识世界上唯一一台联网的主机,在广域网内也有效
其实举个例子就能够很好的理解了。
比如说:西游记中的唐僧最爱说的一句话就是,贫僧从东土大唐来,到西天取经去。那么这个从东土大唐来,到西天取经去,这个就是ip地址。你的源地址和目标地址,并且在数据过程中一直不会变的地址。
但是,比如唐僧这一站在女王国,女儿国的国王就会问他:哥哥你上一站是从哪里来的。唐僧就会告诉她,上一站是从比丘国来,然后女儿国王就告诉唐僧:经过女儿国下一站就会到达黑风岭。这个比丘国和黑风岭就是mac地址,在数据传输过程中是一直在变化的。