- 44.18 KB
- 2021-05-18 发布
- 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
- 网站客服QQ:403074932
计算机入门基础必备知识大全
计算机网络基础知识汇总学习
计算机网络学习的核心内容就是网络协议的学习。网络协议
是为计算机网络中进行数据交换而建立的规则、标准或者说是约
定的集合。因为不同用户的数据终端可能采取的字符集是不同的,
两者需要进行通信,必须要在一定的标准上进行。一个很形象地
比喻就是我们的语言,我们大天朝地广人多,地方性语言也非常
丰富,而且方言之间差距巨大。A 地区的方言可能 B 地区的人根
本无法接受,所以我们要为全国人名进行沟通建立一个语言标准,
这就是我们的普通话的作用。同样,放眼全球,我们与外国友人
沟通的标准语言是英语,所以我们才要苦逼的学习英语。
计算机网络协议同我们的语言一样,多种多样。而 ARPA 公司
与 1977 年到 1979 年推出了一种名为 ARPANET 的网络协议受到了
广泛的热捧,其中最主要的原因就是它推出了人尽皆知的 TCP/IP
标准网络协议。目前 TCP/IP 协议已经成为 Internet 中的“通用
语言”,下图为不同计算机群之间利用 TCP/IP 进行通信的示意图。
一、网络层次划分
为了使不同计算机厂家生产的计算机能够相互通信,以便在
更大的范围内建立计算机网络,国际标准化组织(ISO)在 1978 年
提出了“开放系统互联参考模型”,即著名的 OSI/RM 模型(Open
System Interconnection/Reference Model)。
它将计算机网络体系结构的通信协议划分为七层,自下而上
依次为:
物理层(Physics Layer)
数据链路层(Data Link Layer)
网络层(Network Layer)
传输层(Transport Layer)
会话层(Session Layer)
表示层(Presentation Layer)
应用层(Application Layer)
其中第四层完成数据传送服务,上面三层面向用户。
除了标准的 OSI 七层模型以外,常见的网络层次划分还有
TCP/IP 四层协议以及 TCP/IP 五层协议,它们之间的对应关系如
下图所示:
二、OSI 七层网络模型
TCP/IP 协议毫无疑问是互联网的基础协议,没有它就根本不
可能上网,任何和互联网有关的操作都离不开 TCP/IP 协议。不管
是 OSI 七层模型还是 TCP/IP 的四层、五层模型,每一层中都要自
己的专属协议,完成自己相应的工作以及与上下层级之间进行沟
通。由于 OSI 七层模型为网络的标准层次划分,所以我们以 OSI
七层模型为例从下向上进行一一介绍。
1)物理层(Physical Layer)
激活、维持、关闭通信端点之间的机械特性、电气特性、功
能特性以及过程特性。该层为上层协议提供了一个传输数据的可
靠的物理媒体。简单的说,物理层确保原始的数据可在各种物理
媒体上传输。物理层记住两个重要的设备名称,中继器(Repeater,
也叫放大器)和集线器。
2)数据链路层(Data Link Layer)
数据链路层在物理层提供的服务的基础上向网络层提供服务,
其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点
的目标机网络层。为达到这一目的,数据链路必须具备一系列相
应的功能,主要有:如何将数据组合成数据块,在数据链路层中
称这种数据块为帧(frame),帧是数据链路层的传送单位;如何控
制帧在物理信道上的传输,包括如何处理传输差错,如何调节发
送速率以使与接收方相匹配;以及在两个网络实体之间提供数据链
路通路的建立、维持和释放的管理。数据链路层在不可靠的物理
介质上提供可靠的传输。该层的作用包括:物理地址寻址、数据
的成帧、流量控制、数据的检错、重发等。
有关数据链路层的重要知识点:
1> 数据链路层为网络层提供可靠的数据传输;
2> 基本数据单位为帧;
3> 主要的协议:以太网协议;
4> 两个重要设备名称:网桥和交换机。
3)网络层(Network Layer)
网络层的目的是实现两个端系统之间的数据透明传送,具体
功能包括寻址和路由选择、连接的建立、保持和终止等。它提供
的服务使传输层不需要了解网络中的数据传输和交换技术。如果
您想用尽量少的词来记住网络层,那就是“路径选择、路由及逻
辑寻址”。
网络层中涉及众多的协议,其中包括最重要的协议,也是
TCP/IP 的核心协议——IP 协议。IP 协议非常简单,仅仅提供不
可靠、无连接的传送服务。IP 协议的主要功能有:无连接数据报
传输、数据报路由选择和差错控制。与 IP 协议配套使用实现其功
能的还有地址解析协议 ARP、逆地址解析协议 RARP、因特网报文
协议 ICMP、因特网组管理协议 IGMP。具体的协议我们会在接下来
的部分进行总结,有关网络层的重点为:
1> 网络层负责对子网间的数据包进行路由选择。此外,网络
层还可以实现拥塞控制、网际互连等功能;
2> 基本数据单位为 IP 数据报;
3> 包含的主要协议:
IP 协议(Internet Protocol,因特网互联协议);
ICMP 协议(Internet Control Message Protocol,因特网控
制报文协议);
ARP 协议(Address Resolution Protocol,地址解析协议);
RARP 协议(Reverse Address Resolution Protocol,逆地址
解析协议)。
4> 重要的设备:路由器。
4)传输层(Transport Layer)
第一个端到端,即主机到主机的层次。传输层负责将上层数
据分段并提供端到端的、可靠的或不可靠的传输。此外,传输层
还要处理端到端的差错控制和流量控制问题。
传输层的任务是根据通信子网的特性,最佳的利用网络资源,
为两个端系统的会话层之间,提供建立、维护和取消传输连接的
功能,负责端到端的可靠数据传输。在这一层,信息传送的协议
数据单元称为段或报文。
网络层只是根据网络地址将源结点发出的数据包传送到目的
结点,而传输层则负责将数据可靠地传送到相应的端口。
有关网络层的重点:
1> 传输层负责将上层数据分段并提供端到端的、可靠的或不
可靠的传输以及端到端的差错控制和流量控制问题;
2> 包含的主要协议:TCP 协议(Transmission Control
Protocol,传输控制协议)、UDP 协议(User Datagram Protocol,
用户数据报协议);
3> 重要设备:网关。
5)会话层
会话层管理主机之间的会话进程,即负责建立、管理、终止
进程之间的会话。会话层还利用在数据中插入校验点来实现数据
的同步。
6)表示层
表示层对上层数据或信息进行变换以保证一个主机应用层信
息可以被另一个主机的应用程序理解。表示层的数据转换包括数
据的加密、压缩、格式转换等。
7)应用层
为操作系统或网络应用程序提供访问网络服务的接口。
会话层、表示层和应用层重点:
1> 数据传输基本单位为报文;
2> 包含的主要协议:FTP(文件传送协议)、Telnet(远程登录
协议)、DNS(域名解析协议)、SMTP(邮件传送协议),POP3 协议
(邮局协议),HTTP 协议(Hyper Te__t Transfer Protocol)。
三、IP 地址
1)网络地址
IP 地址由网络号(包括子网号)和主机号组成,网络地址的主
机号为全 0,网络地址代表着整个网络。
2)广播地址
广播地址通常称为直接广播地址,是为了区分受限广播地址。
广播地址与网络地址的主机号正好相反,广播地址中,主机
号为全 1。当向某个网络的广播地址发送消息时,该网络内的所
有主机都能收到该广播消息。
3)组播地址
D 类地址就是组播地址。
先回忆下 A,B,C,D 类地址吧:
A 类地址以 0 开头,第一个字节作为网络号,地址范围为:
0.0.0.0~127.255.255.255;(modified @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,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)回环地址
127.0.0.0/8 被用作回环地址,回环地址表示本机的地址,
常用于对本机的测试,用的最多的是 127.0.0.1。
7)A、B、C 类私有地址
私有地址(private address)也叫专用地址,它们不会在全球
使用,只具有本地意义。
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
四、子网掩码及网络划分
随着互连网应用的不断扩大,原先的 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,这里肯定 N<8。如果大
于 254,则 N>8,这就是说主机地址将占据不止 8 位;
该二进制为十位数,N=10;
(3) 使用 255.255.255.255 来将该类 IP 地址的主机地址位数
全部置 1,然后从后向前的将 N 位全部置为 0,即为子网掩码值。
将该 B 类地址的子网掩码 255.255.0.0 的主机地址全部置 1,
得到 255.255.255.255,然后再从后向前将后 10 位置 0,即为:
11111111.11111111.11111100.00000000,即 255.255.252.0。这
就是该欲划分成主机为 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。
五、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 服务器的响应信息,表示
初始化失败。
六、路由选择协议
常见的路由选择协议有:RIP 协议、OSPF 协议。
RIP 协议 :底层是贝尔曼福特算法,它选择路由的度量标准
(metric)是跳数,最大跳数是 15 跳,如果大于 15 跳,它就会丢
弃数据包。
OSPF 协议 :Open Shortest Path First 开放式最短路径优
先,底层是迪杰斯特拉算法,是链路状态路由选择协议,它选择
路由的度量标准是带宽,延迟。
回到顶部
七、TCP/IP 协议
TCP/IP 协议是 Internet 最基本的协议、Internet 国际互联
网络的基础,由网络层的 IP 协议和传输层的 TCP 协议组成。通俗
而言:TCP 负责发现传输的问题,一有问题就发出信号,要求重
新传输,直到所有数据安全正确地传输到目的地。而 IP 是给因特
网的每一台联网设备规定一个地址。
IP 层接收由更低层(网络接口层例如以太网设备驱动程序)发
来的数据包,并把该数据包发送到更高层---TCP 或 UDP 层;相反,
IP 层也把从 TCP 或 UDP 层接收来的数据包传送到更低层。IP 数据
包是不可靠的,因为 IP 并没有做任何事情来确认数据包是否按顺
序发送的或者有没有被破坏,IP 数据包中含有发送它的主机的地
址(源地址)和接收它的主机的地址(目的地址)。
TCP 是面向连接的通信协议,通过三次握手建立连接,通讯
完成时要拆除连接,由于 TCP 是面向连接的所以只能用于端到端
的通讯。TCP 提供的是一种可靠的数据流服务,采用“带重传的
肯定确认”技术来实现传输的可靠性。TCP 还采用一种称为“滑
动窗口”的方式进行流量控制,所谓窗口实际表示接收能力,用
以限制发送方的发送速度。
TCP 报文首部格式:
TCP 协议的三次握手和四次挥手:
注:seq:"sequance"序列号;ack:"acknowledge"确认
号;SYN:"synchronize"请求同步标志;;ACK:"acknowledge"确认标
志";FIN:"Finally"结束标志。
TCP 连接建立过程:首先 Client 端发送连接请求报文,
Server 段接受连接后回复 ACK 报文,并为这次连接分配资源。
Client 端接收到 ACK 报文后也向 Server 段发生 ACK 报文,并分
配资源,这样 TCP 连接就建立了。
TCP 连接断开过程:假设 Client 端发起中断连接请求,也就
是发送 FIN 报文。Server 端接到 FIN 报文后,意思是说"我
Client 端没有数据要发给你了",但是如果你还有数据没有发送
完成,则不必急着关闭 Socket,可以继续发送数据。所以你先发
送 ACK,"告诉 Client 端,你的请求我收到了,但是我还没准备
好,请继续你等我的消息"。这个时候 Client 端就进入 FIN_WAIT
状态,继续等待 Server 端的 FIN 报文。当 Server 端确定数据已
发送完成,则向 Client 端发送 FIN 报文,"告诉 Client 端,好了,
我这边数据发完了,准备好关闭连接了"。Client 端收到 FIN 报
文后,"就知道可以关闭连接了,但是他还是不相信网络,怕
Server 端不知道要关闭,所以发送 ACK 后进入 TIME_WAIT 状态,
如果 Server 端没有收到 ACK 则可以重传。“,Server 端收到 ACK
后,"就知道可以断开连接了"。Client 端等待了 2MSL 后依然没
有收到回复,则证明 Server 端已正常关闭,那好,我 Client 端
也可以关闭连接了。Ok,TCP 连接就这样关闭了!
为什么要三次挥手?
在只有两次“握手”的情形下,假设 Client 想跟 Server 建
立连接,但是却因为中途连接请求的数据报丢失了,故 Client 端
不得不重新发送一遍;这个时候 Server 端仅收到一个连接请求,
因此可以正常的建立连接。但是,有时候 Client 端重新发送请求
不是因为数据报丢失了,而是有可能数据传输过程因为网络并发
量很大在某结点被阻塞了,这种情形下 Server 端将先后收到 2 次
请求,并持续等待两个 Client 请求向他发送数据...问题就在这
里,Cient 端实际上只有一次请求,而 Server 端却有 2 个响应,
极端的情况可能由于 Client 端多次重新发送请求数据而导致
Server 端最后建立了 N 多个响应在等待,因而造成极大的资源浪
费!所以,“三次握手”很有必要!
为什么要四次挥手?
试想一下,假如现在你是客户端你想断开跟 Server 的所有连
接该怎么做?第一步,你自己先停止向 Server 端发送数据,并等
待 Server 的回复。但事情还没有完,虽然你自身不往 Server 发
送数据了,但是因为你们之前已经建立好平等的连接了,所以此
时他也有主动权向你发送数据;故 Server 端还得终止主动向你发
送数据,并等待你的确认。其实,说白了就是保证双方的一个合
约的完整执行!
使用 TCP 的协议:FTP(文件传输协议)、Telnet(远程登录协
议)、SMTP(简单邮件传输协议)、POP3(和 SMTP 相对,用于接收邮
件)、HTTP 协议等。
八、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 是面向无连接的,不可靠的数据报服务。
九、DNS 协议
DNS 是域名系统(DomainNameSystem)的缩写,该系统用于命
名组织到域层次结构中的计算机和网络服务,可以简单地理解为
将 URL 转换为 IP 地址。域名是由圆点分开一串单词或缩写组成的,
每一个域名都对应一个惟一的 IP 地址,在 Internet 上域名与 IP
地址之间是一一对应的,DNS 就是进行域名解析的服务器。DNS 命
名用于 Internet 等 TCP/IP 网络中,通过用户友好的名称查找计
算机和服务。
回到顶部
十、NAT 协议
NAT 网络地址转换(Network Address Translation)属接入广
域网(WAN)技术,是一种将私有(保留)地址转化为合法 IP 地址的
转换技术,它被广泛应用于各种类型 Internet 接入方式和各种类
型的网络中。原因很简单,NAT 不仅完美地解决了 lP 地址不足的
问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护
网络内部的计算机。
十一、DHCP 协议
DHCP 动态主机设置协议(Dynamic Host Configuration
Protocol)是一个局域网的网络协议,使用 UDP 协议工作,主要有
两个用途:给内部网络或网络服务供应商自动分配 IP 地址,给用
户或者内部网络管理员作为对所有计算机作中央管理的手段。
十二、HTTP 协议
超文本传输协议(HTTP,HyperTe__t 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 用于信息获取,而且应该是安全的和
幂等的。
I. 所谓 安全的 意味着该操作用于获取信息而非修改信息。
换句话说,GET 请求一般不应产生副作用。就是说,它仅仅是获
取资源信息,就像数据库查询一样,不会修改,增加数据,不会
影响资源的状态。
II. 幂等 的意味着对同一 URL 的多个请求应该返回同样的结
果。
弱电工程中能用到的计算机网络知识汇总
什么是计算机网络?
计算机网络,是指将地理位置不同的具有独立功能的多台计
算机及其外部设备,通过通信线路连接起来,在网络操作系统,
网络管理软件及网络通信协议的管理和协调下,实现资源共享和
信息传递的计算机系统。
什么是无线网络?
无线网络,既包括允许用户建立远距离无线连接的全球语音
和数据网络,也包括为近距离无线连接进行优化的红外线技术及
射频技术,与有线网络的用途十分类似,最大的不同在于传输媒
介的不同,利用无线电技术取代网线,可以和有线网络互为备份。
OSI,TCP/IP,五层协议的体系结构,以及各层协议
OSI 分层 (7 层):物理层、数据链路层、网络层、传输层、
会话层、表示层、应用层。
TCP/IP 分层(4 层):网络接口层、 网际层、运输层、 应用
层。
五层协议 (5 层):物理层、数据链路层、网络层、运输层、
应用层。
每一层的协议如下:
物理层:RJ45、CLOCK、IEEE802.3 (中继器,集线器,网关)
数据链路:PPP、FR、HDLC、VLAN、MAC (网桥,交换机)
网络层:IP、ICMP、ARP、RARP、OSPF、IP__、RIP、IGRP、
(路由器)
传输层:TCP、UDP、SP__
会话层:NFS、SQL、NETBIOS、RPC
表示层:JPEG、MPEG、ASII
应用层:FTP、DNS、Telnet、SMTP、HTTP、WWW、NFS
TCP 各层作用
物理层:物理层规定了激活、维持、关闭通信端点之间的机
械特性、电气特性、功能特性以及过程特性。在这一层,数据的
单位称为比特。
数据链路层:数据链路层在不可靠的物理介质上提供可靠的
传输。该层的作用包括:物理地址寻址、数据的成帧、流量控制、
数据的检错、重发等。在这一层,数据的单位称为帧。
点击>>工程资料免费下载
网络层:网络层负责对子网间的数据包进行路由选择。网络
层还可以实现拥塞控制、网际互连等功能。在这一层,数据的单
位称为数据包。
传输层:传输层是第一个端到端,即主机到主机的层次。传
输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传
输。此外,传输层还要处理端到端的差错控制和流量控制问题。
会话层:会话层管理主机之间的会话进程,即负责建立、管
理、终止进程之间的会话。会话层还利用在数据中插入校验点来
实现数据的同步。
表示层:表示层对上层数据或信息进行变换以保证一个主机
应用层信息可以被另一个主机的应用程序理解。表示层的数据转
换包括数据的加密、压缩、格式转换等。
应用层:应用层为操作系统或网络应用程序提供访问网络服
务的接口。
TCP 应用场景
效率要求相对低,但对准确性要求相对高的场景。因为传输
中需要对数据确认、重发、排序等操作,相比之下效率没有 UDP
高。举几个例子:文件传输(准确高要求高、但是速度可以相对
慢)、接受邮件、远程登录。
UDP 应用场景
效率要求相对高,对准确性要求相对低的场景。举几个例子:
QQ 聊天、在线视频、网络语音电话(即时通讯,速度要求高,但
是出现偶尔断续不是太大问题,并且此处完全不可以使用重发机
制)、广播通信(广播、多播)。
TCP 对应的协议和 UDP 对应的协议
TCP 对应的协议:
(1) FTP:定义了文件传输协议,使用 21 端口。常说某某计
算机开了 FTP 服务便是启动了文件传输服务。下载文件,上传主
页,都要用到 FTP 服务。
(2) Telnet:它是一种用于远程登陆的端口,用户可以以自
己的身份远程连接到计算机上,通过这种端口可以提供一种基于
DOS 模式下的通信服务。如以前的 BBS 是-纯字符界面的,支持
BBS 的服务器将 23 端口打开,对外提供服务。
(3) SMTP:定义了简单邮件传送协议,现在很多邮件服务器
都用的是这个协议,用于发送邮件。如常见的免费邮件服务中用
的就是这个邮件服务端口,所以在电子邮件设置-中常看到有这么
SMTP 端口设置这个栏,服务器开放的是 25 号端口。
(4) POP3:它是和 SMTP 对应,POP3 用于接收邮件。通常情
况下,POP3 协议所用的是 110 端口。也是说,只要你有相应的使
用 POP3 协议的程序(例如 Fo-__mail 或 Outlook),就可以不以
Web 方式登陆进邮箱界面,直接用邮件程序就可以收到邮件(如是
163 邮箱就没有必要先进入网易网站,再进入自己的邮-箱来收
信)。
(5)HTTP 协议:是从 Web 服务器传输超文本到本地浏览器的
传送协议。
UDP 对应的协议:
(1) DNS:用于域名解析服务,将域名地址转换为 IP 地址。
DNS 用的是 53 号端口。
(2) SNMP:简单网络管理协议,使用 161 号端口,是用来管
理网络设备的。由于网络设备很多,无连接的服务就体现出其优
势。
(3) TFTP(Trival File Transfer Protocal),简单文件传输
协议,该协议在熟知端口 69 上使用 UDP 服务。
TCP 的三次握手与四次挥手过程,各个状态名称与含义
三次握手
第一次握手:客户机首先向服务器的 TCP 发送一个连接请求
报文段,这个特殊的报文段不含应用层数据,其首部中同步位
SYN 被设置为 1。另外,客户机会随机选择一个起始序号
seq=__(连接请求报文不携带数据,但要消耗一个序号).
第二次握手:服务器的 TCP 收到连接请求报文段后,如果同
意建立连接,就向客户机发回确认,并为该 TCP 连接分配 TCP 缓
存和变量。在确认报文段中,SYN 和 ACK 位都被设置为 1,确认号
字段值为 ack=__+1,并且服务器随机产生起始序号 seq=y. 确认包
同样不包含应用层数据。
点击>>工程资料免费下载
第三次握手:当客户机收到确认报文段后,还要向服务器给
出确认,并且也要给该连接分配缓存和变量。这个报文段的确认
为 ACK 被设置为 1,序号段被设置为 seq=__+1,确认号字段
ack=y+1. 该报文段可以携带数据,如果不携带数据则不消耗序号。
理想状态下,TCP 连接一旦建立,在通信双方中的任何一方主动
关闭连接之前,TCP 连接都将被一直保持下去。因为 TCP 提供全
双工通信,因此双方任何时候都可以发送数据。
四次挥手
第一次挥手:客户机打算关闭连接,就向其 TCP 发送一个连
接释放报文,并停止再发送数据,主动关闭 TCP 连接。该报文段
的 FIN 标志位被设置为 1,seq=u,它等于前面已经发送过的数据
的最后一个字节的序号加 1。
第二次挥手:服务器收到连接释放报文段后即发出确认,确
认号是 ack=u+1,序号为 v,等于它前面已经发送过的数据的最后一
个字节序号加 1.此时客户机到服务器这个方向的连接就释放了,
TCP 处于半关闭状态。ACK=1,seq=v,ack=u+1
第三次挥手:若服务器已经没有要向客户机发送的数据,就
通知 TCP 释放连接,此时发出 FIN=1,确认号 ack= u+1,序号 seq
=w,已经发送过的数据最后一个字节加 1。确认为 ACK=1. (FIN =
1, ACK=1,seq = w, ack =u+1)
第四次挥手:客户机收到连接释放报文段后,必须发出确认。
在确认报文段中,确认位 ACK=1,序号 seq=u+1,确认号 ack=w+1.
此时连接还没有释放掉,必须经过实践等待计时器设置的时间
2MSL(Ma__ Segment Lifetime),后,客户机才进入连接关闭状态。
(ACK=1,seq=u+1,ack=w+1)
为什么会采用三次握手,若采用二次握手可以吗?
采用三次握手是为了防止失效的连接请求报文段再次传到服
务器,因而产生错误。如果由于网络不稳定,虽然客户端以前发
送的连接请求以到达服务方,但服务方的同意连接的应答未能到
达客户端。则客户方要重新发送连接请求,若采用二次握手,服
务方收到客服端重传的请求连接后,会以为是新的请求,就会发
送同意连接报文,并新开进程提供服务,这样会造成服务方资源
的无谓浪费。
如果只采用一次的话,客户端不知道服务端是否已经收到自
己发送的数据,则会不断地发送数据。为了保证服务端能收接受
到客户端的信息并能做出正确的应答而进行前两次(第一次和第二
次)握手,为了保证客户端能够接收到服务端的信息并能做出正确
的应答而进行后两次(第二次和第三次)握手
为什么断开连接要四次?
因为 TCP 连接是全双工的网络协议,允许同时通信的双方同
时进行数据的收发,同样也允许收发两个方向的连接被独立关闭,
以避免 client 数据发送完毕,向 server 发送 FIN 关闭连接,而
server 还有发送到 client 的数据没有发送完毕的情况。所以关
闭 TCP 连接需要进行四次握手,每次关闭一个方向上的连接需要
FIN 和 ACK 两次握手。
TCP 拥塞控制
为了更好对 TCP 进行拥塞控制,因特网建议标准定义了以下
四种算法:慢开始,拥塞避免,快重传,快恢复。
首先在 TCP 要求发送端维护两个窗口:
1) 接收窗口 rwnd,接收方根据当前缓存大小锁许诺的最新
窗口值。
2) 拥塞窗口 cwnd ,发送方根据自己估算的网络拥塞程度而
设置的窗口值。发送窗口的上限是取这两者的最小值。点击>>工
程资料免费下载
慢开始:TCP 刚连接好时,先令拥塞窗口 cwnd =1 ,在每次收
到一个对新报文段的确认时将 cwnd 加倍. Cwnd 的大小呈指数增
长。
拥塞避免算法:当 cwnd 大于等于慢开始门限 ssthresh 时,
cwnd 窗口每次加 1 而不是加倍。当发送方检测到超时事件的发生
时,就将慢开始门限设置为当前 cwnd 的一半,同时将 cwnd 设置
为 1. 这样的目的是迅速减少主机发送到网络的分组数,使得发
生拥塞的路由器有足够的时间吧队列中积压的分组处理完毕。
快重传:当发送方连续收到三个重复的 ACK 报文时,直接重
传对方尚未收到的报文段,而不必等待那个报文段设置的重传计
时器超时。
快恢复:当发送端收到连续三个冗余的 ACK 时,就执行“乘
法减小”算法,把慢开始门限 ssthresh 减半,cwnd 设置为慢开
始门限减半后的数值(与慢开始不同)。
简述 DNS 进行域名解析的过程
首先,客户端发出 DNS 请求翻译 IP 地址或主机名。DNS 服务
器在收到客户机的请求后:
(1)检查 DNS 服务器的缓存,若查到请求的地址或名字,即向
客户机发出应答信息;
(2)若没有查到,则在数据库中查找,若查到请求的地址或名
字,即向客户机发出应答信息;
(3)若没有查到,则将请求发给根域 DNS 服务器,并依序从根
域查找顶级域,由顶级查找二级域,二级域查找三级,直至找到
要解析的地址或名字,即向客户机所在网络的 DNS 服务器发出应
答信息,DNS 服务器收到应答后现在缓存中存储,然后,将解析
结果发给客户机。
(4)若没有找到,则返回错误信息。
当然它有递归查询与迭代查询两种方式,但是大概流程和我
刚刚讲的一样
简单解释一些 ARP 地址解析协议的工作过程
广播发送 ARP 请求,单播发送 ARP 响应。
1:首先,每个主机都会在自己的 ARP 缓冲区中建立一个 ARP
列表,以表示 IP 地址和 MAC 地址之间的对应关系。
2:当源主机要发送数据时,首先检查 ARP 列表中是否有对应
IP 地址的目的主机的 MAC 地址,如果有,则直接发送数据,如果
没有,就向本网段的所有主机发送 ARP 数据包,该数据包包括的
内容有:源主机 IP 地址,源主机 MAC 地址,目的主机的 IP 地址。
3:当本网络的所有主机收到该 ARP 数据包时,首先检查数据
包中的 IP 地址是否是自己的 IP 地址,如果不是,则忽略该数据
包,如果是,则首先从数据包中取出源主机的 IP 和 MAC 地址写入
到 ARP 列表中,如果已经存在,则覆盖,然后将自己的 MAC 地址
写入 ARP 响应包中,告诉源主机自己是它想要找的 MAC 地址。
4:源主机收到 ARP 响应包后。将目的主机的 IP 和 MAC 地址
写入 ARP 列表,并利用此信息发送数据。如果源主机一直没有收
到 ARP 响应数据包,表示 ARP 查询失败。
一次完整的 HTTP 请求过程
域名解析 --> 发起 TCP 的 3 次握手 --> 建立 TCP 连接后发
起 http 请求 --> 服务器响应 http 请求,浏览器得到 html 代码
--> 浏览器解析 html 代码,并请求 html 代码中的资源(如 js、
css、图片等) --> 浏览器对页面进行渲染呈现给用户
说明一下从 http 协议发送的客户端请求到达服务器端的整个
传输过程。
1、客户端浏览器通过 DNS 解析到 www.baidu.com 的 IP 地址
220.181.27.48,通过这个 IP 地址找到客户端到服务器的路径。
客户端浏览器发起一个 HTTP 会话到 220.161.27.48,然后通过
TCP 进行封装数据包,输入到网络层。
2、在客户端的传输层,把 HTTP 会话请求分成报文段,添加
源和目的端口,如服务器使用 80 端口监听客户端的请求,客户端
由系统随机选择一个端口如 5000,与服务器进行交换,服务器把
相应的请求返回给客户端的 5000 端口。然后使用 IP 层的 IP 地址
查找目的端。
3、客户端的网络层不用关心应用层或者传输层的东西,主要
做的是通过查找路由表确定如何到达服务器,期间可能经过多个
路由器。
4、客户端的链路层,包通过链路层发送到路由器,通过邻居
协议查找给定 IP 地址的 MAC 地址,然后发送 ARP 请求查找目的地
址,如果得到回应后就可以使用 ARP 的请求应答交换的 IP 数据包
现在就可以传输了,然后发送 IP 数据包到达服务器的地址。
如何编写 socket 套接字
服务器端程序的编写步骤:
第一步:调用 socket()函数创建一个用于通信的套接字。
第二步:给已经创建的套接字绑定一个端口号,这一般通过
设置网络套接口地址和调用 bind()函数来实现。
第三步:调用 listen()函数使套接字成为一个监听套接字。
第四步:调用 accept()函数来接受客户端的连接,这是就可
以和客户端通信了。
第五步:处理客户端的连接请求。
第六步:终止连接。
客户端程序编写步骤:
第一步:调用 socket()函数创建一个用于通信的套接字。
第二步:通过设置套接字地址结构,说明客户端与之通信的
服务器的 IP 地址和端口号。
第三步:调用 connect()函数来建立与服务器的连接。
第四步:调用读写函数发送或者接收数据。
第五步:终止连接。
路由器工作原理——网络层
路由器是一种三层设备,是使用 IP 地址寻址:
路由器接收到数据包,提取目标 IP 地址及子网掩码计算目标
网络地址;
根据目标网络地址查找路由表,如果找到目标网络地址就按
照相应的出口发送到下一个路由器;
如果没有找到,就看一下有没有默认路由,如果有就按照默
认路由的出口发送给下一个路由器;
如果没有找到就给源 IP 发送一个出错 ICMP 数据包表明没法
传递该数据包;
如果是直连路由就按照第二层 MAC 地址发送给目标站点。
请问交换机的实现原理是什么——数据链路层
1.交换机根据收到数据帧中的源 MAC 地址建立该地址同交换
机端口的映射,并将其写入 MAC 地址表中。
2.交换机将数据帧中的目的 MAC 地址同已建立的 MAC 地址表
进行比较,以决定由哪个端口进行转发。
3.如数据帧中的目的 MAC 地址不在 MAC 地址表中,则向所有
端口转发。这一过程称为泛洪(flood)。
4.广播帧和组播帧向所有的端口转发。
路由器和交换机区别
(1)外形上:
交换机通常端口比较多,而路由器的端口比较少
(2)工作层次不同:
交换机一般工作在数据链路层,而路由器则工作在网络层
(3)数据的转发对象不同:
交换机是根据 MAC 地址转发数据帧,而路由器则是根据 IP 地
址来转发 IP 数据报/分组。
(4)”分工“不同
交换机主要是用于组建局域网,而路由器则是负责让主机连
接外网。
(5)冲突域和广播域
交换机分割冲突域,但是不分割广播域,而路由器分割广播
域。
让你电脑知识倍增的十个小技巧
1、离开电脑时应该这样做:Windows 键+L 键
工作也有隐私,如果你离开座位时,按下 Windows 键+L 键自
动锁住屏幕。这样你在跟别人聊天或其它隐私信息就不会别其他
人看到了。
2、快速切换打开的诸多窗口:Alt+TabWindows 键+Tab
方法一:Alt+Tab 可以切换最近操作的两个窗口;
方法二:Windows 键+Tab 可以将所有窗口都放在桌面,然后
一个一个切换。如果你想炫酷点,按 Windows 键+Tab 实现 3D 切
换效果吧(适用于 Win7 和 Win10)如下图。
3、快速打开“我的电脑”(计算机或资源管理器):Windows
键+E 键
我们可以直接按下 Windows 键+E 键,直接秒开电脑的资源管
理器。
4、一秒切回到桌面:Windows 键+D 键
当我们在电脑上浏览一些比较隐私的信息时突然有人走过来,
这时我们可以使用 Windows 键+D 键快速切换到桌面。
5、快速关闭所有页面:Alt+F4Ctrl+W
Ctrl+W 或 Alt+F4 该方法尤其适用于那些喜欢看“小电影”
的用户,当有人过来时,直接用 Ctrl+W 或 Alt+F4 即可以关闭当
下页面。
6、如何恢复误删的文字:Ctrl+Z
Ctrl+Z 辛辛苦苦写的文案不小心删除掉了?这时可以使用
Ctrl+Z 恢复误删文字,该方法同样适用于被误删的文件。
7、如何恢复刚关闭的网页:Ctrl+Shift+T
Ctrl+Shift+T 当你在关键时刻关闭当前网页后想恢复怎么
破?So easy,按下 Ctrl+Shift+T 即可快速恢复。
8、图片文字无限放大技巧:Windows 和++++++
Windows 键和++++++ 嫌图片和字体太小看不清楚?试试
Windows 键和++++++,想放多大就多大。同理,当你要缩小时则
按 Windows 键和- - - -键。
9、电脑外接投影仪显示器:Windows 键+P
Windows 键+P,外接投影仪直接按下这个键直接选择你想要
的效果。
10、屏幕录像:Windows 键+R
也许很多网友不知道,windows 系统有自带的屏幕录像功能,
按下 Windows 键+R 然后输入 psr.e__e 回车即可启动录像功能啦。
windows 其他快捷键:
Windows 键+B 选中桌面右下方工具栏
Windows 键+D 显示桌面
Windows 键+F 打开“查找:所有文件”对话框
Windows 键+M 最小化所有窗口
Windows 键+R 打开“运行”对话框
Windows 键+U 打开辅助工具管理器
Windows 键+BREAK 打开“系统属性”对话框
Windows 键+CTRL+F 搜索计算机
Windows 键+ Pause 显示“系统属性”对话框
Windows 键 + T 循环切换任务栏上的程序
Windows 键+ 数字 启动锁定到任务栏中的由该数字所表示位
置处的程序。
Shift + Windows 键 + 数字 启动锁定到任务栏中的由该数
字所表示位置处的程序的新实例
Windows 键 + 空格键 预览桌面
Windows 键+ 向右键将窗口最大化到屏幕的右侧
Windows 键+ 向下键最小化窗口
Windows 键+ Home 最小化除活动窗口之外的所有窗口