【问题整理】计算机相关

目录

缩写

计算机的发展

摩尔定律

冯诺依曼理论

计算机系统的构成

CPU/中央处理器

CPU的性能参数

内存

随机存储器RAM和只读存储器ROM

外存

主板

显卡

定点数和浮点数

 网络拓扑结构设计

某医院医保系统故障,如何排错

计算机网络的分层

OSI七层模型

TCP/IP模型

TCP/IP模型和OSI模型的区别

封装和解封装

各层次的协议数据单元PDU

中继器是什么?中继器有什么作用。

集线器(hub)

网卡/网络适配器

网桥/桥接器

交换机

路由器有什么优势?采用了什么技术?

网关/网间连接器/协议转换器

调制解调器

网络、互连网、因特网

因特网发展的三个阶段

因特网/互联网的组成

接入网

什么是计算机网络

计算机网络由什么构成

计算机网络的分类

计算机网络的性能指标

谈一谈网络时延由哪几个部分组成?各产生于何处?

网络协议

网络协议的三要素

电路交换

分组交换机

分组交换

电路交换、报文交换、分组交换的对比

什么是信道复用,有哪些种类?各有什么特点?

物理媒体

光纤

端系统之间的通讯方式

socket

HTTP发展

HTTP超文本传输协议

从浏览器地址栏输入url到显示页面的步骤

cookie的用处

cookie与session的差别

HTTP方法

GET和POST的区别

HTTPS的优点和缺点

持续连接的HTTP和非持续连接的HTTP

HTTP状态码        

Web缓存器/代理服务器

FTP文件传输协议

电子邮件

SMTP简单邮件传送协议

POP邮局协议和IMAP因特网邮件访问协议

输入URL到显现页面的过程

DNS 是如何解析域名的

DNS解析

DNS劫持或污染

搜索引擎原理

可靠传输的实现机制

UDP用户数据报协议

TCP传输控制协议

 TCP的流量控制

TCP的三次握手和四次挥手

两次握手建立连接为什么不行?

TCP拥塞控制

TCP/IP

数据处理流程

IP协议

内网IP地址

NAT网络地址转换

如何获得一个IP地址

DHCP协议

子网划分

ICMP协议

IP地址和MAC地址的区别

RIP协议

OSPF协议


缩写

CPU中央处理器

RAM随机存储器

ROM只读存储器

GPU图形处理器

ISP因特网服务提供商

IOT物联网

FDM频分复用

TDM时分复用

WDM波分复用

CDM码分复用

DSL数字用户线

FTTH光纤到户

PDU协议数据单元

API应用程序编程接口

NIC网络接口卡

HTTP超文本传输协议

FTP文件传输协议

SMTP简单邮件传输协议

POP3邮局协议版本3

MIME多用途因特网邮件扩展

SSL安全套接字协议

DNS域名系统

URL统一资源定位器

UDP用户数据报协议

TCP传输控制协议

SW停止等待协议

GBN回退N步

SR选择重传

cwnd拥塞窗口(值)

MTU最大传输单元

DHCP动态主机配置协议

NAT网络地址转换

RIP路由信息协议

OSPF开放式最短路径优先

LSA链路状态通告

LSDB链路状态数据库

ABR区域边界路由器

BGP边界网关协议

SNMP简单网络管理协议

STP生成树协议

RSTP快速生成树协议

MSTP多生成树协议

VRRP虚拟路由冗余协议

计算机的发展

        根据电子元器件的发展计算机共经历了四个阶段。

        第一阶段:电子管计算机的时代

        第二阶段:晶体管计算机的时代

        第三阶段:中小规模集成电路计算机的时代——诞生了操作系统

        第四阶段:大规模及超大规模集成电路计算机的时代——真正应用了操作系统

摩尔定律

        摩尔定律被称为计算机第一定律,指集成电路上可容纳的晶体管数目,约18-24个月就会增加一倍,换言之,处理器的性能每隔两年翻一倍。就像我们的手机系统,每隔一段时间就要更新,更新后性能也更好了。摩尔定律是对现阶段的分析预测,揭示了信息技术发展速度之快。

冯诺依曼理论

        1944年冯诺依曼提出计算机基本结构和工作方式的设想,为计算机的诞生和发展提供了理论基础。

        冯诺依曼理论的要点是:计算机硬件设备由存储器、运算器、控制器、输入设备和输出设备5部分组成;计算机采用二进制的形式存储和传输数据;存储程序思想,计算机自动地逐条取出指令并执行任务

计算机系统的构成

        计算机系统由硬件系统软件系统构成:硬件系统包括运算器、控制器、存储器、输入设备、输出设备;软件系统包括系统软件应用软件

【问题整理】计算机相关_第1张图片

CPU/中央处理器

        中央处理器CPU是一块超大规模的集成电路,是一台计算机的运算和控制核心,主要由运算器、控制器和寄存器组成。它的功能主要是解释和执行计算机指令

CPU的性能参数

        1.主频

        也叫时钟频率,是CPU在单位时间内发出的脉冲数,其单位是兆赫(MHz)或吉赫(GHz)。通常主频越高,CPU处理数据的速度就越快。

        2.字长

        字长是CPU一次能够处理的二进制数据的位数,它决定了计算机的计算精度和处理信息的效率。字长一般都是以2的n次方,如32位和64位。

        3.多核

        多核指在一个处理器上集成多个运算核心,目前处理器一般有双核、四核、八核等。

        4.缓存

        缓存Cache位于CPU和内存之间。将CPU常要重复读取的数据存放在缓存,可以大幅度提升CPU读取数据的速度,提升系统性能
 

内存

        内存是计算机中重要部件之一,也称为内存储器和主存储器,相较于外存储器而言,内存容量小,速度快。分为随机存储器和只读存储器。计算机中所有程序的运行都是在内存中进行的。只要计算机开始运行,操作系统就会把需要运算的数据从内存调到CPU中进行运算,内存的运行保证了计算机的稳定运行。

随机存储器RAM和只读存储器ROM

        随机存储区RAM是一种可以随机读写数据的存储器。RAM只能用于暂时存放信息,一旦断电,存储内容立刻消失。RAM又分为静态随机存储器SRAM和动态随机存储器DRAM。静态随机存储器SRAM速度非常快,功耗大,只要电源存在内容就不会自动消失。一般高速缓冲存储器由SRAM组成。动态随机存储器DRAM的内容会自动消失,因此必须周期性的在内容消失前进行刷新。运行速度较慢,功耗少,成本较低,用来做内存条。

        只读存储器ROM,它的特点是只能读出原有的内容,不能由用户写入新内容,一般用来存放专用的固定程序和数据。

外存

        外存储器也叫做外存或辅存,一般断电后仍然能够保存数据,相比内存而言,容量大,速度慢。常见的外存主要有软盘、硬盘、U盘、移动硬盘等。 

        硬盘由一个或者多个铝制或者玻璃制的碟片组成碟片外覆盖有铁磁性材料。硬盘分为固态硬盘和机械硬盘。

主板

        主板又叫主机板、系统板。它安装在机箱内,是计算机最基本也是最重要的部件之一。主板一般为矩形电路板,上面安装了组成计算机的主要电路系统,一般有BIOS芯片、I/O控制芯片键盘和面板控制开关接口、指示灯插接口、扩充插槽、主板及插卡的直流电源供电接插件等元件

显卡

        全称显示接口卡,又称为显示适配器,是计算机最基本的配置之一。显卡承担输出显示图形的任务,控制显示器的正确显示,对于喜欢玩游戏和从事专业图形设计的人来说,显卡非常重要。主流显卡的显示芯片主要由NVIDIA(英伟达)和AMD(超微半导体)两大厂商制造,通常将采用NVIDIA显示芯片的显卡称为N卡,将采用AMD显示芯片的称为A卡。

        显示芯片是显卡的主要处理单元,又称为图形处理器GPU,GPU是NVIDIA公司首先提出的概念。尤其是在处理3D图形时,GPU使显卡减少了对CPU的依赖,完成部分原本由CPU负责的工作

