Learning Records 计算机网络( 三 )

  • 窗口收缩:右边沿向左移动如图所示:
    Learning Records 计算机网络

    文章插图
    (字丑还请见谅doge由接收方提供的滑动窗口进程通常可以由接受进程控制,同时也会影响到TCP的性能----------慢启动TCP支持一种叫慢启动的算法,它保证了新分组进入网络的速率和另一端确认的速率相同它为发送方提供了一种窗口:拥塞窗口在工作时,发送方取拥塞窗口和通告窗口中的最小值作为发送上限 。拥塞窗口是发送方的流量限制,通告窗口是接收方的流量限制
  • TCP的超时和重传超时重传是TCP保证安全的一个重要的机制原理是在发送一个数据过后就开启一个定时器,如果在一定的时间内没有接收到ACK报文,那么就重新发送数据,直到发送成功为止重传超时时间(RTO):RTO的设定会影响到超时传输协议的效率,其值的设定是一个关键的参数传输往返时间(RTT):固定的超时值一般会认为RTO的取值会略大于RTT使用低通过滤器来更新一个被平滑的RTT估计器新的SRTT=α×(旧的SRTT)+(1-α)×(新的RTT样本)Karn算法:在一个超时和重传发生时,在重传数据到达确认前,不能更新RTT估计器 , 因为不知道ACK对应哪次传输有关算法还有拥塞避免算法,快速重传和快速回复算法等等
    TCP的坚持定时器如果一个确认丢失了 , 那么发送方和接收方之间可能会因为持续等待而发生死锁为了防止死锁的产生,所以有了坚持定时器 。以周期性地向接收方查询
    TCP的保活定时器如果TCP连接的双方都没有向对方发送数据,则在两个TCP模块之间不交换任何信息如果一个给定的TCP连接在两个小时都没有任何动作,则服务器向客户发送一个探查报文片段则客户主机必须处于以下4种情况之一
    • 客户主机依然正常运行 , 并且从服务器可达
    • 客户主机崩溃,并且关闭或者重新启动
    • 客户主机崩溃并已经重新启动
    • 客户主机正常运行,但是从服务器不可达第一种情况客户主机并不会发现保活探查的发生 , 整个过程对TCP层是透明的只有第2 , 3,4种情况时TCP会发送差错报告
    HTTP协议包括4个请求:
    • get:请求读取URL所标志的信息
    • post:给服务器添加信息
    • put:在给定url下储存文档
    • delete:删除给定url所标志的资源
    get和post区别:
    • get是从服务器上获取数据 , post是向服务器发送数据
    • get会把参数数据队列添加到url中,值和表单内各个字段一一对应
    • get传输的数据量小 , 不超过2KB,post传输的数据量大 , 默认不限制
    • 根据HTTP规范,GET用于信息获?。?是安全和幂等的
    安全:仅用于获取信息而不是修改信息幂等:对同一URL的多个请求应返回相同的结果
    在浏览器中输入 http://www.baidu.com/ 所执行的全过程Baidu.com是我们想要访问的服务器,执行以下操作
    • 客户端浏览器通过DNS解析http://www.baidu.com/的IP地址到220.181.27.48 , 通过此IP地址找到客户端到服务端的路径 , 客户端向该IP发起一个HTTP会话,然后通过TCP封装数据包 , 输出到网络层,建立TCP连接
    • 在客户端的传输层 , 把HTTP会话请求分成报文段,添加源和目的端口,如果服务器使用80端口监听请求 , 客户端随机选择一个端口,和服务器进行交换,服务器把相应的请求返回给客户端的端口(服务器处理请求)
    • 客户端的网络层主要做的就是通过路由表查询如何到达服务器
    • 包通过链路层发送到路由器
    状态码(开发常用)200:请求成功,一般用于get和post500:服务器内部错误 , 无法完成请求401:请求需要用户身份验证403:服务器拒绝请求404:服务器无法根据客户端请求找到网页资源
    cookieHTTP协议本身是无状态的——指无法辨认用户的身份cookie实际上是一小段文本消息客户端向服务器发起请求,如果服务器需要记录该用户状态,就需要向客户浏览器发一个cookie 。而客户端浏览器会把cookie保存起来 。当浏览器再次请求时,会把cookie一起提交给服务器,服务器会检查该用户的状态

    推荐阅读