zoukankan      html  css  js  c++  java
  • <TCP/IP原理> (二) OSI模型和TCP/IP协议族

    1.OSI参考模型

    1)作用

    2)各层的名称和功能

    2.对分层网络协议体系的理解

    1)不同节点:层次组成不同,作用不同

    2)横向理解:虚通信、对等实体、协议、PDU

    3)纵向理解:封装与解封、服务、接口

    3.TCP/IP

    1)层次:与OSI模型的对应关系

    2)协议:主要协议极其所在层次

    4.地址

    1)物理、IP、端口地址:作用,所在层次

    2)单播、多播、广播地址:作用

     

    2.1 OSI参考模型

    1.ISO标准指定

    OSI Open System Interconnection,开放系统互连

    Reference Model 参考模型

    2.目的

    使得两个不同的系统能够通信,而不需要改变底层的硬件或软件逻辑。

    比如一台计算机为一个系统,一个电话为一个系统,IP电话

    ISO是一个组织,OSI是一个模型。

    OSI不是协议,是网络体系结构的概念模型。实际并不完全参考OSI模型。

    指导协议如何来实现、使用。

    3.OSI层次体系结构

    通信系统/互联设备分为若干层次,从上到下

    Application 应用层  

    Presentation 表示层

    Session 会话层

    Transport 传输层

    Newwork 网络层

    Data Link 数据链路层

    Physical 物理层

    上面三层为应用支持层(软件)

    下面三层为网络支持层(软/硬件)

    4.通信

    1)两个Device之间为对等层通信(Peer-to-Peer Comm.

    下层对上层提供的操作或功能为服务(Service),同一系统内部下层向上层(相邻上层)服务。

    层和层之间有接口(Interface),提供服务的通道。

    对等层(Peer Layer),不同系统之间的同一层。

    对等进程/对等实体(Peer Entity),对等层上的实体,每个功能的执行者。

    对等层协议(Peer-to-peer protocal),对等实体之间使用相应的协议进行通信。

    (TCP/IP 都为对等层协议,IP为网络层协议,TCP为传输层协议。)

    2)对等层与对等实体

    每一层可以同时存在多个实体(因为每一层功能不唯一);存在通信关系的对等层实体才是对等实体。

    每一层可以同时存在多个协议。协议是对等实体间的通信规则。

    Eg:

    SMTP协议:简单邮件传输协议 ;HTTP协议:超文本传输协议;FTP:文件传输协议

     

    同一层不同实体依靠不同协议实现不同功能。

    3)数据通信——封装

    PDU:协议传输数据单元(Protocol Data Unit),每一层都有自己相应的PDU

    发送:从上往下传输,每一层从上往下传输时,每一层都要将上层数据添加协议头再传送下去,该过程称为封装。与对等层逻辑上的对等传输不同,封装是物理上存在的传输方式。

    第7层PDU为 L7 data ,第6层PDU为L7 data H6 ...

    Hx为头部,添加本层的控制信息,完成本层通信协议实体之间进行通信交互的功能

    数据链路层:T2 L3 data H2 尾部为T2 进行校验作用,校验物理层数据是否出错

    对等层之间的通信为逻辑上的对等通信(虚通信),每一层发送的数据,对等层收到的也为一模一样的数据。但实际传输中Source加头,Destination拆头。

    物理层没有PDU,上层单元转为二进制编码序列,传输的为比特流。

    数据链路层的PDU称为帧 Frame。

    网络层的PDU成为分组 Packet。

    传输层的PDU称为数据段 Segment。

    五六七层PDU称为数据 Data。

    同层间需要约定规则——协议。

    2.2 OSI模型的层次功能

    Application 应用层:为用户提供各种各样的网络处理应用。

    Presentation 表示层:面向对象表示数据。

    Session 会话:主体之间的通信过程。

    Transport 传输层:实现端到端的连接。

    Network 网络层:编址和循迹。

    Data Link 数据链路层:如何将数据送交给下面的网路介质。

    Physical 物理层:如何实现二进制信号的物理传输。

    2.3 TCP/IP协议族

    OSI为7层    TCP/IP参考模型为4层(功能角度)

    应用层:应用层、表示层、会话层功能的整合。

    传输层:对应于OSI的传输层的功能,基本一致,具有一些特殊功能。

    网际层:完成网络层的功能,也有一些独特功能。

    网络接入层:完成数据链路层和物理层的功能。

    技术上的开放标准,第一类标准。

    TCP/IP协议族要适应各种各样的网络环境。

    Internet结构

    多个路由器(Router)互连物理网络,计算机(Host)与其中的物理网络相连

    物理网络内部传输机制各种各样,通过路由器互连。

    看待互联网

    1.用户角度:单一的虚拟网络,无需了解网络的内部结构

    2.互联网角度:所有物理网络是平等的,路由器每个接口连接的都是网络

     物理网络不一定包含主机。

     

    3.TCP/IP协议族

    应用层:最大量协议集中在应用层。

    socket为一个接口,上下层之间的接口。使得上层网络应用在开发实现非常简便,不用根据每一个应用设计一个接口。

    传输层:为上面不同的网络应用提供了不同的通道。

    网络层:为上面传输服务提供了一个统一的访问不同物理网络的接口。基于TCP的网络服务和基于UDP的网络服务。不同的网络应用利用传输层的两个协议通信。

    该两层之间的接口很难统一。(局域网一个接口,城域网统一为一个接口,广域网统一为一个接口)。

    网络接入层:完成数据链路层和物理层的功能。不同的物理网都可以通过IP实现之间的通信。

     2.4 编址(标识通信对象)

    从层次结构分类:

    地址类型:物理地址、IP地址、端口地址

    可能为路由器可能为主机

    为计算机在网络通信中分配地址。

    可能为路由器可能为主机

    1.物理地址:物理网内通信时物理网所使用的地址,标识通信节点,通信对象可能为路由器可能为主机 。

    由通信节点所属LAN或WAN指定,在LAN或WAN内唯一。

    也称为链路地址/硬件地址,用于OSI模型的数据链路层(寻址),而不是物理层(比特流或代码流转换为发送信号,将信息传递到介质)。

    硬件地址主要针对于局域网中的物理地址,物理地址的实现通常固化在网络接口设备上,比如以太网中通信的网卡,每个网卡上都有物理地址标识。

    不同物理网络的物理地址有可能不完全一样,物理地址格式并不统一,通信特征也不一定相同,由物理网络的特性决定。

    2.IP地址(网络地址,互联网)应用于网络层。

    标识通信节点的网络连接,不同的物理网之间标识地址。

    由Internet指定,在Internet内唯一。

    32比特 点分十进制。

    3.端口地址(传输层)

    端口地址:标识通信进程,计算机所有应用以进程方式实现,标识应用的地址。

    由操作系统指定,在一台计算机内部唯一。

    16比特的整数。

    TCP/IP地址与层次关系

     端口地址表示应用进程,作用在传输层,用端口地址区分不同的应用层的应用进程,而不是在应用层标识。

    IP地址作用在网络层,标识网络间通信的节点。

    物理地址作用在网路接入层或OSI模型的数据链路层,标识物理网络内的通信节点。

    从目的地址分类:单播,多播,广播。针对物理地址和IP地址。

    1.单播(Unicast)

    只有一个接收者。

    2.多播(Multicast)

    一组接收者。接收者之间互相有关联,具有相同特征。

    前24个比特为0100.5E

    3.广播(Broadcast)

    网络中的所有系统。

    eg:0xFFFF.FFFF.FFFF,  255.255.255.255 

    从接收者角度分析即可。从地址角度看,从地址本身来标识出信息。

    2.5 TCP/IP的版本(主要针对IP协议)

    Version 4 (IPv4)

    地址空间不足和低效率:32位的地址

    对服务质量和安全等方面支持较弱

    Version 5

    基于OSI模型

    层次改变大,代价高,没有实际使用

    Version 6

    仅改动了网络层协议:IPv6、ICMP

    扩大了地址空间:128位的地址

    改进了版本4的弱点

  • 相关阅读:
    dpkg 删除 百度网盘 程序
    ubuntu 安装go
    解决 swap file “*.swp”already exists!问题
    ROS Topic 常用指令
    正交概念
    vim 永久显示行号 & 临时显示行号
    awk、grep、sed
    Keil中使用Astyel进行C语言的格式化
    红黑树学习
    802.11 对于multicast 和 broadcast的处理
  • 原文地址:https://www.cnblogs.com/HarSong13/p/10713353.html
Copyright © 2011-2022 走看看