Files
912-notes/network/conclusion.md
2019-12-07 21:29:32 +08:00

173 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
计算机网络知识总结
================
## 网络概述
> OSI参考模型的七层层次结构各个层次的功能分别是什么
尤其关注`会话层``表示层`的功能。
> 分组交换的两种方式。
+ `数据报``虚电路`
+ 其中`虚电路``电路交换``数据报`方式的结合。
> `虚电路`方式的特点?
## 物理层
> 波特率与比特率之间的区别与联系?
> 奈奎斯特定理与香农定理的公式表述,两者的侧重点?
需要注意信噪比的分贝表示法的公式。也不要忘了奈奎斯特定理前面有一个2的系数。
## 物理链路层
> 介质访问控制的三种方式?
信道划分;随机访问;轮询访问。
> 随机访问的几种协议?它们之间的区别与联系?
`ALOHA`协议,时隙`ALOHA`协议;`CSMA`,包括`1坚持``p坚持``不坚持`,这三种形式各自的特点;`CSMA/CD``CSMA/CA`
其中`ALOHA`协议没有对发送做任何限制,因此信道可能存在大量的冲突,时隙`ALOHA`协议是对该情况的一种改进,但是仍然有许多冲突。因此`ALOHA`协议需要采用确认与停止等待机制来保证数据传输的正确性。可以看到,`ALOHA`协议对信道的利用率比较差。
`CSMA`是对`ALOHA`的一种改进策略,每个网络结点在发送数据之前会对信道的状态进行监听,只有在信道空闲时才发送,因此采用`CSMA`协议时,相对`ALOHA`而言信道上的冲突少了很多。yet`CSMA`仍然不能避免冲突,根据监听方式的不同,可以分为`1坚持``p坚持``不坚持`三种方式,各自的特点要清楚,比如`不坚持`方式是在信道忙时放弃侦听,等待一段随机时间后再侦听,而`p坚持`则是在信道忙时,等待下一个时隙再侦听。
`CSMA/CD``CSMA/CA`感觉都比较熟悉,但是需要明确无线信道是不可以使用`CSMA/CD`协议的,这是因为,一方面成本不允许,另一方面是由无线信道的特点决定的,即具有`隐蔽站``暴露站`问题,因此无线信道实际是允许多对主机同时通信的。
由于不存在`边发边听``CSMA/CA`应该尽量减少信道的冲突,防止信道资源的浪费。因此,`CSMA/CA`协议是在主机发送信息前使用`截断二进制指数退避`算法,以减少冲突的概率;此外,还采用`预约信道`的方式,发送方告知其他站点自己传输数据需要的时间,来进一步减少冲突。由于信道质量比较差,`CSMA/CA`需要通过确认和重传机制来保证可靠传输。
> 令牌环网的工作原理?
令牌环网的工作方式也需要清楚,其中的数据帧是沿着环路一个接一个传递的,直到数据帧返回了源站点,源站点通过检查返回的数据帧来判断传输过程是否有错。令牌的传输也是沿着环路逐个传输的。
> 高速以太网大多同时支持半双工与全双工方式除了10G比特以太网只有全双工方式。
> 以太网关于最短帧长的相关计算。
> 可靠传输机制的三种实现方法,它们的内在联系?
停止等待协议后退N帧协议(GBN, Go Back N),选择重传协议(SR, Selective Repeat)。它们实际上都是滑动窗口协议区别仅在于窗口的大小其中停止等待协议的发送与接收窗口都是1`GBN`的发送窗口大于1接收窗口为1`SR`的发送窗口与接收窗口都大于1并且发送窗口等于接收窗口。需要注意的是`GBN`未必优于停止等待协议,这是因为`GBN`可能需要对前面已经正确传输的帧进行重传。
对于`GBN``SR`,这里有一个冲突的问题,即如果发送窗口与接收窗口之和大于对帧的编号数目,接收方将不能识别当前接收到的帧是新的一帧,还是之前数据帧的重传帧。这个问题可以自己举个例子理解一下。
这里还涉及一个对发送窗口大小进行选择的问题,使得当采用`GBN`时,理想情况下信道利用率最高。
> 两个广域网协议以及它们的区别?
PPP协议和HDLC协议高级数据链路控制
PPP协议相对简单只提供链路层基本的组帧透明传输和差错校验功能不提供序号和确认机制而HDLC协议则是可靠传输协议使用了编号和确认机制。
此外PPP协议是面向字节的而HDLC协议是面向比特的因此PPP协议的透明传输默认是通过字节填充来实现而HDLC则是通过比特填充来实现。
与传统以太网不同的是PPP协议支持全双工链路。它的两端可以运行两个不同的网络层的协议。
> 冲突域与广播域
集线器不能隔离冲突域;网桥和交换机可以隔离冲突域了,但是不可以隔离广播域;只有路由器才可以隔离广播域。
## 网际层
> 通过校园网上网全过程分析
网际层的协议众多,这里通过一个实例,将各个实例的功能统一说明。
当一台主机连接到校园网后首先要做的是请求DHCP服务器为自己分配一个IP地址。DHCP是应用层的协议由于此时主机还没有IP地址不可能使用TCP这样需要建立连接的传输层协议因此DHCP是基于UDP的。
为了请求IP地址
+ 主机广播`DHCP发现`消息。
+ DHCP服务器收到后向网络中广播`DHCP提供`消息其中包含主机的IP配置信息。这里使用广播也是相同的原因。
+ 主机收到`DHCP提供`消息后,如果接受配置,则广播`DHCP请求`消息请求该IP地址。
+ DHCP服务器广播`DHCP确认`消息将IP地址分配给主机。
这里始终使用`广播`是因为此时主机和服务器之间都没有标志自己身份的IP地址因此不可能通过单播来进行交互。
获得了IP地址后主机就可以网上冲浪了。此时打开了一个网页发出了对某一个页面的请求信息。IP层将上层的报文段封装成`IP数据报`,此时需要确定应该将该数据报发送给网络内哪一个主机。因此,需要采用`地址解析协议`(ARP)来将目的IP地址转化为硬件地址具体过程如下
+ 首先在主机的ARP缓存中查找目的IP地址失败了则进行以下步骤
+ 在网络中广播ARP请求分组请求目的IP地址的硬件地址。
+ 如果目的主机在本网络中收到了ARP请求分组后目的主机会向当前主机回送`ARP响应分组`注意这里不是广播了给出自己的硬件地址主机收到后将地址加入到ARP缓存当中。
+ 如果目的主机不在本网络中则本网络的路由器回送ARP响应分组给出自己的硬件地址。
这之后,主机就可以通过链路层协议将数据帧传送给目的主机或者路由器了。本实例中,目的主机在其他网络中,因此事传送给路由器。
路由器收到主机发来的IP数据报由于本网络采用NAT技术IP数据报的原地址是内网IP因此路由器需要将该内网IP转化为自己的公网IP这里就涉及到对IP数据报原地址的修改。
此后的工作就是上面工作的重复和循环了。
> ICMP的相关知识
ICMP是网络层协议它的报文是作为IP数据报的内容发送的。它有两种报文即差错报告报文和ICMP询问报文。
分组网间探测(ping)是使用ICMP询问报文它工作在应用层却直接使用了网际层协议而没有经过传输层。发送方发送ICMP回送请求报文目的方收到后发送ICMP回答报文借此来测试两个网络节点之间的连接性。
tracert使用ICMP差错报告报文它是依次发送`TTL = 1, 2, 3, ...`的报文,该报文到达第`1, 2, 3, ...`个路由器后就会因为超时而回送ICMP时间超过的差错报告报文借此来获知报文在各个路由器之间的传递路径。而最后一个到达目的主机的报文则是通过一个错误的端口号使得目的主机回送ICMP终点不可达报文的。tracert工作在网络层。
> 关于三个路由选择协议
RIP协议是基于距离向量的它是一个应用层协议传输层采用UDP协议。
OSPF是一个`链路状态路由算法`它是基于一个网络层协议他不使用TCP或是UDP而是直接使用IP数据报传输。
BGP则是基于路径向量的因为它要传输的内容是到某个路由器的完整路径。BGP是一个应用层协议传输层采用TCP。
> IPv4和IPv6
需要明确IPv4中头部各个字段的意义尤其是和分片有关的内容。
IPv6相对于IPv4最大的改变自然是在于IP地址的长度增加到了16个字节是IPv4的平方。因为地址太长了它的书写方式和IPv4有一些不同比如可以采用双冒号缩写来省略连续的0字段。IPv6简化了分组头部包括放弃使用首部检验并且由于首部长度固定因此自然也就不需要首部长度字段。
需要注意的是IPv6只允许在源节点分片在路由器是不可以分片的。
> IGMP协议相关
组播地址的首部然后是组播地址与MAC地址的转换只有低23位可以映射到MAC地址。
IGMP的工作方式是让连接在本地局域网的组播路由器知道本局域网是否有主机参加或者退出了某个组播组对于参加组播组的主机数量是不知道的。组播路由选择时构造以源主机为根节点的组播转发树由于是树形结构因此不会出现分组循环传输的现象。
## 传输层
传输层感觉比较简单啊主要要弄清楚TCP拥塞控制的那四个算法的工作流程是怎么样的。还有一个方面就是TCP三报文握手和四报文挥手的必要性以及这个过程中首部的控制字段的值即ACKSYN以及seq信息。
## 应用层
> DNS
DNS主要是三个要点`域名的层次结构``域名服务器的层次结构`以及`域名解析的过程`。权限域名服务器也是一个要点。
域名的解析过程主要有`递归查询``迭代查询`两种,在实际中使用的是两者的结合。
DNS由于传输的信息量比较少使用TCP会导致信道的利用率低因此是采用UDP传输的。使用53号端口。
> FTP
FTP的要点在于控制连接和数据连接。其中控制连接使用21号端口数据连接使用20号端口由于采用两个并行的TCP所以说FTP的控制信号时带外传送的。然后像文件传输这么重要的事情肯定需要使用TCP。
需要辨析FTP和网络文件系统NFS的异同如果要修改一个文件的话FTP必须将此文件传输至本地主机修改完成后再发回给服务器而如果使用NFS的话则只需要复制大文件中的一个小片段而不用整个复制大文件。
> 电子邮件
电子邮件有三个主要协议即SMTPPOP3IMAP。其中SMTP是push的协议而后面两个是pull的协议。三个协议都是使用TCP的。
首先需要清楚电子邮件的格式,分为信封和内容两个部分,其中内容是由用户填写的,分为首部和主体两部分。首部就是发邮件需要写的发件人,收件人,主体这种,信封是客户端通过首部自己提取的。
SMTP的传输过程需要明确包括HELO MAIL RCPT DATA QUIT五个命令这里需要关注发送收件人(RCPT)的作用。
SMTP默认只能传输ASCII码因此需要使用MIME(多用途网际邮件扩充)使得电子邮件可以传输其他国家的文字以及多媒体信息它主要是定义了非ASCII码的传送规则并没有对SMTP进行改动。
POP3现在有两种工作方式了即下载并保留以及下载并删除。现代的电子邮件系统已经广泛采用HTTP协议作为用户和邮件服务器端的数据传送方式。在服务器与服务器之间仍然是采用SMTP协议。
> 万维网
万维网的重点主要在于HTTP协议包括HTTP/1.0HTTP/1.1两者的改动,即非持久连接和持久连接,以及在持久连接模式下的非流水线方式与流水线方式。
HTTP协议具有多个特点比如是面向报文的面向事务的是无连接的无状态的。获得跟踪用户的信息HTTP需要借助Cookie。
HTTP协议剧两类报文——请求报文和响应报文两者的区别主要是在于开始行。请求报文的开始行又称为首部行含有方法URL版本三个字段比如`GET http://tsinghua.edu.cn/index.jsp HTTP/1.1`这样;而响应报文的开始行(也称为状态行),含有版本,状态码,以及解释状态码的简单短语,比如`HTTP/1.1 202 Accepted`以及`HTTP/1.1 404 Not Found`这样。