互联网基础知识(最全网络基础知识汇总学习)

2022-07-22 16:50:12 发布:网友投稿
热度:34

互联网基础知识(网络基础知识最全面的总结学习)

网络技术的基本原理:

1.网络层次划分

2.OSI七层网络模型

3.国际电脑互联网地址

4.子网掩码和网络划分

5.ARP/RARP协议

6.路由协议

7.传输控制协议

8.UDP协议

9.域名系统协议

10.网络地址转换协议

11.DHCP协议

12.HTTP协议

13.一个例子

计算机网络学习的核心内容是网络协议的学习。网络协议是为计算机网络中的数据交换而建立的一套规则、标准或惯例。由于不同用户的数据终端可能采用不同的字符集,因此需要相互通信,这必须基于一定的标准。

计算机网络协议和我们的语言一样多样。ARPA公司在1977年到1979年推出了一个名为ARPANET的网络协议,受到了广泛的欢迎,主要原因是推出了大家熟知的TCP/IP标准网络协议。目前,TCP/IP协议已经成为互联网中的“通用语言”。下图是不同计算机组之间使用TCP/IP进行通信的示意图。

1.网络层次划分

1978年,国际标准化组织(ISO)提出了“开放系统互连参考模型”,即著名的OSI/RM模型,以使不同计算机制造商生产的计算机能够相互通信,在更大范围内建立计算机网络。

它将计算机网络体系结构的通信协议从下到上分为七层:

物理层(物理层)

数据链路层(数据链路层)

网络层

传输层

会话层

表示层

应用层(应用层)

第四层完成数据传输业务,上面三层是给用户的。

除了标准的OSI七层模型之外,常见的网络层还有TCP/IP四层协议和TCP/IP五层协议,它们之间的对应关系如下图所示:

2.OSI七层网络模型

TCP/IP协议无疑是互联网的基础协议。没有它,就不可能接入互联网,任何与互联网相关的操作都离不开TCP/IP协议。无论是OSI七层模型还是TCP/IP四层五层模型,每一层都需要自己的专有协议,完成自己相应的工作,并与上下两层进行通信。由于OSI七层模型是网络的标准层次结构,所以我们以OSI七层模型为例,从下往上介绍。

1)物理层

激活、维护和关闭通信端点之间的机械、电气、功能和过程特性。这一层为上层协议传输数据提供了可靠的物理介质。简而言之,物理层确保原始数据可以在各种物理介质上传输。请记住物理层中的两个重要设备名称,中继器(也称为放大器)和集线器。

2)数据链路层(数据链路层)

数据链路层在物理层提供服务的基础上向网络层提供服务,其最基本的服务是将数据从网络层可靠地传输到相邻节点的目标网络层。要实现这一目标,数据链路必须具备一系列相应的功能,主要包括:如何将数据组合成数据块,在数据链路层称为帧,帧是数据链路层的传输单元;如何控制帧在物理信道上的传输,包括如何处理传输错误以及如何调整传输速率以匹配接收机;以及提供对两个网络实体之间的数据链路路径的建立、维护和释放的管理。数据链路层通过不可靠的物理介质提供可靠的传输。该层的功能包括:物理地址寻址、数据成帧、流量控制、数据错误检测和重传等。

关于数据链路层的重要知识点:

1 >数据链路层为网络层提供可靠的数据传输;

2 >基本数据单元为帧;

3 >主要协议:以太网协议;

4 >两个重要的设备名称:网桥和交换机。

3)网络层

网络层的目的是实现两个端系统之间的透明数据传输,其具体功能包括寻址和路由、连接建立、维护和终止等。它提供的服务使得传输层不需要知道网络中的数据传输和交换技术。如果你想用尽可能少的单词记住网络层,那就是“路由、路由和逻辑块寻址”。

网络层涉及的协议很多,其中最重要的协议也是TCP/IP-IP协议的核心协议。IP协议非常简单,只提供不可靠和无连接的传输服务。IP协议的主要功能是无连接数据报传输、数据报路由和差错控制。用于实现其功能的其他IP协议包括ARP、RARP、ICMP和IGMP。我们将在下一部分总结具体的协议,重点是网络层,如下所示:

1 >网络层负责在子网之间路由数据包。此外,网络层还可以实现拥塞控制和互联网互联的功能。

2 >基本数据单元是IP数据报;

3 >主要协议包括:

网际协议;

互联网控制消息协议;

地址解析协议;

RARP协议(反向地址解析协议)。

