2015实习准备之网络篇(未完待续)
2015-03-24 09:28
190 查看
1.TCP协议在数据传输过程中收发双方如何保证数据包的可靠性的?
答:
(1) 为了保证数据包的可靠传递,把已发送的数据包保留在缓冲区。
(2) 为每个已发送的数据包启动一个超时定时器。
(3) 如果收到接收方发送的确认,则释放该数据包的缓冲区。否则,进行数据包的重传或者重传次数达到最大的次数为止。
UDP用校验和字段用来保证UDP数据包的完整性。
2.TCP协议与UDP协议的区别
答:
(1) TCP是面向连接的,UDP是无连接的。
(2) TCP是安全可靠的,UDP是不可靠的。
(3) TCP需要的系统资源比UDP多。
(4) UDP程序结构简单,传输速度快。
(5) 具体编程的时候也有不同。
3.进程和线程的区别
答:
(1) 进程是系统进行资源分配和调度的基本单位,线程是CPU调度和分配的基本单位。
(2) 线程是进程的实体,基本不拥有系统资源,仅需一些必不可少的资源(程序计数器,堆栈等),同一进程的多个线程共享该进程的全部资源。
(3) 一个线程可以创建和撤销另一个线程,同一进程的多个线程之间可以并发执行。
4.TCP/IP协议中三次握手建立连接,四次挥手释放连接
答:
确认ack:期待收到下一个报文段的第一个数据字节的序号。
确认ACK:仅当ACK=1时,确认字段才有效,ACK=0,确认号无效。
同步SYN:连接建立用同步序号,当SYN=1,ACK=0表示这是一个连接请求报文段。SYN=1,ACK=1,响应报文。
终止FIN:用来释放一个连接,FIN=1表示,报文段的发送方的数据已经发送完毕,并要求释放连接。
第一次握手:客户端发送SYN=1,seq=x报文给服务器;
第二次握手:服务器发送,ACK=1,ack=x+1,SYN=1,seq=y报文给客户端;
第三次握手:客户端发送,ACK=1,ack=y+1,seq=x+1报文给客户端。正式建立连接
Q:为什么需要第三次握手才建立连接
A:这是为了防止已经失效的连接请求报文段突然传到了服务器,因而产生了错误。
四次挥手:
(1) 客户端发送FIN=1,seq=u报文给服务器;
(2) 服务器发送ACK=1,seq=v,ack=u+1确认报文给客户端,进入CLOSE-WAIT关闭等待状态;
(3) 此时TCP服务器进程通知高层应用进程,客户端和服务器的连接释放了。此时是半关闭状态,只能服务器发送报文给客户端。服务器发送给客户端连接释放报文段,等待确认。FIN=1,ACK=1,seq=w,ack=u+1
(4) 客户端发送确认之后,进入TIME-WAIT状态,服务器收到确认后,就进入CLOSED状态。此时TCP连接还没有释放掉,经过时间等待2MSL之后,进入CLOSED状态。
ACK=1,seq=u+1,ack=w+1
Q:为什么要等待?
A:(1)为了保证客户端发送的最后一个ACK报文段能够到达服务器。
(2)防止“已失效的连接请求报文段”出现在连接中。
服务器段结束TCP连接的时间比客户端早,因为服务器收到确认就断开连接,而客户端还等待2MSL。
5.滑动窗口协议是解决传输效率和流量控制问题(通过设置发送窗口的滑动窗口的大小)的。
6.IP地址
IP地址分类:
(1) A类地址网络号1字节,主机号3字节,网络号以0开头。
(2) B类地址网络号2字节,主机号2字节,网络号以10开头。
(3) C类地址网络号3字节,主机号1字节,网络号以110开头。
私有地址:
(1) A类:10.0.0.0—10.255.255.255
(2) B类:172.16.0.0—172.31.255.255
(3) C类:192.168.0.0—192.168.255.255
7.UDP协议通讯的时候怎么样得知目标机是否获得了数据包?
可以在每个数据包中插入一个唯一的ID,比如timestamp或者递增的int,发送方在发送数据时将此ID和发送时间记录在本地,接收方在收到数据后将ID发给发送方作为回应。发送方收到回应,则知道接收方收到相应的数据包。否则,数据包可能丢失。重复发送,直到对方收到。
8.同步通信和异步通信的区别
(1) 同步通信要求接收端时钟频率和发送端时钟频率一致,发送端发送连续的比特流;异步通信不要求接收端时钟和发送端时钟同步,发送端发送完一个字节后,可经过任意长的时间间隔在发送下一个字节。
(2) 同步通信效率高;异步通信效率较低。
(3) 同步通信较为复杂,双方时钟的允许误差较小;异步通信简单,双方时钟可允许一定误差。
(4) 同步通信可用于点对多点;异步通信只适用于点对点。
9.进程之间通信的方式有哪些?
信号、信号量、消息队列、共享内存
10.浏览器输入一个网址,会发生什么?
(1) 浏览器查找域名的IP地址
(2) 浏览器给web服务器发送一个HTTP请求
(3) 服务的永久重定向响应
(4) 浏览器跟踪重定向地址
(5) 服务器处理请求
(6) 服务器发回一个HTML响应
(7) 浏览器开始显示HTML
(8) 浏览器发送获取嵌入在HTML中的对象
用户输入网址,经过DNS服务器,找到服务器主机,向服务器发送一个请求,服务器经过解析之后,发送给用户浏览器HTML等文件,然后浏览器进行解析。
11.http协议
(1) http是一个属于应用层的面向对象的协议
(2) http请求由三部分组成,分布是:请求行、消息报头、请求正文
(3) 常见的状态代码
200 OK 400bad request 401unauthorized 403forbidden 404Not Found
500 Internal Server Error 503 Server Unavailable
答:
(1) 为了保证数据包的可靠传递,把已发送的数据包保留在缓冲区。
(2) 为每个已发送的数据包启动一个超时定时器。
(3) 如果收到接收方发送的确认,则释放该数据包的缓冲区。否则,进行数据包的重传或者重传次数达到最大的次数为止。
UDP用校验和字段用来保证UDP数据包的完整性。
2.TCP协议与UDP协议的区别
答:
(1) TCP是面向连接的,UDP是无连接的。
(2) TCP是安全可靠的,UDP是不可靠的。
(3) TCP需要的系统资源比UDP多。
(4) UDP程序结构简单,传输速度快。
(5) 具体编程的时候也有不同。
3.进程和线程的区别
答:
(1) 进程是系统进行资源分配和调度的基本单位,线程是CPU调度和分配的基本单位。
(2) 线程是进程的实体,基本不拥有系统资源,仅需一些必不可少的资源(程序计数器,堆栈等),同一进程的多个线程共享该进程的全部资源。
(3) 一个线程可以创建和撤销另一个线程,同一进程的多个线程之间可以并发执行。
4.TCP/IP协议中三次握手建立连接,四次挥手释放连接
答:
确认ack:期待收到下一个报文段的第一个数据字节的序号。
确认ACK:仅当ACK=1时,确认字段才有效,ACK=0,确认号无效。
同步SYN:连接建立用同步序号,当SYN=1,ACK=0表示这是一个连接请求报文段。SYN=1,ACK=1,响应报文。
终止FIN:用来释放一个连接,FIN=1表示,报文段的发送方的数据已经发送完毕,并要求释放连接。
第一次握手:客户端发送SYN=1,seq=x报文给服务器;
第二次握手:服务器发送,ACK=1,ack=x+1,SYN=1,seq=y报文给客户端;
第三次握手:客户端发送,ACK=1,ack=y+1,seq=x+1报文给客户端。正式建立连接
Q:为什么需要第三次握手才建立连接
A:这是为了防止已经失效的连接请求报文段突然传到了服务器,因而产生了错误。
四次挥手:
(1) 客户端发送FIN=1,seq=u报文给服务器;
(2) 服务器发送ACK=1,seq=v,ack=u+1确认报文给客户端,进入CLOSE-WAIT关闭等待状态;
(3) 此时TCP服务器进程通知高层应用进程,客户端和服务器的连接释放了。此时是半关闭状态,只能服务器发送报文给客户端。服务器发送给客户端连接释放报文段,等待确认。FIN=1,ACK=1,seq=w,ack=u+1
(4) 客户端发送确认之后,进入TIME-WAIT状态,服务器收到确认后,就进入CLOSED状态。此时TCP连接还没有释放掉,经过时间等待2MSL之后,进入CLOSED状态。
ACK=1,seq=u+1,ack=w+1
Q:为什么要等待?
A:(1)为了保证客户端发送的最后一个ACK报文段能够到达服务器。
(2)防止“已失效的连接请求报文段”出现在连接中。
服务器段结束TCP连接的时间比客户端早,因为服务器收到确认就断开连接,而客户端还等待2MSL。
5.滑动窗口协议是解决传输效率和流量控制问题(通过设置发送窗口的滑动窗口的大小)的。
6.IP地址
IP地址分类:
(1) A类地址网络号1字节,主机号3字节,网络号以0开头。
(2) B类地址网络号2字节,主机号2字节,网络号以10开头。
(3) C类地址网络号3字节,主机号1字节,网络号以110开头。
私有地址:
(1) A类:10.0.0.0—10.255.255.255
(2) B类:172.16.0.0—172.31.255.255
(3) C类:192.168.0.0—192.168.255.255
7.UDP协议通讯的时候怎么样得知目标机是否获得了数据包?
可以在每个数据包中插入一个唯一的ID,比如timestamp或者递增的int,发送方在发送数据时将此ID和发送时间记录在本地,接收方在收到数据后将ID发给发送方作为回应。发送方收到回应,则知道接收方收到相应的数据包。否则,数据包可能丢失。重复发送,直到对方收到。
8.同步通信和异步通信的区别
(1) 同步通信要求接收端时钟频率和发送端时钟频率一致,发送端发送连续的比特流;异步通信不要求接收端时钟和发送端时钟同步,发送端发送完一个字节后,可经过任意长的时间间隔在发送下一个字节。
(2) 同步通信效率高;异步通信效率较低。
(3) 同步通信较为复杂,双方时钟的允许误差较小;异步通信简单,双方时钟可允许一定误差。
(4) 同步通信可用于点对多点;异步通信只适用于点对点。
9.进程之间通信的方式有哪些?
信号、信号量、消息队列、共享内存
10.浏览器输入一个网址,会发生什么?
(1) 浏览器查找域名的IP地址
(2) 浏览器给web服务器发送一个HTTP请求
(3) 服务的永久重定向响应
(4) 浏览器跟踪重定向地址
(5) 服务器处理请求
(6) 服务器发回一个HTML响应
(7) 浏览器开始显示HTML
(8) 浏览器发送获取嵌入在HTML中的对象
用户输入网址,经过DNS服务器,找到服务器主机,向服务器发送一个请求,服务器经过解析之后,发送给用户浏览器HTML等文件,然后浏览器进行解析。
11.http协议
(1) http是一个属于应用层的面向对象的协议
(2) http请求由三部分组成,分布是:请求行、消息报头、请求正文
(3) 常见的状态代码
200 OK 400bad request 401unauthorized 403forbidden 404Not Found
500 Internal Server Error 503 Server Unavailable
相关文章推荐
- 2015实习准备之C/C++篇(未完待续)
- 《基于网络软件开发综合实习》实习过程
- 实习面试概念性问题准备
- 实习结束,准备回家
- 2015轻院校赛 D 社交网络(排列组合)
- 【实习项目记录】(三)调整网络图片固定宽高
- 版权声明:本文为博主原创文章,未经博主允许不得转载。 深度残差网络在2015的ILSVRC比赛中获得取得第一的成绩,ICLR2016上也是重点议题之一。 它主要思想很简单,就是在标准的前馈卷积网络
- hdu 5442 2015长春网络赛
- 2015 ACM ICPC 长春赛区 网络赛 HDU 5437 Alisha’s Party
- 2015长春网络赛(HDU5437,5438,5439,5441,5442,5443,5444,5446)
- hihocoder #1233 : Boxes 北京赛区(2015)网络赛(状态压缩+bfs)
- 2015长春、沈阳网络赛总结
- hdu5455(2015沈阳网络赛F题)
- 2015腾讯校园招聘笔试题:流量劫持是网络中常见的网络问些,哪些情况会造成流量劫持?及常见网络攻击方式
- 2015上海网络赛 HDU 5475 An easy problem 线段树
- 【2015上海赛区网络赛】(没有补完)
- hdu5489(2015合肥网络赛F题)
- HDU 5478 2015 ACM/ICPC 上海赛区网络赛1011 模运算+快速幂
- 2015合肥网络赛 HDU 5492 Find a path 动归
- 百度2016实习 前端试题中的编程题2:Excel地址的相互转换 [2015南桥杯试题]