网络为什么要分层:OSI模型与TCP/IP模型

OSI(Open System Interconnection Reference Model)概念模型

网络为什么要分层:OSI模型与TCP/IP模型


7.应用层:
应用层解决的是我们的业务问题。

像DNS,HTTP,P2P,EMAIL/POP,SMTP,Telnet,FTP都是工作在这一层。

七层设备: 工作在应用层处理,用来处理HTTP协议等软件。(比如Apache,Nginx 通常叫做七层的负载均衡设备)


6.表示层:
表示层是用来处理数据表示和加密的;它负责将网络中消息转换成应用层可以读取的消息,怎么理解呢?比如SSL协议下的消息格式,应用层进程用户是无法直接读取的,需要表示层做一次转换(比如解密?)所以我们的TLS/SSL就是工作在我们的表示层。

它可以识别的数据包括: HTML,DOC,JPEG,MP3,AVI,Sockets


5.会话层:
会话层是一个完全概念化的一层,它负责建立会话,握手,维持连接,关闭会话。实际上表示层和传输层都有延伸到我们的会话层。它只会一个概念,帮我们来理解Session。

会话建立在 TCP,SIP,RTP,RPC-named pipes 协议下


4.传输层:
端到端的连接和可靠性,包括我们经常使用到的TCP协议和UDP协议,他们解决了什么问题呢? 首先他们解决了进程与进程之间的通信,也就是说只要这个报文到达了我们的主机上,那么主机应该讲这个报文分发给哪一个进程呢,应该由传输层来决定,
传输层还做了更多的事情,比如在TCP协议中,它保证了报文的可达性,流量的控制。

工作在此层的协议有: TCP,UDP,SCTP,SSL,TLS(眼尖的朋友可能会发现之前有写到SSL/TLS是在表示层出现的,真实的应该是在表示层)

四层设备: 负载均衡loadbalance,比如说LVS,Nginx的stream模块。


3.网络层:
网络层主要看的是IP协议,IP协议确保是在广域网中可以从一个主机上将报文发送到另外一个主机上。所以广域网就是我们现在所说的英特网。

工作在此层的协议有: IP,ARP,IPsec,ICMP,IGMP,OSPF

三层设备: 三层设备是工作在网络层的设备。基于IP报文,我们从广域网上进行报文转发的设备,路由器是最常用的三层设备,利用不同网络的ID号(即IP地址)来确定数据转发的地址。IP地址是在软件中实现的,描述的是设备所在的网络,有时这些第三层的地址也称为协议地址或者网络地址。(比如路由器)


2.数据链路层:
网络层对应的是我们的数据链路层,数据链路层是我们的局域网中,我们使用的mac地址连接我们的交换机/路由器就可以将报文转到另外一个主机上了。它只可以工作在我们的以太网我们这样的局域网上。

工作在此层的网络协议: Ethernet(以太网),802.11,MAC/LLC,VALN(虚拟局域网) ,ATM,HDP,Fibre Chanel, Frame Relay, HDLC, PPP Q.921,Token Ring

通常说的二层设备: 是面向于我们的mac地址来转发的设备,(比如交换机)


1.物理层:
我们可以理解成我们的物理介质。(网线,水晶头,模块。。)


两个概念: 广域网(网络层,主要是IP协议),局域网(数据链路层,物理地址mac,通过交换机和路由器传递数据)
什么是广域网?
什么是局域网?
什么是以太网?


OSI 模型与 TCP/IP 模型对照

网络为什么要分层:OSI模型与TCP/IP模型

ISO网络七层各层的常见设备

网络为什么要分层:OSI模型与TCP/IP模型

常用计算机网络端口号

  • 20、21 FTP
    FTP服务器以及客户端所开放的端口,用于上传、下载。进行FTP文件传输中,客户端首先连接到FTP服务器的21端口,进行用户的认证,认证成功后,要传输文件时,服务器会开一个端口为20来进行传输数据文件。
  • 22 SSH
    PcAnywhere建立的TCP和这一端口的连接可能是为了寻找ssh。这一服务有许多弱点,如果配置成特定的模式,许多使用RSAREF库的版本就会有不少的漏洞存在。
  • 23 Telnet 远程登录,SSH的英文全称是Secure
    SHell。通过使用SSH,你可以把所有传输的数据进行加密,这样“中间人”这种攻击方式就不可能实现了,而且也能够防止DNS和IP欺骗。还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替telnet,又可以为ftp、pop、甚至ppp提供一个安全的“通道”。
  • 25 SMTP SMTP服务器所开放的端口,用于发送邮件。 53 DNS服务 域名服务器(Domain Name
    Server)。在Internet上域名与IP地址之间是一一对应的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器。
  • 69 Trival File Transfer
    许多服务器与bootp一起提供这项服务,便于从系统下载启动代码。它们也可用于系统写入文件。
  • 79 Finger Server
    入侵者用于获得用户信息,查询操作系统,探测已知的缓冲区溢出错误,回应从自己机器到其他机器Finger扫描。
  • 80 HTTP 用于网页浏览。
  • 102 Message transfer agent 消息传输代理。Message transfer
    agent(MTA)-X.400 over TCP/IP。
  • 137、138、139 NETBIOS Name Service
    其中137、138是UDP端口,当通过网上邻居传输文件时用这个端口。而139端口:通过这个端口进入的连接试图获得NetBIOS/SMB服务。这个协议被用于windows文件和打印机共享和SAMBA。还有WINS
    Regisrtation也用它。
  • 110 SUN公司的RPC服务所有端口
    常见RPC服务有rpc.mountd、NFS、rpc.statd、rpc.csmd、rpc.ttybd、amd等
  • 113 Authentication Service
    这是一个许多计算机上运行的协议,用于鉴别TCP连接的用户。使用标准的这种服务可以获得许多计算机的信息。但是它可作为许多服务的记录器,尤其是FTP、POP、IMAP、SMTP和IRC等服务。通常如果有许多客户通过防火墙访问这些服务,将会看到许多这个端口的连接请求。记住,如果阻断这个端口客户端会感觉到在防火墙另一边与E-MAIL服务器的缓慢连接。许多防火墙支持TCP连接的阻断过程中发回RST。这将会停止缓慢的连接。
  • 119 Network News Transfer Protocol
    NEWS新闻组传输协议,承载USENET通信。这个端口的连接通常是人们在寻找USENET服务器。多数ISP限制,只有他们的客户才能访问他们的新闻组服务器。打开新闻组服务器将允许发/读任何人的帖子,访问被限制的新闻组服务器,匿名发帖或发送SPAM。
  • 161 SNMP SNMP允许远程管理设备。所有配置和运行信息的储存在数据库中,通过SNMP可获得这些信息。
  • 443 Https 网页浏览端口,能提供加密和通过安全端口传输的另一种HTTP。
  • 3389 windows远程终端 windows远程终端
  • 8080 WWW代理服务
    8080端口同80端口,是被用于WWW代理服务的,可以实现网页浏览,经常在访问某个网站或使用代理服务器的时候,会加上“:8080”。
    网络为什么要分层:OSI模型与TCP/IP模型