1. 思百科首页
  2. 懂百科

网络知识学习(网络入门知识学习)

网络学习(网络入门知识学习)

网络技术的基本原理:

1.网络层次结构

2.OSI七层网络模型

3.国际电脑互联网地址

4.子网掩码和网络划分

5.ARP/RARP协议

6.路由协议

Tcp/IP协议

Udp协议

9.DNS协议

10.NAT协议

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 >主要协议包括:

IP协议(互联网协议);

ICMP(互联网控制消息协议);

地址解析协议(ARP);

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、B、C、D类地址:

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

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

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

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

E类地址以1111开头,地址范围为240.0.0 ~ 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地址,就以255.255.255.255为目的地址,向本地(具体来说就是各个路由器屏蔽的区域)的服务器发送IP请求包。

6)环回地址

27.0.0.0/8用作环回地址,表示本地机器的地址,常用于测试本地机器。最常用的是127.0.0.1。

7)A、B和C类私有地址

私有地址也称为私有地址。它们不会在全世界范围内使用,只具有局部意义。

A类私有地址:10.0.0.0/8,范围为:10.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地址相同,则意味着它们都属于同一个子网。

在计算子网掩码时,要注意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,即1111111111111 . 000000,即255。这是要划分为700台主机的B类IP地址168.195.0.0的子网掩码。

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

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

10+1+1+1=13

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

因为13小于16(16等于2的4次方),所以主机位是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(地址解析协议),是一种根据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和四波的三次握手:

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

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

TCP断开流程:假设客户端发起断开请求,即发送FIN消息。服务器收到FIN消息后,表示“我在客户端没有任何数据发送给你”。但是,如果你还有数据要发送,你也不必急着关闭套接字,你可以继续发送数据。于是你先发送ACK,“告诉客户端我已经收到你的请求,但是我还没有准备好,请继续等我的消息”。此时,客户端进入FIN_WAIT状态,继续等待来自服务器端的FIN消息。当服务器确定数据已经发送完毕,就向客户端发送FIN消息,“告诉客户端,OK,我的数据已经发送完毕,准备关闭连接”。客户端收到FIN消息后,“我知道有可能关闭连接,但他还是不相信网络,怕服务器不知道红豆博客会关闭,我就发了ACK,进入TIME_WAIT状态。如果服务器没有收到ACK,我可以重新传输它。”服务器收到ACK后,“就知道可以断开了”。等待2MSL后,客户端仍然收不到回复,证明服务器正常关闭。我的客户也可以关闭连接。好了,TCP连接关闭!

为什么摇三次?

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

为什么要挥四次?

试想一下,如果你现在是一个客户端,想要断开与服务器的连接,该怎么办?第一步,自己停止向服务器发送数据,等待服务器的回复。但这还没有结束。虽然你自己不发送数据给服务器,但是因为你之前已经建立了平等的连接,他这个时候就有了发送数据给你的主动权。因此,服务器不得不停止主动向您发送数据,并等待您的确认。其实说白了就是保证双方一个合同的完全履行!

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

Udp协议

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

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

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

(1)源端口号;

(2)目标端口号;

(3)数据报的长度;

(4)检查值。

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

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

9.DNS协议

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

10.NAT协议

网络地址转换(NAT)属于接入广域网(WAN)技术,是一种将私有(保留)地址转换为合法IP地址的转换技术。它广泛应用于各种类型的互联网接入方式和各种类型的网络中。原因很简单。NAT不仅完美解决了lP地址不足的问题,还能有效避免来自网络外部的攻击,隐藏和保护网络内部的计算机。

11.DHCP协议

DHCP(动态主机配置协议)是局域网的一种网络协议。它与UDP协议一起工作,它有两个主要目的:自动分配IP地址给内部网络或网络服务提供商,并给用户或内部网络管理员作为集中管理所有计算机的手段。

12.HTTP协议

超文本传输协议(HTTP)是互联网上使用最广泛的网络协议。所有WWW文档都必须符合该标准。

HTTP协议中包含哪些请求?

GET:请求读取由URL标记的信息。

POST:向服务器添加信息(比如评论)。

PUT:在给定的URL下存储一个文档。

删除:删除由给定URL标记的资源。

在HTTP中,POST和GET的区别

1)Get是从服务器获取数据,Post是向服务器传输数据。

2)Get是将参数数据队列添加到提交表单的Action属性所指向的URL中。该值与表单中的每个字段一一对应,这可以在URL中看到。

3)3)Get传输的数据量小,不能大于2kb;Post传输的数据量较大,一般默认不限量。

4)根据HTTP规范,GET用于信息获取,应该是安全的,幂等的。

一、所谓安全,就是这个操作是用来获取信息的,不是用来修改信息的。换句话说,GET请求通常应该没有副作用。也就是说,它只获取资源信息,就像数据库查询一样,不修改或添加数据,不影响资源的状态。

二。幂等意味着对同一个URL的多个请求应该返回相同的结果。

13.举个例子。

在浏览器中输入www.baidu.com后执行的所有过程。

现在假设我们在客户端(client)的浏览器中输入http://www.baidu.com,Baidu.com是要访问的服务器(server),下面详细分析客户端为了访问服务器而执行的一系列协议操作:

1)客户端浏览器通过DNS解析到www.baidu.com的IP地址220.181.27.48,并通过该IP地址找到客户端到服务器的路径。客户端浏览器向220.161.27.48发起HTTP会话,然后通过TCP封装数据包,输入到网络层。

2)在客户端的传输层,将HTTP会话请求分成消息段,添加源和目的红豆博客端口。比如服务器使用80端口监听客户端的请求,客户端会随机选择5000之类的端口与服务器交换,服务器会将相应的请求返回给客户端的5000端口。然后使用IP层的IP地址找到目的地。

3)客户端的网络层与应用层或传输层没有任何关系。它所做的是通过查找路由表来确定如何到达服务器,路由表可能会经过多个路由器。这些都是路由器完成的。不用太多描述,无非就是找路由表决定哪条路径到服务器。

4)客户端的链路层,数据包通过链路层发送到路由器,通过邻居协议找到给定IP地址的MAC地址,然后发送ARP请求找到目的地址。如果得到响应,可以使用ARP请求来应答交换的IP包,然后将IP包发送到服务器的地址。

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 engola@qq.com 举报,一经查实,本站将立刻删除。文章链接:https://www.4baike.com/n/12135.html

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注