定点数和浮点数

        在计算机中,小数点及其位置是隐含规定的;有两种隐含方式:定点和浮点。

        定点数:小数的位置是固定不变的。

        浮点数:小数点的位置由阶码规定,因此是浮动的。

 网络拓扑结构设计

        一、小型星型网络拓扑结构设计

        星型网络主要是以相对廉价的双绞线作为传输介质的。所指的小型星型网络是指只有一台交换机(当然也可以是集线器,但前已很少使用)的星型网络,主要应用于小型独立办公室企业和家庭办公用户中。这类小型型网络所能连接的用户数一般在20个左右,当然也有可以连接高达40多个用户的,具体要根据交换机可用端口数而定。首先确定网络设备的总数,这是整个网络拓扑结构设计的基础。这里所指的网络设备包括服务器、网络打印机、路由器和防火墙等所有需要与交换机连接的设备。然后确定交换机端口类型和端口数。一般来说,在网络中的服务器、边界路由器、下级交换机、网络打印机、特殊用户工作站等所需的网络带宽较高,所以通常连接在交换机的高带宽端口。要保留一定的网络扩展所需端口。确定可连接用户总数。

        二、中型扩展星型网络结构设计

        中型扩展星型网络是指在整个网络中包括多个交换机,而且各交换机是通过级联方式的分层结构。在中型,或以上的星型网络中,一般有“边缘层”(也有称“接入层”)“会聚层”和“核心层”3个层次。在各层中的每一台交换机又各自形成一个相对独立的星型网络结构。这主要应用于在同一楼层的中小型企业网络中。在这种网络中通常会有一个单独的机房,集中摆放所有关键设备,如服务器、管理控制台、核心或骨干层交换机、路由器、防火墙、UPS等。

        采用白上而下的分层结构设计。首先确定的是核心交换机的连接,然后是会聚层交换机的连接。再次是边缘层的交换机连接。把关键设备冗余连接在两台核心交换机上。要实现核心交换机负载均衡和冗余配置,最好对核心交换机之问、核心交换机与骨干层 交换机之间,以及核心交换机与关键设备之间进行均衡和冗余连接和配置。连接其他网络设备。把关键用户的工作站和大负荷网络打印机等设备连接在核心交换机,或者会聚层交换机 的普通端口上;把工作负荷相对较小的普通工作站用户连接在边缘交换机上。

某医院医保系统故障,如何排错

        接到电话后了解情况,并赶往现场。在赶往现场的同时,联系传输部门,查询传输设备是否有故障,有些传输设备是可以进行网管的,传输部门反馈没有任何告警。然后联系同事查看机房内设,设备的数据是否有异常,也没有异常。通过这两个判断,大致可以定位是客户侧的问题。医保系统使用一台服务器双网卡分别接两个网络,一个接外网一个接医保系统的内网。

        到现场后查看服务器,两个网卡一个是192.168.1.段,一个是192.168.20.段。要访问医保这台服务器,同时还要上外网。首先ping一下医保的网关, 网关可以ping通说明医院到运营商是没有问题的。然后ping一下外网(www.baidu.com),也是可以ping通的。接着我们看一下这台电脑的路由表(route print),可以发现有两个默认路由,它在两个网卡上都配置了网关,所以会有两条默认路由的产生。有两条默认的路由会导致数据异常,比如说有时候你访问医保服务器的数据,通过外网访问出去了,就会导致不通。所以要改一下内网的网卡IP,将内网网卡IP手动配置为192.168.20.157。再查看路由表,这里就只有访问外网的默认路由了。ping一下医保服务器发现不通,因为我们还没有去医保服务器的路由,需要我们手动添加路由,route add -p 192.168.150.0 mask 255.255.255.0 192.168.20.10(下一跳网关指向医保系统的网关)。再ping一次医保服务器的网关就可以通了。

        故障主要是因为有两个默认路由,导致数据数据包转发出错。

        双网卡组网在企业中非常常见,处理不好经常会导致故障,但只要掌握了控制路由表,一切问题都可以解决。

        模拟拓扑图如下。

【问题整理】计算机相关_第2张图片

计算机网络的分层

        把计算机网络分成一个个功能明确的层次,每层实现一个或一组功能。采用协议实体的相互动作来实现。借助层间的接口,借助下层所提供的服务,来交换PDU协议数据单元。实现协议动作的目的是为了向上一层实现更好的服务。服务是垂直的关系。

OSI七层模型

        OSI七层模型自下而上为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。物理层定义接口及介质,主要负责数据比特流的传输;数据链路层在不可靠的物理介质上提供可靠的传输;网络层负责转发和路由;传输层提供端到端的传输服务;会话层负责会话的连接建立和断开;表示层完成编码处理,例如数据格式处理文本压缩;应用层为应用程序提供服务。

        OSI七层参考模型,并不是物理实体上存在这七层,这只是一个功能的划分,是一个抽象的参考模型。

TCP/IP模型

        TCP/IP模型自下而上为网络接口层、网络层(ARP、IP、ICMP)、传输层(TCP、UDP)、应用层(DNS、HTTP、HTML、SMTP、POP、FTP、TELNET)。

TCP/IP模型和OSI模型的区别

        TCP/IP 与 OSI 在分层模块上稍有区别。OSI 参考模型注重“通信协议必要的功能是什么”,而 TCP/IP 则更强调“在计算机上实现协议应该开发哪种程序”。

封装和解封装

【问题整理】计算机相关_第3张图片

各层次的协议数据单元PDU

        应用层:报文

        传输层:报文段(TCP报文段、UDP数据报)

        网络层:分组、数据报

        数据链路层:帧

        物理层:比特 

中继器是什么?中继器有什么作用。

        中继器是工作在物理层上的连接设备,主要功能是对信号进行再生和还原,来扩大网络传输的距离由于存在损耗,在线路上传输的信号功率会衰减,衰减到一定程度会导致信号失真。中继器对衰减的信号进行放大,理论上讲中继器的使用是无限的,网络也可以无限延长,但这是不可能的,因为网络标准有明确规定,中继器只能在规定范围内进行有效的工作,否则会引起网络故障。中继器的缺点是会增大时延。

集线器(hub)

        集线器工作在物理层,适用于小规模网络,常用于星型拓扑网络中,连接多个计算机或网络设备。集线器每个接口简单的收发比特,收到1就转发1,收到0就转发0。集线器是纯硬件底层网络设备,采用广播的方式发送数据,也就是要向某节点发送数据,并不是直接发送给目标节点,而是发送给所有相连的节点。以集线器为中心设备,网络中某线路产生了故障,并不影响其他线路工作,但当网络中主机数量过多的时候,会在网络生成广播风暴。集线器使用载波监听冲突检测多点接入方法来避免冲突。

网卡/网络适配器

        网络接口卡NIC又称网卡或网络适配器。网卡是工作在数据链路层的网络组件,是局域网连接计算机和传输介质的接口实现与局域网传输介质之间的物理连接和电信号匹配网卡中含有物理(MAC)地址,涉及帧的发送和接收、帧的封装和拆封、介质访问控制、数据的编码和解码以及数据缓存的功能等。

网桥/桥接器

        网桥工作在数据链路层,可连接两个相同协议的局域网设备,也可以用于连接大的局域网中相同的网段。网桥只能识别MAC地址,网桥的工作流程也是一个存储转发的过程,因此会增大时延。网桥没有流量控制功能,有可能出现数据丢失。网桥不但能扩展网络的距离或范围,而且可提高网络的性能、可靠性和安全性。网络1 和网络2 通过网桥连接后,网桥接收网络1 发送的数据包,检查数据包中的地址,如果地址对应端口属于网络1 ,它就将其放弃,相反,如果对应端口是网络2 ,它就发送给网络2。

交换机

        交换机工作在数据链路层,主要功能就是把数据包发送到正确的位置。交换机可以说同时是集线器和网桥的升级换代产品,因为交换机具有集线器一样的集中连接功能,同时它又具有网桥的数据交换功能。交换机就像邮递员,根据数据包中的目标MAC地址,找到对应的物理端口。在交换机中,有一张端口与MAC地址的映射关系表,我们称之为MAC地址表。想要与某个MAC地址通信时,只需要查询一下这个MAC地址在哪个端口上,然后从对应的端口发送出去就可以了。

路由器有什么优势?采用了什么技术?

        路由器工作在网络层,是用于连接两个网络并对分组进行转发的设备。路由器是互联网的主要结点设备。路由器运行路由选择协议(RIP、OSPF、BGP)生成路由表,根据路由表进行分组的转发。路由器的多个端口可以连接多个网段,不同的端口它的网络地址是不同的,所对应的网段也是不同的,这样才能使各个网段中的主机通过自己网段的IP地址把数据发送到路由器上。路由器可以连接不同的数据链路,还有分担网络负荷的作用,有些路由器具备一定的网络安全功能。

网关/网间连接器/协议转换器

        网关就是一个网络到另一个网络的关口,是一个概念,只要连接两个不同的网络的设备都可以叫网关。网关是数据的默认出口,当我们PC想要发送一个数据包,而这个数据包的目的地址位于另外一个网段。那么PC首先需要把数据包发送到网关接口。网关是跟PC在同一网段的三层设备的接口。如果网关出现故障,则内网设备无法访问外网。VRRP协议可以避免由于局域网网关单点故障而导致的网络中断

调制解调器

        调制解调器是调制器和解调器的缩写 ,是一种计算机硬件,它能把计算机的数字信号翻译成可沿普通电话线传送的模拟信号,而这些模拟信号又可被线路另一端的另一个调制解调器接收,并译成计算机可懂的语言。通过这一简单过程完成了两台计算机间的通信。

