博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OSI和TCP/IP
阅读量:3982 次
发布时间:2019-05-24

本文共 2757 字,大约阅读时间需要 9 分钟。

TCP/IP协议栈具有简单的分层设计,与OSI参考模型有清晰的对应关系。
 
OSI是Open System Interconnection 的缩写,意为开放式系统互联参考模型。
这个模型把网络通信的工作分为7层第一层到第三层属于OSI参考模型的低三层,负责创建网络通信连接的链路;第四层到第七层为OSI参考模型的高四层,具体负责端到端的数据通信
每层完成一定的功能,每层都直接为其上层提供服务,并且所有层次都互相支持,而网络通信则可以自上而下(在发送端)或者自下而上(在接收端)双向进行。当然并不是每一通信都需要经过OSI的全部七层,有的甚至只需要双方对应的某一层即可。物理接口之间的转接,以及中继器与中继器之间的连接就只需在物理层中进行即可;而路由器与路由器之间的连接则只需经过网络层以下的三层即可。总的来说,双方的通信是在对等层次上进行的,不能在不对称层次上进行通信。
OSI参考模型的评价  无论是OSI参考模型与协议,还是TCP/IP参考模型与协议都是不完美的。造成OSI参考模型不能流行的主要原因是之一是其自身的缺陷。会话层在大多数应用中很少用到,表示层几乎是空的。在数据链路层与网络层之间有很多的子层插入,每个子层有不同的功能。OSI模型将“服务”与“协议”的定义结合起来,使得参考模型变得格外复杂,将它的实现起是困难的。同时,寻址、流控与差错控制在每一层里都重复出现,必然降低系统效率。虚拟终端协议最初安排在表示层,现在安排在应用层。关于数据安全性,加密与网络管理等方面的问题也在参考模型的设计初期被忽略了。参考模型的设计更多是被通信思想所支配,很多选择不适合于计算机与软件的工作方式。很多“原语“在软件的很多高级语言中实现起来很容易,但严格按照层次模型编程的软件效率很低。TCP/IP模型的评价  TCP/IP参考模型与协议也有它自身的缺陷  1) 它在服务、接口与协议的区别上不清楚。一个好的软件工程应该将功能与实现方法区分开来,TCP/IP恰恰没有很好的做到这点,这就使得TCP/IP参考模型对于使用新技术的指导意义不够。  2) TCP/IP的主机-网络层本身并不是实际的一层,它定义了网络层与数据链路层的接口。物理层与数据链路层的划分是必要和合理的,一个好的参考模型应该将它们区分开来,而TCP/IP参考模型却没有做到这点。

ISO 7层模型

1.
物理层:主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种
传输介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后再转化为1、0,也就是我们常说的数模转换与模数转换)。这一层的数据叫做比特。
2.
数据链路层:定义了如何让格式化数据以进行传输,以及如何让控制对物理介质的访问。这一层通常还提供错误检测和纠正,以确保数据的
可靠传输。(基于帧的可靠性传输)
3.
网络层:在位于不同地理位置的网络中的两个
主机系统之间提供连接和路径选择。Internet的发展使得从世界各站点访问信息的用户数大大增加,而
网络层正是管理这种连接的层。
4.
传输层
:定义了一些传输数据的协议和
端口号
(WWW端口80等),如:TCP(
传输控制协议
,传输效率低,可靠性强,用于传输可靠性要求高,数据量大的数据),UDP(
用户数据报协议
,与TCP特性恰恰相反,用于传输可靠性要求不高,数据量小的数据,如QQ聊天数据就是通过这种方式传输的)。 主要是将从下层接收的数据进行分段和传输,到达目的地址后再进行重组。常常把这一层数据叫做
。(基于数据包的可靠性传输)
5.会话层:通过
传输层(
端口号:传输端口与接收端口)建立数据传输的通路。主要在你的系统之间发起会话或者接受会话请求(设备之间需要互相认识可以是IP也可以是MAC或者是
主机名)。(传输中断,重发,断点控制)
6.
表示层:可确保一个系统的
应用层所发送的信息可以被另一个系统的应用层读取。例如,PC程序与另一台计算机进行通信,其中一台计算机使用扩展二一十进制
交换码(EBCDIC),而另一台则使用美国信息交换标准码(ASCII)来表示相同的字符。如有必要,
表示层会通过使用一种通格式来实现多种数据格式之间的转换。
7.
应用层:是最靠近用户的OSI层。这一层为用户的应用程序(例如
电子邮件
文件传输
终端仿真)提供网络服务。

TCP/IP参考模型

物理层(RS-232、V.35)和 数据链路层(HDLC、X.25)涉及到在通信信道上传输的原始比特流,它实现传输数据所需要的机械、电气、功能性及过程等手段,提供检错、纠错、同步等措施,使之对网络层显现一条无错线路;并且进行流量调控BitsFrames

网络层检查网络拓扑,以决定传输报文的最佳路由,执行数据转发。其关键问题是确定数据包从源端到目的端如何选择路由。网络层的主要协议有IPICMP(Internet Control Message Protocol,互联网控制报文协议)、IGMP(Internet Group Management Protocol,互联网组管理协议)、ARP(Address Resolution Protocol,地址解析协议)和RARP(Reverse Address Resolution Protocol,反向地址解析协议)等。Packets

传输层的基本功能是为两台主机间的应用程序提供端到端的通信。传输层从应用层接受数据,并且在必要的时候把它分成较小的单元,传递给网络层,并确保到达对方的各段信息正确无误。传输层的主要协议有TCPUDP(User Datagraph Protocol,用户数据报协议)。Segments

应用层负责处理特定的应用程序细节。应用层显示接收到的信息,把用户的数据发送到低层,为应用软件提供网络接口。应用层 包含大量常用的应用程序,例如HTTP(HyperText Transfer Protocol文本传输协议)、Telnet(远程登录)、FTP(File Transfer Protocol)等。

你可能感兴趣的文章
数学:最小二乘的矩阵求导
查看>>
数学:反向传播算法(BP 算法)
查看>>
数学:SVM(2)点到直线距离
查看>>
数学:SVM(1)超平面表达式
查看>>
数学:SVM(3)支持向量间隔
查看>>
数学:SVM(4)转化对偶问题
查看>>
数学:二范数的平方求导
查看>>
数学:SVM(5)对偶问题极值点
查看>>
数学:SVM(6)对偶问题极值点带入
查看>>
数学:SVM(7)对偶问题KKT条件
查看>>
NLP:jieba和snownlp
查看>>
python:删除list中元素
查看>>
python:声明和定义
查看>>
python:类内变量
查看>>
linux:查看系统信息
查看>>
机器学习:LR和SVM对比
查看>>
DT:决策树划分
查看>>
LSTM:对比标准RNN
查看>>
DL:调优trick
查看>>
数学:LR推导
查看>>