OSI模型;TCP/IP

来源:互联网 发布:如何玩转linux 编辑:程序博客网 时间:2024/05/21 10:48

OSI七层模型

从下到上:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层


物理层:主要定义物理设备标准,比如网线的接口类型,各种传输介质的速率。主要传输的是比特流(I/O转换为电流强弱来传输,传到目的地再由电流转换为I/O),这一层的数据叫做比特。

数据链路层:如何对格式化数据进行传输,以及如何对物理介质的访问,这一层通常还提供错误检测和纠正,以确保数据的可靠传输。

网络层:为不同地理位置网络中的两个主机提供链接和路径选择。这一层的常见协议IP,ICMP,IGMP。这一层数据叫做帧

传输层:定义了传输的协议和端口号,TCP/UDP;TCP:传输控制协议,可靠性强,效率低,用来传输可靠性强,数据量大的数据。UDP:用户数据报协议,传输速度快,可靠性低,用来传输可靠性低,数据量小的数据。。主要是将下层接受的数据进行分段和传输,到达目的地后再进行重组,这一层数据叫做段。

会话层:通过传输层建立数据传输的道路。主要在系统之间发起会话和接受会话请求

表示层:确保一个系统的应用层所发送的信息被另一个系统的应用层所读取

应用层:为用户的应用程序提供网络服务,电子邮件,文件传输,终端仿真

TCP/IP

数据链路层,网络层,传输层,应用层



通信过程

两台计算机在不同网段中,那么数据从一台计算机到另一台计算机传输过程中要经过一个或多个路由器

物理层的能力决定了最大传输速率,传输距离,抗干扰性等。集线器是工作在物理层的网络设备,用于双绞线的链接和信号中继(将已衰弱的信号再次放大使之传得更远)。

链路层有以太网、令牌环网等标准,链路层负责网卡驱动、帧同步、冲突检测、数据校验等工作。交换机是工作在链路层的网络设备,可以在不同的链路层网络之间转发数据帧,由于不同链路层的帧格式不同,交换机要讲进来的数据包拆掉链路层首部重新封装之后再转发。

网络层的IP协议是构成Intenet的基础。Internet上的主机通过IP地址来标识,Internet上有大量路由器负责根据IP地址选择合适的路径转发数据包,数据包从Internet上的源主机到目的主机往往要经过十多个路由器。路由器是工作在第三层的网络设备,同时兼有交换机的功能,可以在不同的链路层接口之间转发数据包,因此路由器需要将进来的数据包拆掉网络层和链路层两层首部并重新封装。IP协议不保证传输的可靠性,数据包在传输过程中可能丢失,可靠性可以在上层协议或应用程序中提供支持。

网络层负责点到点的传输(点指路由器或主机),而传输层负责端到端的传输(端指源主机和目的主机)。传输层可以选择TCP和UDP协议。TCP协议是一种面向连接的,可靠的协议。TCP传输需要双方先建立连接,之后由TCP协议保证数据收发的可靠性,丢失的数据包自动重发,上层应用程序收到的总是可靠的数据流,通讯之后关闭连接。UDP是不面向连接的,也不保证可靠性,有点像寄信,写好信放到邮筒里,既不能保证信件在邮寄过程中不会丢失,也不能保证信件是按顺序到目的地。需要自己完成丢包重发、消息排序等工作。

目的主机收到数据包之后,如何经过各层协议栈最后到达应用程序:

以太网驱动程序首先根据以太网首部中的“上层协议”字段确定该数据帧的有效载荷是IP、ARP还是RARP协议的数据报,然后交给相应的协议处理。假如是IP数据报,IP协议再根据IP首部中的上层协议字段确定该数据报的有效载荷是TCP、UDp、ICMP还是IGMP,然后交给相应的协议处理。假如是TCP或者UDP段,再根据首部的端口号字段确定该将应用层数据交给哪个用户进程。IP地址是标识网络中不同主机的地址,而端口号就是同一台主机上标识不同进程的地址,IP地址和端口号合起来标识网络中唯一的进程。


















0 0
原创粉丝点击