网络中数据传输的过程

  这整个过程是如何实现的哪?这里说一下个人的理解。也希望看到的大神可以不吝赐教,指出我错误的地方。

  首先:OSI参考模型包含七层:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层。这里有必要先介绍一下这七层每层的作用。

  物理层:这里物理层绝对不是指链接计算机的具体的物理设备和具体的传输媒体,比如双绞线,同轴电缆,光缆等等。物理层负责的是怎么样尽可能的屏蔽掉这些传输媒体间存在差异,使物理层上面的链路层感觉不到这些差异。物理层的主要任务包括:做一些硬件特性的规定,比如:电缆两端的电压多大,借口所用接线器的形状是什么样等等。物理层之间传送的是Bit流。

  数据链路层:数据链路层的主要任务是:对下,加强物理层传输原始bit流的功能,使之对应的网络层显现为一条无错线路。对上:将网络成提交下来的IP数据报封装成数据帧,按顺序发送出去并处理接收方回送的确认帧。对中:发送和接收ARP,RARP数据帧。数据链路层传输的是数据帧。

  网络层:IP层提供的是不可靠,无连接的数据报传送服务。负责的关键任务是:将运输层产生的报文段或用户数据报封装成分组或包,并确认源端到目的端的路由如何选择。

  传输层:应用层的不同进程的报文通过端口向下交到运输层  ,然后传输层再交给网络层传输,当这些报文送到目的端后,传输层再根据就通过不同的端口提交给应用层的不同进程,总之就是:传输层使的不同的应用进程之间的通信好像是水平进行的一样。另外,传输层还提供对收到的报文进行差错检测,为Ip层报文传输提供可靠保证等功能。        

  会话层:允许不同机器上的用户建立会话关系,并同时获得会话同步,说白了就是,当传输一个很大的文件时,中间出现断网什么的,那么重新连接后,会话层协议使得传输了一半的文件继续传输,而不用重传整个文件。

  表示层:由于不同的计算机体系结构使用的数据编码方式不一样,如IBM主机使用的是EBCDIC编码,而大部分PC主机使用的ASCII码,所以表示层就是用来完成这些编码之间的转化。

  应用层:包含大量人们普遍需要的协议。为解决具体问题而彼此通信的进程就成为应用进程,应用层协议就是用来规定应用进程在通信时遵循的规则。TCI/IP协议簇里的应用层协议一般都遵循客户-服务器方式。

  以上为整个osi参考模型的概述。下面,结合上面的概述,描述一个数据是如何传播的。这里把数据传播分到两个部分来说,数据从应用层到传输层为一个部分,物理层到网络层为另一个部分。 

  应用层到传输层:将数据包传给网络层,网络层封装成IP数据包。 

  网络层到物理层传输的数据的情况:

  网络层的IP数据包是如何传输,IP数据报中有:源IP地址,目的IP地址。IP数据报需从主机A上传送到主机B上,主机A首先查找路由表,判断目的主机是否与自己在同一个网段内,

  if在同一个网段内,则主机A查询自己的ARP表,看是否有该目的IP地址对应的MAC地址的记录,

    {       if有,则将该MAC地址作为目的MAC地址,封装数据帧,传送给主机B,

      else没有,则发送一个ARP请求广播给网段内的所有主机,来查询该目的IP地址的MAC地址,收到ARP请求报文的各个主机如果发现该IP地址是自己的IP地址,则返回一个ARP应答报文告诉主机A自己的            MAC地址,如果发现不是自己的IP地址,则丢弃该报文。主机A收到这个应答报文后,就按照返回的MAC地址,将IP数据包封装成帧,然后发送到主机B上。(补充:一般为了减少网络中的报文量,通信双方会维护一个各自的ARP表,把一次通信中获得IP MAC地址对保存在缓冲的ARP表中,但是ARP表有一个老化机制,删除一段时间内不用的IP MAC地址对。)

    }

  else if搜索路由表,发现了能与目的网络号相匹配的表目,则把报文发给改表目指定的下一站的路由器或直接连接的网络接口。

  {

    报文发送到下一站时,数据帧的目的MAC地址是下一个站路由器或者网络接口的MAC地址,而IP头部的目的IP地址是主机B的IP地址。这里要指出的是:ARP请求报文以下一站路由器或网络接口的IP地址为目的IP地址,寻找真的目的MAC地址。换句话,ARP请求报文只负责IP数据报传输过程中每一跳中的目的MAC地址查询。

  }

  else搜索路由表,寻找标为“默认”的表目,把报文发送给该表目指定的下一站路由器。

  {

    报文发送到下一站时,数据帧的目的MAC地址是下一个站路由器的MAC地址,而IP头部的目的IP地址是主机B的IP地址。

  }

  数据帧在每两个网络设备间传递时,是转换成bit流在传输媒体上传输。链路层提供了如停止等待协议等机制,控制了bit流在传输媒体上的无措传输。

 

 

 

 

posted @ 2013-03-31 11:59  我是蜗牛在爬树  阅读(1755)  评论(0编辑  收藏  举报