
互联网协议系列
文章平均质量分 85
TCP/IP协议族一书的读书笔记和知识点的总结,对书中的重要的知识点做了适当的扩展。
rhwayfunn
这个作者很懒,什么都没留下…
展开
-
网络协议系列之十二:互联网协议入门(二)
(接上文)七、一个小结先对前面的内容,做一个小结。我们已经知道,网络通信就是交换数据包。电脑A向电脑B发送一个数据包,后者收到了,回复一个数据包,从而实现两台电脑之间的通信。数据包的结构,基本上是下面这样:发送这个包,需要知道两个地址: * 对方的MAC地址 * 对方的IP地址有了这两个地址,数据包才能准确送到接收者手中。但是,前面说过,MAC地址有局限性,如果两台电脑不在同一个子网络,就无法知转载 2016-03-29 09:33:55 · 1083 阅读 · 0 评论 -
网络协议系列之十一:互联网协议入门(一)
前言我们每天使用互联网,你是否想过,它是如何实现的? 全世界几十亿台电脑,连接在一起,两两通信。上海的某一块网卡送出信号,洛杉矶的另一块网卡居然就收到了,两者实际上根本不知道对方的物理位置,你不觉得这是很神奇的事情吗? 互联网的核心是一系列协议,总称为”互联网协议”(Internet Protocol Suite)。它们对电脑如何连接和组网,做出了详尽的规定。理解了这些协议,就理解了互联网的原理转载 2016-03-29 09:18:10 · 1167 阅读 · 0 评论 -
网络协议系列之十:TCP连接的建立与释放
TCP连接的建立(三次握手)1> 客户端发送(主动)一个SYN给服务端(相当于告诉服务端,我要打开连接了,你注意一下)。客户端的状态变化:CLOSED–> SYN_SENT,服务端状态变化:CLOSED–>LISTEN; 2> 服务端收到SYN报文,发送SYN+ACK两个报文给客户端,其中ACK报文是对客户端发来的SYN报文的确认(相当于告诉客户端,我收到你的连接请求了)。而这里的SYN报原创 2016-03-28 15:52:22 · 933 阅读 · 2 评论 -
网络协议系列之九:TCP计时器
在TCP中有四种计时器:重传计时器、持续计时器、保活计时器和TIME-WAIT计时器重传计时器在拥塞控制中有提到RTO——重传计时器。重传计时器是对发送出去的数据进行重传计时,如果在计时器超时后没有收到返回的ACK确认,发送端就会重新发送队列中重传报文。一般俩讲,使用RTO重传计时器有如下规则: 当TCP发送了位于发送队列最前端的报文段后就启动这个RTO计时器如果队列为空则停止计时器,否则重启计时原创 2016-03-28 15:48:54 · 1584 阅读 · 0 评论 -
网络协议系列之八:TCP差错控制
TCP的差错控制主要使用校验和、确认、超时重传这三个工具进行差错控制。校验和主要用来检验数据报文是否受到损伤。如果校验和无效,报文就会在终点被丢弃。确认是接收端用来证实确实收到了报文,在TCP中,使用的是累计确认,接收端会告诉发送端其下一个希望接收的字节编号。超时重传是差错控制的核心。实际上当发送端发送一段字节的数据后,会把这个报文段保存在一个队列中,并启动一个计时器,这个计时器也叫RTO(重传计时原创 2016-03-28 15:45:14 · 1962 阅读 · 0 评论 -
网络协议系列之七:TCP拥塞控制
拥塞控制是TCP传输中很重要的一环,TCP拥塞控制使用一个拥塞窗口以及拥塞策略来进行拥塞控制。在前面的流量控制中提到发送端的发送窗口取决于接收窗口,实际上,发送方的窗口大小是接收窗口与拥塞窗口中的较小值。拥塞窗口的大小又取决于网络的拥塞状况。而具体确定拥塞窗口大小则需要拥塞策略来决定。拥塞策略包括慢开始、拥塞避免、拥塞检测。TCP的一般是从一个比较小的传输速率开始,然后迅速增大到阈值,到达阈值后以一原创 2016-03-28 15:38:26 · 1334 阅读 · 0 评论 -
网络协议系列之三:IP
前言这篇博客主要对IP协议中一些基础知识点加以总结,并将书中一些晦涩难懂的部分去除了。IP地址协议是网络层中最重要的协议,IP地址协议可以对因特网上的所有设备进行唯一标识,也正因为有了IP协议,我们的计算机才能实现与全球任意一台设备进行通信。 同时这也是网络层存在的意义,我将对部分的内容分为两个部分加以总结:一、首先对IP协议部分的知识加以总结;二、对网络层其他的协议加以总结,包括ICMP、IGMP原创 2016-03-28 14:41:06 · 4402 阅读 · 0 评论 -
网络协议系列之六:TCP流量控制
TCP的流量控制就是TCP接收端对发送端发送多少字节的数据进行控制,防止接收端处理不及而丢失数据。差错控制就是保证接收端接收的数据是完整未受损伤的,是可靠性的重要保证。这里以TCP连接的建立过程说明流量控制,则流量控制的过程如下:TCP发送端向接收端发送一个SYN=1、seqNo=100的连接请求。这里的SYN=1表示一个建立连接的标志位,seqNo表示发送端发送数据的起始字节的编号是100接收原创 2016-03-28 15:21:36 · 1123 阅读 · 0 评论 -
网络协议系列之五:TCP简介
这里只是对TCP协议做个简要的介绍。TCP协议是基于流的可靠的传输层协议,不同于UDP协议,UDP不保证信息传输的可靠性。这就意味着应用程序把数据流交付给TCP后,要依靠TCP保证数据流完整、一致以及按序到达接收方的应用程序上。TCP主要通过差错控制机制保证可靠性的传输。1、差错控制机制包括校验和、确认、超时重传这三个工具。校验和主要用来检验数据报文是否受到损伤。如果校验和无效,报文就会在终点被丢弃原创 2016-03-28 15:18:39 · 996 阅读 · 0 评论 -
网络协议系列之四:IGMP、ICMP和ARP
前言IGMP协议是一个组管理协议,它帮助多播路由器创建以及更新与每一个路由接口相连的忠实成员列表(就是与该路由接口连接频率较高)。ICMP协议实际上就是差错控制协议,弥补了IP协议没有差错纠正机制以及差错报告的缺憾。ARP是一个地址映射协议,可以把一个IP地址映射为MAC地址。 IGMP协议1、IGMP是管理组成员关系的协议 2、IGMP报文分为成员关系报告报文和成员关系查询报文。成员关系查询报原创 2016-03-28 14:42:47 · 18010 阅读 · 0 评论 -
网络协议系列之二:HTTP(2)
这篇文章继续对HTTP协议进行说明。一个http事务包括客户向HTTP服务器发送请求以及服务器向客户端发送响应两个过程。根据事务的特点,这两个过程具有原子性,任何一个过程失败都会进行回滚(恢复事务之前的状态)。从请求与响应的角度出发,http的知识点都是围绕这两个角度展开的。每次客户的请求都会向服务器发送一个请求报文,请求报文的结构包括请求行、首部行、空行和请求体,一个http响应包括响应行、首部行原创 2016-03-28 14:38:43 · 2552 阅读 · 0 评论 -
网络协议系列之一:HTTP(1)
HTTP协议是web开发必须掌握的协议之一,文章的内容并没有按照教科书式对协议本身进行说明。这里特意将一些web开发遇到的常见问题进行了总结。也方便以后自己开发进行迅速查阅。1、Http的报文结构 http的报文分为请求报文和响应报文,请求报文结构包括:请求行、请求头、请求体;响应报文结构包括响应行、响应头、响应体。下图简要表示了请求报文的结构: 下面是我输入www.baidu.com获取的原创 2016-03-28 14:36:37 · 2981 阅读 · 0 评论