4 >重要设备:路由器。

4)传输层

第一种是端到端,即主机到主机的层次结构。传输层负责对上层数据进行分段,并提供端到端、可靠或不可靠的传输。此外,传输层必须处理端到端错误控制和流量控制。

传输层的任务是根据通信子网的特点,充分利用网络资源,提供建立、维护和取消两个端系统会话层之间传输连接的功能,负责可靠的端到端数据传输。在这一层中,信息传输的协议数据单元称为段或消息。

网络层只根据网络地址将数据包从源节点传输到目的节点,而传输层负责将数据可靠地传输到相应的端口。

关注网络层:

1 >传输层负责对上层数据进行分段,提供端到端的可靠或不可靠传输以及端到端的差错控制和流量控制;

2 >主要协议包括:TCP(传输控制协议)、UDP(用户数据报协议);

3 >重要设备:网关。

5)会话层

会话层管理主机之间的会话进程,也就是说,它负责建立、管理和终止进程之间的会话。会话层还通过在数据中插入检查点来实现数据同步。

6)表示层

表示层对上层数据或信息进行转换,确保一台主机的应用层信息能够被另一台主机的应用程序理解。表示层的数据转换包括数据加密、压缩、格式转换等。

7)应用层

为操作系统或网络应用程序提供访问网络服务的接口。

会话层、表示层和应用层的重点:

1 >数据传输的基本单位是报文;

2 >主要协议包括:FTP(文件传输协议)、Telnet(远程登录协议)、DNS(域名解析协议)、SMTP(邮件传输协议)、POP3协议(邮局协议)、HTTP协议(超文本传输协议)。

3.国际电脑互联网地址

1)网络地址

IP地址由网络号(包括子网号)和主机号组成。网络地址的主机号全部为0,网络地址代表整个网络。

2)广播地址

广播地址通常称为直接广播地址,以区分受限广播地址。

广播地址正好与网络地址的主机号相对。在广播地址中,主机号都是1。当消息发送到网络的广播地址时,网络中的所有主机都可以接收到广播消息。

3)多播地址

D类地址是组播地址。

首先回忆一下甲、乙、丙和丁的地址:

A类地址以0开头,第一个字节为网络号,地址范围为:0 . 0 . 0 . 0 ~ 127 . 255 . 255 . 255;(修改@2016.05.31)

B类地址以10开头,前两个字节为网络号,地址范围为:128 . 0 . 0 . 0 ~ 191 . 255 . 255 . 255;

C类地址以110开头,前三个字节为网络号,地址范围为192.0.0.0~223.255.255.255。

D类地址以1110开头,地址范围为224.0.0.0~239.255.255.255。D类地址用作组播地址(一对多通信)。

E类地址以1111开头,范围从240.0.0.0到255.255.255.255.255。E类地址留作将来使用。

注意:只有A、B、C有网络号和主机号,D类地址和E类地址没有网络号和主机号。

4)255.255.255.255

该IP地址是指受限制的广播地址。受限广播地址与通用广播地址(直接广播地址)的区别在于,受限广播地址只能在本地网络中使用,路由器不会转发寻址到受限广播地址的数据包;通用广播地址可以在本地或跨网段广播。例如,在主机192.168.1.1/30上的直接广播数据包之后,另一个网段192.168.1.5/30也可以接收数据报;如果发送了受限广播数据报,则无法接收。

注意:一般广播地址(直接广播地址)可以通过一些路由器(当然不是所有路由器),而受限广播地址不能通过路由器。

5)0.0.0.0

它经常被用来寻找自己的IP地址。例如,在我们的RARP、BOOTP和DHCP协议中,如果一台IP地址未知的无盘机器想知道自己的IP地址,它会向本地范围内(具体来说是每个路由器屏蔽的范围)的服务器发送一个IP请求包,目的地址为255 . 255 . 255 . 255 . 255。

6)环回地址

17.0.0.0/8用作环回地址,代表本地计算机的地址。经常用来测试本地计算机,使用最多的是127.0.0.1。

7)甲、乙、丙类专用地址

私有地址也称为私有地址。它们不会在全球范围内使用,而仅具有本地意义。

A类私有地址:10.0.0.0/8,范围从10.0.0.0到10.255.255.255

B类私有地址:172.16.0.0/12,范围从172.16.0.0到172.31.255.255

C类私有地址:192.168.0.0/16,范围:192.168.0.0~192.168.255.255

4.子网掩码和网络划分

