网络基础概念

局域网

局域网 (Local Area Network),简称 LAN

局域网是一种本地网络,是局部组建的一种私有网络。

局域网内的主机可以进行网络通信,又称为内网。

局域网与局域网之间如果没有连接,就不能通信。

局域网组建网络的方式:

  1. 主机之间通过网线直接连接
  2. 通过集线器将多台主机连接
  3. 通过交换机连接
  4. 通过交换机和路由器连接

广域网

广域网 (Wide Area Network),简称WAN

广域网, 就是物理意义上范围很大的网络, 是很多个局域网通过路由器连接起来形成的。


IP地址

IP地址就是用来标识一台主机在网络中的位置。

IP地址是一个32位的二进制数,4个字节,通过三个点隔开。

IP地址通常用点分十进制来表示,将每个字节转为10进制。

例如: 11000000.10101000.00000101.00000110

用点分十进制表示: 192.168.5.6


端口号

IP地址用于标识主机的网络地址,端口号用来定位一台主机中的进程。

网络通信就和发快递一样,IP地址就是收获地址,端口号相当于收货人。

端口号是0~65545范围的整数

一个端口号只能被一个进程绑定,但一个进程可以绑定多个端口号


网络通信基础

网络协议

网络协议,简称协议, 协议通俗的说就是约定。

在网络通信中, 网络传输经过的网络设备都必须共同遵守一组约定,如怎样建立连接,如何互相识别,只有遵守这个约定, 计算机之间才能进行网络通信。

网络通信是通过网线/光纤/无线来传输的数据的,传输媒介是电信号和光信号,通过电信号的强弱(高低电平)、光信号的频率来表示二进制的 0 和 1。

遵守了网络协议,通信双方才知道对方传输的二进制数据是什么意思。

协议最终体现为在网络上传输的数据包的格式 。


协议分层

协议分层的作用

网络通信,需要遵守的协议非常复杂。协议复杂了我们维护的成本就很高。

所以将一个复杂的协议进行了拆分,拆分成多个小的协议,这些小的协议里,有的功能和定位是类似的。

再将这些类似的协议进行分类。同时针对这些不同的类别进行分层。

分层后约定了层级和层级之间的调用关系:要求上层协议调用下层协议, 下层协议提供支持,不能跨层调用。

协议分层的好处:

  1. 层次之间耦合程度比较低,上层协议不必了解下层如何实现的,下层也不必了解上层的细节。
  2. 方便对某一层协议进行替换。


OSI 七层网络模型

在这里插入图片描述
这个模型既复杂又不实用,没有真正的落地,实现,是仅仅存在于教科书上的模型。

实际组建网络时,是用下面的 TCP/IP 来实现的,只包括了七层模型中的部分分层。


TCP/IP 五层网络模型

由于很多时候物理层考虑的比较少,所以也称为 TCP/IP 四层模型。

在这里插入图片描述

  • 应用层: 应用程序之间的沟通,数据传输过来,如何使用。

  • 传输层: 两台主机之间的数据传输,不考虑中间路径,只关注起点和终点。

  • 网络层: 地址管理和路由选择,主要负责网络中两个节点之间的路径规划。

  • 数据链路层: 主要关注两个相邻节点之间的数据传输。

  • 物理层: 网络通信的基础设施,无线、光纤、网络接口。

网络编程,就是主要针对应用层,传输层被应用层所调用,所以也与传输层有一定的接触。


封装和分用

封装: 发送方发送数据,要把数据从上到下,依次交给对应层的协议,进行封装数据。

分用: 接收方接收数据,要把数据从下到上,依次交给对应层的协议,进行解析数据。

举一个例子简单说明一下封装和分用的过程:A用QQ给B发了一条消息

封装:

  1. 应用层

    应用层进行封装,封装成应用数据包。

在这里插入图片描述

QQ具体是如何封装我们是不知道的,这里我们假设是这样的格式。

然后应用层调用传输层的 api ,让传输层处理这个数据。

  1. 传输层

    传输层有很多协议,最典型的是 UDP 和 TCP,这里以 UDP 为例。

    UDP 对应用数据包进行封装,将整个应用数据包作为载荷,添加 UDP 数据报头。

在这里插入图片描述

然后传输层将处理好的数据给网络层。

  1. 网络层

    网络层最常见的协议,IP 协议,将整个 UDP 数据报作为载荷,添加 IP 协议报头
    在这里插入图片描述

    然后将数据交给数据链路层。

  2. 数据链路层

    数据链路层最典型的协议,以太网协议。

    将 IP数据报作为载荷,添加以太网帧头和帧尾,封装成以太网数据帧。

在这里插入图片描述

mac 地址, 也叫做物理地址,于 IP 相似,也是描述一个主机在网络上的位置,当是用处不一样。

IP 用于在物理层的路径规划,mac 用于描述数据链路层中,两个即将传输的相邻节点的地址。

mac 地址和网卡绑定,每个设备都有一个唯一的 mac 地址(理论上)。

  1. 物理层

    最后物理层将上述二进制数据,通过光信号/电信号/电磁波信号,进行数据传输。

分用: 分用的过程就是封装的逆过程,这里就不赘述了。


两台主机之间的网络通信流程

两台主机进行网络通信,数据传输过程从中会经过很多节点进行转发。

数据传输过程中可能经过交换机,路由器等网络设备。

主机

主机会将数据包从应用层封装到物理层,然后传输给下一个交换机或路由器。

交换机

先将数据包从物理层分用到数据链路层,查看一下 mac 地址是否正确。

然后再将这个数据包封装到物理层,进行转发。

重新封装后 源mac 和 目的 mac 就变了。

路由器

路由器收到数据,会将数据从物理层分用到网络层。

会根据目的 IP 进行下一个阶段的路径规划。

然后再将数据包从网络层封装到物理层,进行转发。

通常来说交换机是进行 ”二层转发“,路由器进行 ”三次转发“,但是实际上,随着技术的不断发展,这两个设备之间界限越来越小,出现了很多三层交换机,四层交换机,四层路由器。

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值