7.epoll和select的区别?
1)select在一个进程中打开的最大fd是有限制的 , 由FD_SETSIZE设置 , 默认值是2048 。不过 epoll则没有这个限制 , 内存越大 , fd上限越大 , 1G内存都能达到大约10w左右 。
2)select的轮询机制是系统会去查找每个fd是否数据已准备好 , 当fd很多的时候 , 效率当然就直线下降了 , epoll采用基于事件的通知方式 , 一旦某个fd数据就绪时 , 内核会采用类似callback的回调机制 , 迅速激活这个文件描述符 , 高效 。
3)select还是epoll都需要内核把FD消息通知给用户空间 , epoll是通过内核于用户空间mmap同一块内存实现的 , 而select则做了不必要的拷贝
8. 网络中 , 如果客户端突然掉线或者重启 , 服务器端怎么样才能立刻知道?
若客户端掉线或者重新启动 , 服务器端会收到复位信号 , 每一种tcp/ip得实现不一样 , 控制机制也不一样 。
9. TTL是什么?有什么用处 , 通常那些工具会用到它?ping? traceroute? ifconfig? netstat?
TTL是Time To Live , 每经过一个路由就会被减去一 , 如果它变成0 , 包会被丢掉 。它的主要目的是防止包在有回路的网络上死转 , 浪费网络资源 。ping和traceroute用到它 。
10.linux的五种IO模式/异步模式.
1)同步阻塞I/O
2)同步非阻塞I/O
3)同步I/O复用模型
4) 同步信号驱动I/O
5) 异步I/O模型
11. 请说出http协议的优缺点.
1.支持客户/服务器模式 。2.简单快速:客户向服务器请求服务时 , 只需传送请求方法和路径 , 通信速度很快 。3.灵活:HTTP允许传输任意类型的数据对象 。4.无连接:无连接的含义是限制每次连接只处理一个请求 。服务器处理完客户的请求 , 并收到客户的应答后 , 即断开连接 。采用这种方式可以节省传输时间 。5.无状态:HTTP协议是无状态协议 。无状态是指协议对于事务处理没有记忆能力 。缺少状态意味着如果后续处理需要前面的信息 , 则它必须重传 , 导致每次连接传送的数据量增大 。缺点就是不够安全 , 可以使用https完成使用
12.NAT类型 , UDP穿透原理 。
1)Full cone NAT (全克隆nat):一对一NAT一旦一个内部地址(iAddr:port1)映射到外部地址(eAddr:port2) 。
2)Address-Restricted cone NAT(地址受限克隆nat):任意外部主机(hostAddr:any)都能通过给eAddr:port2发包到达iAddr:port1的前提是:iAddr:port1之前发送过包到hostAddr:any. "any"也就是说端口不受限制
3). Port-Restricted cone NAT:内部地址(iAddr:port1)映射到外部地址(eAddr:port2) , 所有发自iAddr:port1的包都经eAddr:port2向外发送 。一个外部主机(hostAddr:port3)能够发包到达iAddr:port1的前提是:iAddr:port1之前发送过包到hostAddr:port3.
4). Symmetric NAT(对称NAT):同内部IP与port的请求到一个特定目的地的IP地址和端口 , 映射到一个独特的外部来源的IP地址和端口 。同一个内部主机发出一个信息包到不同的目的端 , 不同的映射使用外部主机收到了一封包从一个内部主机可以送一封包回来
13.大规模连接上来 , 并发模型怎么设计
Epoll+线程池(epoll可以采用libevent处理)
14.tcp三次握手的 , accept发生在三次握手哪个阶段?三次握手:C----->SYN K
S------>ACK K+1 SYN J
C------->ACK J+1
DONE!
client 的 connect 引起3次握手
server 在socket , bind , listen后 , 阻塞在accept , 三次握手完成后 , accept返回一个fd ,
16.流量控制与拥塞控制的区别 , 节点计算机怎样感知网络拥塞了?拥塞控制是把整体看成一个处理对象的 , 流量控制是对单个的节点 。
感知的手段应该不少 , 比如在TCP协议里 , TCP报文的重传本身就可以作为拥塞的依据 。依据这样的原理 , 应该可以设计出很多手段 。
五、算法和数据结构
1.给定一个单向链表(长度未知) , 请设计一个既节省时间又节省空间的算法来找出该链表中的倒数第m个元素 。实现这个算法 , 并为可能出现的特例情况安排好处理措施 。“倒数第m个元素”是这样规定的:当m=0时 , 链表的最后一个元素将被返回 。
推荐阅读
- 如何选购普洱熟茶,如何鉴别普洱熟茶的好坏
- 男人该如何健身比较好?
- 如何正确慢跑呢?
- 如何轻松跑步呢?
- 胸肌中缝应该如何锻炼?
- 腰部赘肉应该如何减掉呢?
- 腰后的赘肉应该如何减掉呢?
- 基础力量应该如何训练?
- 如何收藏普洱茶,普洱茶收藏和存放需注意哪些
- 如何报考高等教育自学考试课程
