前言:TCP学习的综述 在学习TCP/IP协议的大头:TCP协议 的过程中,遇到了很多机制和知识点,详解中更是用了足足8章的内容介绍它. TCP协议作为 应用层 和 网络层 中间的 传输层协议,既要为下面的网络层协议保证连接的可靠性(IP协议)弥补不足,又要作为 应用层进程向网络层发送数据的中转站(作为多路复用/解复用器). 这就使得我们在审视TCP这个协议的过程中,需要横向和纵向地看待TCP连接: 横向的连接:client 的 TCP 与 server 的 TCP.三握四挥,是 reliabl…
前言 在有关TCP的章节中,介绍了四种定时器,它们体现了TCP的可靠性,其中最重要的 就是重传定时器了,剩下的定时器都是为了解决TCP的理解上的一些问题而设置的. 四种定时器: 2MSL定时器,出现在 TCP连接的建立与终止. 重传定时器,出现在 TCP的超时与重传. 坚持定时器. 保活定时器. 相关随笔: TCP连接的建立与终止 TCP的超时与重传 TCP的坚持定时器 TCP的保活定时器 2MSL定时器 出现:TCP连接的建立与终止 教材P183 四次挥手客户端一共有三次状态:应用程序关闭,发…
1.在每个TCP报文段中,头部的flag字段里的SYN,FIN,RST,PSH可以多个有效,并没有限定为必须只有一个 2.TCP连接建立过程: 1)客户端发送一个SYN报文段,其中包含了客户端要传送的初始字节序列J 2)服务器端收到上述报文段,并且返回一个报文段,其中包含了服务器端的SYN序号K,以及对客户端SYN序号的响应信号ACK,J+1,其实ACK确认序列号指的是服务器端希望从客户端得到的下一个字节流的序号,由于SYN消耗了一个序号,因此返回的ACK确认序号为J+1 3)同样,接收到从服务…
1.persist timer:当接收方建议的窗口大小为0时,发送方就会停止发送,直到接收方有缓存空间时再用一个窗口值非零的ACK提示发送方可以继续发送.但是这个称为window update的ACK报文段很可能会发生丢失,这个时候就不可避免地发送了死锁.因此,发送方需要设置一个persist timer,每隔一段时间就向接收方发送一个询问报文window probes,当接收方可以接收数据时就重新开始发送 2.通常发送方都会包含一个字节数据的报文段作为window probes,该字节的数据其…
1.Delayed Acknowledgements:TCP通常不会在收到数据之后立即返回一个ACK,而是会有一个延时,希望能ACK报文段中带上一些数据,通常这个延时为200ms 2.Nagle Algorithm:在TCP连接中,只能有一个小的报文段未被确认.即TCP在发送了一个小的报文段之后,会将之后的小数据都收集起来,直到之前的小报文段得到确认,才将收集到的小数据打包成一个报文段发出.这样做的减少了网络中小报文段的数量,减轻了网络的阻塞,提高了传输的效率 3.当一个包到达以后,它首先被设备…
1.TCP提供的是可靠传输,它通过接收方发送一个确认报文ACK来提供这种可靠性.但是数据报文和确认报文都可能会丢失,所以TCP会给发出的数据报文设置一个时间,如果超时了则进行重传 2.Karn's Algorithm:当发生了一次超时重传之后,我们不能根据发回的对于重传数据的ACK更新RTT和RTO(retransmission timeout 重传时间)的值.因为我们不知道这个ACK是对于第一次传送的数据的确认(可能是第一次发送的数据在网络中有延时或者是它对应的ACK报文有延时)还是对重传数据…
本章将介绍TCP所使用的被称为滑动窗口协议的一种流量控制方法. 该协议允许发送方在停止并等待确认前可以连续发送多个分组,这样就可以加速数据的传输. 滑动窗口 下图用可视化的方法显示了滑动窗口协议 我们使用三个术语来描述窗口左右边缘的运动: 1.称窗口左边沿右边缘靠近为窗口合拢.这种现象发生在数据被发送和确认时. 2.当窗口右边沿右移动将允许发送更多的数据,我们称之为窗口张开. 3.当右边沿向左移动时,我们称之为窗口收缩.…
2013-08-22 22:57:17 3.8 ifconfig命令 这个命令在Linux系统下可以通过下面的指令阅读说明文档: ifconfig 由于书中作者用的系统比较早的某Unix系统,所以我的命令跟书上显示的格式不太一样.我从网上找了一些ifconfig命令的基本使用教程,粘贴如下. 首先是我自己的一些研究成果,我在自己的ubuntu13.04上运行了 ifconfig -a 得到了下面的结果 raphael@raphael-Aspire-5741G:~$ ifconfig -a eth…
从今日起开始认真研读TCP/IP详解这本经典制作,一是巩固我薄弱的计算机网络知识,二来提高我的假期的时间利用率.将心得与思考记录下来,防止白看-哦耶 2013-08-14 18:47:06 第一章 概述 1.1引言 1.2分层 层次名 功能 备注 应用层 处理特定应用程序细节 Telnet远程登录.FTP文件传输协议.SMTP简单邮件传送协议.SNMP简单网络管理协议 运输层 为两台主机上的应用程序提供端到端的通信 TCP(传输控制协议) 为两台主机提供高可靠性的数据通信 UDP(用户数据报协议…
2.1 引言 链路层的三个目的: (1)为IP模块发送和接收IP数据报. (2)为ARP模块发送ARP请求和接收ARP应答.地址解析协议:ARP. (3)为RARP模块发送RARP请求和接收RARP应答.逆地址解析协议:RARP. 本章介绍了以太网协议,SLIP协议,PPP协议(现在常用),以及loopback等协议. 2.2.1 以太网和IEEE802封装 以太网 以太网是指数字设备公司和英特尔公司和Xerox公司在1982年联合发布的一个标准.采用CSMA/CD的媒体接入方法. IEEE(电…