《深入理解 TCP 协议:从原理到实战》学习笔记 1

当发出一个http请求时,如在浏览器输入www.baidu.com并回车时,其流程如下所示:

1595384017463

应用层

应用层规定了应用程序之间如何相互传递报文,以HTTP协议为例,规定了:

  • 报文类型:请求或者是响应报文
  • 报文语法:分为几段,每段的含义 分隔符 每个部分的每个字段的含义
  • 进程应该以什么样的时序发送报文和处理响应报文

HTTP报文格式由三部分组成:

  • 起始行:确定是请求还是响应报文
  • 首部(header):常见的K-V结构,如 Content-length
  • 可选的实体(entity):实体就是HTTP真正要传输的内容,比如传输的一段HTML

如下所示:

1595384948393

除了我们熟知的HTTP协议,还有下面这些非常常用的应用层协议

  • 域名解析协议 DNS
  • 邮件收发协议SMTPPOP3
  • 时钟同步协议NTP
  • 网络文件共享协议NFS

传输层

传输层的作用是为两台主机之间的应用进程提供端到端的逻辑通信,相隔几千公里的两台主机的进程可以直接进行通信。传输层主要对传输行为进行控制,主要的协议有TCPUDPTCP主要为下面两层协议提供数据包的重传、流量控制、拥塞控制等。

1595385530539

传输层使用端口号来标识不同的应用程序,主机收到数据包以后根据目标端口号将数据包传递给对应的应用程序进行处理。比如常见的80端口,服务器在接收到请求之后,将会把这个请求交给监听80端口的应用程序(也有可能是Ngix等负载均衡器)处理。

1595385784243

网络互连层

网络互连层提供了主机到主机的通信,将传输层产生的数据包封装成分组数据包发送到目标主机,并提供路由选择的能力。这层的主要协议主要是IP协议,TCPUDP都是使用IP协议作为网络层协议。这一层的主要作用就是给包加上源地址和目标地址,将数据包传送到目标地址。

1595386146625

网络访问层

网络访问层也称之为网络接口层,以太网、WIFI以及蓝牙都是在这一层,网络访问层提供了主机连接到物理网络需要的硬件和相关协议。

整体分层图如下所示:

1595386659310

分层好处

  • 限制了依赖关系范围,各层之间使用标准化接口,各层之间不需要知道上下层如何工作
  • 灵活性更好
  • 易于测试和维护
  • 促进标准化

猜你喜欢

转载自www.cnblogs.com/reecelin/p/13365235.html
今日推荐