ISO七层模型

ISO七层协议与功能
ISO为了更好的使网络应用更为普及,就推出了OSI参考模型。其含义就是推荐所有公司使用这个规范来控制网络。这样所有公司都有相同的规范,就能互联了。提供各种网络服务功能的计算机网络系统是非常复杂的。根据分而治之的原则,ISO将整个通信功能划分为七个层次,划分原则是:
(1)网路中各结点都有相同的层次;
(2)不同结点的同等层具有相同的功能;
(3)同一结点内相邻层之间通过接口通信;
(4)每一层使用下层提供的服务,并向其上层提供服务;
(5)不同结点的同等层按照协议实现对等层之间的通信。

其内容如下:

 物理层:

传输数据单元:比特(Bit)

典型的设备:网线,集线器,中继器,调制解调器

介绍:物理层处于OSI参考模型的最底层。物理层的主要功能是利用物理传输介质为数据链路层提供物理连接,以便透明的传送比特流。

典型设备介绍:

网卡

              网卡是一块被设计用来允许计算机在计算机网络上进行通讯的计算机硬件。由于其拥有MAC地址,因此属于OSI模型的第1层和2层之间。它使得用户可以通过电缆或无线相互连接。

每一个网卡都有一个被称为MAC地址的独一无二的48位串行号,它被写在卡上的一块ROM中。在网络上的每一个计算机都必须拥有一个独一无二的MAC地址。

没有任何两块被生产出来的网卡拥有同样的地址。这是因为电气电子工程师协会(IEEE)负责为网络接口控制器(网卡)销售商分配唯一的MAC地址。

         主要功能

                    1、数据的封装与解封

发送时将上一层传递来的数据加上首部和尾部,成为以太网的帧。接收时将以太网的帧剥去首部和尾部,然后送交上一层

2、链路管理

主要是通过CSMA/CD(Carrier Sense Multiple Access with Collision Detection ,带冲突检测的载波监听多路访问)协议来实现

3、数据编码与译码

即曼切斯特编码与译码。其中曼切斯特编码,又称数字双向码、相位编码 (PE),是一种常用的二元码线路编码方式之一,被物理层使用来编码一个同步位流的时钟和数据。在通信技术中,用来表示所要发送比特 流中的数据与定时信号所结合起来的代码。 常用在以太网通信,列车总线控制,工业总线等领域。

  中继器(repeater):

         中继器是位于第1层(OSI参考模型的物理层)的网络设备。当数据离开源在网络上传送时,它是转换为能够沿着网络介质传输的电脉冲或光脉冲的——这些脉冲称为信号(signal)。当信号离开发送工作站时,信号是规划的,而且很容易辨认出来。但是,当信号沿着网络介质进行传送时, 随着经过的线缆越来越长,信号就会变得越来越弱,越来越差。中继器的目的是在比特级别对网络信号进行再生【放大信号】和重定时,从而使得它们能够在网络上传输更长的距离。

  集线器(hub):

         集线器的目的是对网络信号进行再生和重定时。它的特性与中继器很相似(被称为多端口中继器multiport repeater)。HUB是网络中各个设备的通用连接点,它通常用于连接LAN的分段。HUB含有多个端口。每一个分组到达某个端口时,都会被复制到其他所有端口,以便所有的LAN分段都能看见所有的分组。集线器并不认识信号、地址或数据中任何信息模式。

中继器与集线器的区别在于连接设备的线缆的数量。一个中继器通常只有两个端口,而一个集线器通常有4至20个或更多的端口。

 

集线器能够创建于总线方式相同的争用环境,当一台设备进行传输时,集线器上其他的设备都会监听它,并且争取下一次的传输权利。因此,连接在集线器上的设备将平分该集线器所拥有的带宽。并且在同一集线器上的设备属于同一个冲突域。

  调制解调器(Modem):

         调制解调器是Modulator(调制器)与Demodulator(解调器)的简称,中文称为调制解调器(港台称之为数据机),根据Modem的谐音,亲昵地称之为“猫”。它是在发送端通过调制将数字信号转换为模拟信号,而在接收端通过解调再将模拟信号转换为数字信号的一种装置。