随着互联网应用的不断扩大,原有IPv4的弊端逐渐暴露出来,即网络号占用空间太大,主机号太少,因此它能提供的主机地址越来越少。目前,除了使用NAT在企业内部分配预留地址之外,一个高级别的IP地址通常会被细分,为不同规模的用户形成多个子网。

这里的主要目的是在网络分段的情况下有效利用IP地址。通过将主机号的上半部分作为子网号,子网掩码从通常的网络位限制扩展或压缩,以创建特定地址的更多子网。但是,当创建更多子网时,每个子网中可用的主机地址数量将会减少。

什么是子网掩码?

子网掩码表示两个IP地址是否属于同一个子网,也是一个32位二进制地址,网络位为1,主机位为0。和IP地址一样,用点分十进制表示。如果两个IP地址在子网掩码的按位AND计算下得到相同的结果,则意味着它们都属于同一个子网。

在计算子网掩码时,要注意IP地址中的保留地址,即“0”地址和广播地址。当主机地址或网络地址都是“0”或“1”时,它们指的是IP地址。它们代表网络地址和广播地址,一般不能算。

子网掩码的计算:

对于一个不需要细分子网的IP地址,它的子网掩码很简单,就是可以按照它的定义来写:如果一个B类IP地址是10.12.3.0,不需要细分子网,那么这个IP地址的子网掩码就是255.255.0.0。如果是C类地址,其子网掩码为255.255.255.0。其他的类比就不详细描述了。下面我们要介绍的重点是一个IP地址,它的高阶主机位需要作为划分的子网网络号,剩下的就是每个子网的主机号,那么如何计算每个子网的掩码呢。

以下是一些常见的关于子网掩码和网络划分的面试问题:

1)使用子网数量来计算

在找到子网掩码之前,有必要知道要划分的子网数量以及每个子网中所需的主机数量。

(1)将子网数量转换成二进制表示;

将B类IP地址168.195.0.0划分为27个子网:27 = 11011;

(2)得到二进制数字,n;

二进制是五位数,N = 5。

(3)获取IP地址的子网掩码,通过设置主机地址部分的前n位1,获取对IP地址进行子网划分的子网掩码。

将B类地址的子网掩码255.255.0.0的主机地址的前5位设置为1,得到255.255.248.0。

2)按主机数量计算。

要将B类IP地址168.195.0.0划分为几个子网,每个子网中有700台主机:

(1)将主机数量转换成二进制表示;

700=1010111100;

(2)如果主机数量小于等于254(注意去掉预留的两个IP地址),获取主机的二进制位数,为n,这里肯定是N8,表示主机地址会占用8位以上;

二进制是十位数,n = 10

(3)使用255.255.255.255将该类IP地址的所有主机地址位数设置为1,然后从后向前将所有N位设置为0,即为子网掩码值。

将该B类地址的子网掩码255.255.0.0的所有主机地址设置为1,得到255.255.255.255,然后将后10位从后往前设置为0,即1111111111 . 111100 . 000000,即255。这是拥有700台主机的B类IP地址168.195.0.0的子网掩码。

3)还有一种问题类型,要求您根据每个网络中的主机数量来规划子网地址和计算子网掩码。这也可以根据上述原理计算。

例如,如果一个子网中有10台主机,则该子网所需的IP地址为:

10+1+1+1=13

注意:添加的第一个是指该网络连接所需的网关地址,后面两个分别是指网络地址和广播地址。

因为13小于16(16等于2的四次幂),所以主机位是4位。而256-16 = 240,所以子网掩码是255.255.255.240。

如果一个子网中有14台主机,很多人经常会犯一个错误:他们仍然给子网分配16个地址空,却忘记给网关分配地址。这是错误的,因为14+1+1+1 = 17,17大于16,所以我们只能分配32个地址的子网(32等于2的5次方)空。那么子网掩码是:255.255.255.224。

5.ARP/RARP协议

地址解析协议ARP(Address Resolution Protocol)是一种根据IP地址获取物理地址的TCP/IP协议。主机发送信息时,向网络上的所有主机广播包含目标IP地址的ARP请求,并接收返回消息以确定目标的物理地址;收到返回消息后,将IP地址和物理地址存储在本地ARP缓存中并保存一定时间,在下一个请求中直接查询ARP缓存以节省资源。地址解析协议基于网络中主机之间的相互信任。网络上的主机可以独立发送ARP回复消息。当其他主机收到回复消息时,它们会将其记录在本地ARP缓存中,而不会检查其真实性。因此,攻击者可以向某台主机发送伪ARP回复消息,使其发送的信息无法到达预期的主机或错误的主机,这就构成了ARP欺骗。ARP命令可用于查询原生ARP缓存中IP地址与MAC地址的对应关系,添加或删除静态对应关系等。

