微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 深入浅出计算机间通信原理

深入浅出计算机间通信原理

时间:12-01 来源:互联网 点击:


图十 ARP /RARP 数据包结构

2.IP 协议:

由于以太网协议只适用于局域网,而且以太网数据不能跨转递消息硬件发送,所以人们制定了IP (Internet Protocol ,因特网协议)协议.有了它,只要计算机连接到因特网那它都可以利用IP 地址(就像手机号码) 来实现通信(就像手机利用GSM 协议打电话).下面就是IP 协议数据包结构:


图十一 IP 协议头部数据包结构
源IP 地址和目的IP 地址的意思和以太网数据包结构中的源地址和目的地址作用相同.(这里略去了其它TCP 特性,因为它们与本文无关)

读者们先来看看下面的网络拓扑图:



图十二 网络门禁系统的网络拓扑图


在每一个门禁控制系统里面都有主控制器.而这些主控制器利用以太网通过交换机来实现把数据传递到因特网(Internet)上.由于以太网传输协议只能使用在同一以太网下,所以这些数据是不可能传递到这个区域的外面的.你可以这样想一下:广州分厂的其中一个门禁控制系统的主控制器向它所属的以太网发送一条信息给上海分厂的管理电脑及卡证中心主机显然是不行的.而IP 协议却不同,IP (Internet Protocol) 协议适合所有只要连接到因特网而且还拥有其独立的IP 地址的主机.所以,当广州分厂的其中一个门禁控制系统要和上海分厂的管理电脑及卡证中心主机实现数据交换那就必须要知道该主机的IP 地址.有了它,系统会根据实际情况把IP 协议头部数据包的各个数据填充好,然后通过以太网指定发送到交换机.交换机会再把我们的数据包转发到因特网上,接下来这个数据包会到达上海分厂的交换机, 最后上海分厂的交换机通过以太网发送数据包到管理电脑及卡证中心主机.

以IP 协议为基础,我们还可以利用TCP 和UDP 的传输数据方式来实现数据的传输.一般地,TCP 会提供"无差别","可靠的" 的数据传输服务.

3.TCP 协议:

TCP 协议作为现在广泛使用的协议,它有着许多网络通信协议所没有的特性(比如:重传).TCP 协议是基于IP 协议上开发的.下面先来讨论TCP 的数据包结构:



图十三 TCP协议头部数据结构


TCP 协议并没有指定发送方/接收方的地址,因为它是以IP 协议作为基础的协议,所以IP 协议的地址也可以说是TCP 协议的地址.在TCP 协议头部数据结构里,有一个新名词叫"端口",它的用意是为了标识不同的程序接收不同的数据包,比如:80 端口发送/接收HTTP 协议数据包,21 端口实现TELNET 协议 等.TCP 协议的传输机制是比较特殊的,它首先需要两台主机之间建立通信连接,然后才可以传输数据,最后数据传输完成的时候还必须要对这个连接进行关闭.先看看下面是TCP 的通信流程图:



图十三 TCP 协议通信连接与关闭连接时数据包传送情况(由于源图被画了很多红圈,没办法啊只能抢救成这样,原谅LC 吧)


对于上面的数据包交换我们可以分为两部分来分析:前三个数据包表示的意思是建立TCP 连接,后四个数据包的意思是关闭TCP 连接.

在TCP 建立连接的时候,主动建立的一方将会发送SYN_SENT 类型的TCP 数据包到目的主机,目的主机处理完成这个连接请求后立即返回SYN_ACK类型的TCP 数据包(编者注:无论目的主机是否愿意和它建立连接,要想实现这个结构那就必须忽略防火墙等的外界影响条件),最后在主动建立的一方接收到该SYN_ACK 数据包后返回ACK 数据包,它也就代表了TCP 连接真正建立成功.这就是TCP 三次握手过程.

两台主机之间的数据传输结束了,那就要关闭连接.当一方主动关闭连接时,它将会发送FIN 数据包来通告对方.对方接收FIN 数据包后就会返回FIN_ACK 数据包来确认.(编者注:凡是已经主动发送过FIN 数据包的主机都不能够再发送任何数据,但可以接收数据)只有双方都各自都完成了发送FIN 数据包,那么TCP连接也就关闭了.这就是TCP 的四次握手过程.

发送数据和这些差不多,有兴趣的读者可以看看> 或者给LCatro 留个言.

4.小总结:

数据包的结构搞乱了?请看看下图吧..



图十四 网络数据包结构
由于我们在以太网下利用以太网协议发送数据,所以我们的要发送到目的主机的数据就包含在以太网数据包的数据里面.对于这个数据,实际上是IP 数据包,然而IP 数据包里面的数据其实是TCP 数据包,TCP 数据包里面的数据就是我们要发送的信息.所以读者们结合上图来理解网络数据包结构(右边)就容易了..

至于左边的结构图的意思是网络模型,它代表了哪个协议所在哪一个网络模型层的级别.

四 网络适配器(网卡)原理:

1.什么是网络适配器:

网络适配器的意义在于协助计算机处理器来实现数据的传输.

下面是实物图片,这个网络适配器是台式计算机使用的.



图十五 网络适配器实物图
由于现代计算机发展迅速,导致网络服务器数据传输速度有些时候并不能满足日益增长的需求.为此,双端口网络适配器诞生了,也即是说同一个网络适配器可以连接两条网线.如果读者想更深入了解请到:http://www.doc88.com/p-374664665354.html(HP CN1000E双端口聚合网络适配器 - 产品简介)

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top