
互联网
网络设备若要相互通信,双方就必须采用相同的方法。例如,如何探测通信目标、哪一方先发起通信、使用何种语言通信、怎样结束通信等规则都得事先确定。不同硬件、操作系统之间进行通信时,这一切都需要一种规则,这种规则就叫做协议(Protocol)。TCP/IP是与
互联网相关的各类协议族的统称,它以传输控制协议(TCP)和Internet协议(IP)这两个原始协议来命名。像TCP、UDP、IP、FTP、HTTP、ICMP、SMTP等都属于TCP/IP族内的协议。TCP/IP模型是
互联网的基础,可划分为四层,即链路层、网络层、传输层和应用层。下面我们重点介绍一下传输层协议:TCP和UDP。TCP的全称为传输控制协议(Transmission Control Protocol),由IETF的RFC 793定义,是一种面向连接的点对点传输通信协议,它将数据包作为非结构化字节流按有序顺序发送。TCP利用序列号和确认消息,由发送节点提供传送到目标节点的数据包传递信息。TCP确保数据的可靠性、端到端传递、重新排序和重传,直至达到超时条件或者接收到数据包的确认为止。TCP是
互联网上最常用的协议。当我们在浏览器中请求网页时,
计算机会把TCP数据包发送到Web
服务器的地址,要求其将网页返还给我们。Web
服务器通过发送TCP数据包流作出响应,然后浏览器将这些数据包组合起来形成网页。TCP的关键意义在于其可靠性,它通过对数据包编号来排序,并且通过让
服务器向浏览器发送已收到的响应来进行错误检查,所以在传输过程中不会有数据丢失或被破坏。1. TCP的连接过程(三次握手)主机A通过向主机B发送TCP SYN数据包来建立连接,其中包含随机序列号(4321),这个号码标记了A将要发送数据序号的起始。B接收到数据包后,用自己的序列号(5501)作出响应,响应中还包含确认号,这个确认号是A的序列号加1(4322)。A通过发送确认号来确认
服务器的响应,这个确认号是B的序列号加1(5502)。2. TCP终止连接