再读TCP/IP网络7层协议
随着工作的深入,每次读这7层协议,每次都有不同的理解。
分层名 分层号 描述 比喻
应用层Application Layer (台湾翻:应用层) 7 用户的应用程序和网络之间的接口 老板
表示层Presentation Layer (台湾:展现层) 6 协商数据交换格式 公司中简报老板、替老板写信的助理
会话层Session Layer (台湾:会谈层) 5 允许用户使用简单易记的名称建立连接 公司中收寄信、写信封与拆信封的秘书
传输层Transport Layer (台湾:传输层) 4 提供终端到终端的可靠连接 公司中跑邮局的送信职员
网络层Network Layer (台湾:网络层) 3 使用权数据路由经过大型网络 邮局中的排序工人
数据链路层Data Link Layer (台湾:资料链结层) 2 决定访问网络介质的方式 相当于邮局中的装拆箱工人
物理层Physical Layer (台湾:实体层) 1 将数据转换为可通过物理介质传送的电子信号 相当于邮局中的搬运工人
再理解:
物理层:完成相邻结点之间原始比特流的传说,控制数据怎么被放置到通信介质中。
数据链路层:在不可靠的物理线路上进行数据的可靠传输。主要网络设备有 网卡,网桥,交换机。
网络层:完成网络中主机间的报文传输。
传输层:是整个网络的关键部分,实现两个用户进程间端到端的可靠通信,处理数据包错误、数据包次序,以及其他一些关键传输问题。
会话层:允许不同机器上的用户之间建立会话关系,会话层提供的服务之一是管理对话控制。
表示层:涉及数据压缩和解压、数据加密和解密等工作。
应用层:支持运行于不同计算机上的进程进行通信,而这些进程则是为用户完成不同任务而设计的。
物理层:
物理层(physical layer)的主要功能是完成相邻结点之间原始比特流传输。物理层协议关心的典型问题是使用什么样的物理信号来表示数据0和1。1位持续的时间多长。数据传输是否可同时在两个方向上进行。最初的廉洁如何建立以及完成通信后连接如何终止。物理接口(插头和插座)有多少针以及各针的作用。物理层的设计主要涉及物理层接口的机械、电气、功能和过电特性,以及物理层接口连接的传输介质等问题。物理层的实际还涉及到通信工程领域内的一些问题。
数据链路层:
数据链路层(data link layer)的主要功能是如何在不可靠的物理线路上进行数据的可靠传输。数据链路层完成的是网络中相邻结点之间可靠的数据通信。为了保证书觉得可靠传输,发送出的数据针,并按顺序传送个针。由于物理线路不可靠,因此发送方发出的数据针有可能在线路上出错或丢失,从而导致接受方无法正确接收数据。为了保证能让接收方对接收到的数据进行正确的判断,发送方位每个数据块计算出CRC(循环冗余检验)并加入到针中,这样接收方就可以通过重新计算CRC来判断接收到的数据是否正确。一旦接收方发现接收到的数据有错误,则发送方必须重新传送这一数据。然而,相同的数据多次传送也可能是接收方收到重复的数据。
数据链路层要解决的另一个问题是防止高速发送方的数据把低速接收方“淹没”。因此需要某种信息流量控制机制使发送方得知接收方当前还有多少缓存空间。为了控制的方便,流量控制常常和差错处理一同实现。
在广域网中,数据链路层负责主机IMP、IMP-IMP之间数据的可靠传送。在局域网中,数据链路层负责制及之间数据的可靠传输。
网络层:
网络层(network layer)的主要功能是完成网络中主机间的报文传输,其关键问题之一是使用数据链路层的服务将每个报文从源端传输到目的端。在广域网中,这包括产生从源端到目的端的路由,并要求这条路径经过尽可能少的IMP。如果在子网中同时出现过多的报文,子网就可能形成拥塞,因为必须加以避免这种情况的出现。
当报文不得不跨越两个或多个网络时,又会带来很多新问题。比
在单个局域网中,网络层是冗余的,因为报文是直接从一台计算机传送到另一台计算机的,因此网络层所要做的工作很少。
传输层:
传输层(transport layer)的主要功能是实现网络中不同主机上的用户进程之间可靠的数据通信。
传输层要决定会话层用户(最终对网络用户)提供什么样的服务。最好的传输连接是一条无差错的、按顺序传送数据的管道,即传输层连接时真正的点到点。
由于绝大多数的主机都支持多用户操作,因而机器上有多道程序就意味着将有多条连接进出于这些主机,因此需要以某种方式区别报文属于哪条连接。识别这些连接的信息可以放入传输层的报文头中除了将几个报文流多路复用到一条通道上,传输层还必须管理跨网连接的建立和取消。这就需要某种命名机制,使机器内的进程能够讲明它希望交谈的对象。另外,还需要有一种机制来调节信息流,使高速主机不会过快的向低速主机传送数据。尽管主机之间的流量控制与IMP之间的流量控制不尽相同。
会话层:
会话层(SESSION LAYER)允许不同机器上的用户之间建立会话关系。会话层循序进行类似的传输层的普通数据的传送,在某某些场合还提供了一些有用的增强型服务。允许用户利用一次会话在远端的分时系统上登陆,或者在两台机器间传递文件。
会话层提供的服务之一是管理对话控制。会话层允许信息同时双向传输,或任一时刻只能单向传输。如果属于后者,类似于物理信道上的半双工模式,会话层将记录此时该轮到哪一方。一种与对话控制有关的服务是令牌管理(token management)。有些协议会保证双方不能同时进行同样的操作,这一点很重要。为了管理这些活动,会话层提供了令牌,令牌可以在会话双方之间移动,只有持有令牌的一方可以执行某种关键性操作。另一种会话层服务是同步。如果在平均每小时出现一次大故障的网络上,两台机器简要进行一次两小时的文件传输,试想会出现什么样的情况呢?每一次传输中途失败后,都不得不重新传送这个文件。当网络再次出现大故障时,可能又会半途而废。为解决这个问题,会话层提供了一种方法,即在数据中插入同步点。每次网络出现故障后,仅仅重传最后一个同步点以后的数据(这个其实就是断点下载的原理)。
表示层:
表示层(presentation layer)用于完成某些特定功能,对这些功能人们常常希望找到普遍的解决办法,而不必由每个用户自己来实现。表示层以下各层只关心从源端机到目标机到目标机可靠的传送比特流,而表示层关心的是所传送的信息的语法和语义。表示层服务的一个典型例子就是大家一致选定的标准方法对数据进行编码。大多数用户程序之间并非交换随机比特,而是交换诸如人名、日期、货币数量和发票之类的信息。这些对象使用字符串、整型数、浮点数的形式,以及由几种简单类型组成的数据结构来表示的。
在网络上计算机可能采用不同的数据表示,所以需要在数据传输时进行数据格式转换。为了让采用不同数据表示法的计算机之间能够相互通信而且交换数据,就要在通信过程中使用抽象的数据结构来表示所传送的数据。而在机器内部仍然采用各自的标准编码。管理这些抽象数据结构,并在发送方将机器的内部编码转换为适合网上传输的传送语法以及在接收方做相反的转换等噢年工作都是由表示层来完成的。
另外,表示层还涉及数据压缩和解压、数据加密和解米等工作(winrar的那一套)。
应用层:
连网的目的在于支持运行于不同计算机的进程彼此之间的通信,而这些进程则是为用户完成不同人物而设计的。可能的应用是多方面的,不受网络结构的限制。应用层(app;ocation layer)包括大量人们普遍需要的协议。虽然,对于需要通信的不同应用来说,应用层的协议都是必须的。例如:http、ftp、TCP/IP。
由于每个应用有不同的要求,应用层的协议集在OSI模型中并没有定义。但是,有些确定的应用层协议,包括虚拟终端、文件传输、电子邮件等都可以作为标准化的候选
再读TCP/IP网络7层协议的更多相关文章
- TCP/IP的网际层协议——ICMP
ICMP经常被认为是IP层的一个组成部分.它携带于IP数据包中,ICMP封装在IP数据包内部: IP首部 ICMP数据包 下面是一份差错报文的例子: 最右边的+或者-代表该报文是查询报文还是错误报文. ...
- TCP/IP的网际层协议——ARP
MAC地址对于每一台设备是全球唯一的,该地址被烧录在网卡的硬件电路上.MAC地址由12位十六进制数表示,其中前6位标识网卡的制造厂商,后6位是网卡的序列号.在以太网中,一个主机要和另一个主机进行通信, ...
- 网络层、传输层、应用层、端口通信协议编程接口 - http,socket,tcp/ip 网络传输与通讯知识总结
引: http://coach.iteye.com/blog/2024511 什么是TCP和UDP,以及二者区别是什么? TCP的全称为传输控制协议.这种协议可以提供面向连接的.可靠的.点到点的通信. ...
- TCP/IP 网络编程的理解
一.网络各个协议:TCP/IP.SOCKET.HTTP等 网络七层由下往上分别为物理层.数据链路层.网络层.传输层.会话层.表示层和应用层. 其中物理层.数据链路层和网络层通常被称作媒体层,是网络工程 ...
- 从网卡发送数据再谈TCP/IP协议—网络传输速度计算-网卡构造
在<在深谈TCP/IP三步握手&四步挥手原理及衍生问题—长文解剖IP>里面提到 单个TCP包每次打包1448字节的数据进行发送(以太网Ethernet最大的数据帧是1518字节,以 ...
- TCP/IP网络协议基础
实验楼学习网络协议传送门 一.TCP/IP简介 TCP/IP(Transmission Control Protocol/Internet Protocol)是传输控制协议和网络协议的简称,它定义了电 ...
- 对TCP/IP网络协议的深入浅出归纳
前段时间做了一个开发,涉及到网络编程,开发过程比较顺利,但任务完成后始终觉得有一些疑惑.主要是因为对网络协议不太熟悉,对一些概念也没弄清楚.后来 我花了一些时间去了解这些网络协议,现在对TCP/IP网 ...
- 转:对TCP/IP网络协议的深入浅出归纳
转自:http://blog.jobbole.com/74795/ 前段时间做了一个开发,涉及到网络编程,开发过程比较顺利,但任务完成后始终觉得有一些疑惑.主要是因为对网络协议不太熟悉,对一些概念也没 ...
- 对TCP/IP网络协议的深入浅出归纳(转)
前段时间做了一个开发,涉及到网络编程,开发过程比较顺利,但任务完成后始终觉得有一些疑惑.主要是因为对网络协议不太熟悉,对一些概念也没弄清楚.后来 我花了一些时间去了解这些网络协议,现在对TCP/IP网 ...
随机推荐
- vim的ex模式用法
本文出自 http://blog.csdn.net/shuangde800 本文是在学习<使用vi编辑器, Lamb & Robbins编著>时在evernote写的其中一章笔 ...
- hdu4709求三角形面积
Herding Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Su ...
- 基于visual Studio2013解决C语言竞赛题之1055排序
题目 解决代码及点评 /* 功能:已知A是有30个元素的整型数组,编写一个对A[I1]到A[I2](I1≤I2)之间的元素排序的函数(从大到小排序) 请调用上述函数先将A[5]至A[ ...
- VPS服务器下的centos网卡配置详解……
自动激活网卡 安装了CENTOS 6.X后,每次启动了系统都需要手动激话网卡,以下方法可以在系统启动后自动激活网卡. cat /etc/sysconfig/network-scripts/ifcfg- ...
- 定义自己的仪表板DashBoard - -kankanstyle
既然做了奶站软件,需要使用的仪表板,显示质量数据 public class MDashboard extends ImageView { private Bitmap mPointerBitmap; ...
- 怎样写Makefile文件(C语言部分)
本文摘抄自"跟我一起写Makefile ",只是原文中我自己感觉比较精要的一部分,并且只针对C语言,使用GCC编译器. 原文请看这里:http://wiki.ubuntu.org. ...
- jquery mobile 对手势触控提供了如下几个事件监听:
jquery mobile 对手势触控提供了如下几个事件监听: 复制代码代码如下: tap 当用户点屏幕时触发taphold 当用户点屏幕且保持触摸超过1秒时触发swipe 当页面被垂直或者水平拖动 ...
- Introduction to Probability (三) Independence
两个事件独立性的定义是:事件A的发生对事件B的发生毫无影响,即从A的发生与否.我们不能猜測出B是否发生. 从概率等式的表示来看就是B在A发生的情况下发生的概率等于B发生的概率本身. 进而引出了A与B同 ...
- pc2日记——有惊无险的第二天2014/08/29
今天下午如期的用pc2进行了第二场比赛.因为昨天的出错经历和早上充足的准备,下午的比赛尽管在開始的时候出了点小小的问题,但总的来说还是非常成功的. 早上八点过去504開始又一次配置client,由于开 ...
- TPL异步并行编程之任务超时
此处参考自阿涛的博文:http://www.cnblogs.com/HelloMyWorld/p/5526914.html 一 自己定义 基本的思路: net中异步操作由于是交给线程来实现,因此不可能 ...