七层网络结构
网络层对应设备
七层模型只有最下三层有实体设备,上四层都是软件层面的表示了。
第一层:物理层,代表设备:网卡,网线,光纤,atm线缆等。
第二层:数据链路层,代表设备:二层交换机,hub。
第三层:网络层,代表设备:路由器,三层交换机,防火墙。
第四层:传输层,代表协议:tcp,udp。之后的5-7层就是各种协议的表示了。这个主要是开发人员用的多一些,如http,smtp,ftp等等
各分层作用(略写)
设备层:略
网络层:网络层(network layer)是OSI模型的第三层。它是OSI参考模型中最复杂的一层,也是通信子网的最高层,它在下两层的基础上向资源子网提供服务。网络层的主要任务是为网络上的不同主机提供通信。
传输层:操作系统层面协议栈保存在操作系统内核中,主要负责向两个主机中进程之间的通信提供服务。(注意到传输层就已经可以在进程之间通讯了(能找到主机上的进程),也很好理解tcp既然能通过端口建立连接肯定就能通过端口找到进程)
应用层:进一步在传输层上做了用户的自定义规范。(根据业务需求添加一些格式)
各层详细介绍
- 物理层(physical layer)是OSI参考模型的最低层,也是OSI模型的第一层。物理层的任务是透明地传送比特流。现有计算机网络中的物理设备和传输媒体种类繁多,通信手段也有多种,物理层的作用正是要尽可能地屏蔽这些差异,使物理层上面的数据链路层感觉不到这些差异。该层的典型规范代表包括:EIA/TIA RS-232、EIA/TIA RS-449、V.35、RJ-45等。 [3]
- 数据链路层(data link layer)是OSI模型的第二层。它的主要任务是负责在两个相邻结点之间的线路上无差错地传输以帧为单位的数据,即将一条有可能出差错的实际链路转变成让网络层向下看去好像是一条不出差错的链路。数据链路层将数据分解成帧,然后按顺序传输帧,每一帧包括数据和必要的控制信息(包括同步信息、地址信息、差错控制信息和流量控制信息等)。该层协议的代表包括SDLC、HDLC、PPP、STP、帧中继等。 [3]
- 网络层(network layer)是OSI模型的第三层。它是OSI参考模型中最复杂的一层,也是通信子网的最高层,它在下两层的基础上向资源子网提供服务。网络层的主要任务是为网络上的不同主机提供通信。它通过路由选择算法,为分组通过通信子网选择最适当的路径,以实现网络的互连功能。具体地说,数据链路层的数据在这一层被转换为数据包,然后通过路径选择、分段组合、流量控制、拥塞控制等将信息从一台网络设备传送到另一台网络设备。网络层负责在网络中传送的数据单元是分组或包。该层协议的代表包括IP、IPX、RIP、OSPF等。 [3]
- 运输层(transport layer)是OSI模型的第四层。一般来说,OSI下三层的主要任务是数据通信,上三层的任务是数据处理。因此,该层是通信子网和资源子网的接口和桥梁,起到了承上启下的作用。该层提供会话层和网络层之间的传输服务,这种服务从会话层获得数据,并在必要时对数据进行分割然后将数据传递到网络层,并确保数据能正确无误地传送到网络层。因此,运输层负责提供主机中两个进程之间数据的可靠传送。运输层的目的是向用户透明地传送报文,它向高层屏蔽了下层数据通信的细节。运输层的数据传输单元是报文段(segment),简称报文。该层协议的代表包括TCP、UDP、SPX等。 [3]
- 会话层(session layer)是OSI模型的第五层。这一层又称会晤层或对话层,其主要任务是负责维护两个实体之间的会话连接确保点到点的传输不被中断,并进行会话管理和数据交换管理,即组织和协调两个会话进程之间的通信,并对数据交换进行管理。 [3]
- 表示层(presentation layer)是OSI模型的第六层。它的主要功能是协商和建立数据交换的格式,解决各应用程序之间在数据格式表示上的差异,,以使一个主机应用层的数据可以被另一个主机的应用层理解,如数据的加密、解密、编码、格式转换等。 [3]
- 应用层(application layer)是OSI模型的最高层,它是用户应用程序和网络之间的接口,完成用户希望在网络上完成的各种工作。它在其他六层工作的基础上,负责完成网络应用程序与网络操作系统之间的联系。应用层为用户提供的常见服务有文件服务、目录服务、文件传输服务(FTP)、远程登录服务(Telnet)、电子邮件服务(E-Mail)、打印服务、安全服务、网络管理服务、数据库服务等。 [3]
TCP/IP
- 网络接口层:网络接口层严格来说不是一个独立的层次,只是一个接口,TCP/IP并没有对他定义什么具体的协议。网络接口层负责将网络层的数据发送出去,或从网络层收数据帧,抽出IP数据报上交网际层。网络接口层可以使用各种网络,如LAN、MAN、WAN,甚至点对点链路。网络接口层使得上层的TCP/IP和底层的实际网络无关。 [5]
- 网络层:一、负责相邻计算机之间的通信。其功能包括三方面。处理来自传输层的分组发送请求,收到请求后,将分组装入IP数据报,填充报头,选择去往信宿机的路径,然后将数据报发往适当的网络接口。二、处理输入数据报:首先检查其合法性,然后进行寻径——假如该数据报已到达信宿机,则去掉报头,将剩下部分交给适当的传输协议;假如该数据报尚未到达信宿,则转发该数据报。三、处理路径、流控、拥塞等问题。网络层包括:IP(Internet protocol)协议、ICMP(Internet Control Message Protocol)控制报文协议、ARP(Address resolution protocol)地址转换协议、RARP(Reverse arp)反向地址转换协议。IP是网络层的核心,通过路由选择将下一跳IP封装后交给接口层。IP数据报是无连接服务。ICMP是网络层的补充,可以回送报文。用来检测网络是否通畅。Ping命令就是发送ICMP的echo包,通过回送的echo relay进行网络测试。ARP是正向地址解析协议,通过已知的IP,寻找对应主机的MAC地址。RARP是反向地址解析协议,通过MAC地址确定IP地址。比如无盘工作站和DHCP服务。 [5]
- 传输层:提供应用程序间的通信。其功能包括:一、格式化信息流;二、提供可靠传输。为实现后者,传输层协议规定接收端必须发回确认,并且假如分组丢失,必须重新发送。传输层协议主要是:传输控制协议TCP(Transmission Control Protocol)和用户数据报协议UDP(User Datagram protocol)。 [5]
- 应用层:应用层是向用户提供一组常用的应用程序,比如电子邮件、文件传输访问、远程登录等。远程登录TELNET使用TELNET协议提供在网络其它主机上注册的接口。 TELNET会话提供了基于字符的虚拟终端。文件传输访问FTP使用FTP协议来提供网络内机器间的文件拷贝功能。应用层一般是面向用户的服务。如FTP、TELNET、DNS、SMTP、POP3。FTP(File transfer protocol)是文件传输协议,一般上传下载用FTP服务,数据端口是20H,控制端口是21H。Telnet服务是用户远程登录服务,使用23H端口,使用明码传送,保密性差、简单方便。DNS(Domain name service)是域名解析服务,提供域名到IP地址之间的转换。SMTP(Simple Mail Transfer protocol)是简单邮件传输协议,用来控制信件的发送、中转。POP3(Post office protocol 3)是邮局协议第3版本,用于接收邮件。 [5]