3 网络协议入门

  1. 从淘宝买东西举例来说明一次请求中的,网络有关的部分
  2. 是打开浏览器,输入购物网站的地址:
java 复制代码
https://www.taobao.com/
  1. 那么浏览器是怎么打开购物网站的首页的呢?
    (1)首先受到了一段http报文
xml 复制代码
HTTP/1.1 200 OK
Date: Tue, 27 Mar 2018 16:50:26 GMT
Content-Type: text/html;charset=UTF-8
Content-Language: zh-CN
<!DOCTYPE html>
<html>
<head>
<base href="https://www.taobao.com/" />
<meta charset="utf-8"/> <title> 淘宝3 周年主会场 </title>

(2)由于客户只是在浏览器地址栏输入:

java 复制代码
https://www.taobao.com/
1.但是浏览器并不知道具体的淘宝的ip地址,因此浏览器需要去打开地址簿去查找,这个一般的地址簿使用的是DNS,或者是更精准的HTTPDNS
2.无论是用的哪一种,最终都会得到一个ip:106.1xx.13x.2x

(3)知道了目标地址,浏览器开始打包请求:

java 复制代码
1.对于普通的浏览请求,往往会使用HTTP协议
2.但是对于购物的请求,往往需要进行加密传输,因而会使用HTTPS协议
3.无论是什么协议,里面都会写明"你要买什么和买多少"(请求参数)

(4)DNS、HTTP、HTTPS 所在的层我们称为应用层

java 复制代码
1.经过应用层封装后,浏览器会将应用层的包交给下一层去完成,通过 socket 编程来实现
2.下一层是传输层,传输层有两种协议:
  a.一种是无连接的协议UDP
  b.一种是面向连接的协议TCP
3.对于支付来讲,往往使用 TCP 协议。所谓的面向连接就是,TCP 会保证这个包能够到达目的地。如果不能到达,就会重新发送,直至到达.
4.TCP 协议里面会有两个端口:
  a.一个是浏览器监听的端口
  b.一个是电商的服务器监听的端口
5.操作系统往往通过端口来判断,它得到的包应该给哪个进程。
6.传输层封装完毕后,浏览器会将包交给操作系统的网络层
7.网络层的协议是 IP 协议:
   IP 协议里面会有源 IP 地址,即浏览器所在机器的 IP 地址和目标 IP 地址,也即电商网站所在服务器的 IP 地址.
8.既然知道了目标ip,那么改如何找到这个目标ip呢?
  a.操作系统往往先判断这个ip是本地ip,还是远程ip
  b.既然知道了目标ip是远程ip,不在本局域内,那么就需要通过网关去奔向目标ip
9.本地网关之间的通讯基本靠吼(也就是ARP协议),网关响应之后,就会告诉客户端自己的地址,即MAC地址。
10.于是这个ip包就给到了下一层:MAC层
   网卡再将包发出去,这个包里面就包含了MAC地址
11.网关收到包之后,会根据自己的知识,判断下一步应该怎么走。网关往往是一个路由器,到某个 IP 地址应该怎么走,这个叫作路由表
12由于请求带着目标的ip,路由器就会告诉请求,你的下一跳应该去哪里才可以访问到目标ip
  因为路由器之间也会经常通信,这种沟通成为路由协议,常用的有OSPF和BGP

(5)当网络包平安到达 TCP 层之后,TCP 头中有目标端口号,通过这个端口号,可以找到电商网站的进程正在监听这个端口号,假设一个 Tomcat,将这个包发给电商网站。

相关推荐
2601_949499941 小时前
芯瑞科技 DT-1414 光模块工程实测:完美兼容博通(安华高) HFBR-1414PTZ,VCSEL 替代方案
大数据·网络·人工智能·科技·光模块
2501_915918412 小时前
iOS 怎么抓包?抓包鹰系统级 网卡 应用层三种方式对比,不越狱抓 iPhone 流量
网络协议·计算机网络·网络安全·ios·adb·https·udp
云边云科技_云网融合2 小时前
连锁门店 POS、监控、IoT 设备网络不稳定怎么解决?
网络·物联网
XR1234567883 小时前
学校宿舍区网络方案对比:多终端高并发下的认证、管理与体验
网络
March.s4 小时前
IP 存储核心 iSCSI:原理拆解 + 无报错实战指南
网络·网络协议·tcp/ip
超智算科技4 小时前
超智算领衔协办“NVIDIA创业企业展示·西安站”,全栈AI服务赋能行业生态协同发展
大数据·网络·人工智能·物联网·百度
空杆推不起5 小时前
企业数据加密实战:传输链路与存储层全场景落地指南
网络·安全·web安全
️学习的小王5 小时前
基于UDP实现简易聊天室(基础版)——Python实现
网络·python·udp
砚凝霜5 小时前
软考网络工程师|第 5 章 路由基础、静态路由、RIP、OSPF、BGP、IS-IS 完整备考笔记
网络·笔记
Kina_C6 小时前
Keepalived 配置管理进阶:使用子配置文件实现模块化与高可读性
linux·网络·keepalived