第1个回答 2020-02-29
1.背景介绍
先介绍下背景
TCP/IP是什么?
TCP/IP不是一个协议,而是一个协议族的统称。里面包括了IP协议,IMCP协议,TCP协议等等。同时是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。 TCP/IP 定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的协议来完成自己的需求。
2.知识剖析
先来看看今天的主角
TCP/IP协议的四层结构
请看图例
OSI七层参考模型TCP/IP四层的关系:
数据包说明:
IP层传输单位是IP分组,属于点到点的传输;TCP层传输单位是TCP报文段,属于端到端的传输
第一层:链路层
包括操作系统中的设备驱动程序、计算机中对应的网络接口卡
第二层:网络层
网络互连层是整个TCP/IP协议栈的核心。它的功能是把分组发往目标网络或主机。同时,为了尽快地发送分组,可能需要沿不同的路径同时进行分组传递。因此,分组到达的顺序和发送的顺序可能不同,这就需要上层必须对分组进行排序。 网络互连层定义了分组格式和协议,即IP协议(Internet Protocol)。
特别注意:此时的IP包是不安全的,IP协议不会管送没送到
第三层:传输层
在TCP/IP模型中,传输层的功能是使源端主机和目标端主机上的对等实体可以进行会话。在传输层定义了两种服务质量不同的协议。即:传输控制协议TCP和用户数据报协议UDP.
TCP协议是一个面向连接的、可靠的协议。它将一台主机发出的字节流无差错地发往互联网上的其他主机。在发送端, 它负责把上层传送下来的字节流分成报文段并传递给下层。在接收端,它负责把收到的报文进行重组后递交给上层。 TCP协议还要处理端到端的流量控制,以避免缓慢接收的接收方没有足够的缓冲区接收发送方发送的大量数据.
UDP协议是一个不可靠的、无连接协议,主要适用于不需要对报文进行排序和流量控制的场合。
第四层:应用层
TCP/IP模型将OSI参考模型中的会话层和表示层的功能合并到应用层实现。这一层主要的代表有DNS域名解析/http协议
运输层: tcp/udp
UDP特点
1.面向无连接。发送数据前不需要建立连接
2.尽最大努力交付。即不保证可靠交付
3. 面向报文。对于应用层交下来的报文,既不合并也不拆分,添加首部后直接交付给IP层
4.没有拥塞控制,网络出现拥塞不会使源主机发送速率降低,这对于某些实时应用是很重要的。tcp在网络拥塞是,依靠滑动窗口机制可以告诉发送方减缓发送速率
5.首部开销小,只有八个字节,比tcp的20个字节要短(20-60).
首部格式
利用首部格式可以较好的理解协议
TCP主要特点
1.面向面向连接的运输层协议。应用程序在使用tcp协议之前,要先建立tcp连接,数据传输完毕后,也要释放连接。
应用程序间的通信像是,通话前要先拨号建立连接,通话结束后要挂机释放连接。
2. 提供可靠交付。无差错,不丢失,不重复,并按序到达。
3.采用全双工通信。通信双方在任何时候都可以发送和接受数据,且通信双方都设有发送缓存和接受缓存,用来临时存放双向通信的数据。
4.面向字节流。应用程序交下来的是数据块,但tcp把他们看成是无结构无意义的字节流