计算机网络基础

发布于:2024-05-06 ⋅ 阅读:(26) ⋅ 点赞:(0)

网络的定义

网络通常指的是用一个巨大的虚拟画面将所有东西连接起来。在计算机领域中,网络是通过物理链路将各个孤立的工作站或主机相连在一起,组成数据链路,从而达到资源共享和通信的目的。网络通信特指终端设备之间通过计算机网络进行的通信。

网络划分

局域网LAN: 计算机数量更多了, 通过交换机和路由器连接在一起。

广域网WAN: 将远隔千里的计算机都连在一起。

协议栈

协议栈(又称协议堆叠)是计算机网络协议套件的一个具体的软件实现。它通常包括多个层次,每个层次都负责处理不同级别的协议。例如,OSI模型就是一个著名的网络协议栈结构,它包括了物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。而TCP/IP五层模型:物理层、数据链路层、网络层、传输层、应用层。

层状结构可以完成软件的解耦合,所以对软件的维护也就更加方便。而且每一层的协议都对应着网络中数据传输的问题的解决方案。

  • 数据链路层: 负责设备之间的数据帧的传送和识别. 例如网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作. 有以太网、令牌环网, 无线LAN等标准. 交换机(Switch)工作在数据链路层.
  • 网络层: 负责地址管理和路由选择. 例如在IP协议中, 通过IP地址来标识一台主机, 并通过路由表的方式规划出两台主机之间的数据传输的线路(路由). 路由器(Router)工作在网路层.
  • 传输层: 负责两台主机之间的数据传输. 如传输控制协议 (TCP), 能够确保数据可靠的从源主机发送到目标主机.
  • 应用层: 负责应用程序间沟通,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等. 我们的网络编程主要就是针对应用层

认识协议

协议的产生可以解决网络中数据传输时丢包,目标机器定位,数据传输的可靠性问题。

协议其实就是一段结构体字段,其中存放着相关网络传输的重要信息,也称作报头,而我们最终要传输的数据称作报文。而报文除去协议报头就是我们网络中需要传输的实际数据。

局域网与以太网

局域网是一种私有网络,通常位于同一地理区域内,如一座建筑物或建筑群内。而以太网是一种计算机局域网技术,它规定了包括物理层的连线、电子信号和介质访问层协议的内容,采用带冲突检测的载波监听多路访问(CSMA/CD)协议。

以太网是局域网的一种实现方式,也是目前应用最普遍的局域网技术。虽然局域网可以包括多种不同的局域网技术,但以太网因其高可靠性、高传输速率和广泛的应用性而成为了局域网的代名词。

 数据传输过程

当我们的主机A准备向主机B发送数据的时候,会先从主机A的应用层开始生成协议(报头),并打包成报文,递交给下一层的传输层,然后在生成传输层的协议报头,再次打包成报文。直到传输到主机A的数据链路层做最后的打包。然后将主机A生成的报文经过网络进行传输到主机B,主机B会自下往上接收主机A传来的数据。然后主机B现在数据链路层进行报文解析,也就是剥离主机A在数据链路层给该数据生成的报头。然后再一次向上传输,解析报头,直到传输到应用层会做最后一次得解包,最终的实际数据就传送给了主机B的用户。

应用层的报文通常称作request&response,传输层的报文称作数据段,网络层称为数据报,链路层称为数据帧。该过程其实就相当于是入栈出栈的过程。

IP地址和Mac地址

IP地址是计算机网络中用于识别和定位设备的数字标签,它是分配给网络中连接的设备,以便它们能够相互通信。IP地址是互联网上的基本元素之一,充当设备在网络中的唯一标识符。

而MAC地址则是一个用来确认网络设备位置的地址,也称为局域网地址、MAC位址、以太网地址或物理地址。MAC地址在网络中唯一标示一个网卡,每个网卡都需要并会有一个唯一的MAC地址。

IP地址是网络层地址,用于在网络中标识唯一一台计算机或网络设备,使其可以在网络中进行通信也就是做路径选择;而MAC地址是以太网MAC层地址,用于在在局域网中标识唯一的一台主机,确保网络设备在网络中的物理位置可以被准确识别。像我们的数据在网络之间进行传输的时候,IP地址是始终不会改变的,而Mac地址在传输过程中是会受到局域网的改变发生变化的。

数据跨网络传输

 

而对于数据包跨网络转发则需要用到路由器,并且跨网络转发本质就是将多个局域网通过路由器关联起来,然后再进行数据传输。假设左部分局域网是以太网技术,右部分是令牌环技术。

首先我们的数据经过每一层同样会生成数据报的报头,在IP协议层(网络层)的报头会生成源IPA的地址和目标IPB的地址,在以太网协议层(数据链路层)的报头会生成源MacA的地址与目标Mac路由器的地址。然后A设备的数据通过路由器设备与B设备传输数据。A设备传来的报文就会向上传给由器,所以路由器就会进行解包驱动中的Mac报文数据。此时再在路由器与B设备传输的过程中,是令牌环局域网,所以路由器将报文数据就向下交互到令牌环驱动程序,再生成令牌环报头,源Mac路由器的地址,目标MacB的地址。最后在B的层序结构中向上传输数据进行解包。

所以得出结论,在网络通信过程中源Mac地址和目标Mac地址一直在变,而目的IP一直不变,源IP可能会发生改变。