摘要:
TCP提供可靠的运输层。它使用的方法之一就是确认从另一端收到的数据。但数据和确认都有可能会丢失。TCP通过在发送时设置一个定时器来解决这种问题。如果当定时器溢出时还没有收到确认,它就重传该数据。对于实现而言,关键之处就在于超时和重传的策略,即怎样决定超时间隔和如何确定重传频率。 TCP管理4种不同的 阅读全文
摘要:
目前建立在TCP协议上的网络协议特别多,有telnet,ssh,有ftp,有http等等。这些协议又可以根据数据吞吐量来大致分成两大类: (1)交互数据类型,例如telnet,ssh,这种类型的协议在大多数情况下只是做小流量的数据交换,比如说按一下键盘,回显一些文字等等。 (2)数据成块类型,例如f 阅读全文
摘要:
在TCP进行数据传输时,可以分为成块数据流和交互数据流两种,且处理的算法不同. Rlogin连接上键入一个交互命令的数据流如下图所示。 每一个交互按键都会产生一个数据分组,每次从客户传到服务器的是一个字节的按键。而Rlogin需要远程系统回显客户键入的字符,这样就会产生4个报文段: (1)来自客户的 阅读全文
摘要:
TCP连接的建立可以简单的称为三次握手,而连接的中止则可以叫做四次挥手。 在TCP/IP协议中,TCP协议提供可靠的连接服务,采用3次握手建立一个连接。 第一次握手:建立连接时,客户端发送SYN包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认; 第二次握手:服务器收到SYN包,必 阅读全文
摘要:
TCP提供了一种面向连接的,可靠的字节流服务。面向连接意味着双方在交换数据之前需要建立一个tcp连接,这跟打电话很类似,需要先拨号振铃,接通后才可以对话。 TCP通过下列方式来提供可靠性: 应用数据被分割成TCP认为最适合发送的数据块。这和UDP完全不同,应用程序产生的数据报长度将保持不变。由TCP 阅读全文
摘要:
DNS的全称是Domain Name System。它负责把FQDN(域名)翻译成一个IP。最初的DNS系统使用的是一个巨大的hosts.txt文件(windows中就有这个文件),可是一段时间以后,开发者就不得不用数据库来代替hosts.txt文件,最终发展到了现在的分布式数据库。 windows 阅读全文
摘要:
单播(unicast) 单播是说,对特定的主机进行数据传送。例如给某一个主机发送IP数据包。这时候,数据链路层给出的数据头里面是非常具体的目的地址,对于以太网来 说,就是具体网卡的MAC地址(不是FF-FF-FF-FF-FF-FF,这是广播地址)。现在的具有路由功能的主机应该可以将单播数据定向转发, 阅读全文
摘要:
UDP是传输层协议,和TCP协议处于一个分层中,但是与TCP协议不同,UDP协议并不提供超时重传,出错重传等功能,也就是说其是不可靠的协议。 UDP封装: 20字节IP首部+8字节UDP首部+UDP数据 UDP首部格式: 解释: 源端口号:该项是任选项,默认值是0,可以被指定。端口号表示发送进程和接 阅读全文
摘要:
需要进行选路的数据报可以由本机产生,也可以由其他主机产生。若是其他主机产生,主机必须配置成一个路由器,否则通过网络接口接收到的数据报,如果目的地址不是本机,就要被丢弃。 IP搜索路由表的几个步骤:1) 搜索匹配的主机地址;2) 搜索匹配的网络地址;3) 搜索默认表项(默认表项一般在路由表中被指定为一 阅读全文