ARP工作流程示例:

主机A的IP地址为192.168.1.1,MAC地址为0A-11-22-33-44-01;

主机B的IP地址为192.168.1.2,MAC地址为0A-11-22-33-44-02;

当主机A想要与主机B通信时,地址解析协议可以将主机B的IP地址(192.168.1.2)解析为主机B的MAC地址,工作流程如下:

(1)根据主机a上路由表的内容,IP确定访问主机b的转发IP地址为192.168.1.2。然后主机A在自己的本地ARP缓存中检查匹配的主机B的MAC地址。

(2)如果主机A在ARP缓存中找不到映射,它会要求192.168.1.2的硬件地址,以便将ARP请求帧广播给本地网络上的所有主机。主机A的IP地址和MAC地址包含在ARP请求中。本地网络上的每台主机都会收到ARP请求,并检查它是否与自己的IP地址匹配。如果主机发现请求的IP地址与自己的IP地址不匹配,它将丢弃ARP请求。

(3)主机B确定ARP请求中的IP地址与自己的IP地址匹配,然后将主机A的IP地址和MAC地址映射到本地ARP缓存中。

(4)主机B直接将包含其MAC地址的ARP回复消息发送回主机a

(5)主机A收到主机B的ARP回复消息后,会用主机B的IP和MAC地址映射更新ARP缓存,原生缓存是有生存期的。寿命结束后,上述过程将再次重复。一旦确定了主机B的MAC地址,主机A就可以向主机B发送IP通信。

反向地址解析协议,即RARP,与ARP协议功能相反。它将局域网中主机的物理地址转换为IP地址。比如局域网中的主机只知道物理地址却不知道IP地址,可以通过RARP协议发出对自己IP地址的广播请求,然后由RARP服务器负责应答。

RARP协议工作流程:

(1)向主机发送本地RARP广播,其中声明了主机的MAC地址,并请求任何接收到该请求的RARP服务器分配一个IP地址;

(2)本地网段上的RARP服务器收到该请求后,检查其RARP列表,查找MAC地址对应的IP地址;

(3)如果存在,RARP服务器向源主机发送响应数据包,并将IP地址提供给其他主机使用;

(4)如果不存在,RARP服务器不响应;

(5)源主机收到RARP服务器的响应信息时,使用获得的IP地址进行通信;如果一直没有收到RARP服务器的响应信息,说明初始化失败。

6.路由协议

常见的路由协议有RIP协议和OSPF协议。

RIP协议:底层是贝尔曼福特算法。其路由选择的度量是跳数,最大跳数为15跳。如果大于15跳,它将丢弃数据包。

OSPF协议:开放最短路径优先,开放最短路径优先,底层是Dijkstra算法,是链路状态路由协议,其路由度量是带宽和时延。

回到顶端

7.TCP/IP协议TCP/IP协议是互联网最基本的协议,是互联网的基础,由网络层的IP协议和传输层的TCP协议组成。一般来说,TCP负责发现传输问题,当出现问题时,它会发送信号请求重传,直到所有数据都安全正确地传输到目的地。IP是为互联网的每个联网设备指定一个地址。

IP层从下层(以太网设备驱动等网络接口层)接收数据包,发送到更高层——TCP或UDP层;相反,IP层还将从TCP或UDP层接收的数据包传输到较低层。IP数据包是不可靠的,因为IP没有做任何事情来确认数据包是按顺序发送的还是损坏的。IP数据包包含发送它的主机的地址(源地址)和接收它的主机的地址(目的地址)。

TCP是一种面向连接的通信协议。连接是通过三次握手建立的,当通信完成时,连接应该被移除。因为TCP是面向连接的,所以只能用于端到端的通信。TCP提供可靠的数据流服务,采用“带重传的肯定应答”技术,实现传输的可靠性。TCP还使用一种称为“滑动窗口”的方法来控制流量。所谓的窗口实际上代表了限制发送方发送速度的接收能力。

TCP消息头格式:

TCP协议的三次握手和四波:

注:序号:“sequance”序号;Ack:“确认”确认号;SYN:“同步”请求同步标志;;确认:“确认”确认标志;FIN:“终于”结束标志。