网络、互连网、因特网

        网络由若干结点和连接这些结点的链路组成。
        多个网络可以通过路由器进行互连,就构成了一个覆盖范围更大的网络,即互连网
        因特网是世界上最大的互连网络,采用TCP/IP协议作为通讯规则(1983年),前身是美国的ARPANET。

        从服务角度看,互联网是分布式应用以及为分布式应用提供通讯的基础设施。

因特网发展的三个阶段

        一、单个网络ARPANET互联网发展

        1969年,第一个分组交换网ARPANET;进行网络互联研究;1983年,TCP/IP协议称为标准协议(因特网诞生时间)

        二、逐步建成三级结构的因特网

        主干网、地区网、校园网

        三、逐步形成多层次ISP结构的因特网

        政府机构不再负责因特网运营,让各种因特网服务提供者ISP来运营;万维网www技术促使因特网迅猛发展

因特网/互联网的组成

一、网络边缘

        由所有连接在因特网上的主机(端系统)组成。由用户直接使用,用来进行通信(传送数据、音频、视频)和资源共享。

二、网络接入

        把边缘接入网络核心。

三、网络核心

        由大量网络和连接这些网络的路由器组成,进行数据交换。

接入网

         一、住宅接入:数字用户线DSL和电缆(modem调制解调器)、FTTH光纤到户

        数字用户线DSL利用现有的本地电话基础设施,而电缆因特网接入利用了现有的有线电视基础设施。

        二、企业接入:以太网和WiFi

        三、无线接入:广域无线接入、无线LAN

什么是计算机网络

        计算机网络指的是分布在不同地理位置上的具有独立功能的多个计算机系统,通过通信设备和通信线路互连起来,在网络软件的管理下实现数据传输资源共享

计算机网络由什么构成

一、计算机系统

        计算机系统提供网络服务界面。

二、通信处理机

        通信处理机也叫通信控制器或前端处理机,是计算机网络中完成通信控制的专用计算机,通常由小型机、微机或带有CPU的专用设备充当。

        在广域网中,采用专门的计算机充当通信处理机:在局域网中,由于通信控制功能比较简单,所以没有专门的通信处理机,而是在计算机中插入一个网络适配器(网卡)来控制通信。

三、通信线路和通信设备

        通信线路是连接各计算机系统终端的物理通路。通信设备的采用与线路类型有很大关系:如果是模拟线路,在线中两端使用Modem(调制解调器);如果是有线介质,在计算机和介质之间就必须使用相应的介质连接部件。

四、操作系统

        计算机连入网络后,还需要安装操作系统软件才能实现资源共享和管理网络资源。如:Windows 98、Windows 2000、Windows xp等。

五、网络协议

        网络协议是规定在网络中进行相互通信时需遵守的规则,只有遵守这些规则才能实现网络通信。常见的协议有:TCP/IP协议。

计算机网络的分类

一、按交换技术分类
        电路交换网络、报文交换网络、分组交换网络
二、按使用者分类
        公用网、专用网
三、按传输介质分类
        有线网络(双绞线、光纤网络)、无线网络(WiFi)
四、按覆盖范围分类
        广域网WAN、城域网MAN、局域网LAN、个域网PAN
五、按拓扑结构分类
        总线型网络、星型网络、环型网络、网状型网络

计算机网络的性能指标

1、速率
        主机在数字信道传送数据的速率。
2、带宽
        网络的通信线路所能传送数据的能力,也就是最高数据率。
3、吞吐量
        单位时间内通过某个网络的数据量。受限于带宽或者额定速率。
4、时延
        包括发送时延、传播时延、处理时延、排队时延。数据从网络的一端发送数据帧到另一端所需要的时间。
5、时延带宽积
        传播时延和带宽的乘积。
6、往返时间RTT
        通信双向交互一次的时间
7、利用率
        信道利用率(过高时延会增大,太低浪费通信资源)、网络利用率

谈一谈网络时延由哪几个部分组成?各产生于何处?

        网络时延包括发送时延、传播时延、处理时延、排队时延。

        1.发送时延:主机或路由器发送数据帧所需要的时间,从发送数据帧的第一个比特算起,到发送完最后一个比特为止。

        2.传播时延:(传播媒体上)电磁波在信道中传播一定的距离需要花费的时间

        3.处理时延:主机或路由器在收到分组的时候进行处理需要花费的时间。

        4.排队时延:分组在网络中进行传输的时候,会经过很多路由器,分组在进入路由器后要先中输入队列中排队等待处理,路由器确定转发接口后,分组还要在输出队列中排队等待转发。

网络协议

        简称为协议,为计算机网络中进行数据交换而建立的规则、标准或约定

        就像一个人讲英语,另一个人讲中文,两个人就无法交流。

网络协议的三要素

        1、语法。数据控制信息结构格式

        2、语义。需要发出何种控制信息,完成何种动作与做出何种响应

        3、同步。事件实现顺序的详细说明。

电路交换

        电话交换机接通电话线的方式称为电路交换;

        1.建立连接(分配通信资源)
        2.通话(一直占用通信资源)
        3.释放连接(归还通信资源)

分组交换机

        在当今的因特网中,两种最著名的分组交换机是路由器链路层交换机,这两种类型的交换机朝着目的地址转发分组。链路层交换机常用于接入网中,而路由器常用于网络核心中。

