张不大的博客

计网

This is a page about »计网«.

计算机网络–面试常见问题(自用)

网络结构

物理层,传输单位bit,IEE802.3、CLOCK、RJ45 数据链路层,传输单位帧,MAC、VLAN、PPP 网络层,传输单位包,IP、ARP、ICMP 传输层,传输单位报文,TCP、UDP 会话层,输出单位SPDU,RPC、NFS 建立、管理、终止会话 表示层,传输单位PPDU,JPEG、ASII 对数据翻译、加密、压缩 应用层,传输单位APDU,FTP、HTTP、DNS

网络接口层,MAC、VLAN 网络层,IP、ARP、ICMP 传输层,TCP、UDP 应用层,HTTP、DNS、SMTP

常见的网络协议

tcp、udp

  1. 特点:
  2. tcp 三次握手/四次挥手
  3. 常见 专有名词,TIME_WAIT(作用、弊端、如何优化)
  1. 数据包校验
  2. 对失序数据包重排
  3. 丢弃重复数据
  4. 应答机制
  5. 超时重发
  6. 流量控制
  7. 拥塞控制(满开始、拥塞避免、快重传、快恢复)

发送方控制发送速率

什么是滑动窗口 tcp 采用滑动窗口进行流量控制

什么事拥塞控制 tcp 拥塞控制

发送方粘包

发送方与接收方保持长连接(短连接不存在粘包问题) 过小数据合并发送,这个合并的过程再发送缓冲区进行,数据发送出来就已经是粘包状态

接收方产生粘包

read、recv 无法一次全部读出,然后下一个数据又到放入缓冲区末尾,等读取的数据就是一个粘包

如何解决粘包问题

分包机制,特殊字符控制、在包头首部添加数据包的长度

注意使用netty框架就会有专门的编码器和解码器解决拆包和粘包问题

tcp

  1. http 80 https 443
  2. ftp 21
  3. telnet 23
  4. smtp 25

udp

  1. tftp 69
  2. dns 53
  3. snmp 161 4.dhcp 服务器发送从67发出,客户端从68发送

http

无状态连接

cookie、session、jwt http1.0、http1.1、http2.0

http 长连接

http 的结构

http 的方法

forward & redirect

get & post

https

在浏览器输出url 到显示主页到过程

  1. 浏览器解析 url 是否合法
  2. 浏览器检查是否有缓存(有三层缓存,浏览器缓存、系统缓存、路由器缓存)
  3. 发送http 请求前,先进行域名解析,先从本地,再根域名服务器再是顶级域名服务器依次二级…
  4. 浏览器向服务器发送tcp 三次握手,建立连接
  5. 握手成功,浏览器向服务器发送http请求
  6. 服务器接收请求,把响应结果发送给浏览器
  7. 浏览器接收,并响应,如果没有缓存则缓存。
  8. 浏览器根据服务器发送的响应数据做web 页面展示

未完待续…

#计网 #面试