每次面试都会多多少少准备一些计算机网络方面的东西,现在总结汇总到一起。
1. 网络层次的划分
OSI分层 (7层):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
物理层:为上层协议提供了一个传输数据的可靠的媒体,传输数据比特流
数据链路层:将比特组装成帧和点到点的传递,为网络层提供可靠的数据传输
网络层:向上简单灵活、无连接的、尽最大努力交付的数据报服务,负责数据包从源到宿的传递和网际互连(包PackeT)
传输层:提供端到端的可靠报文传递和错误恢复(段Segment)
会话层:建立、管理和终止会话(会话协议数据单元SPDU)
表示层:对数据进行翻译、加密和压缩(表示协议数据单元PPDU)
应用层:允许访问OSI环境的手段(应用协议数据单元APDU)
2. IP地址的分类
A类地址:以0开头, 第一个字节范围:0~127(1.0.0.0 - 126.255.255.255);
B类地址:以10开头, 第一个字节范围:128~191(128.0.0.0 - 191.255.255.255);
C类地址:以110开头, 第一个字节范围:192~223(192.0.0.0 - 223.255.255.255);
10.0.0.0—10.255.255.255, 172.16.0.0—172.31.255.255, 192.168.0.0—192.168.255.255。(Internet上保留地址用于内部)
IP地址由网络号和主机号组成,ip与子网掩码相与得到网络号
硬件地址由MAC帧组成,MAC帧中间一段是IP数据报,IP数据报前面一段是IP地址,后面一段是TCP报文。
3. ARP是地址解析协议,主要解决同一个局域网上的主机和路由器ip和MAC地址的解析,根据主机或路由器的IP地址找到相应的物理地址。
原理:简单来说,每个主机有设有一个ARP高速缓存,里面有本局域网上各主机和路由器的IP地址到硬件地址的映射表,主机A广播发送ARP请求分组,主机B在ARP请求分组中见到自己的IP地址,就像主机A发送ARP响应分组,主机A收到ARP响应分组后,就在其ARP高速缓存中写入IP地址到硬件地址的映射。
4.TCP三次握手
TCP是面向连接的,提供可靠的字节流服务,采用三次握手建立一个连接,连接建立后开始传送数据。
第一次握手:客户端发送连接请求包(SYN=1,seq=x)到服务器,并进入SYN_SEND状态,等待服务器确认;
第二次握手:服务器收到连接请求包,必须发送响应包(ACK=1,ack=x+1),由于TCP是全双工连接,所以同时自己也发送一个连接请求包(SYN=1,seq=y),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包(ACK=1,ack=y+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
握手过程中传送的包里不包含数据,三次握手完毕后,客户端与服务器才正式开始传送数据。理想状态下,TCP连接一旦建立,在通信双方中的任何一方主动关闭连接之前,TCP 连接都将被一直保持下去。采用四次挥手终止连接。
TCP的三次握手过程?为什么会采用三次握手,若采用二次握手可以吗?
答:建立连接的过程是利用客户服务器模式,假设主机A为客户端,主机B为服务器端。
(1)TCP的三次握手过程:主机A向B发送连接请求;主机B对收到的主机A的报文段进行确认;主机A再次对主机B的确认进行确认。
(2)采用三次握手是为了防止失效的连接请求报文段突然又传送到主机B,因而产生错误。失效的连接请求报文段是指:主机A发出的连接请求没有收到主机B的确认,于是经过一段时间后,主机A又重新向主机B发送连接请求,且建立成功,顺序完成数据传输。考虑这样一种特殊情况,主机A第一次发送的连接请求并没有丢失,而是因为网络节点导致延迟达到主机B,主机B以为是主机A又发起的新连接,于是主机B同意连接,并向主机A发回确认,但是此时主机A根本不会理会,主机B就一直在等待主机A发送数据,导致主机B的资源浪费。
5. TCP和UDP的区别?
TCP提供面向连接的、可靠的数据流传输,而UDP提供的是非面向连接的、不可靠的数据流传输。
TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。
TCP传输单位称为TCP报文段,UDP传输单位称为用户数据报。
TCP注重数据安全性,UDP数据传输快,因为不需要连接等待,少了许多操作,但是其安全性却一般。
TCP对应的协议:
(1) FTP:定义了文件传输协议,使用21端口。
(2) Telnet:一种用于远程登陆的端口,使用23端口,用户可以以自己的身份远程连接到计算机上,可提供基于DOS模式下的通信服务。
(3) SMTP:邮件传送协议,用于发送邮件。服务器开放的是25号端口。
(4) POP3:它是和SMTP对应,POP3用于接收邮件。POP3协议所用的是110端口。
(5)HTTP:是从Web服务器传输超文本到本地浏览器的传送协议。
UDP对应的协议:
(1) DNS:用于域名解析服务,将域名地址转换为IP地址。DNS用的是53号端口。
(2) SNMP:简单网络管理协议,使用161号端口,是用来管理网络设备的。由于网络设备很多,无连接的服务就体现出其优势。
(3) TFTP:简单文件传输协议,该协议在熟知端口69上使用UDP服务。
6. DNS(域名系统)提供的服务是用来将域名转换为IP地址。
7. 特殊IP地址
127.0.0.1回环地址,用于本机测试。
对方主机关机、防火墙设置、ping的格式不对、网线没插好等等
----------------------------------------------------------先总结这么多,待续~-------------------------------------------------------------------------------------