计算机与网络基础知识要点学习

网络协议是为计算机网络中进行数据交换而建立的规则、标准或者说是约定的集合。因为不同用户的数据终端可能采取的字符集是不同的,两者需要进行通信,必须要在一定的标准上进行。

1. 网络层次划分

为了使不同计算机厂家生产的计算机能够相互通信,以便在更大的范围内建立计算机网络,国际标准化组织(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五层协议。

2. 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 Text Transfer Protocol)。

3. 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

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,这里肯定 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地址是:

1011113

注意:加的第一个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。256-32=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服务器对此不做任何的响应;

6. 路由选择协议

常见的路由选择协议有:RIP协议、OSPF协议。

RIP协议 :底层是贝尔曼福特算法,它选择路由的度量标准(metric)是跳数,最大跳数是15跳,如果大于15跳,它就会丢弃数据包。

OSPF协议 :Open Shortest Path First开放式最短路径优先,底层是迪杰斯特拉算法,是链路状态路由选择协议,它选择路由的度量标准是带宽,延迟。

7. 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协议等。

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. DNS协议

DNS是域名系统(DomainNameSystem)的缩写,该系统用于命名组织到域层次结构中的计算机和网络服务,可以简单地理解为将URL转换为IP地址。域名是由圆点分开一串单词或缩写组成的,每一个域名都对应一个惟一的IP地址,在Internet上域名与IP地址之间是一一对应的,DNS就是进行域名解析的服务器。DNS命名用于Internet等TCP/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用于信息获取,而且应该是安全的和幂等的。

I. 所谓 安全的 意味着该操作用于获取信息而非修改信息。换句话说,GET请求一般不应产生副作用。就是说,它仅仅是获取资源信息,就像数据库查询一样,不会修改,增加数据,不会影响资源的状态。

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

13. 一个举例

在浏览器中输入 http://www.baidu.com/ 后执行的全部过程。

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

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数据包到达服务器的地址。

1. 网络层次划分

  为了使不同计算机厂家生产的计算机能够相互通信,以便在更大的范围内建立计算机网络,国际标准化组织(ISO)在1978年提出了“开放系统互联参考模型”,即著名的OSI/RM模型(Open System Interconnection/Reference Model)。它将计算机网络体系结构的通信协议划分为七层,自下而上依次为:物理层(Physics Layer)、数据链路层(Data Link Layer)、网络层(Network Layer)、传输层(Transport Layer)、会话层(Session Layer)、表示层(Presentation Layer)、应用层(Application Layer)。其中第四层完成数据传送服务,上面三层面向用户。

2. 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 Text Transfer Protocol)。

3. IP地址

1)网络地址

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

2)广播地址

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

  广播地址与网络地址的主机号正好相反,广播地址中,主机号为全1。当向某个网络的广播地址发送消息时,该网络内的所有主机都能收到该广播消息。

3)组播地址

D类地址就是组播地址。

  先回忆下A,B,C,D类地址吧:

A类地址以0开头,第一个字节作为网络号,地址范围为:0.0.0.0~127.255.255.255;

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. 子网掩码及网络划分

  随着互连网应用的不断扩大,原先的IPv4的弊端也逐渐暴露出来,即网络号占位太多,而主机号位太少,所以其能提供的主机地址也越来越稀缺,目前除了使用NAT在企业内部利用保留地址自行分配以外,通常都对一个高类别的IP地址进行再划分,以形成多个子网,提供给不同规模的用户群使用。

  这里主要是为了在网络分段情况下有效地利用IP地址,通过对主机号的高位部分取作为子网号,从通常的网络位界限中扩展或压缩子网掩码,用来创建某类地址的更多子网。但创建更多的子网时,在每个子网上的可用主机地址数目会比原先减少。

什么是子网掩码?

  子网掩码是标志两个IP地址是否同属于一个子网的,也是32位二进制地址,其每一个为1代表该位是网络位,为0代表主机位。它和IP地址一样也是使用点式十进制来表示的。如果两个IP地址在子网掩码的按位与的计算下所得结果相同,即表明它们共属于同一子网中。

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

5. ARP/RARP协议

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

逆地址解析协议,即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是给因特网的每一台联网设备规定一个地址。

IP层接收由更低层(网络接口层例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层---TCP或UDP层;相反,IP层也把从TCP或UDP层接收来的数据包传送到更低层。IP数据包是不可靠的,因为IP并没有做任何事情来确认数据包是否按顺序发送的或者有没有被破坏,IP数据包中含有发送它的主机的地址(源地址)和接收它的主机的地址(目的地址)。

   TCP是面向连接的通信协议,通过三次握手建立连接,通讯完成时要拆除连接,由于TCP是面向连接的所以只能用于端到端的通讯。TCP提供的是一种可靠的数据流服务,采用“带重传的肯定确认”技术来实现传输的可靠性。TCP还采用一种称为“滑动窗口”的方式进行流量控制,所谓窗口实际表示接收能力,用以限制发送方的发送速度。

  使用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. DNS协议

DNS是域名系统(DomainNameSystem)的缩写,该系统用于命名组织到域层次结构中的计算机和网络服务,可以简单地理解为将URL转换为IP地址。域名是由圆点分开一串单词或缩写组成的,每一个域名都对应一个惟一的IP地址,在Internet上域名与IP地址之间是一一对应的,DNS就是进行域名解析的服务器。DNS命名用于Internet等TCP/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用于信息获取,而且应该是安全的和幂等的。

I. 所谓 安全的 意味着该操作用于获取信息而非修改信息。换句话说,GET请求一般不应产生副作用。就是说,它仅仅是获取资源信息,就像数据库查询一样,不会修改,增加数据,不会影响资源的状态。

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

1、总线型拓扑结构

总线型拓扑结构是指:网络上的所有计算机都通过一条电缆相互连接起来

总线上的通信:在总线上,任何一台计算机在发送信息时,其他计算机必须等待。而且计算机发送的信息会沿着总线向两端扩散,从而使网络中所有计算机都会收到这个信息,但是否接收,还取决于信息的目标地址是否与网络主机地址相一致,若一致,则接受;若不一致,则不接收。

信号反射和终结器:在总线型网络中,信号会沿着网线发送到整个网络。当信号到达线缆的端点时,将产生反射信号,这种发射信号会与后续信号发送冲突,从而使通信中断。为了防止通信中断,必须在线缆的两端安装终结器,以吸收端点信号,防止信号反弹。

特点:其中不需要插入任何其他的连接设备。网络中任何一台计算机发送的信号都沿一条共同的总线传播,而且能被其他所有计算机接收。有时又称这种网络结构为点对点拓朴结构。

优点:连接简单、易于安装、成本费用低

缺点:① 传送数据的速度缓慢:共享一条电缆,只能有其中一台计算机发送信息,其他接收。

维护困难:因为网络一旦出现断点,整个网络将瘫痪,而且故障点很难查找。

2、星型拓扑结构:

每个节点都由一个单独的通信线路连接到中心节点上。中心节点控制全网的通信,任何两台计算机之间的通信都要通过中心节点来转接。因些中心节点是网络的瓶颈,这种拓朴结构又称为集中控制式网络结构,这种拓扑结构是目前使用最普遍的拓扑结构,处于中心的网络设备跨越式集线器(Hub)也可以是交换机。

优点:结构简单、便于维护和管理,因为当中某台计算机或头条线缆出现问题时,不会影响其他计算机的正常通信,维护比较容易。

缺点:通信线路专用,电缆成本高;中心结点是全网络的可靠瓶颈,中心结点出现故障会导致网络的瘫痪。

3、环型拓扑结构:

环型拓扑结构是以一个共享的环型信道连接所有设备,称为令牌环。在环型拓扑中,信号会沿着环型信道按一个方向传播,并通过每台计算机。而且,每台计算机会对信号进行放大后,传给下一台计算机。同时,在网络中有一种特殊的信号称为令牌。令牌按顺时针方向传输。当某台计算机要发送信息时,必须先捕获令牌,再发送信息。发送信息后在释放令牌。

环型结构有两种类型,即单环结构和双环结构。令牌环(Token Ring)是单环结构的典型代表,光纤分布式数据接口(FDDI)是双环结构的典型代表。

环型结构的显著特点是每个节点用户都与两个相邻节点用户相连。

优点:电缆长度短:环型拓扑网络所需的电缆长度和总线拓扑网络相似,但比星型拓扑结构要短得多。

增加或减少工作站时,仅需简单地连接。可使用光纤;它的传输速度很高,十分适用一环型拓扑的单向传输。传输信息的时间是固定的,从而便于实时控制。

缺点:节点过多时,影响传输效率。环某处断开会导致整个系统的失效,节点的加入和撤出过程复杂。

检测故障困难:因为不是集中控制,故障检测需在网个各个节点进行,故障的检测就不很容易。

4、树型拓扑结构

树型结构是星型结构的扩展,它由根结点和分支结点所构成,如图所示。

优点:结构比较简单,成本低。扩充节点方便灵活。

缺点:对根结点的依赖性大,一旦根结点出现故障,将导致全网不能工作;电缆成本高。

5、网状结构与混合型结构

网状结构是指将各网络结点与通信线路连接成不规则的形状,每个结点至少与其他两个结点相连,或者说每个结点至少有两条链路与其他结点相连,如图(a)所示。大型互联网一般都采用这种结构,如我国的教育科研网CERNETb)、Internet的主干网都采用网状结构

