0
点赞
收藏
分享

微信扫一扫

前端面试--网络协议

佃成成成成 2022-05-03 阅读 52

1. 七层模型

有一个口诀,我当时学的是英文的。

Please do not throw sausage and pizza away

对应就是

(1)Physical 物理层

(2)Data LInk 数据链路

  ICMP IGMP IP

(3)Network 网络层

  TCP UDP

(4)Transport 传输层

(5)session 会话层

(6)presentation 表示层

(7)application 应用层

  HTTP FTP TFTP SMTP SNMP DNS TELNET HTTPS POP3 DHCP

2. TCP 与 UDP的区别

tcp和udp有什么区别-常见问题-PHP中文网

(1)UDP

1、面向无连接

TCP需要握手三次,UDP想发就发

2、有单播,多播,广播的功能

就是不止1对1 可以1对多 多对1 多对多

3、UDP是面向报文的

发送方的UDP对应用程序交下来的报文,在添加首部后就向下交付IP层。UDP对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。因此,应用程序必须选择合适大小的报文

4、不可靠性

首先不可靠性体现在无连接上,通信都不需要建立连接,想发就发,这样的情况肯定不可靠。

并且收到什么数据就传递什么数据,并且也不会备份数据,发送数据也不会关心对方是否已经正确接收到数据了。

再者网络环境时好时坏,但是 UDP 因为没有拥塞控制,一直会以恒定的速度发送数据。即使网络条件不好,也不会对发送速率进行调整。这样实现的弊端就是在网络条件不好的情况下可能会导致丢包,但是优点也很明显,在某些实时性要求高的场景(比如电话会议)就需要使用 UDP 而不是 TCP。

(2)TCP

1. 面向连接

连接需要三次握手,分开还需要四次挥手。

2.仅支持单播传输

每条TCP传输连接只能有两个端点,只能进行点对点的数据传输,不支持多播和广播传输方式。

3.提供拥塞控制

当网络出现拥塞的时候,TCP能够减小向网络注入数据的速率和数量,缓解拥塞

4.TCP提供全双工通信

TCP允许通信双方的应用程序在任何时候都能发送数据,因为TCP连接的两端都设有缓存,用来临时存放双向通信的数据。当然,TCP可以立即发送一个数据段,也可以缓存一段时间以便一次发送更多的数据段(最大的数据段大小取决于MSS)

5.可靠性

 

 大概解释一下就是发送端发送数据,长度为100byte,序列为1200,接收者成功接收后就会返回一个ack,并且ack=seq+数据包长度也就是1200.但是如果在规定时间内没有接收到,那么当发送者发现没有返回ack时,就会重发一遍。

举报

相关推荐

0 条评论