计算机网络面试核心大总结

 

1 网络基础知识

1.1 OSI七层参考模型

全称:开放系统互连参考模型(Open System Interconnection Reference Model,OSI/RM)

补充:为什么要有一个个层:

物理层:010101比特流,设备之间原始数据的传输,数模转换(发送端)和模数转换(接收端)

-》传输过程可能出现错码和误码?-------又问题,引入下一层:数据链路层

 

数据链路层:将原始比特流转换成逻辑传输符号,提供纠错编码,格式变为帧

-》出现多个网络节点,应该选择哪个节点?

 

网络层:通过路由选择,选择最佳路径,数据格式是IP数据包

-》某次连接传输的数据可能很大,会出现错传、漏传

 

传输层:将数据拆分成段,提供维护连接的机制(流量控制、拥塞控制)

-》对用户来说每次都要使用传输层拆分,再使用网络层寻路很麻烦

 

会话层:提供建立连接和维护连接的机制,方便用户使用

-》不同操作系统之间的网络传输如何互通?linux/windows

 

表示层:提供编码转换、加解密、解压缩

-》接收方不知道发送发发送的是什么东西、数据有多长?

 

应用层:规定发送方和接收方必须使用固定长度的消息头,并且消息头固定格式,并标明长度等信息。

1.物理层

设备之间原始数据的传输数据格式:比特流。

2.数据链路层

原始比特流转换成逻辑传输数据,建立相邻结点之间的数据链路,mac地址寻址,数据格式:帧

3.网络层

将数据链路层提供的帧组成数据包,通过路由算法提供最佳传输路径数据格式:IP数据包

数据链路层解决同一网络节点间的传输,网络层解决不同子网间的传输。(IP是网络层)

4.传输层

数据格式:也称作数据包(packets)(TCP的数据单元称为段(segments)UDP的数据单元称为数据报(datagrams))

拆分数据包,提供端对端不同主机用户进程数据传输,提供可靠或不可靠传输及流量控制,是连接通信子网和资源子网的桥梁。

5.会话层

不参与具体的传输,提供建立和维护应用间通信的机制。

6.表示层

数据的表示方式(格式处理及编码转换)和特定功能(加解密,解压缩)的实现

7.应用层

为用户提供服务,为操作系统或者应用程序提供访问网络的的接口

应用层协议的代表包括:Telnet、FTP、HTTP、SNMP等

 

1.2 TCP/IP四层结构

1.链路层:

包括物理层和数据链路层,是通过MAC地址传输数据的

2.网络层:

包括多种协议

IP协议:通过路由选择将数据封装后交给链路层

ICMP协议(Internet Control Message Protocol):用于主机和路由器直接传递控制消息,常用的ping就是用这个协议。

ARP协议(Address Resolution Protocol):是正向地址解析协议,通过IP查找mac地址。

RARP协议:是反向地址解析协议,通过mac地址查找IP。

3.传输层

 TCP协议:传输控制协议,是面向连接的、可靠的、基于IP的传输层协议

UDP协议:用户数据报协议,提供面向事物的、简单、不可靠的信息传输协议

4.应用层

FTP协议:文件传输协议,用于文件的上传下载。

Telnet协议:用户远程登录服务。

DNS(Domain Name System)协议:域名解析协议,提供域名到IP的解析。

SMTP(Simple Mail Transfer Protocol)协议:简单的邮件传送协议,用于控制信件的发送中转。

NFS协议:网络文件系统,用于不同主机间文件共享。

HTTP协议:超文本传输协议,用于实现互联网访问功能。

 

1.3 OSI七层协议和TCP/IP协议之间的关系

                       链路层                            物理层
                        数据链路层
                       网络层                            网络层
                       传输层                            传输层
                       应用层                            会话层
                           表示层
                           应用层

  • OSI更注重通信模块必要的功能是什么
  • TCP/IP更注重实现协议应该开发哪种程序

2. TCP的三次握手和四次挥手

2.1 TCP报文头结构定义

其中:

seq是32位序号,ack是32位确认序号

  • URG:紧急指针标志
  • ACK:确认序号标志
  • PSH:push标志
  • RST:重置连接标志
  • SYN:同步序号,用于建立连接过程
  • FIN:finsh标志,用于释放连接

2.2 TCP三次握手

初始时,服务器端处于LISTEN监听状态

第一次握手:客户端发送SYN包到服务器(SYN标志位为1,seq=x)并进入SYN-SENT状态,等待服务器确认;

第二次握手:服务端确认客户端的SYN包(ACK标志位为1,ack=x+1),同时自己也发送一个SYN包(SYN标志位为1,seq=

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值