a)网状拓扑结构    b) CERNET主干网拓扑结构

优点:可靠性高;因为有多条路径,所以可以选择最佳路径,减少时延,改善流量分配,提高网络性能,但路径选择比较复杂。

缺点:结构复杂,不易管理和维护;线路成本高;适用于大型广域网。

混合型结构是由以上几种拓扑结构混合而成的,如环星型结构,它是令牌环网和FDDI网常用的结构。再如总线型和星型的混合结构等。

 

1、计算机网络定义

将分散在不同地点且具有独立功能的多个计算机系统,利用通信设备和线路相互连接起来,在网络协议和软件的支持下进行数据通信,实现资源共享的计算机系统的集合。

2、计算机网络三要素

多个计算机系统、通信设备和线路、网络协议和软件

3、计算机目的:实现资源的共享

4、计算机网络的应用

查找资料、网络办公、联系好友、视频聊天、网上购物、网络游戏、游戏竞技、发送电子邮件、网上炒股、音乐、视频等

第一代计算机网络---面向终端的计算机网络

第二代计算机网络---计算机&计算机网络

第三代计算机网络---开放式标准化网络

第四代计算机网络---宽带化、综合化、数字化网络

6、计算机网络的基本组成

网络硬件:网络服务器、网络工作站、传输介质和网络设备等

网络软件:网络操作系统、通信软件和通信协议等

7、计算机网络的功能

数据通信

资源共享

提高系统的可靠性

进行分布处理

集中控制、管理分配网络中的软件、硬件资源

8、计算机网络的服务

文件打印服务

应用服务

消息服务

数据库服务

9、计算机网络的分类

传输技术:广播式网络和点到点式网络

覆盖范围:局域网LAN、城域网MAN、广域网WAN

网络结构:以太网、令牌环网

拓扑结构:总线型网、星型网、环型网、树型网、混合型网

传输介质:有线网和无线网

传输速率/带宽:10M网、100M网、1000M网、基带网、宽带网

10、计算机网络拓扑的定义

计算机网络拓扑结构,是指网络中的通信线路和各节点之间的几何排列,用来反映各个模块之间的结构关系

11、计算机网络拓扑结构分类

星型、总线型、环型

12、网络连接设备

网络适配器(网卡)、集线器(HUB)、中继器(Repeater)、网桥(Bridge)、路由器(Router)、网关(Gateway

13、计算机网络系统软件定义

网络系统软件主要由服务器操作系统、网络服务软件、工作站重定向软件、传输协议软件组成。世界上较流行的网络操作系统有:Microsoft公司的Windows 2000ServerIBM公司的LAN ServerNovell公司的NetWare

14、因特网(Internet)定义

因特网是一个由各种不同类型和规模的并独立运行和管理的计算机网络组成的世界范围的巨大计算机网络,即全球性计算机网络,它的英文名字叫Internet

Internet最早来源于美国国防部高级研究计划局DARPA(Defenseadvanced Research Projects Agency)的前身ARPA建立的ARPAnet,该网于1969年投入使用。因特网是基于TCP/IP协议实现的

15IP地址定义

IP地址是用来唯一标识因特网上计算机的逻辑地址。Internet中的每一台主机都分配有一个唯一的32位地址,每台连网计算机都依靠IP地址来标识自己。 

16、网络域名定义 

网络域名是网络上的一个服务器或一个网络系统的名字,在全世界没有重复的域名。域名的形式是以若干个英文字母或中文和数字组成,由“.”分隔成几部分。

17TCP/IP协议定义

TCP/IP协议,即传输控制协议/网间协议,它是一种网络通信协议,用来规范网络上的所有通信设备,尤其是一个主机与另一个主机之间的数据往来格式以及传送方式。 

18、连接因特网的方式

拨号上网

ADSL(一线通)上网

宽带上网

局域网上网

无线上网

19、因特网的基本服务 

远程登录(Telnet)、文件传输服务(FTP)、万维网(WWW)、电子邮件(Email)

20、电子邮件(E-mail)定义

一种通过网络实现异地传送和接收信息的现代化通信手段。

21、电子邮箱地址的格式为

<用户名><主机名>.<域名>   admin@163.com

22、邮件服务器定义

为用户提供电子邮件收发服务的计算机主机。邮件服务器分为邮件接收服务器(POPPOP3)和邮件发送服务器(SMTP)。

23、中国主要ISP

中国移动、中国电信、中国网通、中国联通

24WWW定义

World Wide Web或简称为Web,中文译作万维网,是因特网最主要的应用,对大多数的用户来说,上网就是为了浏览Web。常用的搜索引擎有:Googlewww.google.com)、百度(www.baidu.com)、雅虎(cn.yahoo.com)以及新浪(www.sina.com.cn)等。

 25、因特网的应用

1)在因特网上获取信息:信息浏览和信息检索

2)在因特网上交流信息:e-mailBBSQQBlog

26IP地址

IP地址是一个32位的二进制数,通常被分割为4”8位二进制数(也就是4个字节)。IP地址通常用点分十进制表示成(a.b.c.d)的形式,其中,a,b,c,d都是0~255之间的十进制整数。目前使用的IPV4,就是有4段数字,每一段最大不超过255

27IP地址分类

AIP地址地址范围1.0.0.1-126.255.255.254

BIP地址地址范围128.1.0.1-191.254.255.254

CIP地址范围192.0.1.1-223.255.254.254

28DNS定义

域名系统 (Domain NameSystem) 的缩写,它是由解析器和域名服务器组成的。

就是入网计算机的名字,域名与标识计算机的IP地址一一对应,故域名在互联网上是唯一的

29、域名的一般形式为:

主机名.网络名.机构名.地理域名

如:清华大学向因特网提供网站服务的计算机的域名是:www.tsinghua.edu.cn

其地理域名是cn,表示这台主机在中国这个域;edu表示该主机为教育领域的;tsinghua是清华大学的网名;最左边的子域www,表示该主机是Web服务器

30、机构性质域名

com商业机构、edu教育部门、gov政府部门、mil军事部门、int国际组织、net网络组织、org非盈利组织

31、地理域名

CN中国、UK英国、FR法国、RU俄罗斯、DE德国、IT意大利、US美国、HK香港、SE瑞典、JP日本、CH瑞士、NL荷兰、CA加拿大、TW台湾、KR韩国

32、理解

通过域名并不能直接找到要访问的主机,需要将域名转换为IP地址后才能访问

将域名转换为IP地址的过程称为域名解析

负责将域名解析成为IP地址的专门服务器就叫做域名解析服务器(DNS)

要访问一台互联网上的服务器,最终还是必须通过IP地址来实现

一个域名只能对应一个IP地址,而多个域名可以同时被解析到一个IP地址

33、超文本传输协议HTTP

超文本传输协议(HTTPHyperText Transfer Protocol)是因特网上应用最为广泛的一种网络协议。HTTP基于客户机/服务器工作模式,是客户端浏览器或其他程序与Web服务器之间的应用层通信协议

34、统一资源定位符(URL)

URL描述了网上资源的访问方式(传输协议类型)和所在的位置(就是网址)

URL由三部分组成:协议类型、主机名、路径及文件名

35、网络设备

网络传输介质:有双绞线电缆、同轴电缆、光导纤维、激光、红外线、微波和卫星通信等。

网内连接设备:网络适配器(网卡)、中继器、集线器

网络互联设备:传输线

网间连接设备:网桥、路由器

1OSITCP/IP,五层协议的体系结构,以及各层协议

