C114门户论坛百科APPEN| 举报 切换到宽版

亚星游戏官网

 找回密码
 注册

只需一步,快速开始

短信验证,便捷登录

搜索
查看: 2291|回复: 0

一起学通信 [复制链接]

军衔等级:

亚星游戏官网-yaxin222  中士

注册:2008-3-28
发表于 2015-11-18 21:42:49 |显示全部楼层
一起学习数据通信~~
                 亚星游戏官网-yaxin222哇咔咔~小编今天又来跟大家分享常识啦~~~今天给大家带来的是数据通信的相关常识。在理解数据通信之前,大家首先来回顾一下TCP/IP模型。
亚星游戏官网-yaxin222
TCP/IP的5层模型,想必大家已经烂熟于心,然而,为什么要建立这个模型呢?亚星游戏官网-yaxin222
亚星游戏官网-yaxin222原来它的理念是这个样子哒:
l 层次化的模型设计将网络的通信过程划分为更小、更简单的部件,因此有助于各个部件的独立开发、设计和故障排除;
l 层与层之间相互独立,又相互依赖,每一层都有该层的功能、以及定义的协议标准。层与层之间相互配合,共同完成数据通信的过程;
l 通过组件的标准化,允许多个供应商进行开发;   
l 通过定义在模型的每一层实现什么功能,鼓励产业的标准化;
l 允许各种类型的网络硬件和App相互通信。
下面大家就结合PC机访问Server的情景,来看看数据通信的具体过程~~
亚星游戏官网-yaxin222
大家每台设备的IP和MAC地址都已列出~~从宏观上来看,通信过程如下图所示。
亚星游戏官网-yaxin222
从上到下封装,从下到上解封装,从一台设备传到另外一台,大家具体来分析一下。
1.
亚星游戏官网-yaxin222
PC机打开WEB网页,想访问Server的WEB服务,会触发HTTP应用为用户构造一个数据DATA,这个就是大家要传送给Server的内容。然而HTTP不会关心数据怎么传,怎么寻址,怎么差错校验,这些都会有专门的Layer来负责,这样应用层的数据会交给传输层。
2.
亚星游戏官网-yaxin222
到传输层,会先封装一个TCP头,因为HTTP是基于TCP的,这里大家随机产生了一个源端口1025,目的端口是80,因为是HTTP应用,默认端口是80~~
3.
亚星游戏官网-yaxin222
一转眼,又到了网络层,封装上IP头,源IP和目的IP不可少,强调一下,目的IP是大家Server的IP,这是大家的起点和终点,要是没有该走错路了。协议号6对应上一层封装的是TCP报头。UDP对应的协议号是17.
4.
亚星游戏官网-yaxin222
现在到了数据链路层,封装一个以太网帧头,源MAC就是PC机的网卡上的MAC地址,目的MAC是网关的MAC地址,也就是R1的G0/0/0口的MAC地址,初始情况PC上没有这个地址,那么它会向网关发送ARP请求,来请求这个MAC地址,网关给它回复之后,就有了目的MAC。类型0x0800,是指的后面封装了一个IP头。
5.
亚星游戏官网-yaxin222
又到了物理层,PC传给R1,是一串01010101的比特流。
6.
亚星游戏官网-yaxin222
R1拿到数据帧,会先检查是否有损坏,如果没有损坏,就看看MAC地址是否是自己G0/0/0口的MAC。好,正是自己的MAC地址,查看类型0800,后面是IP头,解封装交给上层处理。
7.
亚星游戏官网-yaxin222
又回到了网络层,它也会先看看报文是否有损坏,如果没有,就查看IP头中的目的IP,发现不是自己的IP,非常失落,只好查看路由表,准备继续转发。
8.
亚星游戏官网-yaxin222
到了数据链路层,这次的源MAC变成R1的MAC,而目的MAC是R2了~如果不知道目的MAC那么就要发送ARP请求~~数据类型仍然是0800.
9.
亚星游戏官网-yaxin222
就这样,数据帧一路颠沛流离到了R2,先核对一下有没有损坏,没有的话查看目的MAC正好是自己,灰常HAPPY,又看到类型0800,那么就解封装交给上一层。
10.
亚星游戏官网-yaxin222
到了网络层,仍旧先核对是否损坏,没问题好的,查看目的IP,发现不是自己,不过已经到家门口了,同一网段,暗自窃喜,查看路由表,准备继续转发。
11.
亚星游戏官网-yaxin222
到了数据链路层,源MAC是自己的,目的MAC如果没有就ARP请求~~类型仍然是0800~~
12.
亚星游戏官网-yaxin222一路漂泊,历经沧桑,大家终于到了Server,同样也是从数据链路层开始核对,没有损坏,查看目的MAC是自己好的,类型是0800后面有IP那么我就解封装交给上一层,网络层也先核对是否损坏,没有,好哒,目的IP也是自己,哇塞~开心到爆了~~终于到家了~~再查看协议号是6,后面是TCP,解封装交给传输层,查看到目的端口是80,原来是个HTTP应用数据,自己的TCP80端口是开放的~那么就解封装把数据交给HTTP应用~~到此为止,大家就完成了PC到Server的传输~~~一路艰辛啊有木有!!!
今天的学习就到这里啦~~~下次见喽~~~

举报本楼

您需要登录后才可以回帖 登录 | 注册 |

手机版|C114 ( 沪ICP备12002291号-1 )|联系大家 |网站地图  

GMT+8, 2024-9-28 11:22 , Processed in 0.186732 second(s), 15 queries , Gzip On.

Copyright © 1999-2023 C114 All Rights Reserved

Discuz Licensed

回顶部
XML 地图 | Sitemap 地图