所谓调制,就是把数字信号转换成电话线上传输的模拟信号;解调,即把模拟信号转换成数字信号。合称调制解调器。调制解调器是一种计算机硬件,它能把计算机的数字信号翻译成可沿普通电话线传送的模拟信号,而这些模拟信号又可被线路另一端的另一个调制解调器接收,并译成计算机可懂的语言。这一简单过程完成了两台计算机间的通信。

总结:

         物理层的作用就是组网,把一个个电脑用光缆、电缆、双绞线、无线电波等方式连接起来。它主要规定了网络的一些电气特性,作用是负责传送0和1的电信号。

 

大牛博客推荐:https://blog.csdn.net/jeffleo/article/details/53929338

数据链路层:

传输数据单元:帧 (Frame)

 

典型的设备:网桥,交换机

 

介绍:

 

数据链路层是OSI参考模型中的第二层,介乎于物理层和网络层之间。数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。为达到这一目的,数据链路必须具备一系列相应的功能,主要有:如何将数据组合成数据块,在数据链路层中称这种数据块为帧(frame),帧是数据链路层的传送单位;如何控制帧在物理信道上的传输,包括如何处理传输差错,如何调节发送速率以使与接收方相匹配;以及在两个网络实体之间提供数据链路通路的建立、维持和释放的管理。

 

物理链路(物理线路):是由传输介质与设备组成的。原始的物理传输线路是指没有采用高层差错控制的基本的物理传输介质与设备。

数据链路(逻辑线路):在一条物理线路之上,通过一些规程或协议来控制这些数据的传输,以保证被传输数据的正确性。实现这些规程或协议的硬件和软件加到物理线路,这样就构成了数据链路。从数据发送点到数据接收点(点到点 point to point)所经过的传输途径。

当采用复用技术时,一条物理链路上可以有多条数据链路。

典型设备介绍

网桥:

网桥(Bridge)也称为桥接器,是连接两个局域网的存储转发设备,在功能上与集线器等其他用于连接网段的设备类似,不过后者工作在物理层(OSI模型第1层)。

 

网桥能够识别数据链路层中的数据帧,并将这些数据帧临时存储于内存,再重新生成信号作为一个全新的数据帧转发给相连的另一个网段(network segment)。由于能够对数据帧拆包、暂存、重新打包(称为存储转发机制 store-and-forward),网桥能够连接不同技术参数传输速率的数据链路,如连接10BASE-T与100BASE-TX。

数据帧中有一个位叫做FCS,用来通过CRC方式校验数据帧中的位。网桥可以检查FCS,将那些损坏的数据帧丢弃。

网桥在向其他网段转发数据帧时会做冲突检测控制。

网桥还能通过地址自学机制和过滤功能控制网络流量,具有OSI第2层网络交换机功能。这称为transparent bridge,由DEC在1980年代发明。[1]其机制是网桥内部有一个数据库,最初没有数据。当网桥从一个网段收到一个数据帧,就会在数据库中登记(或者更新)数据帧的源地址属于这个网段,并检查数据包的目的地址。如果目的地址在数据库中属于另外一个网段,则网桥向该网段转发该数据帧;如果目的地址在数据库中没有记录,则网桥向除了源地址所在之外的其他所有网段转发(flood)该数据帧。

桥接器仅仅在不同网络之间有数据传输的时候才将数据转发到其他网络,不是像集线器那样对所有数据都进行广播。对于以太网,“桥接”这一术语正式的含义是指匹配IEEE 802.1D标准的设备,即“网络切换”。桥接器可以分区网段,不似集线器仍是在为同一碰撞域,所以对带宽耗损较大。因桥接器透过其内之MAC表格,让发送帧不会通过,所以其称之为数据链接层操作之网络组件,可隔离碰撞。

若有通信频繁的机器,则应置于同区之内,否则性能将降低。

 

交换机:

我们通常说的交换机是二层交换机,目前还有三层交换机,四层交换机和七层交换机具体见维基百科说明。

 

