ping网络编程魔法Tornado

简明 TCP/IP 协议(一)----局域网通信

2015-01-25  本文已影响1131人  人世间

Internet 的诞生,如同一次技术革命。互联网从此把人与人连接起来。互联网工作在一个古老的网络模型里。这个模型就像一个王国,王国里面有着各种各样的法律,这些法律就是我们要讨论的协议。

话说,网络的模型叫 OSI 七层模型,我们的 TCP/IP 则是 4 层(或5)。层就像楼房大厦,万丈高楼平地起。TCP/IP从下往上依次为链路层、网络层、传输层、应用层。且不管这些让人望文生义的命名,我们还是从简单的日常生活来想象。

网络的目的就是为了通信,想一想,在网络出现之前,我们又是如何通信的呢?飞鸽传书,大雁捎信,从前,车马也很慢,一辈子只够爱一个人。于是乎,我们就从写一封信,开始网络的故事。

现在的城市社会,都有一个个小区。每一个小区,都有一户户人家,每一个家庭,都有若干的房间。小明就住在青年区Q217房02室,拿着笔准备给浅仓区C80房08室的女神小南写情书。小明的家,就如同一台计算机,小明的就如同电脑的一个软件程序,小明家的门牌号Q217则是ip地址,房间号02室则是程序通信的端口号。当然每个房间有一个物业规定的邮箱号码,对外通信都是通过这个邮箱收发信件。这个邮箱号码是mac地址,每一个家都不一样,唯一的号码。青年区就是一个局域网啦。信的内容就是带有数据的帧。

小区的通信

小明在给女神写信之前,不知道如何表述。女神有一个闺蜜由佳,正好住同一个小区Q111房06室。因此决定先写信由佳,询问女神的兴趣爱好,知己知彼嘛。

小明写好信,然后再写上由佳的地址Q111。当小明把写好的信套上信封封好。突然想起来,他并不知道由佳的邮箱号码。

于是小明拿着$222刀的扩音器,在小区里喊:“Q111,你们家的邮箱码是多少啊,有谁知道告诉我一声呗。” 扩音器果然碉堡,整个小区的人都听见了,于是对了一下自己是不是Q111,如果不是就忽略,什么玩意,小区里乱吵。

当然,由佳也听见小明的声音,对了一下房号,正好是Q111,然后看一下自己的邮箱是 YOUJA。由佳疑惑的想着,小明不是喜欢小南么,为什么给我发广播。

由佳很好奇,姑且先回复小明,于是她通过自己的小扩音器发给小明自己的邮箱码YOUJA。小明知道了由佳的邮箱码之后,于是用笔记本记下来,以便下一次不用再喊啦。

有了邮箱号,小明就把信封上写上 YOUJA。于是把信投递出去,小区里的邮递员看见小明投递之后,就根据信封上的邮箱号 YOUJA,找到由佳的家 Q111。由佳的爸爸拆开信封,看见里面写着来自小明 Q217 02 室的信,写给 Q111 06 室的由佳。于是爸爸再把信件交给由佳。

由佳收到了小明的信,然后拆开了看一看,这小子想什么呢?

局域网通信

小明给由佳写信,这一个过程其实就是局域网通信。由源计算机给目标计算机发生通信数据。处于同一个链路的计算机,构成了局域网。连接层的通信中,两个链路的节点,只能通过电脑的 mac 地址通信。

通信的时候,由前面的TCP/IP模型可以知道,大厦一共有4层,数据从最好的一层开始往下传播,每当数据到达一层,就会被该层进行封装,捎带一些该层所标示的数据头。

收到的数据的计算机,则按照从下往上的将之前封装的数据一步一步解包。小明写信如同处理数据,写上自己的房间号。然后投递之前,将信用信封封装好,写上目的房号。如果传输层和网络层进行的工作。这里还没有涉及网络层的ip路由,姑且忽略。

小明而写信的时候,应用程序只知道自己的mac地址,并不知道目标计算机的 mac 地址。因此通信的第一步就需要知道对方的 mac 地址。如何做到呢?小明用了一个广播,解决了这个问题。在网络中,通过 ARP(地址转换协议)进行广播。

简而言之,就是每个计算机都有一个 ip 地址和 mac 地址对应的记录表。源计算机通过ARP 协议先查看这个表,有没有对应 ip 的 mac 地址,如果有,那就万事大吉。如果没有,就需要向局域网的的其他计算机发现 ARP 请求的广播,也就是小明喊话的那个行为。

局域网内的其他计算机收到广播的 ARP 请求之后,就把源计算机广播的 ip 地址和自己的 ip 地址对应,确定是不是询问自己的 mac 地址,如果对不上,则忽略,如果对上了,则把自己的 mac 地址返回给源计算机,也就是发送一个ARP响应。

小区的其他人和由佳检查 Q111 号房和邮箱码,就是处理了这样的过程。源计算机收到ARP响应的时候,就得知了需要的 mac 地址,并把这个地址缓存起来。

通过局域网的广播和ARP协议的工作,可以进行局域网的基本通信。当然具体的通信模型没有这么简单。

小明已经给由佳写信,得知了女神的爱好,那么下一步,就是要给女神写信啦。那就不只是局域网的通信了,互联网,正在等着我们。。。

文中类比关系:

局域网:青年区,浅仓区。每个小区都是一个独立的局域网,小区与小区组成互联网。

IP地址:Q217,C80,正真的ip地址是四个0~255的组成的(ipv4)。IP地址用来区分不同局域网的网络,这里用开头的Q,C来表示不同局域网的主机IP地址.

Mac地址:由佳家的邮箱,YOUJA。Mac地址是计算机(网卡)的唯一标识。

上一篇下一篇

猜你喜欢

热点阅读