随笔分类 - HTTP-TCP等各种协议
摘要:问题来源:面试中面试官会看到你的简历上写着熟悉网络、http、tcp协议等,那你真的了解他吗?今天它来了 一、网络协议: 层次说明:第七层:应用层(http)为操作系统或网络应用程序提供访问网络服务的接口。第六层:表示层处理两个通信系统中交换信息的表示方式。为上层用户解决用户信息的语法问题。包括数据
阅读全文
摘要:在如何封装一个数据包上,是一个非常细致的问题,而利用UDP协议来封装的话,是比较简单,让我们一步步来分析典型的TCP/IP协议。一般来说一个典型的一个数据包,包括以太网MAC头+网络层IP数据头+传输层UDP头+要传输的数据。让我们一层层来看看这些数据头是如何构成的。 1、以太网MAC头 一般情况下
阅读全文
摘要:版权声明:本文为博主原创文章,转载时请务必注明本文地址, 禁止用于任何商业用途, 否则会用法律维权。 https://blog.csdn.net/stpeace/article/details/44162349 说明: 1. 本文的讨论和实验都以Windows为例, 其实在linux上也大同小异。
阅读全文
摘要:HTTP/2 协议的主要目的是提高网页性能。 头信息(header)原来是直接传输文本,现在是压缩后传输。原来是同一个 TCP 连接里面,上一个回应(response)发送完了,服务器才能发送下一个,现在可以多个回应一起发送。 服务器推送(server push)是 HTTP/2 协议里面,唯一一个
阅读全文
摘要:3.2 缓存的实现原理 3.2.1什么是Web缓存 WEB缓存(cache)位于Web服务器和客户端之间。 缓存会根据请求保存输出内容的副本,例如html页面,图片,文件,当下一个请求来到的时候:如果是相同的URL,缓存直接使用副本响应访问请求,而不是向源服务器再次发送请求。 HTTP协议定义了相关
阅读全文
摘要:Socket 是一套建立在TCP/IP协议上的接口不是一个协议 应用层: HTTP FTP SMTP Web传输层: 在两个应用程序之间提供了逻辑而不是物理的通信(TCP UDP) TCP 可靠的 面向连接的服务 UDP 不可靠的 无连接的服务只要底层实现TCP IP协议 都可以用socket进行通
阅读全文
摘要:在TCP/IP中,快速重传和恢复(fast retransmit and recovery,FRR)是一种拥塞控制算法,它能快速恢复丢失的数据包。没有FRR,如果数据包丢失了,TCP将会使用定时器来要求传输暂停。在暂停的这段时间内,没有新的或复制的数据包被发送。有了FRR,如果接收机接收到一个不按顺
阅读全文
摘要:卫星网络中使用TCP协议的劣势 为了避免产生网络拥塞,原TCP协议综合采用了慢启动、拥塞避免、快速重传以及快速恢复等算法。但这些算法应用的前提是网络发生拥塞造成丢包,然而在误码率相对较高的卫星通信系统中,部分丢包是由误码造成的,tcp协议对此不能区分,从而造成TCP传输性能的恶化。 1、 大传播延时
阅读全文
摘要:TCP的几大模块:分段与流,滑窗,连接,流量控制,重新发送,堵塞控制。 1、checksum:在发送TCP报文的时候,里面的信息可能会因为环境的问题,发送变化,这时,接收信号的时候就需要通过checksum,进行校验,一般处理:如果没问题的话,就接受,有问题的话就丢弃。 2、超时重传机制:接收端在接
阅读全文
摘要:TCP的流量控制和拥塞控制 TCP的流量控制 1. 利用滑动窗口实现流量控制 如果发送方把数据发送得过快,接收方可能会来不及接收,这就会造成数据的丢失。所谓流量控制就是让发送方的发送速率不要太快,要让接收方来得及接收。 利用滑动窗口机制可以很方便地在TCP连接上实现对发送方的流量控制。 设A向B发送
阅读全文
摘要:一、滑动窗口 滑动窗口协议是传输层进行流控的一种措施,接收方通过通告发送方自己的窗口大小,从而控制发送方的发送速度,从而达到防止发送方发送速度过快而导致自己被淹没的目的。 对ACK的再认识,ack通常被理解为收到数据后给出的一个确认ACK,ACK包含两个非常重要的信息: 一是期望接收到的下一字节的序
阅读全文
摘要:问题 为了提高网络的可用性,需要进行冗余和备份。但是冗余路径会产生环路 环路会导致以下问题 广播风暴:由于交换机会对广播、多播、和未知目标MAC的单播包进行泛洪,在存在环路的情况下,很短的时间内就会产生风暴 多帧拷贝、MAC地址表不稳定:当交换机刚刚启动时,MAC地址表是空的,所以,所有的单播帧都会
阅读全文
摘要:如何计算UDP/TCP检验和checksum一、下面的图是一个UDP的检验和所需要用到的所有信息,包括三个部分:1.UDP伪首部2.UDP首部3.UDP的数据部分(切记不要遗漏该部分,否则就~吐血了~)首先解释下伪首部的概念,伪首部包含IP首部一些字段。其目的是让UDP两次检查数据是否已经正确到达目
阅读全文
摘要:一、TCP报文格式 下面是TCP报文格式图: (1) 序号, Seq(Sequence number), 占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记。 (2) 确认号, Ack(Acknowledge number), 占32位, 只有ACK标志位为1时,确认序
阅读全文
摘要:源端口、目标端口:计算机上的进程要和其他进程通信是要通过计算机端口的,而一个计算机端口某个时刻只能被一个进程占用,所以通过指定源端口和目标端口,就可以知道是哪两个进程需要通信。源端口、目标端口是用 16 位表示的,可推算计算机的端口个数为 2^16 个。 序列号:表示本报文段所发送数据的第一个字节的
阅读全文
摘要:好处是,操作系统或者浏览器,可以重复利用它们内置的缓存机制等等。 增删改查都是一个地址,具体靠http头部信息判断。 利用HTTP协议语义构建的语义化、可缓存的接口。 URL定位资源,用HTTP动词(GET,POST,DELETE,DETC)描述操作。 “表现层状态转移”?这是人话吗?首先,之所以晦
阅读全文
摘要:背景 和女朋友异地恋一年多,为了保持感情我提议每天晚上视频聊天一次。 从好上开始,到现在,一年多也算坚持下来了。 问题 有时候聊天的过程中,我的网络或者她的网络可能会不好,视频就会卡住,听不到对方的声音,过一会儿之后才会恢复。 中间双方可能就要不断的确认网络是否恢复,但是有时候会: 她:“你可以听到
阅读全文
摘要:TCP传输控制协议是面向连接的可靠的传输层协议,在进行数据传输之前,需要在传输数据的两端(客户端和服务器端)创建一个连接,这个连接由一对插口地址唯一标识,即是在IP报文首部的源IP地址、目的IP地址,以及TCP数据报首部的源端口地址和目的端口地址。TCP首部结构如下: 其中在TCP连接和断开连接过程
阅读全文
摘要:- 2. Tinyhttpd tinyhttpd是一个超轻量型Http Server,使用C语言开发,全部代码只有502行(包括注释),附带一个简单的Client,可以通过阅读这段代码理解一个 Http Server 的本质。 下载链接:http://sourceforge.net/projects
阅读全文
摘要:转载地址:写得很不错的fildder教程 http://kb.cnblogs.com/page/130367/ Fiddler的基本介绍 Fiddler的官方网站: www.fiddler2.com Fiddler的官方帮助:http://docs.telerik.com/fiddler/knowl
阅读全文