Linux——计算机网络基础概论

一、网络基本概念

(一)网络

网络是由若干个结点和连接这些结点的链路组成,网络中的结点可以是计算机、交换机、路由器等设备。

网络设备:交换机、路由器、集线器等

传输介质:双绞线、同轴电缆、光纤等

(二)互联网

互联网是网络的网络,把世界各地许许多多独立的网络通过路由器互联在一起,形成一个巨大的互联网络。目前最大的互联网就是因特网。

(三)IP地址

1.IP地址

IP地址就是给因特网上的每一个主机(或路由器)的每一个接口分配的一个在全世界范围内唯一的标识符。IP地址因其特殊的结构是我们可以在因特网上很方便地进行寻址。

IP地址有IPV4和IPV6两种类别格式:

IPV4是32位无符号整数(4字节),格式类似"A.B.C.D",用"."分成4个段,每个段是8个位(值为0-255),用十进制表示(例如:192.168.31.1);

IPV6是128位无符号整数(16字节),格式类似"XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX",用":"分成8个段,每个段是16个位,用4个16进制表示(例如:2001:0db8:3c4d:0015:0000:0000:1a2f:1a2b)。

2.网络号

为了方便寻址,了解目标主机的位置,每个IP地址由网络号和主机号两个部分构成。同一个物理网络上所有主机都使用同一个网络号,只是主机号不用。

3.IP地址分类

A类:IP地址范围为0.0.0.0~127.255.255.255

B类:IP地址范围为128.0.0.0~191.255.255.255

C类:IP地址范围为192.0.0.0~223.255.255.255

D类和E类一般不使用


补充1:ifconfig

"ifconfig"可以在linux查看自己的ip地址

补充2:如何解决IP地址不够用的问题

当前绝大多数网络设备使用的都是IPV4,但是IPV4只有4字节,所能使用的IP地址是有限的,如果IP地址不够用,该如何解决?

(1)DHCP动态分配

简答来说就是,只给连上互联网的主机分配IP地址;如果不上网,则不分配IP地址

(2)NAT/NAPT网络地址转换技术

让多个主机使用同一个公网的IP地址进行上网,以此来节省IP地址的使用

以上两种方法,只能尽可能地节省IP地址的使用;若想从根本上解决问题,就是使用IPV6(16字节),但是由于IPV6并不兼容IPV4,这就意味着如果强行将IPV4转为IPV6就会导致很多网络设备都需要更换,包括很多网络通信程序也得重新编写,这就使得成本变得非常高。

(四)MAC地址

在局域网中,硬件地址又称为物理地址或者MAC地址,长度48位,是固化在计算机适配器的ROM中的地址。

(五)端口号

本质:2字节无符号整数

作用:在一台主机上,唯一标识一个网络通信程序

注意:一个进程可以占用多个端口号,但是一个端口号只能被一个进程占用

二、网络通信协议

(一)网络协议

网络协议是一组网络规则的集合;是网络通信中,通信两端的数据格式约定。常见的网络协议如下:

(二)网络分层模型

基于网络通信的环境的复杂性,对网络通信协议进行分层,不同的层次使用不同的协议,解决不同的问题。

主要有两种模型:OSI七层模型、TCP/IP 四层模型。


以TCP/IP四层模型为例,每一层都有其各自所负责的功能以及所使用的协议。

1.应用层

负责应用程序之间的数据沟通

典型协议:HTTP,FTP,DNS

2.传输层

负责两个进程之间的数据传输

典型协议:

(1)TCP:可靠传输协议,安全但是传输性能略输于UDP

(2)UDP:不可靠传输协议,不安全,但传输性能高

涉及到的设备:PC主机

3.网络层

负责两个主机之间的数据传输

网络层约定的关键信息:源端IP+对端IP

典型协议:IP协议

涉及到的设备:路由器(起点到终点的路径选择)

4.数据链路层

负责相邻设备之间的数据传输

链路层约定的关键信息:源端MAC地址+对端MAC地址

典型协议:以太网协议

涉及到的设备:交换机(相邻设备的选择与转发)

三、网络应用程序通信流程

相关推荐
别动我齐刘海1 小时前
ROS2 Jazzy + C++ 时间系统——Time / Clock / Duration
linux·c++·人工智能·学习·机器学习·机器人·自动驾驶
cuijiecheng20181 小时前
MobaXterm上传大文件到rk3588板子失败
linux
半仙白桑1 小时前
内核篇第十三讲:system-V消息队列
java·linux·网络
盐焗鹌鹑蛋2 小时前
【Linux】线程概念和控制
java·linux·服务器
顺顺 尼12 小时前
linux 进程信号(上)
linux·c++·算法
niuTaylor12 小时前
飞腾 FT-2000/4 Ubuntu 内存卡 / NVMe SSD 系统制作完整指南
linux·服务器·人工智能·驱动开发·单片机
傲世仙尊13 小时前
信号量环形队列与线程池起步-把临界资源拆成很多份
linux
Huangjin007_14 小时前
【Linux 系统篇(二十五)】文件(二) 系统文件I/O详解
linux·运维·服务器
ShineWinsu14 小时前
对于ProtoBuffer:ProtoBuffer的介绍以及安装
linux·网络·google·协议·序列化·反序列化·protobuffer