二层交换机工作于OSI参考模型的第二层,即数据链路层。交换机内部的CPU会在每个端口成功连接时,通过将MAC地址和端口对应,形成一张MAC表。在今后的通讯中,发往该MAC地址的数据包将仅送往其对应的端口,而不是所有的端口。因此交换机可用于划分数据链路层广播,即冲突域;但它不能划分网络层广播,即广播域。

 

具体可分为:

 

直通转发(cut-through):数据包的前6个字节(MAC地址)一到达交换机,即确定目的地址,向相应端口转发该数据包。这时可能该数据包在接收端口还没有传输完。适用于网络质量好,误码率低的情形。

存储转发(store-and-forward):交换机把收到的完整数据包暂存,然后检查其校验和或其他;通过检验的数据包再读取其目的地址,向相应端口转发。

无帧(fragment-free):基本类似于直通转发。但对数据包的前64个字节做存储-校验-转发。因为大部分误码、碰撞(collision)发生在数据包头64字节。

通常,交换机采取直通转发,如果误码率上升到某个阈值,再改用存储转发。

当一台交换机安装配置好之后,其工作过程如下:

收到某网段(设为A)MAC地址为X的计算机发给MAC地址为Y的计算机的数据包。交换机从而记下了MAC地址X在网段A。这称为学习(learning)。

交换机还不知道MAC地址Y在哪个网段上,于是向除了A以外的所有网段转发该数据包。这称为泛洪(flooding)。

MAC地址Y的计算机收到该数据包,向MAC地址X发出确认包。交换机收到该包后,从而记录下MAC地址Y所在的网段。

交换机向MAC地址X转发确认包。这称为转发(forwarding)。

交换机收到一个数据包,查表后发现该数据包的来源地址与目的地址属于同一网段。交换机将不处理该数据包。这称为过滤(filtering)。

交换机内部的MAC地址-网段查询表的每条记录采用时间戳记录最后一次访问的时间。早于某个阈值(用户可配置)的记录被清除。这称为老化(aging)。

对于全交换(full-switch)局域网,交换机每个端口只连接一台设备,因此不会发生碰撞。交换机也不需要做过滤。

常用协议介绍:

ARQ(Automatic Repeat-reQuest )自动重传请求协议,错误纠正协议之一,包括停止等待ARQ 协议和连续ARQ 协议,错误侦测、正面确认、逾时重传与负面确认继以重传等机制。

CSMA/CD(Carrrier Sense Multiple Access with Collision Detection)载波监听多点接入/碰撞检测协议。总线型网络,协议的实质是载波监听和碰撞检测。载波监听即发数据前先检测总线上是否有其他计算机在发送数据,如暂时不发数据,避免碰撞。碰撞检测为计算机边发送数据边检测信道上的信号电压大小。

PPP(Point-to-Ponit Protocol)点对点协议面向字节,由三部分组成:一个将IP 数据报封装到串行链路的方法;一个用于建立、配置和测试数据链路连接的链路控制协议

LCP(Link Control Protocol) :一套网络控制协议NCP 。

HDLC (High-Level Data Link Control )高级数据链路控制同步网上传输数据、面向比特的数据链路层协议。

ATM (Asynchronous Transfer Mode )异步传递方式,建立在电路交换和分组交换的基础上的一种面向连接的快速分组交换技术。 “异步”是指将ATM 信元“异步插入”到同步的 SDH 比特流中。如同步插入则用户在每帧中所占的时隙相对位置固定不变。“同步”是指网络中各链路上的比特流都是受同一非常精确的主时钟的控制。Wi-Fi 、WiMAX 、DTM 、令牌环、以太网、FDDI 、帧中继、 GPRS 、 EVDO 、HSPA 、L2TP 、ISDN

总结:

         在物理层中我们实现了电脑直接的互联,而传递的是“0”和“1”这样的数据,这样的数据是没有任何意义的,所以需要有对应的解读方法。

 

在这里需要拓展一下以太网协议。

 

早期的时候各个公司都有自己的分组方式,后来形成了统一的标准,即以太网协议ethernet

 

ethernet规定

 

一组电信号构成一个数据包,叫做‘帧’

每一数据帧分成:报头head和数据data两部分

       head

                       data         

                  

 

 

head包含:(固定18个字节)

 

发送者/源地址,6个字节