:OSI分层 (7层):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。TCP/IP分层(4层):网络接口层、 网际层、运输层、 应用层。五层协议 5层):物理层、数据链路层、网络层、运输层、 应用层。每一层的协议如下:物理层:RJ45CLOCKIEEE802.3 (中继器,集线器)数据链路:PPPFRHDLCVLANMAC (网桥,交换机)网络层:IPICMPARPRARPOSPFIPXRIPIGRP、 (路由器)传输层:TCPUDPSPX会话层:NFSSQLNETBIOSRPC表示层:JPEGMPEGASII应用层:FTPDNSTelnetSMTPHTTPWWWNFS每一层的作用如下:物理层:通过媒介传输比特,确定机械及电气规范(比特Bit)数据链路层:将比特组装成帧和点到点的传递(帧Frame)网络层:负责数据包从源到宿的传递和网际互连(包PackeT)传输层:提供端到端的可靠报文传递和错误恢复(段Segment)会话层:建立、管理和终止会话(会话协议数据单元SPDU)表示层:对数据进行翻译、加密和压缩(表示协议数据单元PPDU)应用层:允许访问OSI环境的手段(应用协议数据单元APDU

2IP地址的分类

:A类地址:以0开头, 第一个字节范围:0~1261.0.0.0 - 126.255.255.255);B类地址:以10开头, 第一个字节范围:128~191128.0.0.0 - 191.255.255.255);C类地址:以110开头, 第一个字节范围:192~223192.0.0.0 - 223.255.255.255);10.0.0.0—10.255.255.255, 172.16.0.0—172.31.255.255, 192.168.0.0—192.168.255.255。(Internet上保留地址用于内部)IP地址与子网掩码相与得到网络号

3ARP是地址解析协议,简单语言解释一下工作原理。

:1:首先,每个主机都会在自己的ARP缓冲区中建立一个ARP列表,以表示IP地址和MAC地址之间的对应关系。2:当源主机要发送数据时,首先检查ARP列表中是否有对应IP地址的目的主机的MAC地址,如果有,则直接发送数据,如果没有,就向本网段的所有主机发送ARP数据包,该数据包包括的内容有:源主机 IP地址,源主机MAC地址,目的主机的IP 地址。3:当本网络的所有主机收到该ARP数据包时,首先检查数据包中的IP地址是否是自己的IP地址,如果不是,则忽略该数据包,如果是,则首先从数据包中取出源主机的IPMAC地址写入到ARP列表中,如果已经存在,则覆盖,然后将自己的MAC地址写入ARP响应包中,告诉源主机自己是它想要找的MAC地址。4:源主机收到ARP响应包后。将目的主机的IPMAC地址写入ARP列表,并利用此信息发送数据。如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。广播发送ARP请求,单播发送ARP响应。

4、各种协议的介绍

:ICMP协议: 因特网控制报文协议。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。TFTP协议: 是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。HTTP协议: 超文本传输协议,是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。DHCP协议: 动态主机配置协议,是一种让系统得以连接到网络上,并获取所需要的配置参数手段。NAT协议:网络地址转换属接入广域网(WAN)技术,是一种将私有(保留)地址转化为合法IP地址的转换技术,DHCP协议:一个局域网的网络协议,使用UDP协议工作,用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段。

5、描述RARP协议

:RARP是逆地址解析协议,作用是完成硬件地址到IP地址的映射,主要用于无盘工作站,因为给无盘工作站配置的IP地址不能保存。

工作流程:在网络中配置一台RARP服务器,里面保存着IP地址和MAC地址的映射关系,当无盘工作站启动后,就封装一个RARP数据包,里面有其MAC地址,然后广播到网络上去,当服务器收到请求包后,就查找对应的MAC地址的IP地址装入响应报文中发回给请求者。因为需要广播请求报文,因此RARP只能用于具有广播能力的网络。

6TCP三次握手和四次挥手的全过程

:三次握手:第一次握手:客户端发送syn(syn=x)到服务器,并进入SYN_SEND状态,等待服务器确认;第二次握手:服务器收到syn包,必须确认客户的SYNack=x+1),同时自己也发送一个SYN包(syn=y),即SYN+ACK包,此时服务器进入SYN_RECV状态;第三次握手:客户端收到服务器的SYNACK包,向服务器发送确认包ACK(ack=y+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。握手过程中传送的包里不包含数据,三次握手完毕后,客户端与服务器才正式开始传送数据。理想状态下,TCP连接一旦建立,在通信双方中的任何一方主动关闭连接之前,TCP 连接都将被一直保持下去。四次挥手:与建立连接的三次握手类似,断开一个TCP连接则需要四次握手。第一次挥手:主动关闭方发送一个FIN,用来关闭主动方到被动关闭方的数据传送,也就是主动关闭方告诉被动关闭方:我已经不 会再给你发数据了(当然,在fin包之前发送出去的数据,如果没有收到对应的ack确认报文,主动关闭方依然会重发这些数据),但是,此时主动关闭方还可 以接受数据。第二次挥手:被动关闭方收到FIN包后,发送一个ACK给对方,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号)。第三次挥手:被动关闭方发送一个FIN,用来关闭被动关闭方到主动关闭方的数据传送,也就是告诉主动关闭方,我的数据也发送完了,不会再给你发数据了。第四次挥手:主动关闭方收到FIN后,发送一个ACK给被动关闭方,确认序号为收到序号+1,至此,完成四次挥手。

7、在浏览器中输入www.baidu.com后执行的全部过程

:1、客户端浏览器通过DNS解析到www.baidu.comIP地址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数据包到达服务器的地址。

8TCPUDP的区别?

:1)、TCP提供面向连接的、可靠的数据流传输,而UDP提供的是非面向连接的、不可靠的数据流传输。2)、TCP传输单位称为TCP报文段,UDP传输单位称为用户数据报。3)、TCP注重数据安全性,UDP数据传输快,因为不需要连接等待,少了许多操作,但是其安全性却一般。

TCP对应的协议和UDP对应的协议

TCP对应的协议:(1) FTP:定义了文件传输协议,使用21端口。(2) Telnet:一种用于远程登陆的端口,使用23端口,用户可以以自己的身份远程连接到计算机上,可提供基于DOS模式下的通信服务。(3) SMTP:邮件传送协议,用于发送邮件。服务器开放的是25号端口。(4) POP3:它是和SMTP对应,POP3用于接收邮件。POP3协议所用的是110端口。(5HTTP:是从Web服务器传输超文本到本地浏览器的传送协议。

UDP对应的协议:(1) DNS:用于域名解析服务,将域名地址转换为IP地址。DNS用的是53号端口。(2) SNMP:简单网络管理协议,使用161号端口,是用来管理网络设备的。由于网络设备很多,无连接的服务就体现出其优势。(3) TFTP(Trival File Tran敏感词er Protocal),简单文件传输协议,该协议在熟知端口69上使用UDP服务。

9DNS域名系统,简单描述其工作原理。

:DNS客户机需要在程序中使用名称时,它会查询DNS服务器来解析该名称。客户机发送的每条查询信息包括三条信息:包括:指定的DNS域名,指定的查询类型,DNS域名的指定类别。基于UDP服务,端口53. 该应用一般不直接为用户使用,而是为其他应用服务,如HTTPSMTP等在其中需要完成主机名到IP地址的转换。

面向连接和非面向连接的服务的特点是什么?

面向连接的服务,通信双方在进行通信之前,要先在双方建立起一个完整的可以彼此沟通的通道,在通信过程中,整个连接的情况一直可以被实时地监控和管理。非面向连接的服务,不需要预先建立一个联络两个通信节点的连接,需要通信的时候,发送节点就可以往网络上发送信息,让信息自主地在网络上去传,一般在传输的过程中不再加以监控。

10TCP的三次握手过程?为什么会采用三次握手,若采用二次握手可以吗?

:建立连接的过程是利用客户服务器模式,假设主机A为客户端,主机B为服务器端。(1TCP的三次握手过程:主机AB发送连接请求;主机B对收到的主机A的报文段进行确认;主机A再次对主机B的确认进行确认。(2)采用三次握手是为了防止失效的连接请求报文段突然又传送到主机B,因而产生错误。失效的连接请求报文段是指:主机A发出的连接请求没有收到主机B的确认,于是经过一段时间后,主机A又重新向主机B发送连接请求,且建立成功,顺序完成数据传输。考虑这样一种特殊情况,主机A第一次发送的连接请求并没有丢失,而是因为网络节点导致延迟达到主机B,主机B以为是主机A又发起的新连接,于是主机B同意连接,并向主机A发回确认,但是此时主机A根本不会理会,主机B就一直在等待主机A发送数据,导致主机B的资源浪费。(3)采用两次握手不行,原因就是上面说的实效的连接请求的特殊情况。

11、了解交换机、路由器、网关的概念,并知道各自的用途

1)交换机

在计算机网络系统中,交换机是针对共享工作模式的弱点而推出的。交换机拥有一条高带宽的背部总线和内部交换矩阵。交换机的所有的端口都挂接在这条背 部总线上,当控制电路收到数据包以后,处理端口会查找内存中的地址对照表以确定目的MAC(网卡的硬件地址)的NIC(网卡)挂接在哪个端口上,通过内部 交换矩阵迅速将数据包传送到目的端口。目的MAC若不存在,交换机才广播到所有的端口,接收端口回应后交换机会学习新的地址,并把它添加入内部地址表 中。

交换机工作于OSI参考模型的第二层,即数据链路层。交换机内部的CPU会在每个端口成功连接时,通过ARP协议学习它的MAC地址,保存成一张 ARP表。在今后的通讯中,发往该MAC地址的数据包将仅送往其对应的端口,而不是所有的端口。因此,交换机可用于划分数据链路层广播,即冲突域;但它不 能划分网络层广播,即广播域。

交换机被广泛应用于二层网络交换,俗称二层交换机

交换机的种类有:二层交换机、三层交换机、四层交换机、七层交换机分别工作在OSI七层模型中的第二层、第三层、第四层盒第七层,并因此而得名。

2)路由器

