8.
9.
因为UDP要达到TCP的功能就必须实现拥塞控制的功能,而且是在路由之间实现,这个在底层明显是做不到拥塞控制的,在应用层也是做不到的,因为应用层之间和应用程序挂钩,一般只能操控主机的程序,而表示层是处理所有与数据表示及运输有关的问题,包括转换、加密和压缩,在传输层是不可能的,因为你已经使用了UDP协议,无法在本层转换它,只有在会话层.
11.比特填充法具体地说,发送端的数据链路层遇到数据比特流中出现5个连续“1”的时候,它就自动在输出比特流中插入一个“0”;接收端遇到5个输入比特为“1”,且后面紧接的是“0”时,自动将其删除。
14.
15.
16.
17.
18.
19.
/etc/services 文件定义了网络服务和对应的端口号、协议等信息。
20.
shutdown可以使TCP半双工,但是如果之前调用了close,则直接关闭了socket
21.
OSPF(Open Shortest Path First开放式最短路径优先)是一个内部网关协议(Interior Gateway Protocol,简称IGP),用于在单一自治系统(Autonomous System,AS)内决策路由。是对链路状态路由协议的一种实现,隶属内部网关协议(IGP),故运作于自治系统内部。著名的迪克斯加算法(Dijkstra)算法被用来计算最短路径树。OSPF分为OSPFv2和OSPFv3两个版本,其中OSPFv2用在IPv4网络,OSPFv3用在IPv6网络。OSPFv2是由RFC 2328定义的,OSPFv3是由RFC 5340定义的。与RIP相比,OSPF是链路状态协议,而RIP是距离矢量协议。
OSPF组播的方式在所有开启OSPF的接口发送Hello包,用来确定是否有OSPF邻居。
若发现了,则建立OSPF邻居关系,形成邻居表,之后互相发送LSA(链路状态通告)相互通告路由,形成LSDB(链路状态数据库)。
再通过Dijkstra算法,计算最佳路径(cost最小)后放入路由表,Dijkstra算法是OSPF路由协议的基础
22.
select和epoll这两个机制都是多路I/O机制的解决方案,select为POSIX标准中的,而epoll为Linux所特有的。
epoll的最大好处是不会随着FD的数目增长而降低效率,在select中采用轮询处理,其中的数据结构类似一个数组的数据结构,而epoll是维护一个队列,直接看队列是不是空就可以了。
nginx就是使用epoll来实现I/O复用支持高并发,目前在高并 发的场景下,nginx越来越收到欢迎。
select的一 个缺点在于单个进程能够监视的文件描述符的数量存在最大限制
epoll:
(1)IO的效率不会随着监视fd的数量的增长而下降。epoll不同于select和poll轮询的方式,而是通过每个fd定义的回调函数来实现的。只有就绪的fd才会执行回调函数;
(2)支持电平触发和边沿触发(只告诉进程哪些文件描述符刚刚变为就绪状态,它只说一遍,如果我们没有采取行动,那么它将不会再次告知,这种方式称为边缘触发)两种方式,理论上边缘触发的性能要更高一些,但是代码实现相当复杂。
(3)有着良好的就绪事件通知机制
select:
(1)单个进程可监视的fd数量受到了限制,在32位机器上,他所能管理的fd数量最大为1024;
(2)对socket进行扫描时是线性扫描,当socket文件描述符数量变多时,大量的时间是被白白浪费掉的。
23.
虚拟局域网(VLAN)是一组逻辑上的设备和用户,这些设备和用户并不受物理位置的限制,可以根据功能、部门及应用等因素将它们组织起来,相互之间的通信就好像它们在同一个网段中一样。
工作在OSI参考模型的第2层和第3层,一个VLAN就是一个广播域,VLAN之间的通信是通过第3层的路由器来完成的。
交换网络中,广播域可以是有一组任意选定的第二层网络地址(MAC地址)组成的虚拟网段(不是硬件方式)。这样,网络中工作组的划分可以突破共享网络中的地理位置限制,而完全根据管理功能来划分。
24.
要明白这种攻击的基本原理,还是要从TCP连接建立的过程开始说起:
大家都知道,TCP与UDP不同,它是基于连接的,也就是说:为了在
服务端和客户端之间传送TCP数据,必须先建立一个
虚拟电路,也就是TCP连接,建立TCP连接的标准过程是这样的:
首先,请求端(客户端)发送一个包含SYN标志的TCP报文,SYN即同步(Synchronize),同步报文会指明客户端使用的端口以及TCP连接的初始序号;
第二步,服务器在收到客户端的SYN
报文后,将返回一个SYN+ACK的报文,表示客户端的请求被接受,同时TCP序号被加一,ACK即确认(Acknowledgment)。
第三步,客户端也返回一个确认报文ACK给服务器端,同样TCP序列号被加一,到此一个TCP连接完成。
以上的连接过程在TCP协议中被称为
三次握手(Three-way Handshake)。
问题就出在TCP连接的三次握手中,假设一个用户向服务器发送了SYN
报文后突然死机或掉线,那么服务器在发出SYN+ACK应答报文后是无法收到客户端的ACK报文的(第三次握手无法完成),这种情况下服务器端一般会重试(再次发送SYN+ACK给客户端)并等待一段时间后丢弃这个未完成的连接,这段时间的长度我们称为SYN Timeout,一般来说这个时间是分钟的数量级(大约为30秒-2分钟);一个用户出现异常导致服务器的一个线程等待1分钟并不是什么很大的问题,但如果有一个恶意的攻击者大量模拟这种情况,服务器端将为了维护一个非常大的半连接列表而消耗非常多的资源----数以万计的半连接,即使是简单的保存并遍历也会消耗非常多的CPU时间和内存,何况还要不断对这个列表中的IP进行SYN+ACK的重试。实际上如果服务器的TCP/IP栈不够强大,最后的结果往往是堆栈溢出崩溃---即使服务器端的系统足够强大,服务器端也将忙于处理攻击者伪造的TCP连接请求而无暇理睬客户的正常请求(毕竟客户端的正常请求比率非常之小),此时从正常客户的角度看来,服务器失去响应,这种情况我们称作:服务器端受到了SYN Flood攻击(SYN
洪水攻击)。
25.
在BGP中,路由器对使用179端口的半永久TCP连接来交换选路信息。
26.
VxLAN(Virtual eXtensible Local Area Network,虚拟扩展局域网)技术很好地解决了现有VLAN技术无法满足大二层网络需求的问题。VxLAN技术是一种大二层的虚拟网络技术,主要原理是引入一个UDP格式的外层隧道作为数据链路层,而原有数据报文内容作为隧道净荷加以传输。由于外层采用了UDP作为传输手段,净荷数据可以轻松地在二三层网络中传送。
VXLAN在云计算场景中主要解决了:VLAN ID不足;虚机漂移
27.
以太网采用 介质访问控制(Media Access Control,MAC)地址进行 寻址,MAC地址被烧入每个以太网网卡(Network Interface Card,NIC)中。 MAC地址也叫做硬件地址,它采用48位(6字节)的十六进制格式。 48位的MAC地址包括两部分:24位组织唯一标志符(OUI)和剩下的24位由厂家分配的代码
28.
四种方法实现会话跟踪:URL重写、隐藏表单域、Cookie、Session
A、隐藏表单域一般是在表单提交时在JSP中声明一个隐藏域,可携带数据到表单提交后的页面。如下:
<input type="hidden" name="token" value="<%=session.getAttribute("token") %>">
B、Http是无状态协议,cookie是客户端保存用户会话数据,用于保存用户会话记录。
C、当客户端浏览器禁用cookie时,只有采用URL复写的方式将sessionId携带在URL的末尾来保存会话记录。
D、session是服务端保存用户数据,生成Session时会默认设置一个cookie值为sessionId的cookie保存到客户端
29.
RTT(Round-Trip Time): 往返时延:在计算机网络中它是一个重要的性能指标,表示从发送端发送数据开始,到发送端收到来自接收端的确认(接收端收到数据后便立即发送确认),总共经历的时延。
网络延迟是指各式各样的数据在
网络介质 中通过
网络协议 (如TCP/IP)进行传输, 在
传输介质 中传输所用的时间,即从
报文 开始进入网络到它开始离开网络之间的时间。
30.
报文分组交换细分为数据报分组交换和虚电路分组交换
31.
发射器的功能是把输入的信息(包括语音、数据)经过基带处理,按一定的调制方式调制到规定的载波上,然后经功率放大,从天线发射出去。
可以近似的理解成——将数据转换成适合在传输系统中传送的信号。
32.
ping 用来检查网络是否连通。
tracert 用于确定 IP 数据包访问目标所采取的路径
netstat 用于显示当前网络的信息
arp 根据IP地址获取物理地址的一个TCP/IP协议
33.
这个题他说的是IEEE 802.11协议的帧,并不是我们常见的802.3的帧。 如图:
802.11的帧有三个MAC字段:
Address1:目的地址:代表最后的接收端,是负责将帧交付上层协议处理的工作站。过滤BSSID。
Address2:源地址:代表传输的来源。
Address3:接收端地址:代表负责处理该帧的无线工作站。
注: 如果帧的目的地址是与基站连接的以太网节点,接收端即为基站的无线界面,目的地址可能是连接到以太网的一台路由器。
34.
数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源机网络层来的数据可靠地传输到相邻节点的目标机网络层。为达到这一目的,数据链路必须具备一系列相应的功能,主要有:
如何将数据组合成
数据块 ,在数据链路层中称这种数据块为帧(frame),帧是数据链路层的传送单位;
如何控制帧在
物理信道 上的传输,包括如何处理传输差错,如何调节发送速率以使与接收方相匹配;以及在两个网络实体之间提供数据链路通路的建立、维持和释放的管理。数据链路层包含LLC逻辑链路层子层和MAC
介质访问控制 子层。
移动通信系统 中Uu口协议的第二层,也叫层二或L2。
基本功能:
帧同步,差错控制,流量控制,链路管理
35.
连续ARQ协议(GBN):发送方可以连续发送若干个数据帧,如果收到接收方的确认帧则可以继续发送。若某个帧出错,接收方只是简单地丢弃该帧及其后所有的后续帧,发送方超时后需重传该数据帧及其后续的所有数据帧。这里要注意,连续ARQ协议中,接收方一般采用累积确认的方式,即接收方对按序到达的最后一个分组发送确认;
选择ARQ协议(SR):选择重传协议中,接收方逐个地确认正确接收的分组,不管接收到的分组是否有 序,只要正确接收就发送选择ACK分组进行确认。因此选择重传协议中的ACK.分组不再具有累积确认的作用。这点要特别注意与GBN协议的区别。
36.
如果对换是以整个进程为单位的,便称之为“整体对换”或“进程对换”。这种对换被广泛地应用于分时系统中,其目的是用来解决内存紧张问题,并可进一步提高内存的利用 率。
而如果对换是以“页”或“段”为单位进行的,则分别称之为“页面对换”或“分段 对换”,又统称为“部分对换”。这种对换方法是实现后面要讲到的请求分页和请求分段式 存储管理的基础,其目的是为了支持虚拟存储系统。
37.
OS从用户态切换为内核态,是需要有中断操作的,无论是软件中断(如系统调用)还是硬件中断(如鼠标键盘点击等)。
除法运算,存在除0的可能,引发异常处理中断;
显式的中断指令;
从地址addr处读取内存数据。当该地址映射的物理页不在内存中时,将发生缺页中断(page fault),切换到内核态,并读入数据至内存。
38.
39.
网络层包括:IP(Internet Protocol)协议、ICMP(Internet Control Message Protocol)
控制报文协议、ARP(Address Resolution Protocol)地址转换协议、RARP(Reverse ARP)反向地址转换协议。
IP是网络层的核心,通过路由选择将下一条IP封装后交给接口层。IP数据报是无连接服务。
ICMP是网络层的补充,可以回送报文。用来检测网络是否通畅。
Ping命令就是发送ICMP的echo包,通过回送的echo relay进行网络测试。
ping命令是属于tcp/ip的哪一层?应用层
40.
MITM:通过各种技术手段将受入侵者控制的一台计算机虚拟放置在网络连接中的两台通信计算机之间,这台计算机就称为“中间人”。
中间人攻击(Man-in-the-Middle Attack, MITM)是一种由来已久的网络入侵手段,并且当今仍然有着广泛的发展空间,如SMB
会话劫持、DNS欺骗等攻击都是典型的MITM攻击。简而言之,所谓的MITM攻击就是通过拦截正常的网络通信数据,并进行
数据篡改和嗅探,而通信的双方却毫不知情。
钓鱼攻击:一种企图从电子通讯中,通过伪装成信誉卓著的法人媒体以获得如用户名、密码和信用卡明细等个人敏感信息的犯罪诈骗过程。这些通信都声称(自己)来自社交网站拍卖网站网络银行、电子支付网站或网络管理者,以此来诱骗受害人的轻信。网钓通常是通过e-mail或者即时通讯进行。它常常导引用户到URL与界面外观与真正网站几无二致的假冒网站输入个人数据。就算使用强式加密的SSL服务器认证,要侦测网站是否仿冒实际上仍很困难。
水坑攻击:在受害者必经之路设置了一个“水坑(陷阱)”。最常见的做法是,黑客分析攻击目标的上网活动规律,寻找攻击目标经常访问的网站的弱点,先将此网站“攻破”并植入攻击代码,一旦攻击目标访问该网站就会“中招”。
41.
UDP这个协议本身并不保证传输的可靠性。
如果要通过UDP传输数据、但却要保证可靠性的话,
那是要通过第七层(应用层)来实现的
42.
ADSL是非对称数字用户线路(Asymmetric Digital Subscriber Line)的缩写,亦可称作非对称数字用户环路。ADSL技术提供的上行和下行带宽不对称,因此称为非对称数字用户线路,是一种异步传输模式(ATM)。
43.
网络协议主要要素:语法、语义、同步。
44.
帧中继特点包括:
1、采用光纤作为传输介质,误码率极低,能实现近似无差错传输。减少了进行差错检验的开销,提供了网络的吞吐量。
2、由于采用了基于变长的异步多路复用技术,帧中继主要适用于数据传输,而不适用于语音、视频或其他对时延敏感的信息传输。
3、仅提供面向连接的虚电路服务。
4、仅能检测到传输错误,而不试图纠正错误,只是简单地将错误帧丢弃
5、帧长度可变,允许最大长度在1600B以上。
6、是一种宽带分组交换技术,使用复用技术时,传输速率可高达44.6Mbps。
45.
TCP支持的应用协议:TELNET(远程终端登录协议),FTP(文件传输协议),SMTP(简单邮件传送协议),HTTP(传送协议)
UDP支持的应用协议:NFS(网络文件系统),SNMP(简单网络管理协议),DNS(域名服务),TFTP(简单文件传输协议)
46.
ROM: 只读内存(不能修改其存放的代码),主要用于系统初始化;
FLASH: 闪存,可读可写,存放着当前使用中的
ios(互联网操作系统),若容量足够大,甚至可以存放多个操作系统;
NVRAM: 非易失性(Nonvolatile)RAM,可读可写,仅保存启动配置文件,通常大小为32KB~128KB,速度快,成本高;
RAM: 随机存储器,可读可写,但存储内容在系统重启、关机后将被清除(上两个都可以保存),运行速度高于前三个;RAM运行时,包含路由表项目,ARP缓冲项目,日志项目,队列中排队等待发送的分组;除此之外,还包括运行配置文件(Running-config)、正在执行的代码、IOS操作系统程序和一些临时数据信息。
47.
网络层:分片,IP 数据报;
传输层:分段,TCP 报文段