应用层的任务是:通过应用进程间的交互来完成特定的网络应用。应用层协议定义的就是 应用进程间通信和交互的规则。
对于不同的网络应用需要不同的一个应用层协议。 比如:域名系统DNS,HTTP协议,Smtp协议等等。 我们把应用层之间交互的数据单元称为报文 域名系统DNS域名系统DNS(Domian Name System)是英特网中的一个核心服务,它可以作为将域名和IP地址相互映射的一个分布式的数据库。
用处就是:可以方便的将复杂的IP和域名对应起来,从而方便了人们不需要取记住非常复杂的IP数字串。
超文本传输协议(HyperText Transfer Protocol),是互联网上应用最广泛的一种网络协议。几乎所有的www万维网文件都需要遵守这个HTTP协议。
二,传输层传输层主要的任务就是 **负责向两台主机进程之间的通信提供通用的 数据传输服务 **
传输层常用的两种协议
1.TCP 传输控制协议:提供的是面向链接的,可靠的字节流的数据传输服务
2.UDP用户数据协议:提供的是无连接的,尽最大努力来传输的一种数据传输服务( 不保证数据的可靠传输)。
特点:
TCP是面向连接的(需要提前建立主机之间的连接) 每一条TCP连接智能有俩个端点,每一条TCP连接只能一对一。 TCP提供可靠的数据传输服务。可以保证传输的数据,无差错,不丢失的并且按序到达。 TCP提供可靠的全双工通信。 也就是允许双方的应用进程在任何时候都能发送数据。TCP连接的俩段都设有发送数据和接送数据的缓存,用来临时存放数据。 面向字节流的。也就是数据进入进程或者流出进程的字节序列。 UDP(User Datagram Protocol)特点:
无连接的 UDP是尽最大努力交付数据,并不保证数据的可靠交付,主机不需要维持复杂的链接状态。 UDP是面向报文的。 UDP没有拥塞控制,因此网络出现拥塞也不会降低主机的发送速率(也是应为这个,对于直播,视频会议等实时应用非常有用) UDP不仅支持一对一还支持一对多,多对一,多对多。 UDP的首部开销比较小,只有8个字节,而TCP需要20个字节。 单工数据传输只支持数据在一个方向上传输 半双工数据传输允许数据在两个方向上传输,但是,在某一时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信; 全双工数据通信允许数据同时在两个方向上传输,因此,全双工通信是两个单工通信方式的结合,它要求发送设备和接收设备都有独立的接收和发送能力。 三,网络层网络层的任务就是选择合适的路线从一台主机到另外一台主机。其中要选择核时的网间路由和交换节点,确保计算机通信的数据可以及时的传输。
在发送数据的时候,网络层把运输层产生的报文段或者是用户数据封装成分组和包的形式进行传送。 在TCP/IP体系结构中,因为网络层就是使用的IP协议,因此分组也叫做IP数据报。互联网是由大量的异构(heterogeneous)网络通过路由器(router)相互连接起来的。互联网使用的网络层协议是无连接 的网际协议(Intert Prococol)和许多路由选择协议,因此互联网的网络层也叫做网际层或 IP 层。
四,数据链路层data link layer通常简称为数据层。俩台主机之间的数据传输,总是在唉一段一段的链路上传输数据,这和个就是专门的链路层协议。
在俩个相邻点之间传输数据的时候,数据层将网络层转发下来的IP数据饱组装成 帧,在俩个相邻节点间链路上进行传送。每一帧都包括了数据和必要的控制信息(如差错控制,同步信息,地址信息等等)
在接收数据时,控制信息使接收端能够知道一个帧从哪个比特开始和到哪个比特结束。
五,物理层在物理层上所传送的数据单位是比特。 物理层(physical layer)的作用是实现相邻计算机节点之间比特流的透明传送,尽可能屏蔽掉具体传输介质和物理设备的差异。使其上面的数据链路层不必考虑网络的具体传输介质是什么。“透明传送比特流”表示经实际电路传送后的比特流没有发生变化,对传送的比特流来说,这个电路好像是看不见的。
在互联网中,使用最广泛和最著名的的协议就是TCP/IP协议。
截下来就是简单看一下玉OSI七层协议模型,TCP/IP四层模型的区别。
这是网上非常著名的一张对比图