面试常见问题计算机网络
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机网络
OSI与TCP/IP各层的结构与功能,都有哪些协议。ISO/OSI模型用途主要作用协议
应用层进程间通信为操作或网络应用程序提供访
问网络服务的接口。TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet
表示层数据表示(编码)解决用户信息的语法表示问题。
提供格式化的表示和转换数据
服务。数据的压缩和解压缩,?和
解密等工作都由表示层负责。
无协议
会话层建立和管理主机
间的会话会话层不参与具体的传输,它提
供包括访问验证和会话管理在
内的建立和维护应用之间通信
的机制。如服务器验证用户登录
便是由会话层完成的。(以上统
称报文)
无协议
传输层端到端链接提供主机之间连接,屏蔽技术细
节。将分组组成报文,可靠传输、
流量控制。为上层提供端到端
(最终用户到最终用户)的透明
的、可靠的数据传输服务。
TCP,UDP
网络层寻址路径选择为传输层提供建立、维护和网络
连接,解决路由选择。数据单元
---分组packet IP,ICMP,RIP,OSPF,BGP,IGMP
数据链路层占用传输介质数据链路层在不可靠的物理介
质上提供可靠的传输。建立相邻
结点之间的数据链路,通过差错
控制提供数据帧(Frame)在信道
上无差错的传输。作用;物理地
址寻址、数据的成帧、流量控制、?SLIP,CSLIP,PPP,ARP,RARP,MTU
TCP/IP
相似之处:
基于独立的协议族,层的功能划分相似差异:
ISO/OSI:从概念模型到协议实现;
TCP/IP:从协议实现到概念描述
层次数量差别;
2.TCP与UDP的区别。
UDP(UserDatagramProtocol):不提供复杂的控制机制,利用IP提供面向无连接的通信服务。并且他是将应用程序发来的数据在收到那一刻,立刻按照原样发送到网络上的一种机制。即使出现网络拥堵,UDP也无法进行流量控制等避免拥塞的行为。如果传输途中出现丢包,也不负责重发。甚至出现包的到达乱序时也没有纠正功能。如果需要这些细节控制,要交给采用UDP的应用程序处理。UDP将控制转移到应用程序,只提供作为传输层协议的最基本功能。
TCP(TransmissionControlProtocol):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(morefragment)MF=1表示“还有分片”。MF=0表示最后一个分片。标志字段中间位DF(Don’tfragment)当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拥塞控制。
什么是拥塞?在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络性能变坏,这种情况叫拥塞。