网络包的基本知识,对于各种通信方式都是适用的,当然也适用于TCP/IP网络。不过,TCP/IP包的结构是在这个基本结构的基础上扩展出来的,因此更加复杂。
网络中有两种不同的转发设备:路由器和集线器,它们在传输网络包时有着各自的分工。
1)路由器根据目标地址判断下一个路由器的位置
2)集线器在子网中将网络包传输到下一个路由
实际上,集线器按照以太网规则传输包的设备,而路由器按照IP规则传输包的设备。
1)IP协议根据目标地址判断下一个IP转发设备的位置
2)子网中的以太网协议将包传输到下一个转发设备
还记得网络包基础知识中提到转发设备是如何知道下一个转发设备:根据网络包的头部信息。
TCP/IP网络包有两个头部:
(a)MAC头部(用于以太网协议)
(b)IP头部(用于IP协议)
首先,发送方将包的目的地,要访问服务器的IP地址写入IP头部中。这个包应该发往哪里,IP协议就可以根据这一地址查找包的传输方向,从而找到下一个路由器的位置。接下来,IP协议委托以太网协议将包传输过去。这时,IP协议会查找下一个路由器的以太网地址(MAC地址),并将这个地址写入MAC头部中。这样一来,以太网协议就知道要将这个包发到哪一个路由器上了。
网络包在传输过程中会经过集线器,集线器是根据以太网协议工作的设备。为了判断包接下来应该向什么地方传输,集线器里有一张表(用于以太网协议的表),可根据以太网头部中记录的目的地信息查出相应的传输方向。这张图中只有一个集线器,当存在多个集线器时,网络包会按顺序逐一通过这些集线器进行传输。
接下来,包会到达下一个路由器。路由器中有一张IP协议的表,可根据这张表以及IP头部中记录的目的地信息查出接下来应该发往哪个路由器。为了将包发到下一个路由器,我们还需要查出下一个路由器的MAC地址,并记录到MAC头部中。这样,网络包就又被发往下一个节点了。
网络包会通过路由器到达下一个路由器R2。这个过程不断重复,最终网络包就会被送到目的地,当目的地设备成功接收之后,网络包的传输过程就结束了。
本文摘取自周自恒翻译的户根勤编写的《网络是怎样连接的》
网友评论