分组交换

        因特网中最重要的分组交换机就是路由器,它负责将各种网络互连起来,并对接受到的分组进行转发,也就是进行分组交换。

        通常我们把要发送的消息的整块数据称为一个报文,在发送报文之前,先把较长的报文划分为一个个更小的等长数据段。在每一个数据段前面,加上一些由必要的控制信息组成的首部后,就构成了一个分组。

        发送方:构造分组和发送分组
        路由器(分组交换机):缓存分组和转发分组(存储转发
        接收方:接受分组和还原报文
        

电路交换、报文交换、分组交换的对比

        电路交换通信前要建立连接,然后进行数据传送,数据传送结束后,需要释放连接,归还之前建立连接所占用的通信线路资源。
        优点:没有冲突;实时性强
        缺点:建立时间长;线路独占,使用效率低;灵活性差

        报文交换可以随时发送报文,不需要事先建立连接;整个报文先传送到相邻结点交换机,然后进行存储转发,转发到下一个结点交换机。
        优点:无需建立连接;线路利用率高
        缺点:需要较大的存储缓存空间

        分组交换可以随时发送分组,不需要事先建立连接;构成原始报文的一个个分组,依次在各结点交换机上存储转发
        优点:无需建立连接;线路利用率高
        缺点:引起排队时延;需要传送额外信息量(首部)

什么是信道复用,有哪些种类?各有什么特点?

        信道/多路复用技术是指在一条通信线路上传输多路信号,以提高通信线路利用率的技术。信道复用分为频分复用、时分复用、波分复用、码分复用。

         1.频分复用FDM:按频率划分不同的子信道。不同用户在同样时间内占据着不同带宽资源。

        eg:车辆并行在道路上。

         2.时分复用TDM:采用时间分片方式实现信道复用。若无数据传输,对应时隙空闲,因此效率较低。

        eg:同一天不同时段不同老师进行授课。

        3.波分复用WDM:即在一根光纤上传输多路光载波信号。

        4.码分复用CDM:采用码片序列进行发送,发送1则发送码片序列,发送0则发送码片序列反码。

物理媒体

        1、导引型媒体:双绞线、同轴电缆、光纤

        2、非导引型媒体:微波通信

光纤

        光纤是一种细而柔软的,能够导引光脉冲的媒体。

        优点:通信容量大;传输损耗小,远距离传输时更加经济;抗雷电和电磁干扰性能好;保密性好,不易被窃听;体积小,重量轻;由于制作光纤的材料(石英)来源十分丰富,随着技术的进步,成本还会进一步降低。

        缺点:光电接口价格较贵

        光纤传输按性质可以分为:单模光纤和多模光纤。采用单模光纤收发器:传输距离在20公里至120公里 ;多模光纤收发器:传输距离在2公里到5公里。

端系统之间的通讯方式

一、C/S模式(客户端/服务器模式)

        所有资源都在服务器里,所有请求都从服务器获取资源。客户是服务的请求方,服务器是服务的提供方

二、P2P模式

        对等连接方式从本质上看仍然是使用客户服务器方式,每一个主机既是客户又同时是服务器

        eg:迅雷

socket

       套接字是一台主机内应用层与运输层之间的接口进程通过一个被称为套接字socket的软件接口,向网络发送报文和从网络接收报文。进程就像一座房子,而套接字就像它的门。当一个进程想向位于另外一台主机上的另一个进程发送报文时,它把报文推出该门(套接字)。该发送进程假定该门到另外一侧之间有运输的基础设施,该设施把报文传送到目的进程的门口。一旦该报文抵达目的主机,它通过接受进程的门(套接字)传递,然后接受进程对该报文进行处理。

       

HTTP发展

        HTTP的第一个标准HTTP 0.9,没有首部,只有一个指令GET;

        HTTP 1.0协议大量内容:首部,响应码,重定向,错误,条件请求,内容编码等;

        http1.1引入了cookie及安全机制,支持动态生成的内容;

        http2解决了http中的队头阻塞问题。

HTTP超文本传输协议

        超文本传输协议HTTP是应用层的协议,是Web的核心。

        1、可靠。HTTP使用TCP提供可靠数据传输服务,代表着客户发出的每个HTTP请求报文都能完整地到达服务器,而服务器发出的每个HTTP响应报文最终都能完整地到达客户。

        2、灵活。HTTP允许传输任意类型的数据对象。

        3、简单快速。客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、POST、DELETE、PUT。

        4、无状态性。因为服务器不记录谁访问过它,减少了服务器的压力,所以我们说HTTP是一个无状态协议

从浏览器地址栏输入url到显示页面的步骤

        浏览器根据请求的url交给dns域名解析,查找真正的ip地址,向服务器发起请求;服务器交给后台处理后,返回数据,浏览器会接收到文件数据,比如,html,js,css,图像等;然后浏览器会对加载到的资源进行解析,渲染页面,完成显示页面效果。

cookie的用处

        HTTP是无状态协议,服务器不记录谁访问过它,减少了服务器的压力。

        那么服务端怎么识别特点的客户端呢?当客户端第一次发送HTTP请求的时候,服务器就会生成一个sessionID并通过响应报文把cookie发给客户端。以后用户每次发送请求把这个cookie值也发送到服务器,服务器找到对应的sessionID也就知道发出请求的这个客户之前的访问信息了。

        cookie简化了用户的网页请求活动,但网站可以通过cookie知道关于用户的很多信息,有可能把这些信息卖给第三方,所以关于cookie的使用也存在一些争论。

cookie与session的差别

        1、cookie数据存放在客户的浏览器上,session数据放在服务器上

        2、cookie不是很安全

        3、session会在一定时间内保存在服务器上,当访问增多,会比较占用服务器的性能,考虑减轻服务器性能方法,应当使用cookie

        4、单个cookie保存的数据不能超过4K,浏览器对Cookie存放大小有限制

HTTP方法

        GET方法获取资源

        POST方法传输资源

        PUT方法更新资源

        DELETE方法删除资源

        HEAD方法获得报文首部

GET和POST的区别

        GET 用于获取信息,POST 用于修改服务器上的数据Get方法保留在浏览器历史记录中,Post不会保留在浏览器历史记录中。GET只支持ASCII字符,向服务器传中文可能会乱码;POST支持标准字符集,可以传递中文字符。

        两种方法本质上是 TCP 连接。从传输的角度来说,他们都是不安全的,因为 HTTP 在网络上是明文传输的,只要在网络节点上捉包,就能完整地获取数据报文。要想安全传输,就只有加密,也就是 HTTPS。

HTTPS的优点和缺点

        HTTPS 在HTTP 的基础下加入SSL,通俗的讲https就是加密了的http。

        (一)优点

        1、使用HTTPS协议可认证用户和服务器,确保数据发送到正确的客户机和服务器;

        2、HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全,可防止数据在传输过程中不被窃取、改变,确保数据的完整性。

        3、HTTPS是现行架构下最安全的解决方案,虽然不是绝对安全,但它大幅增加了中间人攻击的成本。

        (二)缺点

        1、HTTPS协议握手阶段比较费时,会使页面的加载时间延长近50%,增加10%到20%的耗电;

        2、HTTPS连接缓存不如HTTP高效,会增加数据开销和功耗,甚至已有的安全措施也会因此而受到影响;

        3、SSL证书需要钱,功能越强大的证书费用越高,个人网站、小网站没有必要一般不会用。

        4、SSL证书通常需要绑定IP,不能在同一IP上绑定多个域名,IPv4资源不可能支撑这个消耗。

        5、HTTPS协议的加密范围也比较有限,在黑客攻击、拒绝服务攻击、服务器劫持等方面几乎起不到什么作用。最关键的,SSL证书的信用链体系并不安全,特别是在某些国家可以控制CA根证书的情况下,中间人攻击一样可行。

持续连接的HTTP和非持续连接的HTTP

        1、持续连接的HTTP:所有的请求及响应经相同的TCP连接发送。

        2、非持续连接的HTTP:每个请求/响应对是经一个单独的TCP连接发送。

HTTP状态码        

200:请求成功,信息中返回的响应报文中。

301:请求的对象已经被永久转移了。

400:该请求不能被服务器理解。

404:被请求的资源不在服务器上。

505:服务器不支持请求报文使用的HTTP协议版本。

Web缓存器/代理服务器

       Web缓存器能够保存最近请求对象的副本,减少对于客户请求的响应时间

        浏览器请求对象某网址,浏览器创建一个到Web缓存器的TCP连接,并向Web缓存器中的对象发送一个HTTP请求;Web缓存器检查本地是否存储了该对象副本,如果有就向浏览器发送HTTP响应报文返回对象;如果Web缓存器中没有该对象,它就向初始服务器打开一个TCP连接,发送HTTP请求,收到请求后,初始服务器向该Web缓存发送HTTP响应;当Web缓存器接收到该对象时,它在本地存储空间存储一个副本,并向浏览器用HTTP响应发送该副本。

FTP文件传输协议

        将某台计算机中的文件通过网络传送到可能相距很远的另一台计算机中,是一项基本的网络应用,即文件传送。文件传送协议FTP是因特网上使用最广泛的文件传送协议。FTP的控制命令和数据传输分别在两个TCP连接上。

        FTP采用客户/服务器方式,因特网上的FTP客户计算机,可将各种类型的文件上传到FTP服务器计算机。FTP客户计算机也可以从FTP服务器计算机下载文件。

        FTP协议有两种工作方式:主动式和被动式。

        工作原理:

        主动模式:FTP服务器监听熟知端口号21,FTP客户随机选择一个临时端口号与其建立TCP连接。这条TCP连接用于FTP客户与服务器之间传送FTP相关控制命令。当有数据要传输时,FTP客户通过命令通道告知FTP服务器来与自己的另一个临时端口号建立TCP连接,建立数据通道。FTP服务器使用自己的熟知端口号20与另一个临时端口号建立TCP连接。这条TCP连接用于FTP客户与服务器之间传送文件。建立数据通道时,FTP服务器主动连接FTP客户,因此称为主动模式。控制连接在整个会话期间一直保持打开,用于传送FTP相关控制命令。数据连接用于文件传输,在每次文件传输时才建立,传输结束就关闭。
        被动模式:对于FTP客户与服务器之间命令通道的建立,它与主动模式没有什么不同。不同之处在于,当有数据要传输时,FTP客户通过命令通道告知FTP服务器开启某个临时端口被动等待TCP连接,建立数据通道。因为建立数据通道时,FTP服务器被动等待FTP客户的连接,因此称为被动模式。

电子邮件

        电子邮件系统采用客户/服务器方式。电子邮件系统的三个主要组成构件:用户代理、邮件服务器,以及电子邮件所需的协议

        用户代理是用户与电子邮件系统的接口,又称为电子邮件客户端软件。
        邮件服务器是电子邮件系统的基础设施。因特网上所有的ISP都有邮件服务器,其功能是发送和接收邮件。
        协议包括邮件发送协议(SMTP)和邮件读取协议(POP3、IMAP)。

        发送方的用户代理作为SMTP客户,与发送方邮件服务器中的SMTP服务器进行TCP连接,然后基于这条连接使用SMTP协议来发送邮件给发送方邮件服务器。发送方邮件服务器中的SMTP客户与接收方邮件服务器中的SMTP服务器进行TCP连接,然后基于这条连接使用SMTP协议来发送已收到的待转发邮件给接收方邮件服务器。接收方的用户代理作为POP3客户,与接收方邮件服务器中的POP3服务器进行TCP连接,然后基于这条连接,使用POP3协议从接收方服务器读取邮件。

【问题整理】计算机相关_第4张图片

SMTP简单邮件传送协议

        SMTP是简单邮件传输协议,主要用于系统之间的邮件信息传递。

        发送方邮件服务器周期性地扫描邮件缓存,如果发现有待转发的邮件,则发送方邮件服务器中的SMTP客户会与接收方邮件服务器中的SMTP服务器进行TCP连接。SMTP客户就可以基于这条TCP连接发送SMTP命令。SMTP服务器也会发送相应的应答。SMTP客户与服务器之间通过命令与应答的交互方式,最终实现SMTP客户发送邮件给SMTP服务器。

        SMTP协议只能传送ASCII码文本数据,因此提出了多用途因特网邮件扩展MIME。

POP邮局协议和IMAP因特网邮件访问协议

        POP3是其第三个版本,是因特网正式标准。是非常简单但功能有限的邮件读取协议。用户只能以下载并删除方式或下载并保留方式从邮件服务器下载邮件到用户计算机。不允许用户在邮件服务器上管理自己的邮件。

        IMAP4是其第四个版本,目前还只是因特网建议标准。功能比POP3强大的邮件读取协议,用户在自己的计算机上就可以操控邮件服务器中的邮箱。

        POP3和IMAP4都采用基于TCP连接客户/服务器方式。

输入URL到显现页面的过程

        第一步是构建请求,首先确认好请求方式,URL地址,HTTP的版本号

        第二步是查找缓存,如果有,可以直接打开页面,没有就进入第三步

        第三步解析DNS,因为实际上我们不是给域名发请求,而是给IP发请求,所以需要DNS映射解析IP。(此过程也可以对解析结果缓存)

        第四步是进行TCP连接(三次握手,发送三个数据包确认连接,数据传输后,四次挥手断开连接),注意,chrome最多允许进行6个TCP连接,超出的就要排队。

        第五步是发送http请求,携带生成cookie,请求头,header,代理之类的进行一个连接

DNS 是如何解析域名的

        DNS是域名系统,用于根据域名找到对应的IP地址。

        输入域名后,由于互联网不能直接通过域名访问,就需要使用到DNS域名系统来根据域名查找对应的IP地址,电脑里有一个记录着常用域名与IP地址对应关系的hosts文件,但hosts文件有限,可能找不到我们所输入的域名,则查找本地DNS解析器缓存。如果都没有查询到就需要用到TCP/IP参数中设置的首选DNS服务器,以递归循环的方式查询域名对应的IP地址并返回。当我们要访问某个网站的时候,先让电脑去这个服务器上查询需要访问的域名对应的IP是什么,然后帮助我们访问到这个IP地址。

        为了更好地管理,DNS不是存成一个超长超长的列表,而是存成树状结构。最顶部是顶级域名,比如.com和.gov;下一层是二级域名,比如google.com;再下一层是子域名,比如images.googel.com,这些数据散布在很多DNS服务器上,不同服务器负责树的不同部分。

DNS解析

        IP地址是一种用于在互联网上访问内容的虚拟地址,它可以让我们在庞大的网络中精准的找到你需要通讯的主机,并且与之交互数据。这里就有一个问题,如果你想要访问对方电脑或者服务器上的内容,首先需要知道对方的IP地址。就像我们给某个人打电话,就必须准确地拨通对方的号码一样。但像IP地址这种一长串没有关联的数字非常难记,手机的电话簿通过名字标记手机号,打电话的时候看姓名找人就可以了,电脑也有类似的功能。假如要访问百度,输入202.108.22.5可以进入百度首页,但就像前面说的,很难记住,现在大多数都是通过输入域名地址www.baidu.com访问百度。原因就是电脑里有一个像电话簿一样的hosts文件,记录着域名和IP的对应关系。输入域名后,由于互联网不能直接通过域名访问,系统就会去Hosts文件里查询这个域名对应的IP地址是什么,然后访问这个IP,于是就进入了要访问的网页。

        但这里有一个问题,hosts文件是有限的,只能保存一些常用的域名对应的IP,不可能拥有全世界所有的域名对应的IP。于是建立一个DNS服务器,专门存储世界上绝大多数的域名和IP的映射表。当我们要访问某个网站的时候,先让电脑去这个服务器上查询需要访问的域名对应的IP是什么,然后在帮助我们访问到这个IP。

        因此选择一个适合的DNS服务器能够提高我们的网页阅读体验。如何修改DNS服务器呢?在右下角右键点击网络图标,打开网络和Internet设置,更改适配器选项,然后找到连着网的网卡右键点击属性,如果使用的是IPv4就双击IPv4协议,然后就可以手动设置DNS服务器地址,例如谷歌首选DNS8.8.8.8,备用DNS8.8.4.4。

        遇到过一种情况:能打开QQ不能打开网页?在网络上查找解决方法,都是说DNS配置错误。

        登录qq是直接访问腾讯的服务器,qq客户端内部已经配置好所有IP了,这里不涉及域名解析的操作,所以可以正常登录。但如果DNS配置错误,电脑无法正常访问到DNS服务器去做解析,那种浏览器内输入域名,电脑不知道域名对应的IP是多少,自然就无法访问对应服务器了。

DNS劫持或污染

        假设某网站的域名是www.abc.com,假设这个网站的IP是202.206.64.41。输入www.abc.com后,一个正常的DNS服务器就应该返还给你202.206.64.41但是如果在这个过程中发生了一些不为人知的操作,最后返还了一个202.206.64.42,这样会导致访问到别的网站,这个情况,轻一点是进入广告页面,重一点会盗取用户信息。而从前台来看,输入的域名没有错,我们以为我们访问的是正确的网站,但实际上我们已经掉坑里了。因此DNS污染和DNS劫持对于互联网访问体验的影响是非常大的。所以借助各种手段污染或者劫持DNS的已经纳入了违法行为。

搜索引擎原理

        搜索引擎指自动从互联网搜集信息,经过整理,提供给用户进行查询的系统。

        搜索引擎之所以能够提供这么多的结果给我们,是因为搜索引擎有一群叫做蜘蛛的机器人,负责在网络上收集网站上的各种各样的信息。每个网站都有很多链接,有的是连接网站其他内容,有的链接到其他网站。搜索引擎的蜘蛛,就会顺着这些链接爬下去,把符合标准的网页搬回自己的数据库。这就是搜索引擎能给我们提供成千上万个结果的原因了。

可靠传输的实现机制

        一、停止-等待协议

        收发双方基于互联网进行通信,发送方给接收方发送数据分组。接收方收到后对其进行差错检测,若没有误码,则接受该数据分组并给发送方发送确认分组,简称为ACK发送方收到确认分组后才能发送下一个数据分组。假设这个数据分组在传输过程中出现了误码,接收方收到后对其进行差错检测。发现了误码则丢弃该数据分组,并给发送方发送否认分组,简称为NAK。发送方收到否认分组后就知道自己所发生的数据分组出现了差错而被接收方拒绝,重传该数据分组。因此,发送方每发送完一个数据分组后,并不能立刻将该数据分组从缓存中删除,只有在收到针对该数据分组的确认分组后,才能将其从缓存中删除。发送方每发送一个数据分组后,就停止发送下一个数据分组,等待来自接收方的确认分组或否认分组。若收到确认分组,则可继续发送下一个数据分组;若收到否认分组,则重发之前发送的数据分组。这样就实现了发送方发送什么,接收方就收到什么,也就是实现了可靠传输。

        为解决接收方收不到数据分组就不会发送ACK或NAK的问题,在发送方发送一个数据分组时,启动一个超时计时器,若到了设置的重传时间还未收到ACK或NAK,就重传数据分组。这就是超时重传

        为解决接收方发送的ACK或NAK可能丢失导致分组重复的问题,必须给每个分组带上序号。只要保证每发送一个新的数据分组,其序号和上次发送的数据分组序号不同就可以了,因此用序号0和1来编号就够了。接收方通过序号就可以确定发送方是重传前一个发送分组还是发送一个新分组了。

        为解决接收方发送的ACK重复确认的问题,给确认分组也带上序号,就能避免这种情况。数据链路层一般不会出现确认分组迟到的情况,如果只在数据链路层实现停止等待协议,确认分组不需要进行编号。

        为了克服停止等待协议信道利用率很低的缺点,就产生了流水线协议

        二、流水线协议

        流水线:允许发送方在未得到对方确认的情况下一次发送多个分组。

        两种通用的流水线协议:回退N步GBN和选择重传SR。

        1.滑动窗口协议

        发送方窗口=1 接收方窗口=1     停止等待协议

        发送方窗口>1 接收方窗口=1    回退N步协议——顺序到来的最后一个分组发送确认,也就是发送累积确认。

        发送方窗口>1 接收方窗口>1   选择重传协议——乱序接收分组,每接收一个分组就发送一个单独的确认。

【问题整理】计算机相关_第5张图片

【问题整理】计算机相关_第6张图片

UDP用户数据报协议

        UDP是工作在传输层的,面向无连接不可靠的传输协议,不可靠指的是UDP在传输过程中可能会丢失分组,发送方在发送后无法知道数据包是否到达目的地。因为UDP通信不需要建立连接,因此没有建立连接的时延。UDP没有拥塞控制和流量控制功能。UDP的分组首部开销小,仅有8字节,而每个TCP报文段有20字节的首部开销。UDP传输速度比较快,主要用于视频会议此类实时媒体。

TCP传输控制协议

        TCP是工作在传输层的,面向连接可靠的传输协议,可靠的意思是发送方发送什么数据,接收方就接受到什么数据。因为TCP在进行通信之前,必须通过三次握手来建立连接,四次挥手来断开连接。TCP连接提供的是全双工服务,TCP连接也是点对点的,即在单个发送方和单个接受方之间的连接。TCP给数据添加一个TCP首部(20个字节),然后将TCP报文段传送到网络层。TCP具有流量控制拥塞控制功能。相比UDP,TCP的传输速度较慢,但是安全、可靠性更高,应用更为广泛。

        1.超时重传:要合适。太短会导致不必要的重传;太长对报文段丢失反应慢。

        2.累积确认

        3.收到3个冗余ACK,TCP就执行快速重传。 

        【问题整理】计算机相关_第7张图片

 TCP的流量控制

        流量控制指的就是让发送方的发送速率不要太快,要让接收方来得及接收。使用滑动窗口机制可以很方便地在TCP连接上实现对发送方的流量控制。接收方在其向发送方的TCP端首部的rwnd字段告知其空闲大小。发送方就限制发送字节要小于接收方发送过来的rwnd值,保证接收方不会被淹没。

       

TCP的三次握手和四次挥手

        TCP协议是传输层的面向连接的、可靠的通信协议,数据在传输前要建立连接,传输完毕后要断开连接。TCP建立连接时要传输三个数据包,俗称三次握手。三次握手是为了保证能够建立一个可靠的连接。

        第一次握手是由客户端发起,客户端会向服务端发送一个报文,报文中SYN位置为1,当服务端收到该报文后,就知道客户端要发起新的连接,于是服务端就会向客户端发送一个确认报文,报文中ACK位置为1。以上两次握手之后,客户端已经确认完毕自己可以给服务端发消息,也能收到服务端的消息。但是对于服务端,两次握手是不够的,服务端不确定客户端能不能收到自己发出的消息,所以需要进行第三次握手。第三次握手就是当客户端收到服务端发过来的确认消息的报文之后,还要继续给服务端进行回应,也是一个ACK位置为1的确认消息。通过以上三次握手,客户端和服务端都确认了双方可以发送也可以接受消息,那么这个连接就可以安全的建立了。

        四次挥手也是由客户端发起的,在客户端发送的报文段里FIN位置为1,服务端收到报文之后就知道了客户端想要断开连接。但此时服务端不一定做好了准备,因为当客户端发起断开连接请求时,服务端有可能还有未发送的消息,因此服务端会先发一个消息确认报文段,然后再发送一个FIN位置为1的报文段,表示服务端已经做好了断开连接的准备。客户端给服务端发送一个确认报文段,报文段中ACK位置为1。通过这四次的沟通和连接,确认了服务端和客户端都做好了断开连接的准备,然后再启动一个定时器,如果没有接收到数据,那么连接就断开了。

        最简单的理解
        一:建立TCP连接:三次握手协议
    
        客户端:我要对你讲话,你能听到吗;
        服务端:我能听到;而且我也要对你讲话,你能听到吗;
        客户端:我也能听到。
        …….
        互相开始通话
        ……..    


        二:关闭TCP连接:四次握手协议

        客户端:我说完了,我要闭嘴了;
        服务端:我收到请求,我要闭耳朵了;
        (客户端收到这个确认,于是安心地闭嘴了。)
        …….
        服务端还没倾诉完自己的故事,于是继续唠唠叨叨向客户端说了半天,直到说完为止
        …….
        服务端:我说完了,我也要闭嘴了;
        客户端:我收到请求,我要闭耳朵了;(事实上,客户端为了保证这个确认包成功送达,等待了两个最大报文生命周期后,才闭上耳朵。)
        (服务端收到这个确认,于是安心地闭嘴了。)

两次握手建立连接为什么不行?

       TCP要通过三次握手建立可靠连接,进行三次连接可以确认客户端和服务器端都能够正常发送和接收报文段。而两次握手只能建立半连接。会存在这样一种状况,发送方向接收方发送请求连接报文段,接收方接收到后向发送方发送确认报文段,但在这个过程中发送方长时间没收到确认报文段,就重传请求连接报文段,然后接收方又同意了连接,这样就导致了资源的浪费。

TCP拥塞控制

        在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络性能就要变坏,这种情况就叫拥塞。若出现拥塞而不进行控制,整个网络的吞吐量将随输入负荷的增大而下降

        TCP的拥塞控制是端到端的拥塞控制。TCP的拥塞控制主要包括慢开始、拥塞避免、快重传、快恢复。TCP发送方一开始使用慢开始算法,让拥塞窗口值从1开始按指数规律增大,当拥塞窗口值增大到慢开始门限值时,停止使用慢开始算法,转而执行拥塞避免算法,让拥塞窗口值按线性加1的规律增大。当发生超时重传时,就判断网络可能出现了拥塞,采取相应的措施,一方面将慢开始门限值更新为发生拥塞时拥塞窗口值的一半;另一方面将拥塞窗口值减少为1,并重新开始执行慢开始算法,拥塞窗口值又从1开始按指数规律增大。当增大到新的慢开始门限值时,停止使用慢开始算法,转而执行拥塞避免算法,让拥塞窗口值按线性加1的规律增大。当发送方收到3个重复确认时,就进行快重传和快恢复。也就是发送收到的确认序号的下一个报文,然后将慢开始门限值和拥塞窗口值调整为当前窗口的一半执行拥塞避免算法,让拥塞窗口值按线性加1的规律增大。

       一、在1988年提出了慢开始拥塞避免这两个TCP拥塞控制算法。

        TCP发送方一开始使用慢开始算法,让拥塞窗口值从1开始按指数规律增大,当拥塞窗口值增大到慢开始门限值时,停止使用慢开始算法,转而执行拥塞避免算法,让拥塞窗口值按线性加1的规律增大。当发生超时重传时,就判断网络可能出现了拥塞,采取相应的措施,一方面将慢开始门限值更新为发生拥塞时拥塞窗口值的一半;另一方面将拥塞窗口值减少为1,并重新开始执行慢开始算法,拥塞窗口值又从1开始按指数规律增大。当增大到新的慢开始门限值时,停止使用慢开始算法,转而执行拥塞避免算法,让拥塞窗口值按线性加1的规律增大。

        慢开始指的是一开始向网络注入的报文段少,而不是指拥塞窗口值增长速度慢。

        拥塞避免也不是指完全能够避免拥塞,而是指在拥塞避免阶段将拥塞窗口控制为按线性规律增长,使网络比较不容易出现堵塞。

        二、1900年又增加了两个拥塞控制算法,就是快重传和快恢复。

        有时,个别报文段会在网络中丢失,但实际上网络并未发生拥塞。这导致发送方超时重传,并误认为发生了拥塞。发送方把拥塞窗口值降为1,并启动慢开始算法,降低了传输效率。采用快重传算法可以让发送方尽早知道发生了个别报文段的丢失

        快重传算法就是让发送方尽快进行重传,而不是等待超时重传计时器超时再重传。快重传算法要求接收方立即发送确认,即使收到了失序的报文段也要立即发出对已收到的报文段的重复确认。发送方一旦收到3个连续的重复确认,就将相应的报文段立刻重传,而不是等待该报文段的超时重传计时器超时再重传,对于个别丢失的报文段,发送方不会出现超时重传,也就不会误认为出现了拥塞,进而降低拥塞窗口值为1。使用快重传可使网络的吞吐量提高。

        快恢复算法指的是发送方一旦收到3个重复确认,就知道现在只是丢失了个别的报文段,于是不启动慢开始算法,而是执行快恢复算法。发送方将慢开始门限值和拥塞窗口值调整为当前窗口的一半,开始执行拥塞避免算法。

        慢开始和拥塞避免具体过程:

        现在通过一个简单的举例描述TCP如何实现拥塞控制,在TCP连接建立的时候,拥塞窗口值为1,慢开始门限设为16。发送方每收到一个对新报文段的确认时,就把拥塞窗口值加一,然后开始下一轮的传输。当拥塞窗口值增长到慢开始门限值时,就改为执行拥塞避免算法。因为拥塞窗口值为1,因此发送方当前只能发送一个TCP数据报文段。换句话说,拥塞窗口值是多少就能发送多少个数据报文段。发送方发送0号数据报文段,接收方收到后给发送方发回对0号报文段的确认报文段,发送方收到该确认报文段后,将拥塞窗口值增大到2;然后发送方发送1~2号数据报文段,接收方收到后,给发送方发送1~2号报文段的确认报文段。发送方收到后,将拥塞窗口值增大到4;然后发送方发送3~6号共四个数据报文段,接收方收到后给发送方发回3~6号报文段的确认报文段,发送方收到后将拥塞窗口值增大到8;然后发送方发送7~14共八个数据报文段,接收方同样发回7~14号报文段的确认报文段;发送方收到后拥塞窗口值增大到16。发送方现在的拥塞窗口值已经增大到了慢开始门限值,之后我们要改用拥塞避免算法。也就是每个传输轮次结束后(即发送报文和收到确认报文),拥塞窗口值只能加1,而不像慢开始算法那样,拥塞窗口值按指数规律增大。发送方现在可以发送15~30号共16个数据报文段,接收方收到后,给发送方发回15~30号报文段的确认报文段。发送方收到后将拥塞窗口值增大到17,发送端现在可以发送17个数据报文段,接收方收到后发回确认报文段。发送方收到后将拥塞窗口值增大到18,随着传输轮次的增加,拥塞窗口值每轮次增加1,当拥塞窗口值增加到24,发送方现在可以发送24个数据报文段,假设在传输过程中丢失了几个,这必然会造成发送方对这些丢失报文段的超时重传,发送方以此判断网络可能出现了拥塞,需要进行以下工作:

        (1)将慢开始门限值更新为发生拥塞时拥塞窗口值的一半;网络发生拥塞时的拥塞窗口值是24,因此更新慢开始门限值为24的一半即12;

        (2)将拥塞窗口值减小为1,并重新开始执行慢开始算法;

        当慢开始算法执行到拥塞窗口值增大到新的慢开始门限值时,就停止使用慢开始算法,转而执行拥塞避免算法。       

        快重传和快恢复具体过程:

        发送方发送1号数据报文段,接收方收到后给发送方发回对1号报文段的确认。在该确认报文段到达发送方之前,发送方还可以将发送窗口内的2号数据报文段发送出去,接收方收到后给发送方发回对2号报文段的确认。在该确认报文段到达发送方之前,发送方还可以将发送窗口内的3号数据报文段发送出去,但该报文段丢失了,接收方自然不会给发送方发送针对该报文的确认。发送方还可以将发送窗口内的4号数据报文段发送出去,接收方收到后发现这不是按序到达的报文段,因此给发送方发回针对2号报文段的重复确认。表明“我现在希望收到的是3号报文段,但是我没有收到3号报文段,而是收到了未按序到达的报文段”。发送方还可以将发送窗口内的5号数据报文段发送出去,接收方收到后发现这不是按序到达的报文段,因此给发送方发回针对2号报文段的重复确认。发送方还可以将发送窗口内的6号数据报文段发送出去,接收方收到后发现这不是按序到达的报文段,因此给发送方发回针对2号报文段的重复确认。至此发送方会收到3个连续的、对2号报文段的重复确认,就立即重传3号报文段。接收方收到后,给发送方发回针对6号报文段的确认,表明序号到6为止的报文段都正确接收了,这样就不会造成对3号报文段的超时重传

        对于个别丢失的报文段,发送方不会出现超时重传,也就不会误认为出现了拥塞,进而降低拥塞窗口值为1。使用快重传可使网络的吞吐量提高。

TCP/IP

        从字面意义上讲,有人可能会认为 TCP/IP 是指 TCP 和 IP 两种协议。实际生活当中有时也确实就是指这两种协议。然而在很多情况下,它只是利用 IP 进行通信时所必须用到的协议群的统称。互联网进行通信时,需要相应的网络协议,TCP/IP 原本就是为使用互联网而开发制定的协议族。因此,互联网的协议就是 TCP/IP,TCP/IP 就是互联网的协议。

太厉害了,终于有人能把TCP/IP 协议讲的明明白白了

        每个分层中,都会对所发送的数据附加一个首部,在这个首部中包含了该层必要的信息,如发送的目标地址以及协议相关信息。通常,为协议提供的信息为包首部,所要发送的内容为数据。在下一层的角度看,从上一层收到的包全部都被认为是本层的数据。

数据处理流程

        首先应用程序会进行编码处理,这些编码相当于 OSI 的表示层功能;数据不一定马上被发送出去,关于什么时候建立连接,这是 OSI 的会话层功能。传输层的TCP提供端到端的可靠传输。为了实现这一功能,需要在数据的前端附加一个TCP首部变成TCP报文段。网络层的IP在TCP首部的前端加上自己的IP首部。生成后IP数据报,参考路由控制表决定接受此IP包的路由或主机。从网络层传过来的IP数据报对于以太网来说就是数据。给这些数据附加上以太网首部并进行发送处理,生成的以太网数据包将通过物理层传输给接收端。主机收到以太网包后,首先从以太网包首部找到MAC地址判断是否为发送给自己的包,若不是则丢弃数据。如果是发送给自己的包,就进行往上传的一个操作。IP模块接收到数据后也做类似的处理。从包首部中判断此 IP 地址是否与自己的IP地址匹配,如果匹配则根据首部的协议类型将数据发送给对应的模块,如 TCP、UDP。在TCP模块中,首先会计算一下校验和,判断数据是否被破坏。然后检查是否在按照序号接收数据。最后检查端口号,确定具体的应用程序。数据被完整地接收以后,会传给由端口号识别的应用程序。接收端应用程序会直接接收发送端发送的数据。通过解析数据,展示相应的内容。

IP协议

        IP是整个TCP/IP协议族的核心,也是构成互联网的基础。IP位于TCP/IP模型的网络层,它可以向传输层提供各种协议的信息;对下可将IP数据包放到链路层进行传送。IP协议主要包括三方面的内容:IP编址、分组封装格式及分组转发规则。一个IP分组由首部和数据两部分组成。首部的前20字节是所有IP分组必须具有的,也称固定首部。在首部固定部分的后面是一些可选字段,其长度是可变的。

        一、IP分组的转发规则

        路由器仅根据网络地址进行转发。当IP数据包经由路由器转发时,如果目标网络与本地路由器直接相连,则直接将数据包交付给目标主机,这称为直接交付;否则,路由器通过路由表查找路由信息,并将数据包转交给指明的下一跳路由器,这称为间接交付。路由器在间接交付中,若路由表中有到达目标网络的路由,则把数据包传送给路由表指明的下一跳路由器;如果没有路由,但路由表中有一个默认路由,则把数据包传送给指明的默认路由器;如果两者都没有,则丢弃数据包并报告错误。

        二、IP分片

        一个IP包从源主机传输到目标主机可能需要经过多个不同的物理网络。由于各种网络的数据帧都有一个最大传输单元MTU的限制,如以太网帧的MTU是1500;因此,当路由器在转发IP包时,如果数据包的大小超过了出口链路的最大传输单元时,则会将该IP分组分解成很多足够小的片段(需要带首部),以便能够在目标链路上进行传输。这些IP分片重新封装一个IP包独立传输,并在到达目标主机时才会被重组起来

        三、IP编址——点分十进制

        A类网络:以0开头,前1个字节为网络号,共126个网络,0~126(1.0.0.0~126.0.0.0)

        B类网络:以10开头,前2个字节为网络号,共16832个网络,6w+主机,128~191(128.0.0.0~191.255.0.0)

        C类网络:以110开头,前3个字节为网络号,共200+w个网络,254台主机,192~223(192.0.0.0~223.255.255.0)

        D类网络:以1110开头,是多播地址。224~239

        E类网络:以1111开头,是保留地址。240~247

        特殊地址:

                主机号全0——网络地址

                主机号全1(255)——广播地址

                127.0.0.1——最小的本地环回测试地址

                 127.255.255.254——最大的本地环回测试地址【问题整理】计算机相关_第8张图片

内网IP地址

        是地址空间的一部分,供专用地址使用。内网地址永远不会被当做公用地址来分配,不会与公用地址重复,只在局部网络有意义,用来区分不同的设备。192.168.0.0——192.168.255.255

NAT网络地址转换

        当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但又想和因特网上的主机通信(并不需要加密)时,可使用NAT方法。这种方法需要在专用网(私网IP)连接到公网IP的路由器上安装NAT软件。装有NAT软件的路由器叫做NAT路由器,它至少有一个公网IP地址。这样,所有使用私网IP地址的主机在和外界通信时,都要在NAT路由器上将其本地地址转换成全球IP地址,才能和因特网连接。

        NAT的实现方式有三种:静态转换、动态转换和端口多路复用。

        静态转换是指将内部网络的私有IP地址转换为公有IP地址,IP地址对是一对一的,是一成不变的,某个私有IP地址只转换为某个公有IP地址。

        动态转换是指将内部网络的私有IP地址转换为公用IP地址时,IP地址是不确定的,是随机的。当ISP提供的合法IP地址略少于网络内部的计算机数量时。可以采用动态转换的方式。

        端口多路复用是实现内部网络的所有主机均可共享一个合法外部IP地址实现对Internet的访问,从而可以最大限度地节约IP地址资源。同时,又可隐藏网络内部的所有主机,有效避免来自internet的攻击。因此,网络中应用最多的就是端口多路复用方式。

        NAT不仅能解决IP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。

如何获得一个IP地址

        1、网络管理员配置地址

        2、DHCP:从服务器中动态获得一个IP地址

DHCP协议

        动态主机配置协议是一个局域网的网络协议,指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。默认情况下,DHCP作为Windows Server的一个服务组件不会被系统自动安装,还需要管理员手动安装并进行必要的配置。

子网划分

        子网的前缀是一样的。我们把IP地址与子网掩码按位相与后结果相同的两个IP,认为是在同一个子网中。我们使用1的数量来表示掩码,例如255.255.255.0就是24。我们使用IP/掩码来表示一个网络。如果想要扩大IP数量,可以调小子网掩码;如果想要减少IP数量,可以调大子网掩码。TCP/IP协议规定,不同子网之间是不可以直接通信的,如果要通信需要通过网关来进行转发。

ICMP协议

        也就是Internet控制报文协议,它是TCP/IP协议族的一个子协议。用于在主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。ICMP 是个非常有用的协议﹐尤其是当我们要对网路连接状况进行判断的时候。

        我们经常使用Ping命令测试网络连通性。在ping命令后输入远程地址,它就会向这个地址发送数据包。如果远程地址有回应,就统计往返的时间,来确定与目标地址连通性的好坏。例如ping127.0.0.1,这个是本地回环地址,如果能ping通,说明本地网卡和tcp/ip协议是正常的,如果无法接受数据包,说明网卡驱动有问题,可以尝试重装网卡驱动。或者ping本机ip地址,本机地址可以通过ipconfig all命令获取,如果能ping通就说明网卡硬件工作正常和ip地址设置正确。也可以ping默认网关,也是通过ipconfig all命令获取,如果ping不通,有线可能是网线断了,无线可能是路由器发送的信号有问题。

IP地址和MAC地址的区别

        IP地址指的是互联网协议地址,在同一个网络内具有唯一性。MAC地址是媒体存取控制地址,由网络设备制造商生产时烧录,用于标识网卡,具有全球唯一性。IP地址是逻辑地址,工作在网络层。MAC地址是物理地址、硬件地址,工作在数据链路层。二层基于MAC地址转发数据帧,三层基于IP地址转发报文。在局域网的范围内,通过ARP来将IP和MAC地址对应起来。IP地址和MAC地址在计算机里都是以二进制表示的。IP地址长度为32位,4个字节,IPv4地址通常使用点分十进制表示,就是熟悉的a.b.c.d的格式,但由于IPv4地址已经枯竭了,现在在往IPv6地址进行过渡;MAC地址长度为48位,6个字节。

RIP协议

        路由信息协议RIP是内部网关协议中最先得到广泛使用的协议之一,基于距离向量。RIP使用跳数衡量达到目标网络的距离。路由器到直连网络的距离为1,路由器到非直连网络的距离定义为所经过的路由器数加1。最大跳数15,距离为16时相当于不可达,因此RIP只适用于小型互联网

        RIP每隔30s向邻居路由器发送全部RIP路由,浪费网络带宽。

       存在“坏消息传的慢/路由环路”的问题,假设一个路由器R1到达其直连网络的链路出现了故障,当R1检测出链路出现了故障,会将到达这个直连网络的距离修改为16。等到RIP更新周期到时候把这个消息发送给另一个路由器R2;假设R2的更新周期先到时,而R2记录到故障网络的距离为2,它会把这个路由信息传给R1,而R1收到后会误以为可以通过R2到达故障网络,距离为3,并在自己的更新周期到时后将该消息发送给R2。R2又被R1所误导,认为可以通过R1到达故障网络,距离为4。一直循环都增加到16后,R1和R2才都知道故障网络不可达。

OSPF协议

        开放式最短路径优先OSPF也是内部网关协议,在各种网络上得到广泛使用,基于链路状态选择最优路径。OSPF从算法(最短路径优先算法)上保证了不会产生路由环路。OSPF不限制网络规模。OSPF触发更新或者每隔30分钟向邻居路由器发送链路状态通告的摘要,增量更新机制。

        工作过程:第一步通过发送hello包来发现邻居,所以邻居都可能与自己交换链路信息;第二步建立邻接关系,只有建立邻接关系的邻居路由器才会交换链路状态信息。在网络中选举DR和BDR,网络内所有路由器只与DR和BDR建立邻接关系。第三步是传递链路状态信息。每台设备都有链路状态数据库,中间的每一条就是链路状态通告。如果网络发生变化则不需要等到30分钟周期,立刻给邻居发送信息。增量更新机制指的是只发邻居需要的链路状态信息。收敛以后,区域内所有路由器具有相同的链路状态数据库。第四步是路由计算

【问题整理】计算机相关_第9张图片

 

OSPF分区域管理

        为了使OSPF能够用于规模很大的网络,OSPF把一个自治系统划分为若干个更小的范围,即区域。两个区域是通过区域边界路由器ABR连接的。同一个区域内的路由器才会建立邻居关系,来交换链路状态信息,收敛后同一区域内所有设备具有相同的链路状态数据库。

        不同区域之间通过区域边界路由器ABR直接转发路由。

        区域可以用点分十进制表示,例如区域0就是区域0.0.0.0;区域1等价于0.0.0.1。

        骨干区域——区域0。

        所有非骨干区域间通信需要通过骨干区域0转发

        

BGP路由协议

        BGP也就是边界网关协议,是用于自治系统之间的外部网关协议,由于自治系统之间的路由选择需要考虑相关策略(政治、经济、安全等),因此BGP只能力求寻找一条能够到达目的网络的比较好的路由

        在配置BGP时,每个自治系统的管理员至少要选择一个路由器作为该自治系统的BGP发言人/BGP边界路由器。不同自治系统的BGP发言人要交换路由信息,首先需要建立TCP连接。使用TCP连接交换路由信息的两个BGP发言人,彼此为对方的邻站。BGP发言人除了运行BGP外,还需要运行自己所在自治系统的内部网关协议例如RIP、OSPF。交换路由信息后,各BGP发言就根据所采用策略从收到的路由信息中找出到达各自自治系统较好的路由。

        在BGP协议刚运行时 ,BGP的邻站需要交换整个BGP路由表,而在接下来只需要在发生变化时更新有变化的部分。

【问题整理】计算机相关_第10张图片

 

SNMP协议/简单网络管理协议

        SNMP协议也就是简单网络管理协议。SNMP 是专门设计用于在 IP 网络管理网络结点的一种标准协议,它是一种应用层协议。 SNMP 使网络管理员能够管理网络效能,发现并解决网络问题以及规划网络增长。在大型网络管理中,网络管理员比较头痛的问题就是如何实时了解不在身边的网络设备的运行状况。若要一台一台的去查看网络设备的运行现状,那明显不是很现实。实际网络中,利用SNMP协议自动帮助管理员收集网络运行状况的方法应用最为广泛。通过这种方法,网络管理员只需要坐在自己的位置上,就可以了解全公司的网络设备的运行情况。

STP协议/生成树协议

        为了减少单链路故障,增加网络可靠性,交换网络中通常会增加冗余链路。但这交换环路可能会导致广播风暴。为解决这个问题,就提出了STP生成树协议。STP通过在交换机中发现环路,并有选择地阻塞端口,最终将环路网络修剪成无环路树型网络结构。STP协议可以用来防止二层环路,通过阻断冗余链路来消除交换网络中可能存在的环路。STP还可以进行链路备份当链路发生故障时,激活冗余链路,及时恢复网络连通性。

RSTP协议/快速生成树

        快速生成树。是STP的改进版本,具备STP所有功能,新增了快速收敛机制,根端口可以直接进入forwarding状态,不需要等30秒。

MSTP协议/多生成树协议

        多生成树协议。基于实例计算出多颗生成树,实例间实现负载分担。MSTP的功能有防止环路、链路备份、快速收敛,MSTP独有的功能是不同vlan间负载分担

        链路一:实例1是转发vlan1~vlan50,实例2是阻塞vlan51~vlan100

        链路二:实例1是阻塞vlan1~vlan50,实例2是转发vlan51~vlan100 

VRRP协议/虚拟路由冗余协议

        虚拟路由冗余协议。VRRP协议可以进行网关备份避免局域网网关单点故障导致网络中断。VRRP把本身可以作为网关的设备加入VRRP备份组。VRRP协议中有一个虚拟IP地址,代表着加入VRRP备份组的网关设备。VRRP备份组中的设备有角色区分,内网中的主机想要向外网发送数据,通过VRRP备份组中的master进行转发,backup角色的设备作为备用,在master无法正常转发的时候进行工作。我们可以通过优先级来配置master。

DHCP协议/动态主机配置协议

        我们可以自己配置IP地址,但当局域网中存在大量主机的时候,如果手动配置工作量会很大,而且配置的时候容易导致IP地址冲突,因此提出了DHCP,当我们设置为动态获取方式,在设置后,DHCP服务器就会根据DHCP协议动态分配IP地址,解决了手工配置IP地址时会产生的各种问题。

        DHCP有三种机制分配IP地址

        1、自动分配方式:服务器为主机指定一个永久的IP地址,客户端租用到IP地址后,可以永久使用该地址。

        2、动态分配方式:服务器为主机指定一个有时间限制的IP地址,时间到期或者主机停止使用,该地址可以被其他主机使用。

        3、手工分配方式:客户端的IP地址是由网络管理员指定的,DHCP服务器只是将指定IP地址告诉主机。

      

静态路由

        静态路由就是手工配置的路由。

        配置静态路由前需要先配置接口地址,保证相邻路由器之间能正常通信。然后配置静态路由(ip route-static 网段地址 该网段子网掩码 下一跳地址)

        通过display ip routing-table查看路由情况

        缺点:配置繁琐;当网络拓扑发生变化时,需要对静态路由的配置做大范围的调整。

你可能感兴趣的:(其他)