接收者/目标地址,6个字节

数据类型,6个字节

data包含:(最短46字节,最长1500字节)

 

数据包的具体内容

head长度+data长度=最短64字节,最长1518字节,超过最大限制就分片发送

 

其实到了现在这个时候电脑直接已经可以实现通信了。在物理层中我们有网卡,而网卡是唯一的(块网卡怎么会知道另一块网卡的MAC地址,回答是有一种ARP协议,可以解决这个问题。这个留到后面介绍,这里只需要知道,以太网数据包必须知道接收方的MAC地址,然后才能发送),和我们的手机号一样。而数据传输的格式也有了。ethernet采用最原始的方式,广播的方式进行通信,即计算机通信基本靠吼

 

虽然能够通信,但是有个问题,我们现在知道了低层的数据传输基本靠吼,也就是要广播到同网内的所有人。几十人,几百人可以,像目前全球这样的用户使用量来说就有麻烦了,会产生广播风暴。

【转】OSI第二层数据链路层介绍1
【转】OSI第二层数据链路层介绍2

网络层:

传输数据单元:数据包(Packet )

 

典型的设备:路由器,防火墙、三层交换机

 

介绍:

网络层是OSI模型中的第三层(TCP/IP模型中的网际层)。网络层提供路由和寻址的功能,使两终端系统能够互连且决定最佳路径,并具有一定的拥塞控制和流量控制的能力。由于TCP/IP协议体系中的网络层功能由IP协议规定和实现,故又称IP层。

它主要有两个功能,一个是寻址,一个是路由。

寻址:对网络层而言使用IP地址来唯一标识互联网上的设备,网络层依靠IP地址进行相互通信(类似于数据链路层的MAC地址)

路由:在同一个网络中的内部通信并不需要网络层设备,仅仅靠数据链路层就可以完成相互通信,对于不同的网络之间相互通信则必须借助路由器等三层设备。

典型设备介绍:

路由器:

路由器(英语:Router,又称路径器)是一种电讯网络设备,提供路由与转送两种重要机制,可以决定数据包从来源端到目的端所经过的路由路径(host到host之间的传输路径),这个过程称为路由;将路由器输入端的数据包移送至适当的路由器输出端(在路由器内部进行),这称为转送。路由工作在OSI模型的第三层——即网络层,例如网际协议(IP)。

 

路由器就是连接两个以上个别网络的设备。

 

由于位于两个或更多个网络的交汇处,从而可在它们之间传递分组(一种数据的组织形式)。路由器与交换机在概念上有一定重叠但也有不同:交换机泛指工作于任何网络层次的数据中继设备(尽管多指网桥),而路由器则更专注于网络层。

 

路由器与交换机的差别,路由器是属于OSI第三层的产品,交换机是OSI第二层的产品。第二层的产品功能在于,将网络上各个电脑的MAC地址记在MAC地址表中,当局域网中的电脑要经过交换机去交换传递数据时,就查询交换机上的MAC地址表中的信息,将数据包发送给指定的电脑,而不会像第一层的产品(如集线器)每台在网络中的电脑都发送。而路由器除了有交换机的功能外,更拥有路由表作为发送数据包时的依据,在有多种选择的路径中选择最佳的路径。此外,并可以连接两个以上不同网段的网络,而交换机只能连接两个。并具有IP分享的功能,如:区分哪些数据包是要发送至WAN。路由表存储了(向前往)某一网络的最佳路径,该路径的“路由度量值”以及下一个(跳路由器)。参考条目路由获得这个过程的详细描述。

尽管也有其它一些很少用到的被路由协议,但路由通常指的就是IP路由。

常用协议介绍:

IP (IPv4 · IPv6) (Internet Protocol) 网络之间互连的协议

ARP (Address Resolution Protocol) 即地址解析协议,实现通过IP 地址得 知其物理地址。

RARP (Reverse Address Resolution Protocol)反向地址转换协议允许局域 网的物理机器从网关服务器的 ARP 表或者缓存上请求其 IP地址。

ICMP (Internet Control Message Protocol )Internet 控制报文协议。它是TCP/IP 协议族的一个子协议,用于在IP 主机、路由器之间传递控制消息。

