TCP/IP协议详解卷1学习笔记_TCP协议
2006-04-13 10:12
525 查看
TCP协议
==> TCP首部
源端口号、目的端口号、位序号、位确认序号、首部长度、标志位、窗口大小、检验和、紧急指针和其它选项。
一个IP地址和一个端口号也成为一个插口(socket)。插口对可唯一确定互联网中每个TCP连接的双方。
==> TCP连接的建立与终止
TCP是一个面向连接的协议,无论哪方向另一方发送数据之前,都必须先在双方之间建立一条连接。
TCP连接的建立——三次握手。
TCP连接的终止——四次握手。这是由TCP的半关闭造成的。因为TCP是全双工的,因此每个方向必须单独的进行关闭。
==> 最大报文段长度MSS
MSS越大,允许每个报文段传递的数据越多,相对TCP和IP的首部有更高的利用率。
有些情况下,MSS是可以在建立TCP连接时进行协商的选项,但是有些情况下不行 。
* 如果是本地网络,TCP可以根据网络外出接口处的MTU值减去固定的IP首部(20)和TCP长度(20),对于以太网,可以达到1460。
* 如果IP地址为非本地的,则MSS通常定为默认值536字节(允许20字节的IP首部和20字节的TCP首部以适合576字节的IP数据报)。
MSS让主机限制另一端发送数据的长度,同时也能控制它自己发送数据报的长度,避免较小MTU发生分片。
==> TCP的半关闭
TCP连接的一端在结束它的发送后还能接收来自另一端数据(直到它也发送FIN)的能力,这就是所谓的半关闭。应用程序很少用到。
==> 复位报文段
* 不存在的端口(目的端口没有进程监听)。目的主机将对SYN请求返回一个RST报文段。(UDP则将产生一个端口不可达的信息)
* 异常终止。
* 检测半打开的连接。
==> TCP服务器的设计
* 大多数TCP服务器的进程是并发的.
* 只有处于监听的进程才能处理客户端的连接请求.
* TCP服务器可以对本地IP地址进行限制,但是一般不能对远程IP地址进行限制.
==> TCP首部
源端口号、目的端口号、位序号、位确认序号、首部长度、标志位、窗口大小、检验和、紧急指针和其它选项。
一个IP地址和一个端口号也成为一个插口(socket)。插口对可唯一确定互联网中每个TCP连接的双方。
==> TCP连接的建立与终止
TCP是一个面向连接的协议,无论哪方向另一方发送数据之前,都必须先在双方之间建立一条连接。
TCP连接的建立——三次握手。
TCP连接的终止——四次握手。这是由TCP的半关闭造成的。因为TCP是全双工的,因此每个方向必须单独的进行关闭。
==> 最大报文段长度MSS
MSS越大,允许每个报文段传递的数据越多,相对TCP和IP的首部有更高的利用率。
有些情况下,MSS是可以在建立TCP连接时进行协商的选项,但是有些情况下不行 。
* 如果是本地网络,TCP可以根据网络外出接口处的MTU值减去固定的IP首部(20)和TCP长度(20),对于以太网,可以达到1460。
* 如果IP地址为非本地的,则MSS通常定为默认值536字节(允许20字节的IP首部和20字节的TCP首部以适合576字节的IP数据报)。
MSS让主机限制另一端发送数据的长度,同时也能控制它自己发送数据报的长度,避免较小MTU发生分片。
==> TCP的半关闭
TCP连接的一端在结束它的发送后还能接收来自另一端数据(直到它也发送FIN)的能力,这就是所谓的半关闭。应用程序很少用到。
==> 复位报文段
* 不存在的端口(目的端口没有进程监听)。目的主机将对SYN请求返回一个RST报文段。(UDP则将产生一个端口不可达的信息)
* 异常终止。
* 检测半打开的连接。
==> TCP服务器的设计
* 大多数TCP服务器的进程是并发的.
* 只有处于监听的进程才能处理客户端的连接请求.
* TCP服务器可以对本地IP地址进行限制,但是一般不能对远程IP地址进行限制.
相关文章推荐
- TCP协议详解----Linux学习笔记
- TCP/IP协议详解学习笔记-- 链路层(包含CentOS6.5下抓包工具tcpdump的使用)
- TCP/IP详解--学习笔记(9)-TCP协议概述
- TCP_IP协议详解学习笔记_卷1_第17-18章_TCP协议
- linux高性能服务器编程学习笔记三:TCP协议详解
- TCP/IP协议基本概括+ARP协议详解+DNS协议详解---Linux学习笔记
- TCP/IP协议详解卷1学习笔记-IP校验和与ICMP协议
- TCP协议详解---学习笔记
- linux高性能服务器编程学习笔记一:TCP/IP协议详解
- TCP/IP协议详解卷1学习笔记_UDP协议
- TCP/IP协议详解卷1学习笔记_多播和广播
- TCP/IP详解--学习笔记(9)-TCP协议概述
- J2EE系列之Spring4学习笔记(六)--IOC详解(bean之间的关系,bean的作用范围)
- Java NIO学习笔记四(零拷贝详解)
- matlab学习笔记 max和find函数详解
- [学习笔记]Java并发编程(详解wait(), notify(),sleep())
- hadoop 学习笔记:mapreduce框架详解
- 《TCP-IP详解 卷2:实现》学习笔记—mbuf的深入解析
- JFinal学习笔记-Interceptor详解
- Android开发学习笔记:5大布局方式详解