计算机网络部分基础知识

网络协议的意义

        单台主机内部的设备之间需要发送和接收消息,那么和相隔很远的两台主机之间发送消息有什么区别呢?两台主机通过网络发送消息,相当于两个网卡设备之间进行通信,最大的区别在于距离变长了。而距离变长带来的结果就是:

1. 会面临数据包丢包的问题

2. 需要解决目标主机的定位问题

3. 如何保证经过无数台设备转发,数据仍能准确被接收

        为了解决这些问题,就有了协议,协议本质上就是一种约定,两套主机约定好一定的数据格式,这样能保证不同厂商生产的计算机也能顺畅地通信,并且网络通信的分层协议各层能够处理丢包、定位的问题。网络协议的范围非常广泛,从硬件到软件,能保证不同的机器都能无障碍地接入互联网:厂商要想让机器接入互联网就要遵守协议。

网络的层状结构

        在网络通信的过程中,为了保证把数据可靠地从一台主机送到另一台主机,并且另一台主机能对数据作相应的处理,我们需要:

        1. 保证把数据交给下一跳主机

        2. 进行路径选择,定位目标主机

        3. 如果报文出现错误或丢失怎么办

        4. 如何使用送达的数据

        这些问题都需要有协议来解决,所以协议是很多的,为了更好地编码实现协议,就对协议进行了分层,我们把网络看作是层状结构。

        为了方便理解协议分层的好处,我们举一个现实生活中的例子,我们在和亲人打电话的时候,并不是直接和对方沟通&#x

你可能感兴趣的:(Linux网络,网络)