面试常见问题计算机网络
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机网络
➢OSI与TCP/IP各层的结构与功能,都有哪些协议。
TCP/IP
相似之处:
基于独立的协议族,层的功能划分相似差异:
ISO/OSI:从概念模型到协议实现;
TCP/IP :从协议实现到概念描述
层次数量差别;
➢2. TCP与UDP的区别。
●UDP(User Datagram Protocol):不提供复杂的控制机制,利用IP提供面向无连接的
通信服务。并且他是将应用程序发来的数据在收到那一刻,立刻按照原样发送到网络上的一种机制。即使出现网络拥堵,UDP也无法进行流量控制等避免拥塞的行为。如果传输途中出现丢包,也不负责重发。甚至出现包的到达乱序时也没有纠正功能。如果需要这些细节控制,要交给采用UDP的应用程序处理。UDP将控制转移到应用程序,只提供作为传输层协议的最基本功能。
●TCP(Transmission Control Protocol):TCP充分实现了数据传输时的各种控制功能,
可以进行丢包的重发控制、对乱序的分包进行顺序控制。此外,TCP作为一种面向有的协议,只有在确认通信对端存在时才会发送数据,从而可以控制通信流量的浪费。
●TCP通过检验和、序列号、确认应答、重发控制、连接管理以及窗口控制等机制实现可
靠性传输。
●如何加以区分使用?
TCP用于传输层有必要实现可靠性传输的情况。UDP主要用于对高速传输和实时性有较高要求的通信或广播通信。
区别:
1)TCP面向连接;UDP是无连接的,发送数据之前不需要建立连接。
2)TCP提供可靠的服务。TCP传送的数据无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,不保证可靠交付。
3)TCP面向字节流,实际上TCP把数据看成一串无结构的字节流;UDP是面向报文的,UDP 没有拥塞控制,网络出现拥塞不会使源主机的发送速率降低。
4)每一条TCP连接只能是点对点的;UDP支持一对一、一对多、多对一和多对多的交互通信
5)TCP首部开销20字节;UDP首部开销8字节;
6)TCP逻辑通信信道是全双工的可靠信道,UDP则是不可靠信道
➢3. TCP报文结构。
✧IP结构
首部固定长度20字节,所有IP数据报必须具有。
可选字段,长度可变。
✓版本:占4位,值IP协议的版本,当前IP协议版本号为4(IPv4)
✓首部长度:4位,表示最大数值是15个单位(一个单位4字节),首部最大值为60字节。
✓区分服务:未被使用。
✓总长度:占16位,值首部和数据之和的长度,单位为字节,数据报最大长度65535字节,总长度不超过最大传送单元MTU(1500)
✓标识:占16位,它是一个计数器,用来产生数据报标识。
✓标志:占3位,只有前两位有意义。标志字段最低位MF(more fragment)MF=1表示“还有分片”。MF=0表示最后一个分片。标志字段中间位DF(Don’t fragment)当DF=0允许分片。
✓片偏移:12位,较长的分组在分片后某片在原分组中的相对位置。以8字节为偏移单位。
✓生成时间:TTL,8位,数据报在网络中可通过的路由器的最大值。
✓协议:8位,指出数据报写的数据所用的协议,以便目的主机的IP层将数据上交那个处理过程。(TCP、UDP、ICMP、IGMP、OSPF)
✓首部校验和:16位,只建安数据报的首部。不采用CRC,采用简单计算方法
✓源地址、目的地址:各占4字节
✓TCP结构
✓源端口、目的端口:各占两个字节。端口是传输层与应用层的服务接口。运输层的复用和分用功能都要通过端口实现。
✓序号:4字节。本报文段所发送的数据的第一个字节的编号
✓确认号:4字节,期望收到对方的下一个报文段的数据的第一个字节序号。
✓数据偏移:4位,表示首部长度,以4字节为计算单位。
✓保留:6位,未使用
✓URG:为1时,表明紧急指针字段有效。通知系统此报文段有紧急数据,应尽快传送(优先级高的数据)
✓ACK:为1是确认号字段有效,为0时无效.
✓PSH : 接收到的PSH=1的报文,尽快交付应用进程,不等待整个缓冲区填满。
✓RST:为1表明TCP连接中出现差错,必须释放连接,然后重新建立。
✓SYN:为1表示这是一个连接请求或连接接受报文。
✓FIN:用来释放一个连接。为1表明该报文段的发送端的数据已经发送完毕,要求释放连接。
✓窗口:2字节,用来让对方设置发送窗口的依据。
✓校验和:2字节,校验围包括首部和数据。在计算校验和时,要在TCP报文段前加12个字节的伪首部。
✓紧急指针:16位,指出本报文段中紧急数据有多少字节(放在本报文段数据的最前面)
✓选项:MSS,告诉TCP缓存所能接受的报文段的数据字段的最大长度是MSS个字节。
✓填充
➢4. TCP的三次握手与四次挥手过程,各个状态名称与含义,TIMEWAIT的作用。
TimeWait作用:
1)为了保证客户端发送的最后一个ACK报文能够到达B。
2)防止“已失效连接请求报文段”出现在本连接中。经过2MSL(最大报文段生存时间),可以使本来连接持续时间产生的所有报文段,都从网络中消失,这样就可以使下一个新的连接中不会出现就得连接请求报文。
➢5. TCP拥塞控制。
什么是拥塞?在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络性能变坏,这种情况叫拥塞。
拥塞控制就是防止过多的数据注入网络,使网络中的路由器或链路不至过载。拥塞控制是一个全局性的过程,和流量控制不同,流量控制是点对点通信量的控制。
拥塞窗口cwnd:发送方维持一个拥塞窗口的状态变量。其大小取决于网络的拥塞程度,并且动态变化。发送方让自己的发送窗口等于拥塞窗口。如果考虑接收方的接收能力,发送窗口可能小于拥塞窗口。控制拥塞窗口原则:只要网络没有出现拥塞,窗口就增大一些,只要出现拥塞,窗口就减小一些。
✧慢开始与拥塞避免
慢开始算法:刚开始发送报文是,设置cwnd=1,每收到一个新的确认,拥塞窗口加1,直到MSS。
慢开始门限状态变量ssthresh:当cwnd