tcp面试题(iOS面试题:TCP连接的三次握手)

本文目录
iOS面试题:TCP连接的三次握手
第一次握手:客户端发送 syn 包(syn=j)到服务器,并进入 SYN_SEND 状态,等待服务器确认;
第二次握手:服务器收到 syn 包,必须确认客户的 SYN(ack=j+1),同时自己也发送一个 SYN 包(syn=k),即 SYN+ACK 包,此时服务器进入 SYN_RECV 状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入 ESTABLISHED 状态,完成三次握手。
握手过程中传送的包里不包含数据,三次握手完毕后,客户端与服务器才正式开始传送数据。理想状态下,TCP 连接一旦建立,在通信双方中的任何一方主动关闭连接之前,TCP 连接都将被一直保持下去。断开连接时服务器和客户端均可以主动发起断开 TCP 连接的请求,断开过程需要经过“四次握手”(过程就不细写了,就是服务器和客户端交互,最终确定断开)
更多: iOS面试题合集
TCP/IP计算机网络协议面试题汇总
LISTEN – 侦听来自远方TCP端口的连接请求;
SYN-SENT -在发送连接请求后等待匹配的连接请求;
SYN-RECEIVED – 在收到和发送一个连接请求后等待对连接请求的确认;
ESTABLISHED- 代表一个打开的连接,数据可以传送给用户;
FIN-WAIT-1 – 等待远程TCP的连接中断请求,或先前的连接中断请求的确认;
FIN-WAIT-2 – 从远程TCP等待连接中断请求;
CLOSE-WAIT – 等待从本地用户发来的连接中断请求;
CLOSING -等待远程TCP对连接中断的确认;
LAST-ACK – 等待原来发向远程TCP的连接中断请求的确认;
TIME-WAIT -等待足够的时间以确保远程TCP接收到连接中断请求的确认;
CLOSED – 没有任何连接状态;
路由器仅根据网络号net-id来转发分组,当分组到达目的网络的路由器之后,再按照主机号host-id将分组交付给主机;同一网络上的所有主机的网络号相同。
从主机号host-id借用若干个比特作为子网号subnet-id;子网掩码:网络号和子网号都为1,主机号为0;数据报仍然先按照网络号找到目的网络,发送到路由器,路由器再按照网络号和子网号找到目的子网:将子网掩码与目标地址逐比特与操作,若结果为某个子网的网络地址,则送到该子网。
每台主机或路由器在其内存中具有一个ARP表(ARP table),这张表包含IP地址到MAC地址的映射关系。将IP地址通过广播,根据目标IP地址解析到MAC地址。
1. Ping
Ping 是 ICMP 的一个重要应用,主要用来测试两台主机之间的连通性。
Ping 的原理是通过向目的主机发送 ICMP Echo 请求报文,目的主机收到之后会发送 Echo 回答报文。Ping 会根据时间和成功响应的次数估算出数据包往返时间以及丢包率。
2. Traceroute
Traceroute 是 ICMP 的另一个应用,用来跟踪一个分组从源点到终点的路径。
Traceroute 发送的 IP 数据报封装的是无法交付的 UDP 用户数据报,并由目的主机发送终点不可达差错报告报文。
用于解决内网中的主机要和因特网上的主机通信。由NAT路由器将主机的本地IP地址转换为全球IP地址,分为静态转换(转换得到的全球IP地址固定不变)和动态NAT转换。
每个路由器维护一张表,记录该路由器到其它网络的”跳数“,路由器到与其直接连接的网络的跳数是1,每多经过一个路由器跳数就加1;更新该表时和相邻路由器交换路由信息;路由器允许一个路径最多包含15个路由器,如果跳数为16,则不可达。交付数据报时优先选取距离最短的路径。
1、 客户端发送自己支持的加密规则给服务器,代表告诉服务器要进行连接了;
2、 服务器从中选出一套加密算法和 hash 算法以及自己的身份信息(地址等)以证书的形式发送给浏览器,证书中包含服务器信息,加密公钥,证书的颁发机构;
3、客户端收到网站的证书之后要做下面的事情:
4、服务器接收到客户端传送来的信息,要做下面的事情:
5、如果计算法 hash 值一致,握手成功。
把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
C#中级面试题
答:网络七层由下往上分为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
***隐藏网址***
tcp协议 对应 传输层
ip 协议 对应 网络层
***隐藏网址***
Socket是对TCP/IP协议的封装,Socket本身并不是协议,而是一个调用接口(API),通过Socket,我们才能使用TCP/IP协议
答:Socket是对TCP/IP协议的封装,要想明白Socket连接,先要明白TCP连接。
建立起一个TCP连接需要经过“三次握手”:
握手过程中传送的包里不包含数据,三次握手完毕后,客户端与服务器才正式开始传送数据。理想状态下,TCP连接一旦建立,在通信双方中的任何一方主动关闭连 接之前,TCP 连接都将被一直保持下去。断开连接时服务器和客户端均可以主动发起断开TCP连接的请求,断开过程需要经过“四次握手”
答:典型的 TCP 客户端要经过下面三步操作:
服务端的工作是建立一个通信终端,并被动地等待客户端的连接。典型的 TCP 服务端执行如下两步操作:
答:HTTP协议即超文本传送协议(HypertextTransfer Protocol ),是Web联网的基础,HTTP协议是建立在TCP协议之上的一种应用。
HTTP连接最显著的特点是客户端发送的每次请求都需要服务器回送响应,在请求结束后,会主动释放连接。从建立连接到关闭连接的过程称为“一次连接”。
由于HTTP在每次请求结束后都会主动释放连接,因此HTTP连接是一种“短连接”,要保持客户端程序的在线状态,需要不断地向服务器发起连接请求。通常的 做法是即时不需要获得任何数据,客户端也保持每隔一段固定的时间向服务器发送一次“保持连接”的请求,服务器在收到该请求后对客户端进行回复,表明知道客 户端“在线”。若服务器长时间无法收到客户端的请求,则认为客户端“下线”,若客户端长时间无法收到服务器的回复,则认为网络已经断开。
答:客户端发送一个HTTP请求到服务器的请求消息包括以下格式:
请求行(request line)、请求头部(header)、空行和请求数据四个部分组成。
POST请求例子,使用Charles抓取的request:
答:一般情况下,服务器接收并处理客户端发过来的请求后会返回一个HTTP的响应消息。
HTTP响应也由四个部分组成,分别是:状态行、消息报头、空行和响应正文。
答:
再简单点理解就是:
计算机网络专业面试
1、2003个有几个版本,每个版本最新系统补丁包是什么啊?
2、 DNS的实现方法?
3、 WEB服务器的负载均衡?
4、 请问目前市面上常用几种网络操作系统的优缺点?
5、 请问你用过那些服务器?请讲述raid0、1、5的特点和优点?
6、 请列出下列协议的段口号:HTTP,HTTPS,DNS,FTP,TELNET,PPTP,SMTP,POP3?
7、 请问局域网内想要通过UNC路径或者NETBIOS名称访问对方计算机,需要在对方计算机上开放什么协议或者端口?
8、 OSI七层模型?TCP/IP模型?
9、 能否将WIN2000P升级成WIN2000S?
10、 怎样保证1个文档的安全性?
11、 说说你知道的防火墙及其应用?
12、 WINDOWS域的具体实现方式?客户机要加入到域该如何操作?
13、 请问你对AD熟悉吗?怎样组织AD资源?
14、 请简述操作主机(FSMO)的作用?
15、 请问PKI是什么啊?在WIN下怎样实现PKI?请简述证书申请的一个过程?
16、 请问你用过那些远程控制软件啊?
17、 怎样实现WINDOWS 群集?
18、 你知道哪几种邮件系统?请简述安装EXCHANG 2003的详细步骤?
19、 请问ISA 有几大功能?请简述用ISA发布网站的过程?
20、 请问怎样才能让SQL服务器更安全?
21、 请问在生产环境中你应该如何规划SQL数据库文件存放?
22、 当一台DC发生宕机,你应该如何处理?
23、 请问你如何把你的WINDOWS服务器做得更安全?
24、 如何备份和还原SQL 数据库?
25、 如何备份和还原EXCHANG数据库?
26、 你用过那些杀毒软件(网络版和单机版)?
27、 如果有一个小型企业网络需要你去规划,请讲述你的规划 思路?
28、 你知道那些入侵检测系统?你能独立部署的有那些?
29、 请问如何加强WEB服务器的安全?
30、 当有一台电脑出现故障,请问你怎样解决这个问题?
31、 你做过系统补丁升级吗?内网如果有一百台机器的话你怎样做系统补丁升级?
32、 网页出现乱吗是什么原因?
33、 Exchang2003安装成功默认能用foxmail收发邮件吗?如果能,为什么?如果不能,请说明原因?
34、 请问怎样才能统一更改整个公司的邮件地址(exchange环境)?
35、 请问你在生产环境中如何规划EXCHANGE服务器数据库的存放?
36、 请你写出10条以上保证你企业网络安全的措施。
37、 一台WINDOWS XP的客户机,登陆域的时需要十分钟,请问是什么原因?怎么解决阿?
38、 当用户反映去访问一台文件服务器非常慢,请问是什么原因?如何解决?
39、 当用户反映上网速度非常慢,请问什么原因?如何解决?
本文出自 51CTO.COM技术博客
一 计算机网络的定义,并谈谈你对网络的理解
把分布在不同地点且具有独立功能的多个计算机,通过通信设备和线路连接起来,在功能完善的网络软件运行下,以实现网络中资源共享为目标的系统。(理解略)
二 请描述osi七层模型,并简要概括各层功能
OSI是Open System Interconnect的缩写,这个模型把网络通信的工作分为7层,它们由低到高分别是物理层(Physical Layer),数据链路层(Data Link Layer),网络层(Network Layer),传输层(Transport Layer),会话层(Session Layer),表示层(Presen tation Layer)和应用层(Application Layer)。第一层到第三层属于OSI参考模型的低三层,负责创建网络通信连接的链路;第四层到第七层为OSI参考模型的高四层,具体负责端到端的数据通信。每层完成一定的功能,每层都直接为其上层提供服务,并且所有层次都互相支持,而网络通信则可以自上而下(在发送端)或者自下而上(在接收端)双向进行。当然并不是每一通信都需要经过OSI的全部七层,有的甚至只需要双方对应的某一层即可。物理接口之间的转接,以及中继器与中继器之间的连接就只需在物理层中进行即可;而路由器与路由器之间的连接则只需经过网络层以下的三层即可。总的来说,双方的通信是在对等层次上进行的,不能在不对称层次上进行通信。
OSI参考模型的各个层次的划分遵循下列原则:
1、同一层中的各网络节点都有相同的层次结构,具有同样的功能。
2、同一节点内相邻层之间通过接口(可以是逻辑接口)进行通信。
3、七层结构中的每一层使用下一层提供的服务,并且向其上层提供服务。
4、不同节点的同等层按照协议实现对等层之间的通信。
第一层:物理层(PhysicalLayer)
规定通信设备的机械的、电气的、功能的和过程的特性,用以建立、维护和拆除物理链路连接。具体地讲,机械特性规定了网络连接时所需接插件的规格尺寸、引脚数量和排列情况等;电气特性规定了在物理连接上传输bit流时线路上信号电平的大小、阻抗匹配、传输速率距离限制等;功能特性是指对各个信号先分配确切的信号含义,即定义了DTE和DCE之间各个线路的功能;规程特性定义了利用信号线进行bit流传输的一组操作规程,是指在物理连接的建立、维护、交换信息是,DTE和DCE双放在各电路上的动作系列。
在这一层,数据的单位称为比特(bit)。
属于物理层定义的典型规范代表包括:EIA/TIA RS-232、EIA/TIA RS-449、V.35、RJ-45等。
第二层:数据链路层(DataLinkLayer)
在物理层提供比特流服务的基础上,建立相邻结点之间的数据链路,通过差错控制提供数据帧(Frame)在信道上无差错的传输,并进行各电路上的动作系列。
数据链路层在不可靠的物理介质上提供可靠的传输。该层的作用包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。
在这一层,数据的单位称为帧(frame)。
数据链路层协议的代表包括:SDLC、HDLC、PPP、STP、帧中继等。
第三层:网络层(Network Layer)
在计算机网络中进行通信的两个计算机之间可能会经过很多个数据链路,也可能还要经过很多通信子网。网络层的任务就是选择合适的网间路由和交换结点, 确保数据及时传送。网络层将数据链路层提供的帧组成数据包,包中封装有网络层包头,其中含有逻辑地址信息- -源站点和目的站点地址的网络地址。
如果你在谈论一个IP地址,那么你是在处理第3层的问题,这是“数据包”问题,而不是第2层的“帧”。IP是第3层问题的一部分,此外还有一些路由协议和地址解析协议(ARP)。有关路由的一切事情都在第3层处理。地址解析和路由是3层的重要目的。网络层还可以实现拥塞控制、网际互连等功能。
在这一层,数据的单位称为数据包(packet)。
网络层协议的代表包括:IP、IPX、RIP、OSPF等。
第四层:处理信息的传输层
第4层的数据单元也称作数据包(packets)。但是,当你谈论TCP等具体的协议时又有特殊的叫法,TCP的数据单元称为段(segments)而UDP协议的数据单元称为“数据报(datagrams)”。这个层负责获取全部信息,因此,它必须跟踪数据单元碎片、乱序到达的数据包和其它在传输过程中可能发生的危险。第4层为上层提供端到端(最终用户到最终用户)的透明的、可靠的数据传输服务。所为透明的传输是指在通信过程中传输层对上层屏蔽了通信传输系统的具体细节。
传输层协议的代表包括:TCP、UDP、SPX等。
第五层:会话层(Session Layer)
这一层也可以称为会晤层或对话层,在会话层及以上的高层次中,数据传送的单位不再另外命名,统称为报文。会话层不参与具体的传输,它提供包括访问验证和会话管理在内的建立和维护应用之间通信的机制。如服务器验证用户登录便是由会话层完成的。
第六层:表示层(Presentation Layer)
这一层主要解决拥护信息的语法表示问题。它将欲交换的数据从适合于某一用户的抽象语法,转换为适合于OSI系统内部使用的传送语法。即提供格式化的表示和转换数据服务。数据的压缩和解压缩, 加密和解密等工作都由表示层负责。
第七层:应用层(Application Layer)
应用层为操作系统或网络应用程序提供访问网络服务的接口。
应用层协议的代表包括:Telnet、FTP、HTTP、SNMP等。
三 请描述tcp/ip模型,并简要介绍各层功能
由于种种原因,OSI模型并没有成为真正应用在工业技术中的网络体系结构。在网络发展的最初期,网络覆盖的地域范围非常有限,而且主要用途也只是为了美国国防部和军方科研机构服务。随着民用化发展,网络通过电话线路连接到大学等单位,进一步需要通过卫星和微波网络进行网络扩展,军用网络中原有技术标准已经不能满足网络日益民用化和网络互连的需求,因此设计一套以无缝方式实现各种网络之间互连的技术标准就提到议事日程上来。这一网络体系结构就是后来的TCP/IP参考模型。
TCP/IP模型共分四层,分别为应用层、传输层、互联网层和主机到网络层。各层实现特定的功能,提供特定的服务和访问接口,并具有相对的独立性。
( 1) 主机到网络层
主机到网络层是TCP/IP模型中的第一层。它相当于OSI模型中的物理层和数据链路层,因为这一层的功能是将数据从主机发送到网络上。与应用邮政系统类比,主机到网络层中的比特流传输相当于信件的运送。
(2) 互联网层
互联网层是TCP/IP模型中的第二层。最初是希望当网络中部分设备不能正常运行时,网络服务不被中断,已经建立的网络连接依然可以有效地传输数据;换言之,只要源主机和目标主机处于正常状态,就要求网络可以完成传输任务。互联网层正是在这些苛刻的设计目标下选择了分组交换(Packer Switching)技术作为解决方案。
分组交换技术不仅使分组发送到任意的网络后可以独立地漫游到目标主机,而且可确保目标主机接收到顺序被打乱的分组后,将其传送到最高层重新排定分组顺序。互联网层定义了标准的分组格式和接口参数,只要符合这样的标准,分组就可以在不同网络间实现漫游。
(3) 传输层
传输层是TCP/IP模型中的第三层。其功能与OSI模型中的传输层相类似,TCP/IP模型中的传输层不仅可以提供不同服务等级、不同可靠性保证的传输服务,而且还可以协调发送端和接收端之间的传输速度差异。
(4) 应用层
应用层是TCP/IP模型中的第四层。与OSI模型不同的是,在TCP/IP模型中没有会话层和表示层。由于在应用中发现,并不是所有的网络服务都需要会话层和表示层的功能,因此这些功能逐渐被融合到TCP/IP模型中应用层的那些特定的网络服务中。应用层是网络操作者的应用接口,正像发件人将信件放进邮筒一样,网络操作者只需在应用程序中按下发送数据按钮,其余的任务都由应用层以下的层完成。
四 请简要叙述交换机和集线器的区别
最简单的区别就是HUB是广播式的,用户共享带宽;交换机是交互式的,每个用户独享带宽。
在当今这个全球网络化的网络时代,网络已成为人类生活的必须。作为局域网组建的重要设备:交换机和集线器,都起着局域网的数据传送“枢纽”的作用。那么,交换机和集线器到底有什么区别?
所谓交换机其实是从集线器技术发展而来的。如果用最简单的语言叙述交换机与集线器的区别,那就应该是智能与非智能的差别。集线器说白了只是连接多个计算机的 设备,它只能起到信号放大、传输的作用,但不能对信号中的碎片进行处理,所以在传输过程中非常容易出错。而交换机则可以看作是一种智能型的集线器,它除了 包括集线器的所有特性外,还具有自动寻址、交换、处理的功能。并且在传递过程中,只有发送源与接受源独立工作,其间不与其它端口发生关系,从而达到防止数 据丢失和提高吞吐量的目的。
下来我将从交换机与集线器的概念,种类,特点,OSI体系结构,工作方式等基本问题上对二者的区别进行分析说明。
1.交换机和集线器的概念
1.1. 交换机 交换机的英文名称之为“Switch”,它是集线器的升级换代产品,从外观上来看的话,它与集线器基本上没有多大区别,都是带有多个端口的长方形 盒状体。交换机是按照通信两端传输信息的需要,用人工或设备自动完成的方法把要传输的信息送到符合要求的相应路由上的技术统称。广义的交换机就是一种在通 信系统中完成信息交换功能的设备。
1.2.集线器 集线器(HUB)是计算机网络中连接多个计算机或其他设备的连接设备,是对网络进行集中管理的 最小单元。英文HUB就是中心的意思,像树的主干一样,它是各分支的汇集点。许多种类型的网络都依靠集线器来连接各种设备并把数据分发到各个网段。HUB 基本上是一个共享设备,其实质是一个中继器,主要提供信号放大和中转的功能,它把一个端口接收的全部信号向所有端口分发出去。
2.交换机和集线器的种类
交换机和集线器从不同的方面和角度有着不同的分类。
2.1.HUB集线器的种类
集线器有多种类型,各个种类具有特定的功能、提供不同等级的服务。
2.1.1.依据总线带宽的不同,HUB分为10M、100M和10M/100M自适应三种;若按配置形式的不同可分为独立型、模块化和堆叠式三种。
2.1.2.根据端口数目的不同主要有8口、16口和24口几种。
2.1.3.根据工作方式可分为智能型和非智能型两种。目前所使用的HUB基本是前三种分类的组合,如我们常在广告中看到的10M/100M自适应智能型、可堆叠式HUB等。
2.1.4.依据工作方式区分有较普遍的意义,可以进一步划分为被动集线器、主动集线器、智能集线器和交换集线器四种。
2.2.交换机的分类
2. 2.1.按照现在复杂的网络构成方式,网络交换机被划分为接入层交换机、汇聚层交换机和核心层交换机。其中,核心层交换机全部采用机箱式模块化设计,目前 已经基本都设计了与之相配备的1000BASE-T模块,核心层交换机的选购在本文中不做讨论。接入层支持1000BASE-T的以太网交换机基本上是固 定端口式交换机,以10/100Mbps端口为主,并且以固定端口或扩展槽方式提供1000BASE-T的上连端口。汇聚层1000BASE-T交换机同 时存在机箱式和固定端口式2种设计,可以提供多个1000BASE-T 端口,一般也可以提供1000BASE-X等其他形式的端口。接入层和汇聚层交换 机共同构成完整的中小型局域网解决方案。
2.2.2. 按照OSI的7层网络模型,交换机又可以分为第二层交换机、第三层交换机、第四层交换机 等等,一直到第七层交换机。基于MAC地址工作的第二层交换机最为普遍,用于网络接入层和汇聚层。基于IP地址和协议进行交换的第三层交换机普遍应用于网 络的核心层,也少量应用于汇聚层。部分第3层交换机也同时具有第四层交换功能,可以根据数据帧的协议端口信息进行目标端口判断。第四层以上的交换机称之为 内容型交换机,主要用于互联网数据中心,不在本文讨论范围之内。
2.2.3.按照交换机的可管理性,又可以分为可管理型交换机和非可管理型交换 机,它们的区别在于对SNMP、RMON等网管协议的支持。可管理型交换机便于网络监控,但成本也相对较高。大中型网络在汇聚层应该选择可管理型交换机, 在接入层视应用需要而定,核心层交换机全部是可管理型交换机。
3.交换机和集线器的特点
3.1.Hub的特点
在星型结构中,它是连接的中间结点,它起放大信号的作用。所有设备共享Hub的带宽,也就是说,如果hub的带宽是10M,连结了10了设备,每个设备就是1M,Hub所有端口共享一个MAC地址。
3.2.switch 的特点
用于星型结构时,它作为中心结点起放大信号的作用,端口不共享带宽,如果是一个10M的switch,那么每个端口的带宽就是10M,每个端口拥有自己的MAC地址。
交换机的主要功能包括物理编址、网络拓扑结构、错误校验、帧序列以及流量控制。目前一些高档交换机还具备了一些新的功能,如对VLAN(虚拟局域网)的支持、对链路汇聚的支持,甚至有的还具有路由和防火墙的功能。
交换机除了能够连接同种类型的网络之外,还可以在不同类型的网络(如以太网和快速以太网)之间起到互连作用。如今许多交换机都能够提供支持快速以太网或FDDI等的高速连接端口,用于连接网络中的其它交换机或者为带宽占用量大的关键服务器提供附加带宽。
它是一个网络设备,拥有路由器的一部分功能,它可以决定接收到的数据向什么地方发送,它的速度比路由器要快。
4.交换机和集线器的主要区别
通过从上面各方面的分析我们可以知道交换机和集线器的主要区别分为四个方面,分别是在OSI体系结构,数据传输方式,带宽占用方式和传输模式上。
4.1. OSI体系结构上的区别 集线器属于OSI的第一层物理层设备,而交换机属于OSI的第二层数据链路层设备。也就意味着集线器只是对数据的传输起到同步、 放大和整形的作用,对数据传输中的短帧、碎片等无法进行有效的处理,不能保证数据传输的完整性和正确性;而交换机不但可以对数据的传输做到同步、放大和整 形,而且可以过滤短帧、碎片等。
4.2.数据传输方式上的区别
目前,80%的局域网(LAN)是以太网,在局域网中大量地使用了集线器(HUB)或交换机(Switch)这种连接设备。利用集线器连接的局域网叫共享式局域网,利用交换机连接的局域网叫交换式局域网。
4.2.1. 工作方式不同 我们先来谈谈网络中的共享和交换这两个概念。在此,我们打个比方,同样是10个车道的马路,如果没有给道路标清行车路线,那么车辆就只能在 无序的状态下抢道或占道通行,容易发生交通堵塞和反向行驶的车辆对撞,使通行能力降低。为了避免上述情况的发生,就需要在道路上标清行车线,保证每一辆车 各行其道、互不干扰。共享式网络就相当于前面所讲的无序状态,当数据和用户数量超出一定的限量时,就会造成碰撞冲突,使网络性能衰退。而交换式网络则避免 了共享式网络的不足,交换技术的作用便是根据所传递信息包的目的地址,将每一信息包独立地从端口送至目的端口,避免了与其它端口发生碰撞,提高了网络的实 际吞吐量。
共享式以太网存在的主要问题是所有用户共享带宽,每个用户的实际可用带宽随网络用户数的增加而递减。这是因为当信息繁忙时,多个用户都 可能同进“争用”一个信道,而一个通道在某一时刻只充许一个用户占用,所以大量的经常处于监测等待状态,致使信号在传送时产生抖动、停滞或失真,严重影响 了网络的性能。
交换式以太网中,交换机供给每个用户专用的信息通道,除非两个源端口企图将信息同时发往同一目的端口,否则各个源端口与各自的目的端口之间可同时进行通信而不发生冲突。
4.2.2. 工作机理不同 集线器的工作机理是广播(broadcast),无论是从哪一个端口接收到什么类型的信包,都以广播的形式将信包发送给其余的所有端口,由 连接在这些端口上的网卡(NIC)判断处理这些信息,符合的留下处理,否则丢弃掉,这样很容易产生广播风暴,当网络较大时网络性能会受到很大的影响。从它 的工作状态看,HUB的执行效率比较低(将信包发送到了所有端口),安全性差(所有的网卡都能接收到,只是非目的地网卡丢弃了信包)。而且一次只能处理一 个信包,在多个端口同时出现信包的时候就出现碰撞,信包按照串行进行处理,不适合用于较大的网络主干中。
交换机的工作就完全不同,它通过分析 Ethernet包的包头信息(其中包含了原MAC地址、目标MAC地址、信息长度等),取得目标MAC地址后,查找交换机中存储的地址对照表(MAC地 址对应的端口),确认具有此MAC地址的网卡连接在哪个端口上,然后仅将信包送到对应端口,有效的有效的抑制广播风暴的产生。
这就是Switch 同HUB最大的不同点。而Switch内部转发信包的背板带宽也远大于端口带宽,因此信包处于并行状态,效率较高,可以满足大型网络环境大量数据并行处理的要求。
4.3.带宽占用方式上的区别
集 线器不管有多少个端口,所有端口都是共享一条带宽,在同一时刻只能有二个端口传送数据,其他端口只能等待,同时集线器只能工作在半双工模式下;而对于交换 机而言,每个端口都有一条独占的带宽,这样在速率上对于每个端口来说有了根本的保障。当二个端口工作时并不影响其他端口的工作,同时交换机不但可以工作在 半双工模式下而且可以工作在全双工模式下。
4.4.传输模式上的区别
集线器只能采用半双工方式进行传输的,因为集线器是共享传输介质的, 这样在上行通道上集线器一次只能传输一个任务,要么是接收数据,要么是发送数据。而交换机则不一样,它是采用全双工方式来传输数据的,因此在同一时刻可以 同时进行数据的接收和发送,这不但令数据的传输速度大大加快,而且在整个系统的吞吐量方面交换机比集线器至少要快一倍以上,因为它可以接收和发送同时进 行,实际上还远不止一倍,因为端口带宽一般来说交换机比集线器也要宽许多倍。
举个简单的例子,比如说让两组人同时给对方互相传输一个文件,从一个 人传到另一个的时间为1分钟。如果是用集线器的话,需要的时间是4分钟。数据先从一个人传到对方那里,然后对方再传回来。接着才能是另一组做相同的工作, 这样算下来就是4分钟。但是用交换机的话速度就快多了,在相同情况下只需要1分钟就足够了。由于每个端口都是独立的,所以这两组人可以同时传输数据,再因 为交换机可以工作在全双工下,所以每两个人也可以同时传输,换句话说这4个人是在同一个时间内完成的工作。所以我们也可以把集线器和交换机的处理能力看做 串行处理与并行处理。
5.总结
综上所述,集线器的功能只是一个多端口的转发器,无论从哪个端口传出来的讯号都会整形再生放大后向所有的端 口广播出去,并且所有的端口都会挤用同一个共享信带的带宽,造成数据量大时所有端口的带宽大幅减少;而交换机相当于多端口桥,它为用户提供的是独占的点对 点的连接,数据包只发向目的端口而不会向所有端口发送,这样减少了信号在网络发生碰撞,而且交换机上的所有端口均有独享的信道带宽。
交换机是继集线器基础上开发的一新的网络连接设备,拥有着更好更强大的功能和优点,而且还有着很高的性价比,更适应当今网络的需求。通过以上分析,我们不难看出交换机与集线器相比的明显优势。我相信在不久的以后交换机将会彻底替代集线器。
本文出自 51CTO.COM技术博客
运维岗位面试题
运维岗位面试题
运维指互联网运维,通常属于技术部门,与研发、测试、系统管理同为互联网产品技术支撑的4大部门,这个划分在国内和国外以及大小公司间都会多少有一些不同。下面是我搜集的运维岗位面试题,欢迎大家阅读,希望对你有所帮助。
运维岗位面试题一
1、Linux如何挂载windows下的共享目录?
mount.cifs //IP地址/server /mnt/server -o user=administrator,password=123456
linux 下的server需要自己手动建一个 后面的user与pass 是windows主机的账号和密码 注意空格 和逗号
***隐藏网址***
netstat -n | awk ‘/^tcp/ {++b}’
还有ulimit -n 查看linux系统打开最大的文件描述符,这里默认1024,不修改这里web服务器修改再大也没用。若要用就修改很几个办法,这里说其中一个:
修改/etc/security/limits.conf
* soft nofile 10240
* hard nofile 10240
重启后生效
3、如何用tcpdump嗅探80端口的访问看看谁最高?
tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F”.” ‘{print $1″.”$2″.”$3″.”$4″.”}’ | sort |uniq -c | sort -nr | head-5
4、如何查看/var/log目录下的文件数?
ls /var/log/ -1R | grep “-” | wc -l
5、如何查看Linux系统每个ip的连接数?
netstat -n | awk ‘/^tcp/ {print $5}’ | awk -F: ‘{print $1}’ | sort | uniq -c | sort -rn
6、shell下生成32位随机密码
cat /dev/urandom | head -1 | md5sum | head -c 32 》》 /pass
7、统计出apache的access.log中访问量最多的5个ip
cat access.log | awk ‘{print $1}’ | sort | uniq -c | sort -n -r | head -5
8、如何查看二进制文件的内容?
我们一般通过hexdump命令 来查看二进制文件的内容。
hexdump -C XXX(文件名) -C是参数 不同的参数有不同的意义
-C 是比较规范的 十六进制和ASCII码显示
-c 是单字节字符显示
-b 单字节八进制显示
-o 是双字节八进制显示
-d 是双字节十进制显示
-x 是双字节十六进制显示
9、ps aux 中的VSZ代表什么意思,RSS代表什么意思?
VSZ:虚拟内存集,进程占用的虚拟内存空间
RSS:物理内存集,进程战用实际物理内存空间
10、如何检测并修复/dev/hda5?
fsck用来检查和维护不一致的文件系统。若系统掉电或磁盘发生问题,可利用fsck命令对文件系统进行检查
11、介绍下Linux系统的开机启动顺序
加载BIOS–》读取MBR–》Boot Loader–》加载内核–》用户层init一句inittab文件来设定系统运行的等级(一般3或者
5,3是多用户命令行,5是界面)–》init进程执行rc.syninit–》启动内核模块–》执行不同级别运行的脚本程序–》执行/etc/rc.d/rc.local(本地运行服务)–》执行/bin/login,就可以登录了。
12、符号链接与硬链接的区别
我们可以把符号链接,也就是软连接 当做是 windows系统里的 快捷方式。
硬链接 就好像是 又复制了一份,举例说明:
ln 3.txt 4.txt 这是硬链接,相当于复制,不可以跨分区,但修改3,4会跟着变,若删除3,4不受任何影响。
ln -s 3.txt 4.txt 这是软连接,相当于快捷方式。修改4,3也会跟着变,若删除3,4就坏掉了。不可以用了。
13、保存当前磁盘分区的分区表
dd 命令是以个强大的命令,在复制的同时进行转换
dd if=/dev/sda of=./mbr.txt bs=1 count=512
14、如何在文本里面进行复制、粘贴,删除行,删除全部,按行查找和按字母查找?
以下操作全部在命令行状态操作,不要在状态操作。
在文本里 移动到想要复制的行 按yy 想复制到哪就移动到哪,然后按P 就黏贴了
删除行 移动到改行 按dd
删除全部 dG 这里注意G一定要大写
按行查找 :90 这样就是找到第90行
按字母查找 /path 这样就是 找到path这个单词所在的位置,文本里可能存在多个,多次查找会显示在不同的位置。
15、手动安装grub
grub-install /dev/sda
16、修改内核参数
vi /etc/sysctl.conf 这里修改参数
sysctl -p 刷新后可用
17、在1-39内取随机数
expr $ +1
RANDOM随机数
%39取余数范围0-38
18、限制apache每秒新建连接数为1,峰值为3
每秒新建连接数 一般都是由防火墙来做,apache本身好像无法设置每秒新建连接数,只能设置最大连接:
iptables -A INPUT -d 172.16.100.1 -p tcp –dport 80 -m limit –limit 1/second -j ACCEPT
19、FTP的主动模式和被动模式
FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动式和被动式。
PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请 求,服务器接受连接,建立一条命令链路。当需要传送数据时,客户端在命令链路上用PORT 命令告诉服务器:“我打开了XX端口,你过来连接我”。于是服务器从20端口向客户端的 XX端口发送连接请求,建立一条数据链路来传送数据。
PASV(被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请 求,服务器接受连接,建立一条命令链路。当需要传送数据时,服务器在命令链路上用PASV 命令告诉客户端:“我打开了XX端口,你过来连接我”。于是客户端向服务器的XX端口 发送连接请求,建立一条数据链路来传送数据。
从上面可以看出,两种方式的命令链路连接方法是一样的,而数据链路的建立方法就完 全不同。
20、显示/etc/inittab中以#开头,且后面跟了一个或者多个空白字符,而后又跟了任意非空白字符的行
grep “^#\{1,\}” /etc/inittab
21、显示/etc/inittab中包含了:一个数字:(即两个冒号中间一个数字)的行
grep “\:\{1\}:” /etc/inittab
22、怎么把脚本添加到系统服务里,即用service来调用?
在脚本里加入
#!/bin/bash
# chkconfig: 345 85 15
***隐藏网址***
然后保存
***隐藏网址***
现在就可以使用service 来 start or restart
23、写一个脚本,实现批量添加20个用户,用户名为user01-20,密码为user后面跟5个随机字符
#!/bin/bash
#description: useradd
for i in `seq -f”%02g” 1 20`;do
useradd user$i
echo “user$i-`echo $RANDOM|md5sum|cut -c 1-5`”|passwd –stdinuser$i 》/dev/null 2》&1
done
24、写一个脚本,实现判断192.168.1.0/24网络里,当前在线的IP有哪些,能ping通则认为在线
#!/bin/bash
for ip in `seq 1 255`
do
ping -c 1 192.168.1.$ip 》 /dev/null 2》&1
if ; then
echo 192.168.1.$ip UP
else
echo 192.168.1.$ip DOWN
fi
}&
done
wait
25、写一个脚本,判断一个指定的脚本是否是语法错误;如果有错误,则提醒用户键入Q或者q无视错误并退出其它任何键可以通过vim打开这个指定的脚本
# cat checksh.sh
#!/bin/bash
read -p “please input check script-》 ” file
if ; then
sh -n $file 》 /dev/null 2》&1
if ; then
read -p “You input $file syntax error,” answer
case $answer in
q | Q)
exit 0
;;
vim )
vim $file
;;
*)
exit 0
;;
esac
fi
else
echo “$file not exist”
exit 1
fi
26、写一个脚本,要求如何:
创建一个函数,能接受两个参数:
1)第一个参数为URL,即可下载的文件;第二个参数为目录,即下载后保存的位置;
2)如果用户给的目录不存在,则提示用户是否创建;如果创建就继续执行,否则,函数返回一个51的错误值给调用脚本;
3)如果给的目录存在,则下载文件;下载命令执行结束后测试文件下载成功与否;如果成功,则返回0给调用脚本,否则,返回52给调用脚本;
# cat downfile.sh
#!/bin/bash
url=$1
dir=$2
download()
{
cd $dir 》》 /dev/null 2》&1
if ;then
read -p “$dir No such file or directory,create?(y/n)” answer
if ;then
mkdir -p $dir
cd $dir
wget $url 1》 /dev/null 2》&1
else
return “51”
fi
fi
if ; then
return “52”
fi
}
download $url $dir
echo $?
27、写一个脚本,详细需求如下:
1、创建一个函数,可以接受一个磁盘设备路径(如/dev/sdb)作为参数;在真正开始后面步骤之前提醒用户有危险,并让用户选择是否继续;而后将此磁盘设备上的所有分区清空(提示,使用命令dd if=/dev/zero of=/dev/sdb bs=512 count=1实现,注意其中的设备路径不要写错了;
如果此步骤失败,返回67给主程序;
接着在此磁盘设备上创建两个主分区,一个大小为100M,一个大小为1G;如果此步骤失败,返回68给主程序;
格式化此两分区,文件系统类型为ext3;如果此步骤失败,返回69给主程序;
如果上述过程都正常,返回0给主程序;
2、调用此函数;并通过接收函数执行的返回值来判断其执行情况,并将信息显示出来;
local Darray=(`ls /dev/sd`)
for i in ${Darray};do
&& Sd=$i &&break
done
else
return66
fi
#当匹配成功,进入选择,告诉用户,是否继续,输错的话进入无限循环,当用户选择Y,则清空目标分区,且跳出while循环
while :;do
read -p “Warning!!!This operation will clean $Sd data.Next=y,Quit=n :” Choice
case $Choice in
y)
dd if=/dev/zero of=$Sd bs=512 count=1 &》 /dev/null &&break || return 67 ;;
n)
exit 88 ;;
*)
echo “Invalid choice,please choice again.” ;;
esac
done
#使用echo传递给fdisk进行分区,如果此命令失败,则跳转出去,错误值68,需要注意的是,有时候这个返回值很诡异,笔者之前成功与否都是返回的1,后来重启之后,就好了,如果慎重的话,可以对创建的分区,进行判断,不过就需要使用其他工具截取相关字段了,虽有些小麻烦,但无大碍
echo-e “n\np\n1\n\n+100M\nn\np\n2\n\n+1024M\nw\n”|fdisk /dev/sdb&》 /dev/null || || return 68
#格式化之前,让内核重新读取磁盘分区表,值得注意的是,有的`系统版本,使用partprobe无效,譬如笔者的环境是rhel5.8,而rhel6.0以后,这个命令就很危险了,而使用partx -a /dev/sdb则效果更好…此项需慎重,如果格式化失败,则告知把失败的分区定义成变量,且跳出函数,并带出错误值69
`partprobe`
Part=`fdisk -l /dev/$Sd|tail -2|cut -d” ” -f1`
for M in ${Part};do
mke2fs -j $M &》 /dev/null && ErrorPart=$M &&return 69
done
return 0
}
#下面代码,调用函数,接收函数返回值,根据返回值进行判断哪里出错。
Disk_Mod $1
Res=$?
&& exit 0
&& echo “Error! Invalid input.”
&& echo “Error! Command -》 dd fdisk mke2fs
28、如何让history命令显示具体时间?
HISTTIMEFORMAT=”%Y-%m-%d %H:%M:%S”
export HISTTIMEFORMAT
重新开机后会还原,可以写/etc/profile
运维岗位面试题二
1、双绞线的两种制作标准的线序是:
EIA/TIA 568A:绿白、绿、橙白、蓝、蓝白、橙、棕白、棕;
EIA/TIA 568B:橙白、橙白、绿白、蓝、蓝白、绿、棕白、棕。
2、以下各设备的连接方法是:
PC-PC:反线、PC-HUB:正线、HUB-HUB反线 HUB-SWITCH:正线;
SWITCH-SWITCH:反线、SWITCH-ROUTER:正线、ROUTER-ROUTER:反线。
3、某公司申请到了一个C类的IP地址,但是需连接6个子公司,最大的子公司有 26台计算机,每个子公司放在一个网段中,那么子网掩码应该设置为255.255.255.224。
4、已知某一主机IP 地址是201.103.136.184,其子网的掩码是255.255.255.192,则该主机是在_c_类网络中,其所在子网最多允许有_63__台主机。
5、PAT和NAT有什么区别?
答:都是网络地址转换,只不过不同的是一个是一对一,一个是一对多可复用地址转换,PAT是nat的一种。NAT中文全称是地址转换,一般指的是内部IP和内部全局IP一一对应;PAT中文全称是端口转换,一般指的是内部IP与内部全局IP一对多对应。
6、描述raid 0、1、5的特点和优点。
答:我们通过RAID 0可以获得更大的单个逻辑盘的容量,且通过对多个磁盘的同时读取获得更高的存取速度。RAID 0首先考虑的是磁盘的速度和容量,忽略了安全,只要其中一个磁盘出了问题,那么整个阵列的数据都会不保了。同RAID 0相比,RAID 1首先考虑的是安全性,容量减半、速度不变。RAID5把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。因此当RAID5的一个磁盘发生损坏后,不会影响数据的完整性,从而保证了数据安全。
7、配置一个与DNS集成的活动目录,客户端在加入域的时候提示找不到域控制器,其中最有可能出现问题的地方在哪里?
答:客户端没有将DNS指向和活动目录集成的DNS的缘故。
8、SQL复制的基本元素包括:出版服务器、订阅服务器、分发服务器、出版物、文章。SQL复制技术类型是:快照复制、事务复制、合并复制。
9、局域网内某台电脑不能通过UNC方式访问文件服务器,提示找不到路径,但其他客户端均可正常访问,该如何解决?
答:得先看看那个机器和其他的在不在同一网段下,你先PING下对方的IP就知道了。
10、windows群集(cluster)和网络负载均衡(NLB)各自的特点及用处是什么?
答:使用11ns 可以对加入到负载均衡的机器设置权重。系统自动根据权重比例来分析访问比例,对于流量比较大的网站,可以通过负载均衡功能把流量分配到几台不同的服务器上,以提高网站的运行速度。
11、服务器需要监控哪些项目?凭借这些项目如何判断服务器的瓶颈?
答:一般监控服务器的CPU,内存,磁盘空间,接口流量,IIS访问数、流量等数据库连接数。
;
更多文章:
sql语句优化面试(面试问到 数据库性能优化 怎么回答 我是Oracle数据库)
2025年7月30日 02:15
图片转换代码软件(求一款图片转网页代码的工具,就是可以把图片转换成网页广告的那种,)
2025年6月30日 23:30
desense(手机desense测试,中文是什么意思怎么测试)
2025年11月12日 03:00
如何使用ubuntu系统(win10安装ubuntu双系统怎么装)
2025年9月4日 20:00
sql数据库多少钱(access sql 等的数据库,开发工具多少钱运行平台多少钱)
2026年1月21日 20:15
php环境搭建的原理(什么是PHPWEB环境的搭建及其作用)
2026年8月23日 16:15
c语言一维数组有几个数(c语言的一维数组中至少要有几个元素)
2025年11月27日 13:30
1111101100101110转为16进制?将23456表为16进制数
2025年12月19日 18:30
指针变量为什么占4个地址(C语言中,为什么指针变量无论指向那个类型的变量,其所占的字节都为4个字节详解)
2025年7月27日 19:00
html5模板 支付成功(html5怎么实现支付宝实时转账)
2025年7月5日 15:45
js jquery面试(jquery中怎么调用js方法调用)
2025年8月8日 03:45