路由器(Router)是一种计算机网络设备,提供了路由与转送两种重要机制,可以决定数据包从来源端到目的端所经过 的路由路径(hosthost之间的传输路径),这个过程称为路由;将路由器输入端的数据包移送至适当的路由器输出端(在路由器内部进行),这称为转 送。路由工作在OSI模型的第三层——即网络层,例如网际协议。

路由器的一个作用是连通不同的网络,另一个作用是选择信息传送的线路。 路由器与交换器的差别,路由器是属于OSI第三层的产品,交换器是OSI第二层的产品(这里特指二层交换机)

3)网关

网关(Gateway),网关顾名思义就是连接两个网络的设备,区别于路由器(由于历史的原因,许多有关TCP/IP 的文献曾经把网络层使用的路由器(Router)称为网关,在今天很多局域网采用都是路由来接入网络,因此现在通常指的网关就是路由器的IP),经常在家 庭中或者小型企业网络中使用,用于连接局域网和Internet

网关也经常指把一种协议转成另一种协议的设备,比如语音网关。

在传统TCP/IP术语中,网络设备只分成两种,一种为网关(gateway),另一种为主机(host)。网关能在网络间转递数据包,但主机不能 转送数据包。在主机(又称终端系统,end system)中,数据包需经过TCP/IP四层协议处理,但是在网关(又称中介系 统,intermediate system)只需要到达网际层(Internet layer),决定路径之后就可以转送。在当时,网关 (gateway)与路由器(router)还没有区别。在现代网络术语中,网关(gateway)与路由器(router)的定义不同。网关(gateway)能在不同协议间移动数据,而路由器(router)是在不同网络间移动数据,相当于传统所说的IP网关(IP gateway)。

网关是连接两个网络的设备,对于语音网关来说,他可以连接PSTN网络和以太网,这就相当于VOIP,把不同电话中的模拟信号通过网关而转换成数字信号,而且加入协议再去传输。在到了接收端的时候再通过网关还原成模拟的电话信号,最后才能在电话机上听到。

对于以太网中的网关只能转发三层以上数据包,这一点和路由是一样的。而不同的是网关中并没有路由表,他只能按照预先设定的不同网段来进行转发。网关最重要的一点就是端口映射,子网内用户在外网看来只是外网的IP地址对应着不同的端口,这样看来就会保护子网内的用户。

计算机网络复习知识点总结《计算机网络》的重点在物理层、数据链路层、网络层、传输层、应用层这些层次结构。要明白各个层次结构之间的关系,明白每个层都具有什么功能,拥有什么协议,重要的一些协议的内容以及作用。要能灵活的将各个层次联系起来。

一、计算机网络概述

掌握计算机网络的基本概念、基本原理和基本方法。

掌握计算机网络的体系结构和典型网络协议,了解典型网络设备的组成和特点,理解典型网络设备的工作原理。

能够运用计算机网络的基本概念、基本原理和基本方法进行网络系统的分析、设计和应用。

计算机网络

概念

一些互相连接的、自治的计算机的集合。

组成
从组成部分上看

由硬件、软件、协议三大部分组成

从工作方式上看

(主要指 Internet)可分为边缘部分和核心部分

从功能组成上看

由通信子网和资源子网组成。

通信子网由各种传输介质、通信设备和相应的网络协议组成。

资源子网是实现资源共享功能的设备及其软件的集合。

功能

数据通信(最基本和最重要的功能),资源共享,分布式处理,提高可靠性,负载均衡。

分类
按作用范围分类

广域网 WAN(Wide Area Network):作用范围通常为几十到几千公里。

城域网 MAN(Metropolitan Area Network):作用范围一般是一个城市,作用距离约为5~50km。

局域网 LAN(Local Area Network):一般用微型计算机或工作站通过高速通信线路相连,地理上则局限在较小的范围(如1km左右)。

个人局域网 PAN(Personal Area Network)

按拓扑结构分类

星形网络:每个终端或计算机都以单独的线路与中央设备相连。

总线形网络:用单根传输线把计算机连接起来。

环形网络:所有计算机接口设备连接成一个环。

网状形网络:一般情况下,每个结点至少有两条路径与其它结点相连,多用在局域网中。

标准体系

因特网的所有标准都以 RFC(Request For Comments)的形式在因特网上发布,RFC 要上升为正式标准要经过四个阶段:

因特网草案(Internet Draft):还不是 RFC 文档。

建议标准(Proposed Standard):开始成为 RFC 文档。

草案标准(Draft Standard)

因特网标准(Internet Standard)

有许多标准化组织负责制定、实施相关网络标准,主要有:

国际标准化组织(ISO):OSI 参考模型、HDLC 等。

国际电信联盟(ITU):下属机构制定了大量有关远程通信的标准。

国际电气电子工程师协会(IEEE):最著名的研究成果是802标准。

交换

电路交换

在进行数据传输前,两个结点之间必须先建立一条专用(双方独占)的物理通信路径,可能经过许多中间结点。该线路在整个数据传输期间一直被独占,通信结束后才被释放。

报文交换

数据交换的单位是报文,报文携带有目标地址、源地址等信息。报文交换在交换结点采用的是存储转发的存储方式。

分组交换

也采用存储转发方式。但限制了每次传送的数据块大小的上限,把大的数据块划分为合理的小数据块,再加上必要的控制信息,构成分组(Packet)。

计算机网络分层结构

概念

协议:规则的集合。为进行网络中的数据交换而建立的规则、标准或约定称为网络协议(Network Protocol)。

接口:同一结点内相邻两层间交换信息的连接点,是一个系统内部的规定。

服务:下层为紧相邻的上层提供的功能调用。

模型

ISO/OSI

有七层,低三层统称为通信子网,高三层统称为资源子网。

物理层(Physical Layer):在物理媒体上为数据端设备透明地传输原始比特流。

数据链路层(Data Link Layer):成帧、差错控制、流量控制和传输管理。

网络层(Network Layer):把网络的协议数据单元(分组)从源端传输到目的端,为分组交换网上的不同主机提供通信服务。

传输层(Transport Layer):负责主机中两个进程间的通信。

会话层(Session Layer):允许不同主机上各进程之间的会话。

表示层(Presentation Layer):处理在两个通信系统中交换信息的表示方式。

应用层(Application Layer):为特定类型的网络应用提供访问 OSI 环境的手段。

TCP/IP

有四层。

网络接口层:类似于 OSI 的物理层和数据链路层。

网际层(主机-主机):类似 OSI 的网络层。

传输层(应用-应用 或 进程-进程):类似 OSI 的传输层。

应用层(用户-用户)

性能评价指标

带宽(Bandwidth):计算机网络中表示通信线路所能传送数据的能力,单位是比特每秒(b/s)。

时延(Delay):数据(一个报文或分组)从网络(或链路)的一段传送到另一端所需要的总时间,由四部分组成:发送时延、传播时延、处理时延和排队时延。其中高速链路指提高数据的发送速率,即减少发送时延。

时延带宽积:时延带宽积=传播时延*信道带宽。

往返时延(Round-Trip Time, RTT):从发送端发送数据开始,到发送端收到来自接收端的确认总共经历的时延。

吞吐量(Throughput):单位时间内通过某个网络(或信道、接口)的数据量。

速率(Speed):主机在数字信道上传送数据的速率。

二、物理层知识点

通信概念  

信道:表示向某一个方向传送信息的媒体。单向通信只需要一条信道,双向交替通信和双向同时通信都需要两条信道。

单向通信(单工通信):只能有一个方向的通信。

双向交替通信(半双工通信):双方都可以发送信息,但不能同时发送。

双向同时通信(全双工通信):双方可以同时发送和接受信息。

信号:数据的电气的或电磁的表现,是数据在传输过程中的存在形式。

