Python网络编程(网络通信模型、tcp/ip协议簇)

OSI参考模型

ISOInternationalOrganization for Standardization,国际标准化组织),是一个全球性的非政府组织,是国际标准化领域中一个十分重要的组织。为了更好的使网络应用更为普及,ISO就推出了OSIOpen SystemInterconnect,即开放式系统互联)参考模型。其含义就是推荐所有公司使用这个规范来控制网络。这样所有公司都有相同的规范,就能互联了。

       OSI参考模型将网络通信的工作划分为7个层次,由低到高分别是:

(1)物理层(Physical Layer)

 (2)数据链路层(DataLink Layer)

 (3)网络层(Network Layer)

 (4)传输层(Transport Layer)Python网络编程(网络通信模型、tcp/ip协议簇)_第1张图片

 (5)会话层(Session Layer)

 (6)表示层(Presentation Layer)

 (7)应用层(Application Layer)

       物理层、数据链路层和网络层属于OSI参考模型中的低三层,负责创建网络通讯连接的链路;其他四层负责端到端的数据通信。每一层都完成特定的功能,并未其上层提供服务。

       在网络通信中,发送端自上而下使用OSI参考模型,对应用程序要发送的信息进行逐层打包,直至物理层将其发送到网络中;而接收端自下而上使用OSI参考模型,将收到的物理数据逐层解析,最后将得到的数据传送给应用程序。

 Python网络编程(网络通信模型、tcp/ip协议簇)_第2张图片

在OSI参考模型中,对等层协议之间交换的信息单元统称为协议数据单元(Protocol Data Unit,PDU)。在传输层及其以下,PDU还有各自特定名称

OSI参考模型中的层次

PDU的特定名称

传输层

数据段(Segment)

网络层

数据包(Packet)

数据链路层

数据帧(Frame)

物理层

比特(Bit)

   

 

具体7

数据格式

功能与连接方式

典型设备

应用层 Application

数据Data

网络服务与使用者应用程序间的一个接口

终端设备(PC、手机、平板等)

表示层 Presentation

数据Data

数据表示、数据安全、数据压缩

终端设备(PC、手机、平板等)

会话层 Session

数据Data

会话层连接到传输层的映射;会话连接的流量控制;数据传输;会话连接恢复与释放;会话连接管理、差错控制

终端设备(PC、手机、平板等)

传输层 Transport

数据组织成数据段Segment

用一个寻址机制来标识一个特定的应用程序(端口号)

终端设备(PC、手机、平板等)

网络层 Network

分割和重新组合数据包Packet

基于网络层地址(IP地址)进行不同网络系统间的路径选择

网关、路由器

数据链路层 Data Link

将比特信息封装成数据帧Frame

在物理层上建立、撤销、标识逻辑链接和链路复用以及差错校验等功能。通过使用接收系统的硬件地址或物理地址来寻址

网桥、交换机

物理层Physical

传输比特(bit)流

建立、维护和取消物理连接

光纤、同轴电缆、

双绞线、网卡、中继器、集线器

 

TCP/IP协议簇体系结构

Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议、Internet国际互联网络的基础,由网络层IP协议和传输层TCP协议两个独立的协议组成。

TCP位于OSI参考模型的传输层,IP协议位于网络层,TCP/IP中包含一组通信协议,因此被称为协议簇。

TCP/IP协议簇和OSI参考模型对性关系

Python网络编程(网络通信模型、tcp/ip协议簇)_第3张图片

 

1网络接口层

在TCP/IP参考模型中,网络接口层位于最低层。它负责通过网络发送和接收IP数据报。网络接口层包括各种物理网络协议,例如局域网的Ethernet(以太网)协议、Token ring(令牌环)协议,分组交换网的X.25协议等。

 

2网络层

在TCP/IP参考模型中,网络层位于第2层。它负责将源主机的报文分组发送到目的主机,源主机与目的主机可以在一个网段中,也可以在不同的网段中。

网络层包括下面4个核心协议

IP(Internet Protocol,网际协议):主要任务是对数据包进行寻址和路由,把数据包从一个网络转发到另一个网络。

ICMP(Internet Control Message Protocol,网际控制报文协议):用于在IP主机和路由器之间传递控制消息。控制消息是指网络是否连通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。

ARP(Address Resolution Protocol,地址解析协议):可以通过IP地址得知其物理地址(Mac地址)的协议。在TCP/IP网络环境下,每个主机都分配了一个32位的IP地址,这种互联网地址是在网际范围标识主机的一种逻辑地址。为了让报文在物理网络上传送,必须知道对方目的主机的物理地址。这样就存在把IP地址变换成物理地址的地址转换问题。

RARP(Reverse Address Resolution Protocol,逆向地址解析协议):该协议用于完成物理地址向IP地址的转换。

 

3传输层

在TCP/IP参考模型中,传输层位于第3层。它负责在应用程序之间实现端到端的通信。传输层中定义了下面两种协议。

TCP:是一种可靠的面向连接的协议,它允许将一台主机的字节流无差错地传送到目的主机。TCP协议同时要完成流量控制功能,协调收发双方的发送与接收速度,达到正确传输的目的。

UDP:是一种不可靠的无连接协议。与TCP相比,UDP更加简单,数据传输速率也较高。当通信网的可靠性较高时,UDP方式具有更高的优越性。

 

4应用层

在TCP/IP参考模型中,应用层位于最高层,其中包括了所有与网络相关的高层协议。常用的应用层协议说明如下。

FTP(FileTransfer Protocol)是文件传输协议,一般上传下载用FTP服务,数据端口是20H,控制端口是21H。

Telnet服务是用户远程登录服务,使用23H端口,使用明码传送,保密性差、简单方便。

DNS(Domain NameService)是域名解析服务,提供域名到IP地址之间的转换,使用端口53。

SMTP(Simple MailTransfer Protocol)是简单邮件传输协议,用来控制信件的发送、中转,使用端口25。

NFS(Network File System)是网络文件系统,用于网络中不同主机间的文件共享。

HTTP(HypertextTransfer Protocol)是超文本传输协议,这是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP的最初目的是为了提供一种发布和接收HTML页面的方法,使用端口80。

 

主要特点

(1)TCP/IP协议不依赖于任何特定的计算机硬件或操作系统,提供开放的协议标准,即使不考虑Internet,TCP/IP协议也获得了广泛的支持。所以TCP/IP协议成为一种联合各种硬件和软件的实用系统。

(2)TCP/IP协议并不依赖于特定的网络传输硬件,所以TCP/IP协议能够集成各种各样的网络。用户能够使用以太网(Ethernet)、令牌环网(Token Ring Network)、拨号线路(Dial-up line)、X.25网以及所有的网络传输硬件。

(3)统一的网络地址分配方案,使得整个TCP/IP设备在网中都具有惟一的地址

(4)标准化的高层协议,可以提供多种可靠的用户服务。

总结

 

OSI中的层

功能

TCP/IP协议族

应用层

文件传输,电子邮件,文件服务,虚拟终端

TFTPHTTPSNMPFTPSMTPDNSTelnet 等等

 

 

应用层

表示层

数据格式化,代码转换,数据加密

没有协议

会话层

解除或建立与别的接点的联系

没有协议

传输层

提供端对端的接口

TCPUDP

传输层

网络层

数据包选择路由

IPICMPOSPFEIGRPIGMP

网络层

数据链路层

传输有地址的帧以及错误检测功能

SLIPCSLIPPPPMTU

网络接口层

物理层

以二进制数据形式在物理媒体上传输数据

ISO2110IEEE802IEEE802.2

未定义


你可能感兴趣的:(python)