浅谈OSI七层网络模型和TCP/IP四层模型

OSI七层网络模型

  OSI(Open System Interconnection)开放系统互连参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系。

 

OSI七层模型

功能

对应的网络协议

应用层

应用层是网络体系中最高的一层,也是唯一面向用户的一层,也可视为为用户提供常用的应用程序,每个网络应用都对应着不同的协议

HTTP、TFTP, FTP, NFS, WAIS、SMTP

表示层

主要负责数据格式的转换,确保一个系统的应用层发送的消息可以被另一个系统的应用层读取,编码转换,数据解析,管理数据的解密和加密,同时也对应用层的协议进行翻译

Telnet, Rlogin, SNMP, Gopher

会话层

负责网络中两节点的建立,在数据传输中维护计算机网络中两台计算机之间的通信连接,并决定何时终止通信

SMTP, DNS

传输层

是整个网络关键的部分,是实现两个用户进程间端到端的可靠通信,处理数据包的错误等传输问题。是向下通信服务最高层,向上用户功能最底层。即向网络层提供服务,向会话层提供独立于网络层的传送服务和可靠的透明数据传输。

TCP, UDP

网络层

进行逻辑地址寻址,实现不同网络之间的路径选择,IP就在网络层

IP, ICMP, ARP, RARP, AKP, UUCP

数据链路层

物理地址(MAC地址),网络设备的唯一身份标识。建立逻辑连接、进行硬件地址寻址,相邻的两个设备间的互相通信

FDDI, Ethernet, Arpanet, PDN, SLIP, PPP,STP。HDLC,SDLC,帧中继

物理层

七层模型中的最底层,主要是物理介质传输媒介(网线或者是无线),在不同设备中传输比特,将0/1信号与电信号或者光信号互相转化

IEEE 802.1A, IEEE 802.2到IEEE 802

数据发送时从上至下封装,收到数据包后从下至上解包。

TCP/IP四层模型

TCP/IP四层模型:TCP/IP参考模型是计算机网络的祖父ARPANET和其后继的因特网使用的参考模型。

 

常见的网络相关的协议

DNS:域名解析协议 www.baidu.com

SNMP(Simple Network Management Protocol)网络管理协议

DHCP(Dynamic Host Configuration Protocol)动态主机配置协议,它是在TCP/IP网络上使客户机获得配置信息的协议

FTP(File Transfer Protocol)文件传输协议,它是一个标准协议,是在计算机和网络之间交换文件的最简单的方法。

TFTP(Trivial File Transfer Protocol):小文件传输协议

HTTP(Hypertext Transfer Protocol ):超文本传输协议

HTTPS(Secure Hypertext Transfer Protocol):安全超文本传输协议,它是由Netscape开发并内置于其浏览器中,用于对数据进行压缩和解压操作.

ICMP(Internet Control Message Protocol):Internet控制信息协议,互联网控制报文协议

ping  ip定义消息类型有:TTL超时、地址的请求与应答、信息的请求与应答、目的地不可到达

SMTP(Simple Mail Transfer Protocol):简单邮件传送协议

TELNET Protocol:虚拟终端协议

UDP(User Datagram Protocol):用户数据报协议,它是定义用来在互连网络环境中提供包交换的计算机通信的协议

TCP(Transmission Control Protocol):传输控制协议,是一种面向连接的、可靠的、基于字节流的传输层通信协议  log转发:开启一个协议:tcp(三次握手和四次挥手) 

TCP三次握手协议

TCP的连接建立是一个三次握手过程,目的是为了通信双方确认开始序号,以便后续

通信的有序进行。主要步骤如下:

1. 连接开始时,连接建立方(Client)发送SYN包,并包含了自己的初始序号a;——连接请求

2. 连接接受方(Server)收到SYN包以后会回复一个SYN包,其中包含了对上一个a包

的回应信息ACK,回应的序号为下一个希望收到包的序号,即a+1,然后还包含

了自己的初始序号b;——请求确认

3. 连接建立方(Client)收到回应的SYN包以后,回复一个ACK包做响应,其中包含了

下一个希望收到包的序号即b+1。——连接确认

TCP四次挥手

TCP终止连接的四次握手过程如下:

1. 首先进行关闭的一方(即发送第一个FIN)将执行主动关闭,而另一方(收到这

个FIN)执行被动关闭。

2. 当服务器收到这个FIN,它发回一个ACK,确认序号为收到的序号加1。和SYN一

样,一个FIN将占用一个序号。

3. 同时TCP服务器还向应用程序(即丢弃服务器)传送一个文件结束符。接着这个

服务器程序就关闭它的连接,导致它的TCP端发送一个FIN。

4. 客户必须发回一个确认,并将确认序号设置为收到序号加1。

 总结

  TCP(Transmission Control Protocol,传输控制协议)是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接。
一个TCP连接必须要经过三次“对话”才能建立起来,其中的过程非常复杂,我们这里只做简单、形象的介绍,你只要做到能够理解这个过程即可。
我们来看看这三次对话的简单过程:主机A向主机B发出连接请求数据包:“我想给你发数据,可以吗?”,这是第一次对话;主机B向主机A发送同意连接
和要求同步(同步就是两台主机一个在发送,一个在接收,协调工作)的数据包:“可以,你什么时候发?”,这是第二次对话;主机A再发出一个数据包
确认主机B的要求同步:“我现在就发,你接着吧!”,这是第三次对话。三次“对话”的目的是使数据包的发送和接收同步,经过三次“对话”之后,主机A
才向主机B正式发送数据。 UDP(User Data Protocol,用户数据报协议)是与TCP相对应的协议。它是面向非连接的协议,它不与对方建立连接,
而是直接就把数据包发送过去!  
  

 UDP适用于一次只传送少量数据、对可靠性要求不高的应用环境。比如,我们经常使用“ping”命令来测试两台主机之间TCP/IP通信是否正常,
其实“ping”命令的原理就是向对方主机发送UDP数据包,然后对方主机确认收到数据包,如果数据包是否到达的消息及时反馈回来,那么网络就是通的。
例如,在默认状态下,一次“ping”操作发送4个数据包(如图2所示)。大家可以看到,发送的数据包数量是4包,收到的也是4包(因为对方主机收到
后会发回一个确认收到的数据包)。这充分说明了UDP协议是面向非连接的协议,没有建立连接的过程。正因为UDP协议没有连接的过程,所以它的通信
效果高;但也正因为如此,它的可靠性不如TCP协议高。QQ就使用UDP发消息,因此有时会出现收不到消息的情况。 tcp协议和udp协议的差

 
TCP 
UDP 
是否连接
面向连接
 面向非连接
传输可靠性
 可靠 
不可靠
应用场合
传输大量数据
视频,语音通讯,或网络环境很好,比如局域网中通讯可以使用
udp。数据传输完整性,可以通过应用层的软件来校对就可以了。
少量数据 
传文件,数据完整性要求高
速度
对系统资源
的要求
较多      
   较少

     结构

  信息包有20个字节 UDP信息包的标题很短,只有8个字节
     

TCP和UDP常用端口号名称

可以查询 vim /etc/services    此文件中,包含所有常见端口号及服务名称

21

ftp

文件传输服务

22

ssh

安全远程连接服务

23

telnet

远程连接服务

25

smtp

电子邮件服务

53

DNS

域名解析服务,有tcp53也有用udp53端口传输

80

http

web服务

443

https

安全web服务

 
原文地址:https://www.cnblogs.com/tomsongqi/p/10696648.html