带宽:信号具有的频带宽度。

码元:用一个固定时长的信号波形(数字脉冲),表示一位 k 进制数字。

波特:表示单位时间内数字通信系统传输的码元数。

速率:也叫数据率,是指数据的传输速率,表示单位时间内传输的数据量。

码源传输速率:单位为波特(Baud)。

信息传输速率:单位为比特/秒(bit/s)。

信源:产生和发送数据的源头。

信宿:接收数据的终点。

编码与调制

编码

把数据变换为数字信号的过程称为编码。数字数据编码为数字信号:

非归零码(NRZ):两个电压来代表两个二进制数字。

曼彻斯特编码(Manchester Encoding):将一个码元分成两个相等的间隔,前一个间隔为高电平后一个为低电平表示码元1;码元0则相反。也可以采用相反的规定。

查分曼彻斯特编码:若码元为1,则前半个码元的电平与上一个码元的后半个码元的电平相同;若为0则相反。

4B/5B 编码:将欲发送的数据流的每4位作为一组,按照规则将其转换为相应的5位码。5位码中剩余的16种作为控制码或保留。

模拟数据编码为数字信号:如对音频信号进行编码的脉码调制(PCM),包括抽样、量化和编码。

调制

把数据变换为模拟信号的过程称为调制。数字数据调制为模拟信号:

幅移键控(ASK):改变载波信号的振幅来表示数字信号0和1。容易实现,抗干扰能力差。

频移键控(FSK):改变载波信号的频率来表示数字信号0和1。容易实现,抗干扰能力强。

相移键控(PSK):改变载波信号的相位来表示数字信号0和1。

正交振幅调制(QAM):将 ASK 与 PSK 结合起来。

模拟数据调制为模拟信号:可以使用频分复用技术。

定理

奈奎斯特定理

在理想低通(没有噪声、带宽有限)的信道中,极限码源传输率为 2W 波特。其中 W 是理想低通信道的带宽,单位为 Hz。若用 V 表示每个码元离散电平的数目(指有多少种不同的码元),则极限数据传输率为 $2W\log_2 V$(b/s)。

香农定理

给出了带宽受限且有高斯白噪声干扰的信道的极限传输速率,用此速率传输时可不产生误差。极限数据传输速率= $W\log_2 (1+S/N)$(b/s)。其中 W 为信道带宽,S 为信道所传输信号的平均功率,N 为信道内部的高斯噪声功率。信噪比= $10\log_{10}(S/N)$(dB)。

复用技术

频分多路复用(FDM):将多路基带信号调制到不同频率载波上再进行叠加形成一个复合信号的多路复用技术。

时分多路复用(TDM):将一条物理信道按时间分成若干个时间片,轮流地分配给多个信号使用。

波分多路复用(WDM):光的频分多路复用,在一根光纤中传输多种不同波长(频率)的光信号,由于波长(频率)不同,所以各路光信号互不干扰,最后再用波长分解复用器将各路波长分解出来。

码分多路复用(CDM):靠不同的编码来区分各路原始信号的一种复用方式。

传输介质

双绞线:把两根互相绝缘的铜导线斌并排放在一起,然后用规则的方法绞合起来。为了提高双绞线的抗电磁干扰能力,可以在双绞线的外面再加上一层用金属丝编织成的屏蔽层。

同轴电缆:由内导体铜质芯线(单股实心线或多股绞合线)、绝缘层、网状编织的外导体屏蔽层及保护塑料外层所组成。

光纤:利用光导纤维传递光脉冲来进行通信。

无线传输介质

网络设备

中继器

又称为转发器,主要功能是将信号整形并放大再转发出去,以消除信号由于经过一长段电缆,因噪声或其他原因而造成的失真和衰减。原理是信号再生。

集线器

集线器(Hub)实质上是一个多端口的中继器,也工作在物理层。

三、数据链路层知识点

功能

为网络层提供服务:无确认的无连接服务,有确认的无连接服务,有确认的面向连接服务

链路管理:数据链路层连接的建立、维持和释放过程

帧定界、帧同步与透明传输

流量控制:限制发送方的数据流量,使其发送速率不超过接收方的接收能力

差错控制:使发送方确定接收方是否正确收到了由它发送的数据的方法

组帧与透明传输

发送方依据一定的规则把网络层递交的分组封装成帧。透明传输指不管所传数据是什么样的比特组合,都应当能在链路上传送。

字符计数法:在帧头部使用一个计数字段来标明帧内字符数

字符填充的首位定界符发:使用一些特定的字符来定界一帧的开始(DLE STX)与结束(DLE ETX)。为了使信息位中出现的特殊字符不被误判,可以在特殊字符前面填充一个转义字符(DLE)来区分,数据段中出现 DLE 可在其前面再插入一个 DLE

比特填充的首位标志法:使用一个特定的比特模式,即01111110来标志一帧的开始和结束。发送方在信息位中出现连续5个1时自动在后面插入一个0,接收方进行逆操作

违规编码法:如在曼彻斯特编码方法中采用”高-高“电平对和”低-低“电平对

差错控制

差错控制可分为:

检错编码(Error-Detecting Code):出错时只能通知发送端重发。

纠错编码(Error-Correcting Code):出错时可以确定错误位置并加以纠正。

常见的检错技术:

奇偶校验:1位校验元,如果是奇校验码,附加上1位校验元后,码字中1的个数为奇数。

循环冗余校验(Cyclic Redundancy Code, CRC):一个二进制数位串可看作只有0和1两个系数的多项式。发送方和接收方事先商定一个 r 阶多项式 G(x)(最高位和最低位必须为1),发送方将待发送的帧后面补 r 个0,然后用补完的数据串去除 G(x),将得到的余数代替所补的 r 个0;这样接收方用同样的多项式去除收到的数据包,余数为0则表明正确。

校验和:循环冗余校验中的最后 r 位即可称为校验和。

可靠传输

可靠传输机制:通常使用确认和超时重传两种机制完成。

滑动窗口机制:在任意时刻,发送方都维持一组连续的允许发送的帧的序号,称为发送窗口;接收方维持接收窗口。接收方只有收到数据帧的序号落在接收窗口内才允许将该数据帧收下。

停止-等待协议:发送方每发送一帧,都要等待对方的应答信号,之后才能发送下一帧;接收方每接收一帧,都要反馈一个应答信号,表示可接收下一帧。

动态媒体接入控制技术

ALOHA 协议

纯 ALOHA 协议:当网络中的任何一个站点需要发送数据时,可以不进行任何检测就发送数据。如果一段时间内没有收到确认,该站点就认为传输过程中发生了冲突,等待一段时间后再发送数据。

时隙 ALOHA 协议:把所有各站在时间上同步起来,将时间划分为一段段等长的时隙(Slot),规定只能在每个时隙开始时才能发送一个帧。

CSMA 协议

每个站点发送前先侦听共用信道,发现空闲后再发送。

1-坚持 CSMA:侦听信道:空闲则立即发送;忙则继续侦听直至信道空闲;冲突则随即等待一段时间再侦听。

非坚持 CSMA:侦听信道:空闲则立即发送;忙则等待一个随机的时间后再侦听。

p-坚持 CSMA:侦听信道:忙则等待下一个时隙再侦听;空闲则以概率 p 发送数据,以概率 1-p 推迟到下一个时隙。

CSMA/CD 协议

传输过程中,适配器检测来自其他适配器的信号能量的出现。如果传输完整个帧都没有检测到来自其他适配器的信号,则完成传输;否则停止传输,取而代之传输一个48比特的拥塞信号,然后等待一段随机事件后重新尝试传输。

CSMA/CA 协议

信道忙变为空闲,且要发送数据时,不仅需要等待一个时间间隔,还要进入争用窗口,并计算随机退避时间以便再次重新试图接入到信道。

以太网

总线型以太网

以太网是目前使用范围最广的局域网,其逻辑拓扑是总线型结构,物理拓扑是星形或拓展星形结构。以太网使用 CSMA/CD 方式对总线进行访问控制。

交换以太网

以交换机代替共享式 HUB,把非广播数据只发送到对应端口,所有端口对之间的通讯互不干扰,故速度比 HUB 广播快得多。

设备

网桥的概念和原理

两个或多个以太网通过网桥连接起来后,就成为一个覆盖范围更大的以太网。网桥工作在链路层的 MAC 子层,可以使以太网各网段称为隔离开的碰撞域。

网桥有路径选择的功能,根据路径选择算法的不同,可将网桥分为透明网桥和源路由网桥。其中最佳路由不是指经过路由器最少,而是发送帧往返时间最短。

透明网桥:选择的不是最佳路由

源路由网桥:选择的是最佳路由

