面经总结——计算机网络

OSI七层模型

OSI七层模型:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

TCP/IP分层:网络接口层、网际层、运输层、应用层。

五层协议:物理层、数据链路层、网络层、运输层、应用层。

模型

每一层的协议

物理层:RJ45、CLOCK、IEEE802.3,(中继器、集线器、网关)

数据链路层:PPP、FR、HDLC、VLAN、MAC,(网桥、交换机)

网络层:IP、ICMP、ARP、RARP、OSPF、IPX、RIP、IGRP,(路由器)

传输层:TCP、UDP、SPX

会话层:NFS、SQL、NETBIOS、RPC

表示层:JPEG、MPEG、ASII

应用层:FTP、DNS、Telnet、SMTP、HTTP、WWW、NFS

每一层的作用

物理层:通过媒介传输比特,确定机械及电器规范(比特Bit)

数据链路层:将比特装饰成和点到点的传输(帧Frame)

网络层:负责数据包从源到宿的传递和网际互连(包Packet)

传输层:提供端到端的可靠报文的传递和错误恢复(段Segment)

会话层:建立、管理和终止会话(会话协议数据单元SPDU)

表示层:对数据进行翻译。加密和压缩(表示协议数据单元PPDU)

应用层:允许访问OSI环境的手段(应用协议数据单元APDU)

TCP和UDP区别

  1. TCP面向连接,UDP无连接的。
  2. TCP面向字节流(文件传输),UDP是面向报文的,UDP没有拥塞控制因此网络出现拥塞不会使源主机的发送速率降低(对IP电话,实时视屏会议等)
  3. TCP首部开销20字节,UDP首部开销8字节
  4. TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序达到;UDP尽最大努力交付,即不保证可靠交付。
  5. 每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一的交互通信。
  6. TCP的逻辑通信是全双工的可靠信道,UDP则是不可靠通信。

TCP如何保证数据可靠传输

流量控制:控制双方的传送速率在双方可接受的范围内,通过滑动窗口实现的。(滑动窗口:接收方通过告诉发送方自己窗口的大小,从而控制发送的发送速度。滑动窗口主要分为四个状态:已经发送并且得到ACK确定的,已经发送但还未得到ACK确定的,未发送但允许发送的,未发送且对端不允许发送的)

4种拥塞控制算法:慢启动、拥塞避免、快速重传和快速恢复

  1. 针对发送端发出的数据包的确认应答信号ACK、通常将推迟几分之一秒(可能是要对包做完整性校验)
  2. 针对数据包丢失或者出现定时器超时的重发机制。
  3. 针对数据包到达接收端主机顺序乱掉的顺序控制机制、对失序数据进行重新排序,然后才交给应用层。
  4. 针对高效传输数据包的流动窗口控制。
  5. 针对刚开始的启动的时候避免一下子发送大量数据而导致网络瘫痪的慢启动的拥塞算法机制。

TCP三次握手

SYN(synchronous建立联机)ACK(acknowledgement确认)seq(sequence number)FIN(finish结束)ack(Acknowledge number)

第一次握手:主机A发送建立联机信号SYN=1,和一个随机序列码seq=n到主机B

第二次握手:主机B接收到主机A发送的请求后,返回建立联机信号SYN=1、确认信号ACK=1、随机序列码seq=m、确认序列号ack=n+1

第三次握手:主机A接收到主机A发送的响应后,发送确认信号ACK=1、随机序列号seq=n+1、确认序号ack=m+1

TCP四次挥手

第一次:主机A向主机B发送释放连接报文,并停止发送数据。 发送结束信号FIN=1,随机序列号seq=u。

第二次:主机B接收到主机A的报文后,发送确认信号ACK=1,确认序列号ack=u+1,随机序列号seq=v。

第三次:主机B向将最后的数据发送完毕后,就向主机A发送释放连接报文,发送结束信号FIN=1,确认信号ACK=1,随机序列号seq=w,确认序列号ack=u+1

第四次:主机A收到主机B的报文后,向主机B发送确认信号ACK=1,序列号seq=u+1,确认序列号ack=w+1。

 

TCP和UDP的区别

udp接收到应用协议的某个消息后,不会分包但是要记录当前数据包的大小,消息头加上8个字节的头部后进行发送。TCP接收到应用层发送的数据后,会按照计算机连接的网络中的MTU最大传输单元对数据进行分包然后交给IP层。

TCP是面向连接的,UDP是无连接的

HTTP协议

HTTP(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种传输协议,所有的WWW文件都必须遵从这个标准。HTTP是基于TCP/IP来传递数据的。

客户端发送的请求消息包括以下格式:请求行(request line)、请求头部(request head)、空行和请求数据四个部分组成。

服务端返回的响应消息包括以下格式:状态行、消息报头、空行和响应正文。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值