通信协议之我见

现如今,我们处在一个互联网高速发达的时代,通过网络,我们无时无刻不在与外界进行着信息的交换。那么,网络通信是如何做到的呢?
我们可能会有这样的疑问,我们发送的消息、文件、图片、视频等内容,在底层是以怎样的形式进行传送的?对方又是如何接收到我们想发送的内容,又不至于弄错呢?
其实,在网络通信的背后,存在着一套通信协议,正是有了通信协议,我们才能通过网络准确地交换信息。那么,什么是通信协议呢?简单的说,通信协议就是我们制定的一套互联网通信规则,在协议中,我们规定了通信双方的通信流程和数据格式的规则,要参与通信的双方都只有按照这个规则发送数据才可以正常通信。
我们可以将网络通信做一个简单的层次划分,分为应用层,网络层以及物理层这三个层次。不同的层次有不同的功能。
应用层指网络操作系统和具体的应用程序,对应WWW服务器、FTP服务器等应用软件,遵循HTTP等协议,能为应用软件提供很多服务,例如文件服务器、数据库服务、电子邮件与其他网络软件服务。当网络出现故障时,我们可以使用telnet命令来查看自己是否能连接上服务器,从而判定故障是否发生在应用层。
网络层又称协议层,数据在这一层会根据TCP/IP协议或者UDP协议进行包装。TCP/IP协议为面向连接的协议,意思是只有先与发送端建立了连接,才能进行数据的发送。TCP协议提供了丢包重传机制来保证数据发送的准确性,当TCP发出一个段后,它启动一个定时器,等待目的端确认收到这个报文段。如果不能及时收到一个确认,将重发这个报文段。而UDP协议为非面向连接的协议,我们只管发送数据到接收端,而不管接收端能否收到。当网络出现故障时,我们可以使用tracert命令来跟踪IP地址路线,看是否数据包在传输过程中出现丢失,从而判定故障是否发生在网络层。
物理层是网络通信的数据传输介质,由连接不同结点的电缆与设备共同构成,遵循EIA/TIA RS-232等协议,负责处理数据传输并监控数据出错率,以便数据流的透明传输。当网络出现故障时,我们可以通过检查设备的物理连接方式是否恰当,连接电缆是否正确等方式来判定故障是否发生在物理层。

猜你喜欢

转载自java-csu-ll.iteye.com/blog/2095424
今日推荐