交换机及其工作原理

交换机就是一个多端口的网桥。它检测从以太端口来的数据帧的源和目的地的 MAC 地址,然后与系统内部的动态查找表进行比较,若数据帧的 MAC 地址不在查找表中,则将该地址加入查找表,并将数据帧发送给相应的目的端口。

四、网络层知识点

网络层的功能

异构网络互联

互联指将两个以上的计算机网络,用一种或多种通信处理设备(即中间设备)相互连接起来,以构成更大的网络系统。中间设备又称为中间系统或中继系统,根据其所在层次可以分为:物理层:中继器、集线器

数据链路层:网桥、交换机

网络层:路由器

网络层以上:网关

路由与转发

路由器主要完成两个功能:

路由选择:动态改变所选择的路由。

分组转发:将用户的 IP 数据报从合适的端口转发出去。

IP 协议

分组格式

一个 IP 分组由首部和数据两部分组成。IP 首部的部分重要字段含义如下:

版本:IP 协议的版本,目前广泛使用的为 4。

首部长度:占4位,最大值为60字节。最常使用20字节,即不使用任何选项。以4个字节为偏移单位。

总长度:占16位,首部和数据之和的长度,最大为65535字节。以1个字节为偏移单位。

标识:占16位,是一个计数器,每产生一个数据报就加1。

标志:占3位,最低位为 MF,MF=1 表示后面还有分片;MF=0 表示最后一个分片。中间一位是 DF,只有 DF=0 才允许分片。

片偏移:占13位,指出分片后,某片在原分组中的相对位置。以8个字节为偏移单位。

首部检验和:占16位,只校验分组的首部。

生存时间 TTL:占8位,数据报在网络中可通过的路由器的最大值。

协议:占8位,指出携带的数据使用何种协议。

地址分类

分为 A、B、C、D、E 五类:

类别

(网络号)

0

1

2

3

4~8

9~16

17~2 4

25~32

A 类(1~126)

0

网络号

主机号

    B 类(128~191)

1

0

网络号

主机号

    C 类(192~223)

1

1

0

网络号

主机号

    D 类(224~239)

1

1

1

0

多播地址

    E 类(240~255)

1

1

1

1

保留为今后使用

特殊 IP:

主机号全为0表示网络本身。

主机号全为1表示本网络的广播地址。

127.0.0.0网络保留作为环路自检地址,表示任意主机本身,目的地为该地址的 IP 数据包永远不会出现在网络上。

0.0.0.0表示本网络上的本主机。

255.255.255.255表示整个 TCP/IP 网络的广播地址。

专用地址:10.0.0.0到10.255.255.255,172.16.0.0到172.31.255.255,192.168.0.0到192.168.255.255,这三个地址块只用作本地地址。

子网与超网

在 IP 地址中增加一个“子网号字段”,使两级 IP 地址变为三级 IP 地址,这种做法叫划分子网。从主机号借用若干个比特作为子网号,路由器收到 IP 数据报后,先按目的网络号和子网号找到目的子网。

子网掩码是一个与 IP 地址相对应的32位二进制串,由一串1和跟随的一串0组成,其中1对应网络号和子网号。路由器在相互交换路由信息时,必须把自己所在网络的子网掩码告诉对方;路由表中的每一个条目,除了要给出目的网络地址和下一跳地址外,还需要同时给出该目的网络的子网掩码。

无分类域间路由选择(CIDR)是在变长子网掩码的基础上提出的一种消除传统A、B、C类网络划分,并且可以在软件的支持下实现超网构造的一种 IP 地址的划分方法。IP 地址的无分类两级编址为:IP::={<网络前缀>,<主机号>};将网络前缀都相同的连续的 IP 地址组成“CIDR 地址块“,一个地址块可以表示很多地址,这种地址的聚合称为路由聚合。路由表项由”网络前缀“和”下一跳地址“组成,在查找路由表时应当选择具有最长网络前缀的路由,称为最长前缀匹配

分片传输

一个链路层数据报能承载的最大数据量称为最大传送单元(MTU)。当 IP 数据报的总长度大于链路 MTU 时,就需要将 IP 数据报中的数据分装在两个或更多个较小的 IP 数据报中,这些小的数据报叫做。当一个路由器需要将一个数据报分片时,形成的每个片都具有原始数据报的标识。分片后,由于片偏移的单位为8字节,所以除了最后一个片外,其他所有片中的有效数据载荷都是8的倍数。

路由算法及协议

分层路由设计

因特网将整个互联网划分为许多较小的自治系统,每个自治系统有权自主地决定本系统内应采用何种路由选择协议。因特网把路由选择协议划分为两大类:一个自治系统内部所使用的称为内部网关协议(IGP),也称为域内路由选择,具体协议有 RIP 和 OSPF。自治系统之间所使用的称为外部网关协议(EGP),也称为域间路由选择,具体协议有 BGP。

当使用层次路由时,OSPF 将一个自治系统再划分为若干个区域,每个路由器只需知道本区域内的细节。

域内域间路由协议算法
RIP 路由协议

路由信息协议(RIP)是 IGP 中最先得到广泛应用的协议,是应用层协议,使用 UDP 传送数据。每个路由器维护从它自己到每一个目的网络的距离记录,称“距离向量”;优先选择跳数少的路径;为了防止不断循环,一条路径最多只能包含15个路由器,16跳时即表示网络不可达。

特点:仅和相邻路由器交换信息;路由器之间交换本路由器所知道的全部信息;按固定的时间间隔交换路由信息。

距离向量算法:每一个路由表项都有三个关键数据:<目的网络 N,距离 d,下一跳路由器 X>,对于每个相邻路由器发送过来的 RIP 报文,进行:

对地址为 X 的相邻路由器发来的 RIP 报文,先把下一跳字段都改为 X,并把距离都加1。

当原来的路由表中没有目的网络 N 时,把该表项加到路由表中。

当原来的路由表中有目的网络 N,且下一跳路由器地址是 X 时,用收到的项目替换原路由表中的项目。

当原来的路由表中有目的网络 N,且下一跳路由器地址不是 X 时,若收到的表项中的 d 小于原表项中的,则替换。

如果180秒还没有收到相邻路由器的更新路由表,则把此相邻路由器距离设为16。

OSPF 路由协议

开放最短路径优先(OSPF)协议是 IGP 中的一种,是分布式链路状态路由算法的典型代表。

与 RIP 区别:向本自治系统所有路由器发送信息,采用洪泛法;发送的信息只有与本路由器相邻的路由器以及该链路的代价;只有当链路状态发生变化时,才向所有路由器发送此信息;是网络层协议,直接 IP 数据报传送。

基本工作原理:所有路由器最终能建立一个链路状态数据库,即全网的拓扑结构图。每个路由器根据该结构图,使用 Dijkstra 最短路算法计算自己到各自网络的最优路径,将下一跳路由器存到路由表中。

BGP 路由协议

边界网关协议(BGP)是 EGP 中的一种,采用路径向量路由选择协议,是应用层协议,基于 TCP。

工作原理:每个自治系统选择至少一个路由器作为该系统的“BGP 发言人”。两个自治系统的发言人之间要交换路由信息,就要先建立 TCP 连接。当所有 BGP 发言人都相互交换网络可达性的信息后,就可找出到达各个自治系统的比较好的路由。

相关协议

ARP 协议

地址解析协议,完成 IP 地址到 MAC 地址的映射,工作在网络层。

发送 IP 数据报前先查 ARP 表,若无目的 IP 地址对应的 MAC 地址,就通过目的地址为 FF-FF-FF-FF-FF-FF 的帧来封装并广播 ARP 请求分组,目的 IP 主机收到后进行单播回复。

ICMP 协议

网际控制报文协议,允许主机或路由器报告差错和异常情况,是 IP 层协议。报文分两类:ICMP 差错报告报文和 ICMP 询问报文。两个常见应用是 ping 和 traceroute。

其中差错报告报文包括:

终点不可达:路由器或主机不能交付数据报。

源点抑制:路由器或主机由于拥塞而丢弃数据报。

时间超过:路由器收到 TTL 为0的数据报。

参数问题:数据包的首部中有的字段的值不正确。

改变路由(重定向):让主机知道下次应将数据报发送给另外的路由器,可获得更好的路由。

询问报文包括:回送请求和回答报文、时间戳请求和回答报文、掩码地址请求和回答报文、路由器询问和通告报文。

DHCP 协议

动态主机配置协议,给主机动态地分配 IP 地址,工作在应用层,基于 UDP。

客户机广播“DHCP 发现”消息,服务器获得一个 IP 地址。

服务器收到消息后广播“DHCP 提供”消息,其中包括提供客户机的 IP 地址和相关配置信息。

