网络协议

1.输入一个url到浏览器页面展示都经历了哪些过程

1.输入网址
2.缓存解析
浏览器缓存–> 操作系统缓存–> 本地host文件 --> 路由器缓存–> ISP DNS缓存 --> 顶级DNS服务器/根DNS服务器
有从缓存当中显示页面,然后没有那就进行步骤三
3.域名解析
域名到IP地址的转换过程,由DNS服务器完成,解析后可以获取域名相应的IP地址
4.建立TCP连接
拿到域名对应的IP地址之后,浏览器会以一个随机端口(1024<端口<65535)向服务器的WEB程序(常用的有httpd,nginx等)80端口发起TCP的连接请求。这个连接请求到达服务器端后(这中间通过各种路由设备,局域网内除外),进入到网卡,然后是进入到内核的TCP/IP协议栈(用于识别该连接请求,解封包,一层一层的剥开),还有可能要经过Netfilter防火墙(属于内核的模块)的过滤,最终到达WEB程序,最终建立了TCP/IP的连接
5.浏览器向服务器发起了http请求
一个典型的 http request header 一般需要包括请求的方法,例如 GET 或者 POST 等,不常用的还有 PUT 和 DELETE 、HEAD、OPTION以及 TRACE 方法,一般的浏览器只能发起 GET 或者 POST 请求
6.服务器收到浏览器发送的请求信息,返回一个响应头和一个响应体
后端从在固定的端口接收到TCP报文开始,它会对TCP连接进行处理,对HTTP协议进行解析,并按照报文格式进一步封装成HTTP Request对象,供上层使用
7.浏览器收到服务器发送的响应头和响应体,进行客户端渲染,生成Dom树、解析css样式、js交互

2.协议分层

应用层:TFTP(文件传输)、HTTP、DNS(域名解析)、SMTP
传输层:TCP、UDP、HTTPS
网络层:IP
物理层:IEEE

3.TCP协议

TCP特性
面向连接,可靠的字节流服务,并不是100%可靠,而是数据的可靠传送和
故障的可靠通知
1.只能有两方进行通信,不能用于广播和多播
2.使用校验,确认,和重传机制来保证可靠传输
3.TCP 给数据分节进行排序,并使用累积确认来 保证数据的顺序不变和非重复
4.使用滑动窗口机制实现流量控制,通过动态改变窗口的大小来进行拥塞控制

连接过程:三次握手

第一次:发送请求到服务器,等待服务器确认(SYN=1, seq=x)
SYN为1的包,指明端口,初始序列x,保存在包头的序列号里(SYN)
第二次:服务器接收请求,并给客户端发送确认消息(SYN=1, ACK=1, seq=y, ACKnum=x+1)
服务器发出包应答,SYN=1,ACK=1,服务器端选择自己 ISN 序列号,放到 Seq 域里,同时将确认序号(Acknowledgement Number)设置为客户的 ISN 加1,即X+1。 发送完毕后,服务器端进入 SYN_RCVD 状态。
第三次:客户端确认请求,建立连接(ACK=1,ACKnum=y+1)
客户端再次确认发送包ACK, SYN 标志位为0,ACK 标志位为1,并且把服务器发来 ACK 的序号字段+1,放在确定字段中发送给对方,并且在数据段放写ISN的+1

发送完毕后,客户端进入 ESTABLISHED 状态,当服务器端接收到这个包时,也进入 ESTABLISHED 状态,TCP 握手结束。

4.HTTP协议

HTTP 协议构建于 TCP/IP 协议之上,是一个应用层协议,默认端口号是 80
HTTP 是无连接无状态的
HTTP 协议是以 ASCII 码传输,建立在 TCP/IP 协议之上的应用层规范
规范把 HTTP 请求分为三个部分:状态行、请求头、消息主体。类似于下面这样:

<method> <request-URL> <version>
<headers>

<entity-body>

5.IP协议

IP协议位于TCP/IP协议的第三层——网络层, 与传输层协议相比,网络层的责任是提供点到点(hop by hop)的服务,而传输层(TCP/UDP)则提供端到端(end to end)的服务
点到点传输是把网络通信的线路分为各个(节)点,整个通信链路由一个个(节)点连接起来,信息由发送设备发送到与其直接连接的设备1,然后再由设备1在适时的时候发送到与其直接连接的设备2,以此类推直到接收端
端到端传输即发送端和接收端之间的传输,是属于传输层的。网络通信时需要在这两端之间建立传输信息的链路(通路),该链路可以是单一的传输线路,也可以是很复杂的物理连接(逻辑链接)。一旦连接建立起来了,就可以进行端到端的传输了,传输结束后连接被释放,可以被下一次数据传输使用

概述:
在计算机通信中,为了识别通信对端,必须要有一个类似于地址的识别码进行标识。在数据链路中的 MAC 地址正是用来标识同一个链路中不同计算机的一种识别码。
作为网络层的 IP ,也有这种地址信息,一般叫做 IP 地址。IP 地址用于在“连接到网络中的所有主机中识别出进行通信的目标地址”。因此,在 TCP/IP 通信中所有主机或路由器必须设定自己的 IP 地址。
不论一台主机与哪种数据链路连接,其 IP 地址的形式都保持不变。
IP 地址(IPv4 地址)由32位正整数来表示。IP 地址在计算机内部以二进制方式被处理。然而,由于我们并不习惯于采用二进制方式,我们将32位的 IP 地址以每8位为一组,分成4组,每组以 “.” 隔开,再将每组数转换成十进制数

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值