计算机网络基础知识大全【汇总】
这里写自定义目录标题
- 计算机网络基础知识大全【汇总】
- 前言:TCP/IP协议
前言:TCP/IP协议
- 计算机网路学习的核心内容是
网络协议
的学习。-
网络协议是为计算机网络中进行数据交换而建立的规则,标准或者说是约定的集合。
因为不同用户的数据终端可能采取的字符集是不同的,两者需要进行通信,必须要在一定的标准上进行
-
就好比不同地区的人需要用
普通话
来进行交流一样。同样,放眼全球,我们与外国友人沟通的标准语言是英语,所以我们才要苦逼的学习英语。
-
-
- 所以,不同的协议就好比我们的语言一样,是多种多样的,不过最为著名的就是由ARPANET公司推出的
TCP/IP标准网络协议
ARPA公司与1977年到1979年推出了一种名为ARPANET的网络协议受到了广泛的热捧,其中最主要的原因就是它推出了人尽皆知的TCP/IP标准网络协议
再也不用担心网络通信无法沟通了
下图为不同计算机群之间利用TCP/IP进行通信的示意图。
1.网络层次划分
为了使得不同厂家的计算机能够相互通信,方便建立更庞大的计算机网络,国际标准化组织提出了“开放系统互联参考模型”
,将计算机网络体系结构的通信协议划分为七层,自上而下依次为:
1. 应用层(Application Layer)——为用户提供应用服务和接口(如网页浏览、文件传输)。
2. 表示层(Presentation Layer)——负责数据格式转换、加密、解密和压缩等操作。
3. 会话层(Session Layer)——管理会话的建立、维护和终止,确保数据通信的可靠性。
4. 传输层(Transport Layer)——确保数据的端到端传输,提供数据的可靠性和流量控制。
5. 网络层(Network Layer)——负责数据包的路由和转发,确保数据能从源传输到目的地
6. 数据链路层(Data Link Layer)——负责物理设备之间的帧传输,确保数据在同一网络内的正确传递。
7. 物理层(Physics Layer)——处理物理传输媒介和信号的传递
这里所说的是标准的OSI七层模型,除此之外,常见的网络层次划分还有TCP/IP四层以及TCP/IP五层协议。它们之间的对应关系如下图所示:
其中第四层完成数据传送服务,上面三层面向用户
2.OSI七层网络模型
1.应用层:
属于接口层次,为操作系统或者网络应用程序提供网络服务的接口
2.表示层
- 负责数据格式的转换、加密、解密和压缩
- 对上层数据或信息进行变换以保证一个主机应用层信息可以被另一个主机的应用程序理解
3.会话层
- 管理主机之间的绘画进程,即负责建立,管理,种猪进程之间的会话
- 利用在数据中插入校验点来实现数据的同步
4.传输层
- 第一个端到端,即主机到主机的层次
负责将上层数据分段以便传输,并且根据使用的协议(TCP或UDP),提供不同级别的传输服务:TCP提供可靠的传输服务,而UDP提供不可靠的传输服务。这些服务确保数据能够从一个网络端点有效、安全地传输到另一个网络端点。
- 涉及的设备:网关(又称网间连接器、协议转换器,充当转换重任的计算机系统或设备,用于实现
网络互连
)-
- 大家都知道,从一个房间走到另一个房间,必然要经过一扇门。同样,从一个网络向另一个网络发送信息,也必须经过一道“关口”,这道关口就是网关。顾名思义,
网关(Gateway)
就是一个网络连接到另一个网络的“关口”。也就是网络关卡。 - 今天很多局域网采用都是路由来接入网络,因此通常指的网关就是路由器的IP
- 通过一个例子理解DNS协议以及如何手动设置
**假设你的名字叫小不点(很小,这里你就是一个url地址,指向某个网页资源),你住在一个大院子里,你的邻居有很多小伙伴,父母
是你的网关。
当你想跟院子里的某个小伙伴玩,只要你在院子里大喊一声他的名字,他听到了就会回应你,并且跑出来跟你玩,但是你家长不允许你走出大门,你想与外界发生的一切联系,都必须由父母(网关)用电话帮助你联系。假如你想找你的同学小明聊天,小明家住在很远的另外一个院子里,他家里也有父母(小明的网关)。但是你不知道小明家的电话号码,不过你的班主任老师有一份你们班全体同学的名单和电话号码对照表.
你的老师
就是你的DNS服务器
。于是你在家里和父母有了下面的对话: - 小不点:妈妈(或爸爸),我想找班主任查一下小明的电话号码行吗?家长:好,你等着。(接着你家长给你的班主任拨了一个电话,问清楚了小明的电话)问到了,他家的号码是211.99.99.99
- 小不点:太好了!妈(或爸),我想找小明,你再帮我联系一下小明吧。
家长:没问题。(接着家长向电话局发出了请求接通小明家电话的请求,最后一关当然是被转接到了小明家家长那里,然后他家长把电话给转到小明). - 就这样你和小明取得了联系。
- 如果搞清了什么是网关,
默认网关
也就好理解了。就好像一个房间可以有多扇门一样,一台主机可以有多个网关。默认网关的意思是一台主机如果找不到可用的网关,就把数据包发给默认指定的网关,由这个网关来处理数据包。默认网关一般填写192.168.x.1**
- 大家都知道,从一个房间走到另一个房间,必然要经过一扇门。同样,从一个网络向另一个网络发送信息,也必须经过一道“关口”,这道关口就是网关。顾名思义,
-
5.网络层
- 实现的目的
- 涉及到的协议:
- 最重要的就是TCP/IP的核心协议——
IP协议
IP协议非常简单,仅仅提供不可靠、无连接的传送服务。
为了能适应异构网络,IP强调适应性、简洁性和可操作性,并在可靠性做了一定的牺牲。IP不保证分组的交付时限和可靠性,所传送分组有可能出现丢失、重复、延迟或乱序等问题。
- ICMP协议(Internet Control Message Protocol,因特网控制报文协议);
- ARP协议(Address Resolution Protocol,地址解析协议);
- RARP协议(Reverse Address Resolution Protocol,逆地址解析协议)。
- 最重要的就是TCP/IP的核心协议——
- 重要的设备
- 路由器
- 功能
1. 路由器最主要的功能为实现信息的转送。其实深入简出的说,就如同快递公司来发送邮件。邮件并不是瞬间到达最终目的地,而是通过不同分站的分拣,不断的接近最终地址,从而实现邮件的投递过程的。因为路由器处在不同网络之间,但并不一定是信息的最终接收地址。
- 所以在路由器中, 通常存在着一张路由表。根据传送网站传送的信息的最终地址,寻找下一转发地址,应该是哪个网络。我们把这个过程称之为寻址过程。
- 路由器寻址过程也是类似原理。通过最终地址,在路由表中进行匹配,通过算法确定下一转发地址。这个地址可能是中间地址,也可能是最终的到达地址
6.数据链路层
数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。为达到这一目的,数据链路必须具备一系列相应的功能,主要有:如何将数据组合成数据块,在数据链路层中称这种数据块为帧(frame)。
- 帧(frame)是数据链路层的传送单位
- 如何控制帧在物理信道上的传输,涉及到
- 包括如何处理传输差错?
- 使用
校验和(如CRC)、重传机制(如ARQ)以及前向纠错(FEC)
- 使用
- 如何调节发送速率以使与接收方相匹配?
- 通常涉及到
流控技术
,来确保i发送方不会因为发送数据过快而导致接收方无法处理。
- 通常涉及到
- 以及在两个网络实体之间提供数据链路通路的建立、维持和释放的管理。
数据链路层负责
在两个网络实体之间建立,维护和终止链路链接-
例如,以太网使用MAC地址进行帧的传输,而链路层协议如PPP(点对点协议)在建立连接时会进行参数协商,在连接结束后会进行适当的释放处理。
- 包括如何处理传输差错?
- 涉及到的重要设备:网桥和交换机
- 网桥
- 网桥也叫桥接器,是连接两个局域网的一种存储/转发设备,它能将一个大的LAN分割为多个网段,或将两个以上的LAN互联为一个逻辑LAN,使LAN上的所有用户都可访问服务器。
- 交换机
- 交换机(Switch)是一个重要的网络设备。交换机的主要作用是在局域网(LAN)内转发数据帧,根据设备的MAC地址(硬件地址)来确定数据帧的目标设备,并将数据帧转发到正确的端口。
- 交换器和集线器的区别在于交换器能够减少网络拥堵,因为它只将数据发送给特定的目标设备,而集线器则会将数据广播给所有连接的设备。
7.物理层
该层为上层协议提供了一个传输数据的可靠的物理媒体。简单的说,物理层确保原始的数据可在各种物理媒体上传输。物理层记住两个重要的设备名称,中继器(Repeater,也叫放大器)和集线器。
-
中继器(Repeater,也叫放大器):
- 中继器设计的目的是给你的网络信号以推动,以使它们传输得更远。
- 中继器可以连接两局域网的电缆,重新定时并再生电缆上的数字信号,然后发送出去
-
集线器
- 可以看作是多端口的中继器
- 值得注意的是:由于集线器会把收到的任何数字信号,经过再生或放大,再从集线器的所有端口提交,这会造成信号之间碰撞的机会很大,而且信号也可能被窃听,并且这代表所有连到集线器的设备,都是属于同一个碰撞域名以及广播域名,因此大部份集线器已被交换机取代
3.IP地址
1. 网络地址
IP地址是互联网上设备的标识,分为网络号(Network Address)和主机号(Host Address)两部分。
网络号主要用来标识网络
主机号用来标识该网络内的单个设备,对应于后面的几位。在一个网络中,网络地址的主机号通常被设置为全0,代表着整个网络。
作用:网络地址用来标识一个特定的网络或子网。
2.广播地址
广播地址
,顾名思义,是在网络中用于向所有主机发送消息的地址。广播地址的主机号部分全为1。
广播地址是向网络中所有设备广播信息的地址,当向广播地址发送数据时,网络内的所有主机都会接收到该数据。
3.组播地址
IP地址的分类:
D类地址就是组播地址。
- A类地址:
- 以0开头,第一个字节作为网络号,地址范围:0.0.0.0 ~ 127.255.255.255。
- A类地址用于大型网络,支持大量主机。
- B类地址
- 以10开头,前两个字节作为网络号,地址范围:128.0.0.0 ~ 191.255.255.255。
- B类地址适用于中型网络。
- C类地址
- 以110开头,前三个字节作为网络号,地址范围是:192.0.0.0~223.255.255.255。
- C类地址用于小型网络,最多支持254个主机。
- D类地址
-
以1110开头,地址范围是224.0.0.0~239.255.255.255,D类地址作为组播地址(一对多的通信)
-
D类地址用于一对多的组播通信,适用于多点传输场景
-
- E类地址
- 以1111开头,地址范围是240.0.0.0~255.255.255.255。
- E类地址为保留地址,供以后使用。
注:只有A,B,C有网络号和主机号之分,D类地址和E类地址没有划分网络号和主机号。
4.“225.225.225.225”
此IP地址指的是受限的广播地址。受限广播地址与一般广播地址(直接广播地址)的区别在于:
- 受限广播地址只能用于本地网络,路由器不会转发以受限广播地址为目的地址的分组。
一般的广播地址(直接广播地址)能够通过某些路由器(当然不是所有的路由器),而受限的广播地址不能通过路由器。
- 一般广播地址既可在本地广播,也可跨网段广播
5.“0.0.0.0”
0.0.0.0 是一个特殊的IP地址,具有特定的用途,特别是在网络协议中。它常用于代表一个未知或无效的地址,或者在某些情况下表示“当前的设备自身”。
在某些情况下,设备并不清楚自己的IP地址,尤其是对于没有硬盘的无盘机(如嵌入式设备、网络引导的计算机等)。当设备启动时,它无法获取到自己已分配的IP地址,因此需要向网络中的服务器请求获取自己的IP地址。
- 设备在启动时会向网络中的DHCP服务器发送请求,通常使用的是 广播地址 255.255.255.255。
- 在这个请求的过程中,设备可能会使用 0.0.0.0 作为源IP地址,因为它还不知道自己的IP地址,0.0.0.0 在这种情况下就表示设备当前没有配置IP。
6.回环地址
回环地址表示本机的地址,常用于对本机的测试,用的最多的是127.0.0.1
7.A、B、C类私有地址
私有地址(private address)也叫专用地址,它们不会在全球使用,只具有本地意义。
A类私有地址:范围是:10.0.0.0~10.255.255.255
B类私有地址:范围是:172.16.0.0~172.31.255.255
C类私有地址:范围是:192.168.0.0~192.168.255.255
4.子网掩码及网络划分
IP地址的稀缺:随着互连网应用的不断扩大,原先的IPv41的弊端也逐渐暴露出来,即网络号占位太多,而主机号位太少,所以其能提供的主机地址也越来越稀缺,目前除了使用NAT在企业内部利用保留地址自行分配以外,通常都对一个高类别的IP地址进行再划分,以形成多个子网
即“通过改变传统的子网划分方式来更有效地使用IP地址,或者理解为灵活调整子网掩码来创建更多的子网。”
从而提供给不同规模的用户群使用。
什么是子网掩码?
子网掩码是标志两个IP地址是否同属于一个子网的,也是32位二进制地址,其每一个为1代表该位是网络位,为0代表主机位。它和IP地址一样也是使用点式十进制来表示的。如果两个IP地址在子网掩码的按位与的计算下所得结果相同,即表明它们共属于同一子网中。
注意:
-
在计算子网掩码时,我们要注意IP地址中的保留地址,即" 0"地址和广播地址,它们是指主机地址或网络地址全为" 0"或"
1"时的IP地址,它们代表着本网络地址和广播地址,一般是不能被计算在内的。- 例如:
在 192.168.1.0/24 子网中:
网络地址是 192.168.1.0
广播地址是 192.168.1.255
可用于分配给主机的地址范围是 192.168.1.1 到 192.168.1.254。
- 例如:
具体如何划分子网可以伊布这个视频: 子网掩码之子网划分
5.ARP/PARP协议
ARP——地址解析协议
- ARP(Address Resolution Protocol),即地址解析协议,是根据IP地址获取物理地址的一个TCP/IP协议,主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。
- 应用
- ARP欺骗:
- 地址解析协议是建立在网络中各个主机互相信任的基础上的
- 网络上的主机可以自主发送ARP应答消息,因此,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;
- 由此攻击者就可以向某一主机发送
伪ARP应答报文
,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗。
- 查询本机ARP缓存中IP地址和MAC地址的对应关系以及IP地址和MAC地址之间的解析:
例如:当主机A要与主机B通信时,地址解析协议可以将主机B的IP地址(192.168.1.2)解析成主机B的MAC地址
- ARP欺骗:
RARP——逆地址解析协议
-
逆地址解析协议,即RARP,功能和ARP协议相对,其将局域网中某个主机的物理地址转换为IP地址
比如局域网中有一台主机只知道物理地址而不知道IP地址,那么可以通过RARP协议发出征求自身IP地址的广播请求,然后由RARP服务器负责回答。
6.路由选择协议
常见的路由选择协议有:RIP协议、OSPF协议。
RIP协议 :底层是贝尔曼福特算法,它选择路由的度量标准(metric)是跳数,最大跳数是15跳,如果大于15跳,它就会丢弃数据包。
OSPF协议 :Open Shortest Path First开放式最短路径优先,底层是迪杰斯特拉算法,是链路状态路由选择协议,它选择路由的度量标准是带宽,延迟。
7.TCP/IP协议
TCP/IP协议是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。通俗而言**:TCP负责发现传输的问题**,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台联网设备规定一个地址。
8.UDP协议
UDP用户数据报协议,是面向无连接的通讯协议,UDP数据包括目的端口号和源端口号信息,由于通讯不需要连接,所以可以实现广播发送。
9.DNS协议
DNS是域名系统(DomainNameSystem)的缩写,该系统用于命名组织到域层次结构中的计算机和网络服务,可以简单地理解为将URL转换为IP地址。
10.NAT协议
NAT网络地址转换(Network Address Translation)属接入广域网(WAN)技术,是一种将私有(保留)地址转化为合法IP地址的转换技术,它被广泛应用于各种类型Internet接入方式和各种类型的网络中。原因很简单,NAT不仅完美地解决了lP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。
11.DHCP协议
DHCP动态主机设置协议(Dynamic Host Configuration Protocol)是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:
- 给内部网络或网络服务供应商自动分配IP地址
- 给用户或者内部网络管理员作为对所有计算机作中央管理的手段。
12.HTTP协议
超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。
HTTP 协议包括哪些请求?
GET:请求读取由URL所标志的信息。
POST:给服务器添加信息(如注释)。
PUT:在给定的URL下存储一个文档。
DELETE:删除给定的URL所标志的资源。
HTTP 中, POST 与 GET 的区别
1)Get是从服务器上获取数据,Post是向服务器传送数据。
2)Get是把参数数据队列加到提交表单的Action属性所指向的URL中,值和表单内各个字段一一对应,在URL中可以看到。
3)Get传送的数据量小,不能大于2KB;Post传送的数据量较大,一般被默认为不受限制。
4)根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的。
13.举例说明
在浏览器中输入 http://www.baidu.com/ 后执行的全部过程。
现在假设如果我们在客户端(客户端)浏览器中输入 http://www.baidu.com, 而 baidu.com 为要访问的服务器(服务器),下面详细分析客户端为了访问服务器而执行的一系列关于协议的操作:
1)DNS解析和IP地址获取
- 将域名转换为IP地址。
- DNS解析:当你在浏览器中输入 http://www.baidu.com 时,浏览器首先需要知道该域名(www.baidu.com)对应的服务器的IP地址。为此,浏览器会通过DNS(域名系统)向DNS服务器发送请求,查询 www.baidu.com 的IP地址。DNS服务器返回域名对应的IP地址(例如 220.181.27.48),让客户端知道要访问的服务器的具体位置。
- 建立连接:浏览器获得了IP地址后,开始通过HTTP协议与服务器进行通信。客户端使用TCP协议封装HTTP请求数据包,然后将这些数据包通过网络层发送出去。此时客户端向目标服务器(IP地址为 220.181.27.48)发起连接。
2)传输层的处理(TCP分段和端口分配)
- 将HTTP请求封装到TCP段,分配端口进行通信
- 传输层:在客户端的传输层,HTTP请求会被分解成一个个数据包(称为报文段),并且会为每个数据包分配源端口(由客户端随机选定)和目标端口(通常为80端口,因为HTTP协议默认使用80端口)。客户端会选择一个本地端口(例如5000)与服务器进行数据交换。
- 端口和通信:TCP会为每个数据包附上源端口和目标端口,确保数据在客户端和服务器之间正确传输。
3)网络层的工作(路由和路径选择)
- 通过网络层的路由器查找数据包的路径
- 路由和转发:网络层负责根据IP地址查找数据包的传输路径。客户端的路由器根据路由表来判断如何将数据包发送到目标服务器的IP地址。客户端可能会经过多个路由器,直到数据包到达目标服务器。
4)链路层的处理(ARP协议和MAC地址)
- 通过链路层找到MAC地址,确保数据包能正确送达
- 客户端的链路层:链路层负责将数据包从客户端发送到路由器,然后通过邻居协议(例如ARP)找到目标IP地址对应的MAC地址。在数据包发送到路由器或服务器时,ARP协议会询问“哪个设备拥有这个IP地址?”并通过MAC地址来标识设备,确保数据包能正确送达。
参考链接:
https://www.runoob.com/w3cnote/summary-of-network.html
https://baike.baidu.com/item/IP/224599
https://baike.baidu.com/item/%E7%BD%91%E5%85%B3/98992#
https://www.cnblogs.com/maybe2030/p/4781555.html
网际协议版本4(英语:Internet Protocol version 4,缩写:IPv4,又称互联网通信协议第四版)是网际协议开发过程中的第四个修订版本,也是此协议第一个被广泛部署和使用的版本。其后继版本为IPv6,直到2011年,IANA IPv4位址完全用尽时,IPv6仍处在部署的初期。 ↩︎