客户机收到消息,如果接受服务器提供的相关参数,则广播“DHCP 请求”消息。

服务器广播“DHCP 确认”消息,将 IP 地址分配给客户机。

NAT

网络地址转换,通过将专用网络地址转换为共用地址,从而隐藏了内部管理的 IP 地址,使整个内部网只需要一个全球 IP 地址就可以与因特网连通。

NAT 路由器根据 NAT 转换表进行本地地址转与全球地址之间的互相转换,转换表中存放着{本地 IP 地址:端口}到{全球 IP 地址:端口}的映射。

VPN

虚拟专用网,利用公共的因特网作为机构内专用网之间的通信载体。出口路由器将要传送的数据报进行加密,然后封装成目的地址为目的内网出口路由器地址的报文在因特网上进行传送,目的内网的出口路由器收到报文后进行解密,再将报文传到内网中的指定主机上。

IPv6 协议

改进及设计思路

IPv6 地址有128位,首部长度必须是8字节的整数倍,传输路径中的路由器不能分片,采用身份验证和保密功能。

IPv6 地址可以是单播、多播、任播三种基本类型之一。IPv4 向 IPv6 过渡可以采用双协议栈和隧道技术两种策略。

移动 IP 的基本原理

移动 IP 技术是移动结点以固定的网络 IP 地址,实现跨越不同网段的漫游功能,并保证了基于 IP 的网络权限在漫游过程中不发生任何改变。基于 IPv4 的移动 IP 定义三种功能实体:移动结点、归属代理(也叫本地代理)和外埠代理(也叫外部代理)。

移动 IP 技术的基本通信流程如下:

移动结点在本地网时,按传统的方式通信(在本地网固有的地址)。

移动结点漫游到一个外地网络时,仍然使用固定的 IP 地址进行通信。移动结点需要向本地代理注册当前的位置地址,即转交地址(可以是外部代理的地址或动态配置的一个地址)。

本地代理接收注册后,会构建一条通向转交地址的隧道,将截获的发给移动结点的 IP 分组通过隧道送到转交地址处。

在转交地址处解除隧道封装,恢复出原始的 IP 分组,最后送到移动结点。

移动结点在外网通过外网的路由器或者外代理向通信对端发送 IP 数据包。

路由器的功能和组成,路由表与路由转发

路由器具有多个输入输出端口,任务是连接不同的网络并完成路由转发。从结构上看,路由器由路由选择和分组转发两部分构成。

路由表是根据路由选择算法得出的,主要用途是路由选择,包含:目的网络 IP 地址、子网掩码、下一跳 IP 地址、接口。

转发表是从路由表得出的,但格式不同,结构应使查找过程最优化,包含:目的地址、下一跳地址(实际为 MAC 地址)。

五、传输层知识点

传输层提供的服务

传输层的功能

传输层位于网络层之上,为运行在不同主机上的进程之间提供了逻辑通信,而网络层提供了主机之间的逻辑通信。

复用和分用。复用指发送方不同的应用进程都可以使用同一个传输层协议传送数据,分用指接收方的传输层在剥去报文的首部后能够把这些数据正确交付到目的应用进程。

传输层还要对收到的报文进行差错检测,包括数据部分。

提供两种不同的传输协议,即面向连接的 TCP 和无连接的 UDP。采用 TCP 时,应用进程看到的是一条全双工的可靠信道;采用 UDP 时,这种逻辑通信信道仍然是一条不可靠信道。

传输层寻址与端口

端口能够让应用层的各种应用进程将其数据通过端口向下交付给传输层,以及让传输层知道应当将其报文段中的数据向上通过端口交付给应用层相应的进程。端口标识了主机中的应用进程,端口号只具有本地意义。

端口号长度为16位,根据端口号范围可分为两类:

服务端使用的端口号:这里又分两类,最重要的一类是熟知端口号,数值为0~1023,被 IANA(互联网地址指派机构)分配给 TCP/IP 一些最重要的应用程序;另一类是登记端口号,数值为1024~49151,使用时必须在 IANA 登记。

客户端使用的端口号:数值为49152~65535,又叫短暂端口号或临时端口。客户进程通信结束后就可以给其它客户进程使用。

套接字(Socket)=(主机 IP 地址,端口号)。

无连接服务与面向连接服务

TCP 提供面向连接的服务,在通信之前必须先建立连接,数据传送结束后释放连接。会增加许多开销,会使协议数据单元头部增大,也会占用处理机资源,适用于 FTP,HTTP 等。

UDP 提供无连接服务,直接将信息发送到网络中,尽力向目的地传送。执行速度快,实时性好,适用于 DNS 等。

UDP 协议

UDP 提供尽最大努力的交付,即不保证可靠交付,所有维护传输可靠性的工作需要在应用层完成。UDP 是面向报文的。

UDP 数据报

UDP 数据报包含 UDP 首部和用户数据。首部有8个字节,由4个字段组成:源端口、目的端口、长度和校验和。校验和检测有错就丢弃,当源主机不想计算校验和时可全置0。

UDP 校验

计算校验和时,要在 UDP 数据报之前增加12个字节的伪首部,其中包括源 IP 地址、目的 IP 地址和 UDP 长度。UDP 校验时把首部部分和数据部分一起检验。

TCP 协议

提供可靠的交付服务,保证传送的数据无差错、不丢失、不重复且有序。提供全双工通信。

TCP 段

首部的前20字节是固定的;首部最短为20字节,后面有4N字节是根据需要可增加的选项。

源端口和目的端口字段:各2字节。

序号字段:4字节。TCP 是面向字节流的,传送的数据流中的每个字节都有序号,该字段的值为本报文段所发送数据第一个字节的序号。

确认号字段:4字节。是期望收到对方的下一个报文段的数据的第一个字节的序号。

数据偏移(即首部长度):4位。

紧急位 URG:有效时表明此报文段有紧急数据,应尽快传送。数据从第一个字节到紧急指针字段(16位)所指字节位紧急数据。

确认位 ACK:有效时确认号字段才有效。规定建立连接后所有的报文段都要把 ACK 置1。

推送位 PSH:有效时就尽快交付应用程序。

复位位 RST:有效时表明连接中出现严重差错,必须释放连接然后重新建立。

同步位 SYN:有效时表明这是连接请求或连接接收报文。

终止位 FIN:有效时表明发送方数据已发送完毕。

窗口字段:2字节。指出现在允许对方发送的数据量,单位为字节。

检验和:2字节。检验包括首部和数据,计算时要加12字节的伪首部。

TCP 连接管理

每个 TCP 连接都有三个阶段:连接建立、数据传送和连接释放。TCP 连接的两个端点是套接字。

连接建立

客户机的 TCP 首先向服务器的 TCP 发送一个连接请求报文段,其中不含应用层数据。首部的 SYN 被置为1,客户机会随机选择一个起始序号x。

服务器的 TCP 收到请求报文段后,同意则为该连接分配 TCP 缓存和变量,并发回确认。确认报文段中 SYN 和 ACK 都被置为1,确认号字段值为x+1,随机产生一个起始序号值为y。

客户机收到确认报文段后,分配缓存和变量,并发回确认。报文段的 ACK 置为1,序号字段为x+1,确认号字段为y+1。

连接释放

客户机打算关闭连接,就向 TCP 发送连接释放报文段,并停止再发送数据。报文段的 FIN 置1,序号字段为已传送过的数据的最后一个字节的序号加1。

服务器收到连接释放报文段后发回确认。确认号字段为u+1,序号字段为已传送过的数据的最后一个字节的序号加1。此时,从客户机到服务器方向的连接就释放了,TCP 处于半关闭状态。

若服务器也打算关闭连接,就发出 FIN 为1的连接释放报文段。

客户机收到连接释放报文段后,必须发出确认。确认报文段中 ACK 置1,序号字段为u+1。

TCP 可靠传输

TCP 首部的序号字段用来保证数据能有序提交给应用层,TCP 把数据看成有序的字节流,序号是建立在传送的字节流之上的。

确认号字段默认使用累计确认,即只确认数据流中至第一个丢失字节为止的字节。

有两种事件会导致 TCP 对报文段进行重传。

超时:TCP 每发送一个报文段,就对这个报文段设置一个计时器,只要计时结束但还没收到确认,就重传这一报文段。TCP 会记录一个报文段发出的时间,以及收到相应确认的时间,时间差叫做报文段的往返时间(RTT),并保留一个加权 RTT 来计算要设置的重传时间。

冗余 ACK:TCP 规定每当比期望序号大的失序报文段到达时,发送一个冗余 ACK,指明下一个期待字节的序号。并且当发送方收到对同一个报文段的3个冗余 ACK 时,就可以认为跟在这个被确认报文段之后的报文段已经丢失。这时要立刻重传,这种技术称为快速重传。

