什么是tcp/ip协议?TCP的三次握手指的是什么,为什么一定要三次握手,而不是四次或者是两次?

java分享会

分享人:龚剑飞

1.背景介绍

2.知识剖析

3.常见问题

4.解决方案

5.编码实战

6.扩展思考

7.参考文献

8.更多讨论

1.背景介绍

先介绍下背景

TCP/IP是什么?

TCP/IP不是一个协议,而是一个协议族的统称。里面包括了IP协议,IMCP协议,TCP协议等等。同时是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。 TCP/IP 定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的协议来完成自己的需求。

2.知识剖析

先来看看今天的主角

TCP/IP协议的四层结构

请看图例

第一层:链路层

包括操作系统中的设备驱动程序、计算机中对应的网络接口卡

第二层:网络层

网络互连层是整个TCP/IP协议栈的核心。它的功能是把分组发往目标网络或主机。同时,为了尽快地发送分组,可能需要沿不同的路径同时进行分组传递。因此,分组到达的顺序和发送的顺序可能不同,这就需要上层必须对分组进行排序。     网络互连层定义了分组格式和协议,即IP协议(Internet Protocol)。  

特别注意:此时的IP包是不安全的,IP协议不会管送没送到

第三层:传输层

在TCP/IP模型中,传输层的功能是使源端主机和目标端主机上的对等实体可以进行会话。在传输层定义了两种服务质量不同的协议。即:传输控制协议TCP和用户数据报协议UDP.

TCP协议是一个面向连接的、可靠的协议。它将一台主机发出的字节流无差错地发往互联网上的其他主机。在发送端, 它负责把上层传送下来的字节流分成报文段并传递给下层。在接收端,它负责把收到的报文进行重组后递交给上层。 TCP协议还要处理端到端的流量控制,以避免缓慢接收的接收方没有足够的缓冲区接收发送方发送的大量数据.

UDP协议是一个不可靠的、无连接协议,主要适用于不需要对报文进行排序和流量控制的场合。

第四层:应用层

TCP/IP模型将OSI参考模型中的会话层和表示层的功能合并到应用层实现。这一层主要的作用有DNS域名解析

3.常见问题

那么TCP为什么需要三次握手呢??

两次和四次为什么不可以呢?

4.解决方案

解决方案

三次握手是在安全可靠的基础上,握手次数最少的方案

两次握手并不能保证可靠性

四次握手又浪费了效率,当然,有的需要更高安全性的地方,是可以有N次握手协议的,但那是特殊情况

5.编码实战

6.扩展思考

7.参考文献

http://www.cnblogs.com/roverliang/p/5176456.html

8.更多讨论

鸣谢

感谢观看,如有出错,恳请指正

BY : 龚剑飞