TCP连接建立过程:首先客户端发送连接请求消息,服务器端接受连接后回复ACK消息,并为此连接分配资源。客户端收到确认消息后,也会向服务器段发送确认消息,并分配资源,从而建立TCP连接。

TCP断开过程:假设客户端发起断开请求,即发送FIN消息。服务器收到FIN消息后,意思是“我在客户端没有数据可以发送给你”,但是如果你还有数据没有发送,就不用急着关闭Socket,可以继续发送数据。所以你先发一个ACK,“告诉客户我已经收到你的请求,但是我还没有准备好,请继续等待我的消息”。此时,客户端进入FIN_WAIT状态,并继续等待来自服务器的FIN消息。当服务端确定数据已经发送后,向客户端发送FIN消息,“告诉客户端,好的,我的数据已经发送出去,我准备关闭连接”。客户端收到FIN消息后“知道可以关闭连接,但还是不相信网络,怕服务器不知道关闭,所以发送ACK后进入TIME_WAIT状态。如果服务器没有收到确认,它可能会被重新传输。”服务器收到确认后,“知道可以断开”。如果客户端等待2MSL后仍未收到回复,则证明服务器已正常关闭。我的客户也可以关闭连接。好了,TCP连接就这样关闭了!

你为什么挥三次手?

在只有两次握手的情况下,假设客户机想要与服务器建立连接,但是由于中途连接请求的数据报丢失,客户机必须重新发送它。此时,服务器只接收到一个连接请求,因此连接可以正常建立。然而,有时客户端重新发送请求并不是因为数据报丢失,而是因为由于大量的网络并发,数据传输过程可能会在某个节点被阻塞。在这种情况下,服务器端将一个接一个地接收两个请求,并等待两个客户端请求向他发送数据...这就是问题所在,客户端实际上只有一个请求,而服务器端有两个响应。极端情况下,客户端可能会多次重发请求数据,导致服务器端最终建立N个以上的响应等待,造成极大的资源浪费!所以,“三次握手”是非常必要的!

你为什么挥四次手?

想象一下,如果您现在是客户端,并且想要断开与服务器的所有连接,您应该怎么做?第一步是自己停止向服务器发送数据,等待服务器的回复。但还没有结束。虽然你自己没有向服务器发送数据,但是因为你之前已经建立了平等的连接,所以此时他也有主动向你发送数据的权利。因此,服务器端必须停止主动向您发送数据,并等待您的确认。其实说白了就是保证双方之间一个合同的完整执行!

使用TCP的协议:FTP(文件传输协议)、Telnet(远程登录协议)、SMTP(简单邮件传输协议)、POP3(与接收邮件的SMTP相反)、HTTP协议等。

8.UDP协议

UDP数据报协议是一种无连接通信协议。UDP数据包括目的端口号和源端口号信息。因为通信不需要连接,所以可以实现广播传输。UDP通信不需要接收方确认,这是不可靠的传输,可能会发生丢包。在实际应用中,需要程序员进行验证。

UDP与TCP在同一层,但它不关心数据包的顺序、错误或重传。因此,UDP不适用于使用虚电路的面向连接的服务,UDP主要用于面向查询响应的服务,如NFS。与FTP或Telnet相比,这些服务需要交换的信息更少。

每个UDP报文分为UDP头和UDP数据区。报头由四个16位(2字节)字段组成,分别描述消息的源端口、目的端口、消息长度和校验值。UDP报头由4个字段组成,每个字段占用2个字节,如下所示:

(1)源端口号;

(2)目标端口号;

(3)数据报长度;

(4)检查数值。

使用的UDP协议包括TFTP(简单文件传输协议)、SNMP(简单网络管理协议)、DNS(域名解析协议)、NFS和BOOTP。

TCP和UDP的区别:TCP是面向连接的、可靠的字节流服务;UDP是一种无连接且不可靠的数据报服务。

9.域名系统协议

域名系统是域名系统的缩写,用于命名组织成域层次结构的计算机和网络服务。可以简单理解为把URL转换成IP地址。域名由一串用点分隔的单词或缩写组成。每个域名对应一个唯一的IP地址。在互联网上,域名和IP地址是一一对应的。DNS是域名解析的服务器。在互联网等TCP/IP网络中,DNS命名用于通过用户友好的名称来查找计算机和服务。

下一篇:牙签牛肉的做法(牙签牛肉家常做法)
上一篇:世界上智商最高的人(地球上智商最高的3个人)