ICMPv6 :

IGMP (Internet Group Management Protocol) Internet 组管理协议,是因特 网协议家族中的一个组播协议,用于 IP 主机向任一个直接相邻的路由器报 告他们的组成员情况。

RIP (Router information protocol) 路由信息协议是一种在网关与主机之间交换路由选择信息的标准。

OSPF (Open Shortest Path Firs)开放式最短路径优先,分布式链路状态协议。

BGP(Border Gateway Protocol )边界网关协议,用来连接Internet 上独立系统的路由选择协议.采用路径向量路由选择协议。

IS-IS (Intermediate System to Intermediate System Routing Protocol )中间系统到中间系统的路由选择协议.

IPsec (IP Secure) “Internet 协议安全性”是一种开放标准的框架结构,通过使用加密的安全服务以确保在 Internet 协议 (IP) 网络上进行保密而安全的通讯。

       总结:

              在数据链路层的时候说过了如果所有的使用互联网的用户在同一个网段中,会产生广播风暴,所以要将用户进行划分,让他们在不同的网段中,自己在自己的小网段中吼。而互联网就是这无数的子网络构成的一个巨型网络。

 

在网络层中引入了一套新的地址,让我们能够区分不同的网段。这套地址就叫做“网络地址”,简称“网址”。

 

于是,”网络层”出现以后,每台计算机有了两种地址,一种是MAC地址,另一种是网络地址。两种地址之间没有任何联系,MAC地址是绑定在网卡上的,网络地址则是管理员分配的,它们只是随机组合在一起。

 

网络地址帮助我们确定计算机所在的子网络,MAC地址则将数据包送到该子网络中的目标网卡。因此,从逻辑上可以推断,必定是先处理网络地址,然后再处理MAC地址。

 

在这一层中有一个规定网络地址的协议,叫做IP协议,它所定义的地址,就被称为IP地址。目前,广泛采用的是IP协议第四版,简称IPv4。这个版本规定,网络地址由32个二进制位组成。因为IPv4的地址已经不够用了,所以现在推广IPv6,据说能给撒哈拉的每一粒沙子都有一个自己的ip地址。虽然听起来很厉害,但是由于IPv4普及时间很久,所以IPv6进行普及还有很长的一段路要走。

 

ip地址的相关内容,想了解的可以到下面的第一个链接中查看,这里就不重复说明了。

 

而在数据链路层挖的ARP的坑下面给填一下。

 

ARP协议:

arp协议由来:计算机通信基本靠吼,即广播的方式,所有上层的包到最后都要封装上以太网头,然后通过以太网协议发送,在谈及以太网协议时候,我门了解到

 

通信是基于mac的广播方式实现,计算机在发包时,获取自身的mac是容易的,如何获取目标主机的mac,就需要通过arp协议

 

arp协议功能:广播的方式发送数据包,获取目标主机的mac地址

 

协议工作方式:每台主机ip都是已知的

 

例如:主机172.16.10.10/24访问172.16.10.11/24

 

一:首先通过ip地址和子网掩码区分出自己所处的子网

 

场景

数据包地址

同一子网

目标主机mac,目标主机ip

不同子网

网关mac,目标主机ip

 

二:分析172.16.10.10/24与172.16.10.11/24处于同一网络(如果不是同一网络,那么下表中目标ip为172.16.10.1,通过arp获取的是网关的mac)

 

 

 

源mac

目标mac

源ip

目标ip

数据部分

发送端主机

发送端mac

FF:FF:FF:FF:FF:FF

172.16.10.10/24

172.16.10.11/24

数据

 

 

 

 

三:这个包会以广播的方式在发送端所处的自网内传输,所有主机接收后拆开包,发现目标ip为自己的,就响应,返回自己的mac

 

【转】ip地址详解

【转】OSI第三层网络层介绍1
【转】OSI第三层网络层介绍-ip介绍
【转】OSI第三层网络层介绍-路由协议

 

传输层:

传输数据单元:数据段 (Segment)

 

典型的设备:进程和端口

 

介绍:

 

