【Linux】网络的基本认识

这一篇我们讲述网络的发展史,通过不同的问题与方案提出再到方案修改来了解网络在历史的发展过程
网络的基本认识:
刚开始的时候都是拿着u盘拷贝数据,计算机不能直接交流数据,交换机(固定主机沟通数据)就应运而生,做到数据交换的功能,做到通信。缺乏灵活性,因为交换机指定了发送的和接收的计算机。随着网络发展,路由器也产生了,路由选择功能,通过内置配置判断选择,发送数据发送到自身局域网的网络当中,还是发送到别的网络当中,发送到哪一个主机。此时的网络构成很小的局域网(网络范围几千米之内的)
覆盖范围进行划分:(按照课本上来的,很网上的有差异)
局域网: < 5km
城域网: < 5~50km
广域网: > 50k以上

大范围的广域网:互联网和因特网
互联网是国家性质的广域网, 因特网覆盖全球的广域网

组网方式:
令牌环网: 早期的,避免数据的冲突,因为网络端都能发送数据
以太网:现在大部分的组网方式,实现起来较为灵活

ip地址
uint32_t 类型的一个整数, 用于在网络中唯一标识一台主机。显然只能由类型的最大值决定有多少个ip地址能上网。但是0 -2^32 表示的数只有143亿不到,显然是不够用的? 那我们就直接定义类型为128位,2^128次方,这就是一个相当大的数了,ip地址的问题就解决了

ipv4版本和ipv6版本
前面32位的叫做ipv4版本,后面的定义的128位的叫做ipv6版本。但是ipv6版本的发行比ipv4晚,而且并不兼容ipv4,不保持向前兼容的原则。所以ipv6通信对以前的程序不友好,原来开发的程序都得重新开发,耗费成本,所以ipv6没有推广起来。那么问题又来了,,, ipv4地址总共就有2^32次方个地址,不够用,哪还能全部上网呢???接下来又引出了DHCP动态地址分配技术。

DHCP动态地址分配技术
简单的来说就是–谁上网给谁分配一个ip地址。
但是DHCP动态地址分配技术只是缓解了问题,但是不能解决问题,同时上网的人还是特别多,那么又引来了另一个NAT地址转换技术

NAT地址转换技术
简单的来说就是–大家使用同一个ip地址上网。在网络传输中每条数据必须包含源ip地址和目的ip地址。NAT转化技术把源ip地址改为现在路由器的ip地址。

端口
端口是一个uint16_t 类型的整数—用于在一个主机上唯一标识一个进程
端口号的范围就是 0-65535
注意:一个端口号只能标识一个进程,也就是说一个进程只能占用一个端口号,但是一个进程可以使用多个端口
举个栗子:游戏程序中,王者荣耀客户端,包括地图数据,音频数据,文字信息,串行方式效率低下,这个端口传输 地图数据, 这个端口传输音频数据,另一个传输文字信息等等, 提高效率。

那么一个客户端主机上最多能够启动多少个客户端?
端口唯一标识一个进程而且 端口范围: 0 --65535,所以能启动最大范围数量的客户端
而且在网络传输中的每条数据中都必须包含有源端口和目的端口

此时还存在问题,通过网卡进行数据传输,数据在计算机中是0或1的数字信号 电信号,通过高低电频实现电信号的传输,对方接受的网卡进行接收 在将电信号转化为数字信号 进行计算机接收
但是网卡有很多不同的厂商,要有约定方式,要不传输的时候会出现数据转换错错误。
通信协议通信双方在通信过程中的数据格式约定,只有使用统一标准网络通信协议才能实现网络互联

所以在网络通信中,都会有五元组:源IP地址 目的IP地址 源端口 目的端口 协议

发布了55 篇原创文章 · 获赞 12 · 访问量 5273

猜你喜欢

转载自blog.csdn.net/weixin_43939593/article/details/103208004