《TCP/IP详解》读书笔记

1. 网络协议的分层,有四个层次,从下向上分别是:

链路层:也称作数据链路层或网络接口层。主要处理物理接口的细节

网络层:也称作互联网层,处理分组在网络中的活动。在TCP/IP协议族中网络层协议包括IP、ICMP和IGMP。

运输层:为两台主机上的应用程序提供端到端的通信。在TCP/IP协议族中有两个不同的传输协议,TCP和UDP。

应用层:负责处理特定的应用程序细节,TCP/IP的实现都会提供Telnet、FTP、SMTP、SNTP等通用应用程序。

其中网络层和运输层的最大区别是:网络层(IP)提供点到点的服务,运输层(TCP、UDP)提供端到端的服务。

2.在TCP/IP协议族中,IP提供不可靠的服务,尽可能快的把分组从源节点送到目的节点,不提供任何可靠性保证。TCP在IP层之上,采用了超时重传、发送和接收端到端的确认分组机制,提供了可靠的服务。

3.应用程序使用TCP传送数据时,数据被送入协议栈中,逐个通过每一层直到被当做一串比特流送入网络。每一层对收到的数据都增加一些首部信息(有时还增加尾部信息)。UDP数据与TCP数据基本一致。唯一的不同是UDP传给IP的信息单元称作UDP数据包,而且UDP首部为8字节。

4.IP提供不可靠、无连接的数据报传输服务:

不可靠:不能保证IP数据报能成功到达目的地。简单的错误处理算法,丢弃数据报,发送ICMP消息给信息源。

无连接:IP不维护任何关于后续数据报的状态信息。每个数据报的处理是相互独立的。数据报可以不按发送顺序接收。

 

5.TCP通过以下方式提供可靠性:

a.应用数据被分割成TCP认为最适合发送的数据块。UDP应用程序产生的数据报长度保持不变。

b.发出一个段后,启动一个定时器等待目的端确认收到该报文段,如未能及时收到确认,将重发报文段。

c.当TCP收到另一端的数据,将发送一个确认(通常推迟几分之一秒)。

d.TCP将保持它首部和数据的校验和。如果收到的校验和有差错,TCP将丢弃这个报文段且不发送收到确认。

e.因IP数据报的到达可能会失序,TCP报文段的到达也可能会失序,如有必要,TCP会对收到的数据进行重新排序。

f.TCP的接收端必须丢弃重复的数据。

g.TCP提供流量控制。TCP的接收端只允许另一端发送接收端缓冲区所能接纳的数据。

6.建立TCP连接的三次握手:

a.请求端发送一个SYN段指名客户打算连接的服务器的端口,以及初始化序号(ISN)。

b.服务器发回包含服务器的初始序号的SYN报文段作为应答。同时,将确认序号设置为客户的ISN加1以对客户的SYN报文段进行确认。

c.客户必须将确认序号设置为服务器的ISN加1以对服务器的SYN报文段进行确认。

posted @ 2016-04-15 13:57  Jax.Li  阅读(350)  评论(0编辑  收藏  举报