传输层的作用是什么?传输层实现端到端的连接,端到端是什么概念呢?打个比方说,一个人用QQ与朋友聊天,网络层识别IP地址,能够将信息送到正确的主机,而主机应该使用什么应用协议接收这个信息呢? 这个功能就需要传输层来完成,传输层实现进程到进程的连接。

 

传输层服务通过传输层协议的编程接口传递给应用进程。该服务可以包括以下功能:

 

连接导向式通信:通常对于一个应用进程来说,把连接解读为数据流而非处理底层的无连接模型(如用户数据报协议(UDP)与网际协议(IP)的数据报文模型)更加容易。

相同次序交付:网络层通常不保证数据包到达顺序与发送顺序相同,但这往往是一个可取的特点。这通常是通过给报文段编号来完成的,接收者按次序将它们传给应用进程。这可能会造成队头阻塞。

可靠性:由于网络拥塞和错误,数据包可能在传输过程中丢失。通过检错码(如校验和),传输协议可以检查数据是否损坏,并通过向发送者传ACK或NACK消息确认正确接收。自动重发请求方案可用于重新传输丢失或损坏的数据。

流量控制:有时必须控制两个节点之间的数据传输速率以阻止快速的发送者传输超出接收缓冲器所能承受的数据,造成缓冲区溢出。这也可以通过减少缓冲区不足来提高效率。

拥塞避免:拥塞控制可以控制进入到电信网络的流量。

多路复用:端口可以在单个节点上提供多个端点。例如,邮政地址的名称是一种多路复用,并区分同一位置的不同收件人。每个计算机应用进程会监听它们自己的端口,这使得在同一时间可以使用多个网络服务。它是在TCP/IP模型中是传输层的一部分,但在OSI模型中属于会话层。

常用协议介绍:

  • TCP (Transmission Control Protocol )传输控制协议提供可靠的面向连接的服务,传输数据前须先建立连接,结束后释放。可靠的全双工信道。可靠、有序、无丢失、不重复。
  • UDP (User Datagram Protocol )用户数据报协议发送数据前无需建立连接,不使用拥塞控制,不保证可靠交付,最大努力交付。
  • DCCP (Datagram Congestion Control Protocol )数据报拥塞控制协议
  • SCTP (STREAM CONTROL TRANSMISSION PROTOCOL )流控制传 输协议
  •  RTP(Real-time Transport Protocol )实时传送协议
  •  RSVP (Resource ReSer Vation Protocol )资源预留协议
  •  PPTP ( Point to Point Tunneling Protocol )点对点隧道协议

总结:

网络层的ip帮我们区分子网,以太网层的mac帮我们找到主机,然后大家使用的都是应用程序,你的电脑上可能同时开启qq,暴风影音,等多个应用程序,

 

那么我们通过ip和mac找到了一台特定的主机,如何标识这台主机上的应用程序,答案就是端口,端口即应用程序与网卡关联的编号。传输层的作用就是帮我们建立端到端的通信。

 

补充:端口范围0-65535,0-1023为系统占用端口

 

tcp协议:

可靠传输,TCP数据包没有长度限制,理论上可以无限长,但是为了保证网络的效率,通常TCP数据包的长度不会超过IP数据包的长度,以确保单个TCP数据包不必再分割。

以太网头

ip 头             

tcp头             

数据  

 

tcp报文:

 

tcp三次握手和四次挥手:

 

 

udp协议

不可靠传输,”报头”部分一共只有8个字节,总长度不超过65,535字节,正好放进一个IP数据包。

 

以太网头

ip头           udp头         

数据       

TCP/UDP传输过程1
TCP/UDP传输过程2

会话层:

 

会话层,位于OSI模型的第5层,主要为两个会话层实体进行会话(Session),而进行的对话连接的管理服务。

 

会话层为客户端的应用程序提供了打开、关闭和管理会话的机制,亦即半永久的对话。会话的实体包含了对其他程序作会话链接的要求及回应其他程序提出的会话链接要求。在应用程序的运行环境中,会话层是这些程序用来提出远程过程调用(remote procedure calls,RPC)的地方。

 

