数据在计算机网络传输的过程 大体上类似于快递发货收货的这个过程,由于网络中全部都是数据,所以网络数据传输的过程,相比于实际的快递收发更简单。
我们收发快递 过程有会很多问题:谁发?发哪?发什么?怎么发?等等问题。下面遇到一个说一个:
首先要发一个快递需要一些准备:
1.
发快递的人具体是谁(就是计算机中具体的进程,使用进程的端口port来通信)
2.
发快递人地址(MAC地址+ip地址)
为什么现实中只要一个地址,而网络中却需要两个地址?
现实中只需要一个地址是因为,把地球看做一个网络,所有的地址都在地球中,不存在新加入的问题。
而实际网络中,新的计算机还没加入到网络中,假设他没有mac 地址(此时他也没有IP地址),那么计算机想要加入到网络中,那么在第一次连接到网络中的时候,就存在2个问题。1.计算机是怎么连接到网络中来的。2.网络要怎么确定这个没有ip地址的计算机?
假设,计算机是通过物理设备(如网线)连接到网络中的,网络也是通过这个网线分配IP给这个新计算机的。那么就意味着,IP地址是和这个网线绑定的。而实际上IP要求是动态的。
假设只有MAC地址,没有IP地址行不行?理论上是行的。但受限于物理传输能力的有限,和MAC地址的难以管理。
假设只有MAC地址,那么因为MAC地址的唯一,不可变,意味着,首先上网免费了,因为MAC地址 是计算机自带的属性,只要我的计算机在有网线连在网络中就能被识别。那我就能力联网,再也不需要拨号了。同时如果想管理,那么就需要对每一台计算机管理都管理,因为MAC地址是独有的,大家都不一样,一旦物理设备发生改变,其mac地址就必须要改变。
而IP地址,是相对不变的,在网络里,我们可以很方便的对IP进行管理。
3.发送的具体快递(对应具体数据),但是不同的快递,各有其特点。不同的数据类型也有各自的特点,那么方便统一管理,对应的http ,ftp 等应用层协议出现了。
4.发送的可靠性(TCP/udp),我们发一个快递,总要知道我这个快递,这个快递公司能不能发,在不在可送范围
5.具体哪家快递发送(IP协议)网络层协议 。
6.具体发货的路线选择(数据链路层)