当前位置: 首页 > news >正文

运输层概述及web请求

运输层

运输层概述

在这里插入图片描述

运输层向高层用户屏蔽了下面网络核心的细节(如网络拓扑、所采用的路由选择协议等)它使应用进程看见的就好像是在两个运输层实体之间有一条端到端的逻辑通信信道;

根据需求不同,运输层提供两种运输协议

面向连接的TCP

无连接的UDP

运输层复用分用,端口

端口

  1. 运行在计算机上的进程使用进程标识符pid来标志

  2. 不同的操作系统又使用了不同格式的进程标识符

  3. 为了使不同的操作系统进程之间进行网络通信,就必须使用统一的方法对TCP、IP体系的应用进程进行标识;

  4. TCP、IP体系的运输层使用端口号来区分应用层的不同应用进程;

    端口号使用16比特表示,取值0~65535

端口号只具有本地意义,端口号只是为了标识本地计算机应用层中的各进程,再因特网中,不同的计算机中相同端口是没有联系的;

复用分用

在这里插入图片描述

发送方

运输层的UDP对应用报文进行封装称为UDP复用;

运输层的TCP对应用层报文进行封装称为TCP复用;

IP协议对TCP报文段和UDP用户数据报的封装称为IP复用;

IP数据报首部中的协议字段的值表示封装的类型;

  • 取值为6表示封装的TCP数据报;
  • 取值为17代表封装的UDP数据报;

接收方

接收方的网络层收到IP数据报后进行Ip分用;

IP数据报首部协议字段值为17,将载荷的数据报上交运输层的UDP;

IP数据报首部协议字段值为6,将载荷的数据报上交运输层的TCP;

运输层对TCP数据报进行TCP分用;

运输层对UDP数据报进行UDP分用;

根据端口将报文交付给对应的应用进程;

案例

解析过程

在这里插入图片描述

1、用户在浏览器输入访问域名;

2、用户pc端的DNS客户端进程会发送查询dns查询请求报文;

(www.porttest.com对应的ip地址是什么)

3、dns的查询请求报文需要使用运输层的UDP协议封装成UDP数据报,这个过程UDP首部挑选一个未被占用的源端口如49152,表示客户端进程;

目的端口的值设置为53;将UDP数据报封装成IP数据报,通过以太网发送给DNS服务器;

4、DNS服务器解封出UDP数据报,根据首部信息的53端口,请求DNS服务器端进程解析请求报文的内容;查找出对应的地址;之后会给用户PC发送DNS响应报文,如www.porttest.com对应的ip地址是xx.xx.xx.xx,DNS服务器将端口,解析信息封装成UDP数据报,再通过IP封装发送给用户;

5、用户解封UDP数据报,请求DNS客户端进程解析数据报的载荷信息,就知道了访问的地址;

6、用户请求的数据报基于TCP封装,包括请求信息和80端口,再次经过IP封装的数据报发给web服务器端;

7、web服务器端解析数据报,向Http服务端请求该地址的Http响应内容,将数据封装成tcp数据报后经过Ip封装,发给用户;

8、用户解封数据报的http响应内容,在支持http格式的浏览器显示结果;

端请求该地址的Http响应内容,将数据封装成tcp数据报后经过Ip封装,发给用户;

8、用户解封数据报的http响应内容,在支持http格式的浏览器显示结果;

http://www.lryc.cn/news/31682.html

相关文章:

  • python与pycharm从零安装
  • 叠氮试剂943858-70-6,Azidobutyric acid NHS ester,叠氮-C3-活性酯
  • pycharm激活虚拟环境时报错:无法加载文件activate.ps1,因为在此系统上禁止运行脚本,Windows10系统
  • 刷题小抄4-数组
  • Hbase安装
  • 面向对象设计模式:结构型模式之代理模式
  • CCF大数据专家委员会十周年纪念庆典纪实:拥抱数字时代,展望科技未来
  • Qt学习3-Qt Creator四则运算计算器(哔站视频学习记录)
  • 学习 Python 之 Pygame 开发魂斗罗(九)
  • 最简单的SpringBoot+MyBatis多数据源实现
  • Spring Boot 3.0系列【8】核心特性篇之SpringApplication
  • Nginx的搭建与核心配置
  • Java学习笔记 --- jQuery
  • 华为OD机试题,用 Java 解【字符串加密】问题
  • 软聚类算法:模糊聚类 (Fuzzy Clustering)
  • Java Web 实战 02 - 多线程基础篇(1)
  • C/C++开发,无可避免的多线程(篇三).协程及其支持库
  • 高级信息系统项目管理(高项 软考)原创论文项目背景合集
  • 锁屏面试题百日百刷-Hive篇(十一)
  • 一看就懂,等保2.0工作流程这么做
  • Kerberos 域委派攻击之非约束性委派
  • 【容器运行时】一文理解 OCI、runc、containerd、docker、shim进程、cri、kubelet 之间的关系
  • spark兼容性验证
  • docker逃逸复现--pid=host模式下的逃逸
  • 【环境配置】Windows系统下搭建Pytorch框架
  • Dockerfile简单使用入门
  • 什么是CCC认证3C强制认证机构
  • C语言-基础了解-18-C共用体
  • Vue基础18之github案例、vue-resource
  • UE4 c++ Mediaplayer取消自动播放,运行时首帧为黑屏的问题