会话层标准为了使会话连接创建阶段能进行功能协商,也为了便于其它国际标准参考和引用,定义了12种功能单元。各个系统可根据自身情况和需要,以核心功能服务单元为基础,选配其他功能单元组成合理的会话服务子集。

 

会话层服务:

  1. 认证
  2. 权限
  3. 会话恢复:包括检查点和恢复

会话层在OSI的模型负责会话检查点和恢复。它允许不同来源的信息流作适当的合并或同步化。

 

一个例子是在网络会议的应用,其中音频和视频的流串必须同步,以避免嘴唇与声音不同步的问题。楼层控制确保在屏幕上显示的是当前的发言者。

 

另一个应用是在电视直播节目中,在那里音频和视频的流串从一个到另一个合并或转换时要无缝,以免出现无声通话时间或过度重叠。

 

会话层的主要功能:

 

1.为会话实体间创建连接:为给两个对等会话服务用户创建一个会话连接,应该做如下几项工作。

  1. 将会话地址映射为运输地址。
  2. 选择需要的运输服务质量参数(QoS)。
  3. 对会话参数进行协商。
  4. 识别各个会话连接。
  5. 传送有限的透明用户数据。

2.数据传输阶段:这个阶段是在两个会话用户之间实现有组织的,同步的数据传输。用户数据单元为SSDU,而协议数据单元为SPDU.会话用户之间的数据传送过程是将SSDU转变成SPDU进行的。

3.连接释放:连接释放是通过"有序释放","废弃","有限量透明用户数据传送"等功能单元来释放会话连接的

 

  会话层(Session Layer)是OSI模型的第5层,是用户应用程序和网络之间的接口,主要任务是:向两个实体的表示层提供建立和使用连接的方法。将不同实体之间的表示层 的连接称为会话。因此会话层的任务就是组织和协调两个会话进程之间的通信,并对数据交换进行管理。 用户可以按照半双工、单工和全双工的方式建立会话。当建立会话时,用户必须提供他们想要连接的远程地址。而这些地址与MAC(介质访问控制子层)地址或网络层的逻辑地址不同,它们是为用户专门设计的,更便于用户记忆。

  1. 表示层

表示层(Presentation)为不同终端的上层用户提供数据和信息正确的语法表示变换方法。如文本文件的ASCII格式和EBCDIC,用于表示数字的1S或2S补码表示形式。

 

表示层的主要功能:

 

  1. 数据语法转换
  2. 语法表示
  3.  连接管理
  4. 数据处理
    • 数据加密和解密
    • 数据压缩和解压
    • 数据编码和解码

常见的表示层协议:

  • HTTP/HTML
  • FTP
  • Telnet
  • ASN.1

 

应用层:

应用层(Application Layer)是OSI参考模型的最高层,它是计算机用户,以及各种应用程序和网络之间的接口,其功能是直接向用户提供服务,完成用户希望在网络上完成的各种工作。它在其他6层工作的基础上,负责完成网络中应用程序与网络操作系统之间的联系,建立与结束使用者之间的联系,并完成网络用户提出的各种网络服务及 应用所需的监督、管理和服务等各种协议。此外,该层还负责协调各个应用程序间的工作。

 

常见的表示层协议:

  • AFP
  • APPC
  • BitTorrent
  • CFDP
  • DHCP
  • DNS
  • FTAM
  • FTP
  • Gopher
  • HTTP
  • IMAP
  • iTMS
  • IRC
  • LDAP
  • Modbus
  • NFS
  • NNTP
  • NTP
  • POP3
  • SIP
  • SMB
  • SMTP
  • SNMP
  • SNTP
  • SSH
  • Telnet
  • TFTP
  • TSP
  • Whois
  • X.400
  • X.500

 

网络通信:

上面大概分析了一下OSI七层,想了想,还是做一个分块大概说说网络是如果进行通信的。

想实现网络通信,每台主机需具备四要素:

  • 本机的IP地址
  • 子网掩码
  • 网关的IP地址
  • DNS的IP地址

获取这四要素分两种方式

1.静态获取

即手动配置

2.动态获取

通过dhcp获取

 

以太网头

ip头

udp头

dhcp数据包

 