TCP 流量控制

流量控制是用来匹配发送方的发送速率和接收方的读取速率。在通信过程中,接收方动态地调整发送方的发送窗口大小,这就是接收窗口 rwnd,即调整首部中的窗口字段值。同时,发送方根据其对当前网络拥塞程度的估计而确定的窗口值称为拥塞窗口 cwnd。发送窗口的实际大小是取 rwnd 和cwnd 的最小值。

TCP 拥塞控制

拥塞控制是让网络能够承受现有的网络负荷,是一个全局性的过程。流量控制往往指点对点的通信量的控制。

慢开始和拥塞避免

慢开始算法:先令拥塞窗口 cwnd=1,每收到一个对新的报文段的确认后,将 cwnd 加1。使用这种算法,每经过一个传输轮次,即 RTT,cwnd 就会加倍。一直增加到一个规定的慢开始门限 ssthresh,然后改用拥塞避免算法。

拥塞避免算法:cwnd 每经过一个 RTT 就增加1,使 cwnd 按线性规律缓慢增长,出现一次超时时,就令 ssthresh 等于当前 cwnd 的一半。

拥塞处理:无论在慢开始阶段还是拥塞避免阶段,只要发送方检测到超时事件,就把 ssthresh 设置为出现拥塞时 cwnd 的一半(不能小于2),然后把 cwnd 重新设置为1,执行慢开始算法。在慢开始阶段,若 2*cwnd>ssthresh,则下一个 RTT 的 cwnd 应等于 ssthresh。

快重传和快恢复

快重传和快恢复算法是对上述算法的改进。

快重传:使用冗余 ACK 来检测丢包的发生。并非取消重传计时器,而是在某些情况下能更早地重传丢失的报文段。

快恢复:发送端收到连续三个冗余 ACK 时,就把 ssthresh 和 cwnd 同时设置为出现拥塞时 cwnd 的一半,然后执行拥塞避免算法。

六、应用层知识点

网络应用模型

客户/服务器模型

在客户/服务器(Client/Server,C/S)模型中,有一个总是打开的主机称为服务器,它服务于许多来自客户机的请求。客户程序必须知道服务器程序的地址;服务器程序不需要知道客户程序的地址。

模型最主要的特征是:客户是服务请求方,服务器是服务提供方。

P2P 模型

各计算机没有固定的客户和服务器划分,任意一对计算机——称为对等方(Peer),直接相互通信。

与 C/S 模型相比,优点主要体现在:减轻服务器压力,消除对某个服务器的完全依赖;多个客户机之间可以直接共享文档;可扩展性好;网络健壮性强。缺点有会占用较多内存,影响整机速度。

DNS 系统

域名系统 DNS(Domain Name System)是因特网使用的命名系统,用来把便于人们记忆的含有特定含义的主机名转换为便于机器处理的 IP 地址。运行在 UDP 协议之上,使用53号端口。

层次域名空间

因特网采用层次树状结构的命名方法。每一个域名都是由标号序列组成,各标号之间用点隔开。标号中的英文不区分大小写;标号中除连字符外不能使用其它的标点符号;级别最低的域名写在左边,级别最高的顶级域名写在最右边。

顶级域名(Top Level Domain,TLD)有三类:国家顶级域名(如“.cn”,“.us”等),通用顶级域名(如“.com”,“.org”等),基础结构域名(只有arpa,用于反向域名解析)。

域名服务器

因特网的域名系统被设计成一个联机分布式的数据库系统,采用 C/S 模型。

根域名服务器:最高层次的域名服务器,知道所有顶级域名服务器的 IP 地址。因特网有13台根域名服务器。

顶级域名服务器:负责管理在该顶级域名服务器注册的所有二级域名。

授权域名服务器(权限域名服务器):每个主机都必须在授权域名服务器处登记。许多域名服务器都同时充当本地域名服务器和授权域名服务器。

本地域名服务器:当一个主机发出 DNS 查询请求时,这个查询请求报文就发送给该主机的本地域名服务器。

域名解析过程

域名解析是指把域名映射为 IP 地址(正向解析)或把 IP 地址映射为域名(反向解析)的过程。有两种方式:递归查询和递归与迭代相结合的查询。

主机向本地域名服务器的查询采用的是递归查询:如果本地域名服务器不知道被查询域名的 IP 地址,就以 DNS 客户的身份,向根域名服务器继续发出查询请求报文。

本地域名服务器向根域名服务器的查询采用迭代查询:根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么给出所要查询的 IP 地址,要么给出下一步要查询的顶级域名服务器的 IP 地址。

文件传输协议 FTP

FTP(File Transfer Protocol)是因特网上使用得最广泛的文件传送协议。提供交互式访问,允许客户指明文件类型与格式。

工作原理

FTP 采用 C/S 的工作方式,使用 TCP 可靠的传输服务。服务器进程由两部分组成:一个主进程,负责接收新的请求;另外有若干个从属进程,负责处理单个请求。

控制连接与数据连接

工作时使用两个并行的 TCP 连接,一个是控制连接(端口21),一个是数据连接(端口20)。

控制连接:用来传输控制信息(如连接请求、传送请求等)。整个会话期间一直保持打开状态。

数据连接:完成文件的传送。

电子邮件

电子邮件系统的组成结构

一个电子邮件系统应具有三个最主要的组成构件:

用户代理(User Agent):用户与电子邮件的接口。

邮件服务器:组成了电子邮件系统的核心。用来发送和接收邮件,同时还要向发信人报告邮件传送的情况。

使用的协议:邮件发送协议通常使用 SMTP;邮件读取协议有 POP3。

SMTP 协议

简单邮件传输协议 SMTP 控制两个相互通信的 SMTP 进程交换信息。SMTP 通信有三个阶段:

连接建立:SMTP 客户每隔一定时间对邮件缓存扫描一次,发现有邮件,就使用端口25与接收方邮件服务器的 SMTP 服务器建立 TCP 连接。

邮件传送:邮件的传送从 MAIL 命令开始,命令后面有发件人的地址。若服务器已准备好接收邮件,则回答“250 OK”。然后客户端发送一个或多个 RCPT 命令,每个命令都会收到“250 OK”或“550 No such user here“回复。获得 OK 的回答后,就使用 DATA 命令传输邮件内容。

连接释放:邮件发送完毕后客户发送 QUIT 命令。

POP3 协议

采用”拉“(Pull)的通信方式,使用 C/S 工作方式,使用 TCP 协议,端口为110。有两种工作方式:下载并保留和下载并删除。

万维网 WWW

WWW 的概念与组成结构

WWW 是一个资料空间。WWW 的内核部分是由三个标准构成的:

统一资源定位符(URL):负责标识万维网上的各种文档,并使每个文档在整个万维网内有唯一的标识符。一般形式是:<协议>://<主机>:<端口>/<路径>。

超文本传输协议(HTTP):是一个应用层协议,使用 TCP 连接进行可靠的传输。

超文本标记语言(HTML):是一种文档结构的标记语言,对页面上的各种信息、格式进行描述。

Web 应用的基本概念

Web 应用由两部分组成,客户端和服务器端。客户端指定 URL 与服务器端进行连接;服务器把 URL 转换为文件路径,并返回信息给 Web 浏览器;通信完成,关闭连接。

HTTP 协议

定义了浏览器怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器。

览器获得服务器的 IP 地址后,将通过 TCP 向服务器发送连接建立请求。每个万维网站点都有一个服务器进程,监听80端口,监听到连接请求后就建立连接。因此 HTTP 有两类报文:请求报文和响应报文。

HTTP 协议是无状态的,即同一个客户第二次访问同一个服务器时,服务器并不记得这个客户。实际中采用 Cookie 加数据库的方式来跟踪用户活动。Cookie 是一个存储在用户主机中的文本文件,含有一串识别码,用来识别用户。

HTTP 既可以使用非持久连接,即每一个网页对象的传输都需要单独建立一个 TCP 连接;也可以使用持久连接,即服务器发送响应后仍然保持这条连接。

HTTP 是面向文本的,报文中的每个字段都是 ASCII 码串,每个字段的长度都是不确定的。请求报文中有几个常用的方法(操作):

GET:请求读取由 URL 所标志的信息

HEAD:请求读取由 URL 所标志的信息的首部

POST:给服务器添加信息(例如,注释)

CONNECT:用于代理服务器

七、总结

  总的来说,计算机网络这个科目的知识点非常分散,所以对于计算机网络的复习,首先要理解网络分层结构,OSI参考模型和TCP/IP模型的区别和联系,然后按照OSI七层模型展开复习。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值