网络基础



网络基础确实不熟悉,有点难度,不过还是多看就好


网络基础_第1张图片


1. OIS七层参考模型


应用层

通过应用进程间的交互完成网络应用。

应用层协议定义的是应用进程间的通信和交互的规则,常见有HTTP、DNS、SMTP、POP3


表示层

将应用程序的信息转换成适合网络传输的格式。

比如编码问题,HTML,XML,MiME


会话层

连接的管理,何时数据发送和分割。

并无实际传输作用,首部记录数据的发送顺序


传输层

在进程之间的通信提供通用的数据传输服务。

无需在路由器上处理,没有到达会重试,确保数据到达,传输层和网络层配合才能实现可靠传输。协议有TCP / UDP


网络层

将数据传送到目的地,负责寻址和路由选择。

IP属于分组交换,但不具备重发机制,属于非可靠协议


数据链路层

负责相邻节点的数据传输,分数据帧发送。

帧包括数据和必要的控制信息(同步、地址、差错信息)


物理层

比特流和电信号的转换,及透明比特流的传输。

屏蔽传输介质和物理设备的差异





2. 分组交换

电路交换:独占信道,空闲时被独占也不能发送数据

报文交换:报文越大,时延越大。且出错得全部重发

分组交换:分割成小数据包,共享同一条信道,提高效率





3. TCP / UDP 的区别

TCP:面向连接、可靠字节流传输(各种控制)、所以需资源多、传输效率相比慢 场景使用:文件、邮件、登录
UDP:无连接、不可靠数据报、所需资源少、传输效率快、但细微处理都交给上层 场景使用:语音、视频、直播


TCP或UDP要用到操作系统提供的类库,即套接字

一个通信由五个标识唯一确定:目的IP,源IP,目标端口,源端口,协议号





4. 常见端口号

TCP/UDP可同端口,因为接收数据后交由不同的处理程序处理

  • 21:ftp
  • 22:SSH
  • 23:telnet
  • 25:smtp
  • 53:DNS
  • 110:pop3
  • 3306:mysql
  • 8080:tomcat
  • 80:http
  • 443:https
  • 6379:redis
  • 5672:rabbitMQ




5. TCP协议如何保证可靠传输

  • 序列号 + 确认应答号:是否重复接收和是否收到消息
  • 校验和:TCP保持首部和数据的检验和,确保端到端的数据正确性
  • 超时重传:发送数据后,没有收到确认应答则重发这个分组
  • 连接管理:三次握手和四次挥手
  • 流量控制:发送不超过接收端决定的窗口大小,防止高负荷下接收端的拒收而触发重传机制
  • 拥塞控制:对发送的数据大小进行控制(选择小的拥塞窗口或接收窗口),防止本来拥塞的网络来一个大的数据
  • ARQ协议(自动重传请求):包括停止等待ARQ协议和连续ARQ协议
    • 停止等待协议:发完一个分组就停止发送,等待确认应答。超时未收到确认应答,则需要重传,直到接收到应答
    • 停止等待协议:若接收收到重复分组(序列号),则丢弃,但还要发送确认应答
      • 有个超时计时器,比分组传输的平均往返时间更长一些
    • 连续ARQ:窗口控制,累计收到同个序列号才进行重发(高速重发)




6. 浏览器输入url回车键发生了什么?

  • DNS解析:通过DNS获取域名对应的IP
  • TCP连接:三次握手建立连接
  • 发送HTTP请求
  • 服务器处理请求并返回响应
  • 浏览器解析渲染页面
  • 连接结束:四次挥手

其中:

TCP:与服务器三次握手建立TCP连接

IP:建立连接的发送数据在网络层使用IP协议

OPSF:IP在路由选择时使用

ARP:路由与服务器通信时需要MAC

HTTP:使用网页用到HTTP协议





7. 补充

  • 数据链路的分帧有最大传输单位 MTU ,为了分组交换提高效率(以太网为1500字节,ATM为9180字节),那么数据链路层就限制了IP数据包大小,IP数据报需要分片,同理IP对上层也需要限制,最大为MSS,TCP需要分段
  • ARP:知道IP后,相邻网络需要知道MAC,那么广播ARP包,对应IP的主机将自己MAC地址作为ARP响应
  • NAT:私有地址访问外网转为全局IP,出网时用5个标识映射唯一连接




8. 各种首部

数据链路层的,数据帧:

网络基础_第2张图片

  • FCS:帧检测序列,检测全部(比如CRC循环校验码)


网络层的,IP数据报:IPV4

网络基础_第3张图片

  • 首部校验和:只校验首部


传输层的,TCP,UDP数据段:

网络基础_第4张图片



网络基础_第5张图片

  • 校验和:校验全部,数据篡改数据链路可以防止。校验和防止路由器内存或程序漏洞导致的错误



参考:
《图解TCP/IP》

你可能感兴趣的:(网络基础)