(1)最前面的”以太网标头”,设置发出方(本机)的MAC地址和接收方(DHCP服务器)的MAC地址。前者就是本机网卡的MAC地址,后者这时不知道,就填入一个广播地址:FF-FF-FF-FF-FF-FF。

 

(2)后面的”IP标头”,设置发出方的IP地址和接收方的IP地址。这时,对于这两者,本机都不知道。于是,发出方的IP地址就设为0.0.0.0,接收方的IP地址设为255.255.255.255。

 

(3)最后的”UDP标头”,设置发出方的端口和接收方的端口。这一部分是DHCP协议规定好的,发出方是68端口,接收方是67端口。

 

这个数据包构造完成后,就可以发出了。以太网是广播发送,同一个子网络的每台计算机都收到了这个包。因为接收方的MAC地址是FF-FF-FF-FF-FF-FF,看不出是发给谁的,所以每台收到这个包的计算机,还必须分析这个包的IP地址,才能确定是不是发给自己的。当看到发出方IP地址是0.0.0.0,接收方是255.255.255.255,于是DHCP服务器知道”这个包是发给我的”,而其他计算机就可以丢弃这个包。

 

接下来,DHCP服务器读出这个包的数据内容,分配好IP地址,发送回去一个”DHCP响应”数据包。这个响应包的结构也是类似的,以太网标头的MAC地址是双方的网卡地址,IP标头的IP地址是DHCP服务器的IP地址(发出方)和255.255.255.255(接收方),UDP标头的端口是67(发出方)和68(接收方),分配给请求端的IP地址和本网络的具体参数则包含在Data部分。

 

 新加入的计算机收到这个响应包,于是就知道了自己的IP地址、子网掩码、网关地址、DNS服务器等等参数

 

网络通信流程:

1.本机获取

本机的IP地址:192.168.1.100

子网掩码:255.255.255.0

网关的IP地址:192.168.1.1

DNS的IP地址:8.8.8.8

2.打开浏览器,想要访问Google,在地址栏输入了网址:www.google.com。

3.dns协议(基于udp协议)

 

 

4.HTTP部分的内容,类似于下面这样:

 

GET / HTTP/1.1

Host: www.google.com

Connection: keep-alive

User-Agent: Mozilla/5.0 (Windows NT 6.1) ……

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

Accept-Encoding: gzip,deflate,sdch

Accept-Language: zh-CN,zh;q=0.8

Accept-Charset: GBK,utf-8;q=0.7,*;q=0.3

Cookie: … …

我们假定这个部分的长度为4960字节,它会被嵌在TCP数据包之中。

5.TCP协议

TCP数据包需要设置端口,接收方(Google)的HTTP端口默认是80,发送方(本机)的端口是一个随机生成的1024-65535之间的整数,假定为51775。

TCP数据包的标头长度为20字节,加上嵌入HTTP的数据包,总长度变为4980字节。

6 .IP协议

然后,TCP数据包再嵌入IP数据包。IP数据包需要设置双方的IP地址,这是已知的,发送方是192.168.1.100(本机),接收方是172.194.72.105(Google)。

IP数据包的标头长度为20字节,加上嵌入的TCP数据包,总长度变为5000字节。

 

7 .以太网协议

最后,IP数据包嵌入以太网数据包。以太网数据包需要设置双方的MAC地址,发送方为本机的网卡MAC地址,接收方为网关192.168.1.1的MAC地址(通过ARP协议得到)。

 

以太网数据包的数据部分,最大长度为1500字节,而现在的IP数据包长度为5000字节。因此,IP数据包必须分割成四个包。因为每个包都有自己的IP标头(20字节),所以四个包的IP数据包的长度分别为1500、1500、1500、560。

 

8. 服务器端响应

 

经过多个网关的转发,Google的服务器172.194.72.105,收到了这四个以太网数据包。

 

根据IP标头的序号,Google将四个包拼起来,取出完整的TCP数据包,然后读出里面的”HTTP请求”,接着做出”HTTP响应”,再用TCP协议发回来。

 

本机收到HTTP响应以后,就可以将网页显示出来,完成一次网络通信。

 

欢迎转载,但请写明出处,谢谢。

posted @   冰糖爱菜  阅读(916)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示