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,将这个包发给电商网站。

相关推荐
不爱学习的YY酱1 小时前
【计网不挂科】计算机网络期末考试——【选择题&填空题&判断题&简述题】试卷(4)
网络·计算机网络
装睡的小5郎1 小时前
家庭宽带如何开启公网ipv4和ipv6
网络
yfs10241 小时前
压缩Minio桶中的文件为ZIP,并通过 HTTP 响应输出
网络·网络协议·http
有谁看见我的剑了?1 小时前
Ubuntu 22.04.5 配置vlan子接口和网桥
服务器·网络·ubuntu
hgdlip1 小时前
有什么办法换网络ip动态
网络·tcp/ip·智能路由器
超栈1 小时前
HCIP(11)-期中综合实验(BGP、Peer、OSPF、VLAN、IP、Route-Policy)
运维·网络·网络协议·计算机网络·web安全·网络安全·信息与通信
დ旧言~1 小时前
【网络】应用层——HTTP协议
开发语言·网络·网络协议·http·php
不爱学习的YY酱1 小时前
【计网不挂科】计算机网络期末考试——【选择题&填空题&判断题&简述题】试卷(1)
网络·计算机网络
汪小敏同学1 小时前
【Django进阶】django-rest-framework中文文档——快速入门
网络·windows·oracle
徐浪老师2 小时前
OSPF动态路由配置实验:实现高效网络自动化
网络·自动化·智能路由器