前言
又开始跟着老刘读书了。
这次立下flag,一定要读完
第一章
主要是讲一些概念,协议啊!分层啊,交换机。老刘也整理了三四点重点
其实一些概念,看过也就忘记了)苦苦
但是后面还会细讲,所以就是一个大纲一样。写给大家提一个醒,计算机是怎么交互的(前端妹子总是喜欢说交互交互)
进入主题
第一:什么是协议?
web 协议倒是用的比较多的,http https 天天发网络请求
一个协议定义了在两个或多个通信实体之间交换的报文格式和次序,以及报文发送和/接收一条报文或其他事件所采取的动作
关键点:内容组织方式、交互次序、响应
第二:http协议
我看过图解http,还蛮印象深刻的
三次握手
简单的例子:浏览器主动发起请求,服务器就会收到,然后告诉浏览器收到了你的请求,并且我同意你这么干。浏览器再次发起真正的请求,这就是三次握手啦!
我们平常用的多的是get post
用到delete put 浏览器还会先发一个option请求,询问一下服务器是不是支持这样的请求
是怎么样的格式呢
客户端发起请求的格式:
请求行:明确请求类型
请求头:客户端向服务端提供一些客户端本身的信息,或者告诉客户端自己希望接收到什么样(类型、
编码等)的响应消息
请求正文:请求的其他信息
服务端响应请求的格式:
状态行:表示响应的类别(成功、失败、重定向等等)
消息报头:服务端向客户端提供一些服务端本身的信息,或者对应于状态行的其他附加信息
响应正文:客户端请求的资源
协议栈层次
1.应用层: 应用层协议用于各个端系统中的应用程序交换信息分组, 该信息分组称为报文.
- 运输层: 运输层的作用是在应用程序端点之间传送应用层报文段. 在因特网中有TCP和UDP两种运输协议, 任一个都能封装并运输应用层报文, 运输层的分组称为报文段.
- 网络层: 网络层负责将运输层的报文段和目的地址封装成数据报, 用于下一层的传输.
- 链路层: 链路层会把网络层的数据报封装成链路层的帧, 并把该帧传递给下一个结点.
- 物理层: 物理层的任务是将链路层每帧中的一个个比特移动到下一个节点,, 具体会落实到不同的物理媒介(双绞铜线, 光纤等).
第三:
网络分层
网络分层就是将传输数据所需要做的事情,按功能划分,分为几个模块(层),使整个结构更清晰,也更利于维护和扩展
网络分层中,数据封装的形式如下:
数据发送端:将上一层传输过来的所有数据当成信息内容本身,然后本层在上一层的基础上,加上这一层完成任务所需要的数据(头部信息),然后传给下一层
数据接收端:将下一层传输过来的数据分为两部分,头部和信息本身,拿出头部(对应于数据发送端的该层添加的头部信息)进行解析,然后将传给上一层
第四:交换处理延时
处理时延:
1) 检查分组首部和决定将分组导向哪一个队列;
2) 其他:检查比特级差错所需要的时间。
排队时延:
1) 在队列中,当分组在链路上等待传输时所需的时间,取决于先期到达的,正在排队等待想链路传输分组的数量。
传输时延:
1) 将所有分组的比特推向链路所需要的时间。
传播时延:
1) 从该链路的起点到路由器B传播所需要的时间是传播时延。该比特以该链路的传播速率传播。