zoukankan      html  css  js  c++  java
  • OSI和TCP/IP模型

    一、OSI 七层参考模型:开放系统互连参考模型

    OSI七层参考模型

    TCP/IP模型

    对应的协议

    应用层

    应用层

    HTTP、FTP、DNS、SMTP、POP3、Telnet、TFTP、DHCP、SSH、NTP、Ping命令

    表示层

    会话层

    传输层

    主机到主机层

    TCP、UDP

    网络层

    互联网层

    IP、ICMP、ARP、RARP

    数据链路层

    网络接口层

    Ethernet、802.3、PPP

    物理层

    物理层

    比特流传输(数据中的信号)、接口和线缆、传输介质(有线、无线)

    PDU:协议数据单元,数据在不同层的表现形式。

    一层PDU:bit

    功能:规定介质类型、接口类型、信令类型(电话拨号),规范在终端系统之间激活、维护和关闭物理链路的电气、机械、流程和功能等方面的要求,规范电平、数据速率、最大传输距离和物理接头等特征。

    物理层介质:同轴电缆、双绞线(568B的线序:橙白、橙、绿白、蓝、蓝白、绿、棕白、棕)、光纤、无线电波。

    物理层设备:中继器(还原信号,延长传输距离,但不能无线延长,错误率会提高),集线器(扩口器、类似于插线板)

    数据链路层

    提供介质访问、链路管理等。

    二层PDU:frame(数据帧)

    功能:

    MAC 介质访问控制子层 —— 用于二层用户的表示,指定数据如何通过物理线路进行传输,并与物理层通信

    MAC 地址/物理地址/硬件地址/烧录地址(可以唯一标识一台设备)—— 有48位二进制构成,前24位是厂商编号,后24位是序列号, 点分十六进制

    LLC逻辑链路控制子层:—— 识别协议类型并对数据进行封装通过网络进行传输,描述上层协议

    网络层

    寻址和路由选择(数据的来去向)。

    三层PDU:packet(数据包)

    功能:在不同网络之间转发数据包。设备主要有路由器和三层交换机等。

    网络层协议:IP、 ICMP、ARP、RARP。

    网络层地址(唯一标识一台网络设备):包括网络ID、主机ID。

    编址协议:ipv4(32位二进制构成,点分十进制表示)ipv6。

    本地测试地址(测试TCP/IP协议栈是否工作):127.0.0.1/8。

    本地链路地址(仅仅针对window主机):169.254.0.0/16。

    私有IP地址:

    A类:10.0.0.0 --- 10.255.255.255          255.0.0.0

    B类:172.16.0.0 ---- 172.31.255.255        255.255.0.0

    C类:192.168.0.0 --- 192.168.255.255       255.255.255.0

    传输层

    建立主机端到端连接(去哪个应用/进程,可靠性保证)。

    四层PDU:segment分片。

    功能:位于TCP/IP 协议栈第四层,为应用程序提供服务。传输层定义了主机应用程序之间端到端的连通性。分段上层数据,建立端到端连接,将数据从一端主机传送到另一端主机,保证数据按序(标号)、可靠(重传)、正确传输(传输之前校验,传输后检验,最后对比两个校验值);定义数据传输方式,可靠传输、不可靠传输(对流量的实时性要求高的用不可靠传输、对数据丢失不敏感、大流量)

    使用MTU/最大传输单元进行分片:MTU默认1500个字节。

    传输层要区分不同的流量:使用端口号 十进制数值,一个端口号代表一种流量(HTTP—80、HTTPS—443、Telnet—23、SSH—22、FTP—20/21、QQ—4000/8000、Server—67、Client—68)。

    1-65535    静态端口号:1-1023  流量和端口有一一对应并绑定的关系

                           动态端口号:1024-65535

    TCP:传输控制协议,是一种面向连接的可靠传输协议。面向连接:传输前进行沟通和协商,确保互相可以/愿意发送数据,如何保证面向连接:TCP三次握手

    UDP:用户数据报协议,是一种非面向连接的不可靠传输协议。非面向连接:发送数据,收不收无所谓,例如:IPTV,网络电视,接收就看,不接收就不看,但必须发送

    会话层

    建立、维护和管理会话,针对需要传递的流量定义一条端到端的会话链接(该链接为虚链接),使得会话互不干扰。

    表示层

    处理数据格式、数据加密等,翻译(将逻辑语言转换为计算机语言/二进制)

    应用层

    提供应用程序间的通信(人机交互),面向应用程序(将软件程序所产生的信息提供给应用层/抽象语言转化为编码、代码)

    我们所说的socket编程,是站在传输层的基础上,所以可以使用 TCP/UDP 协议,但是不能干「访问网页」这样的事情,因为访问网页所需要的 http 协议位于应用层。

    二、TCP/IP传输控制协议/因特网互联协议

    应用层(应用层、表示层、会话层):HTTP、FTP、DNS、SMTP、POP3、Telnet、TFTP、Ping

    主机到主机层(传输层):TCP、UDP

    互联网层(网络层):IP

    网络接口层(数据链路层、物理层):Ethernet、802.3、PPP

     

    三、OSI和TCP/IP模型的作用

    定义数据包封装的格式。

    它们的区别:

    OSI是七层模型,TCP/IP是四层模型

    OSI先有模型后有协议,TCP先有协议后有模型

    OSI用于理论研究学习,TCP/IP用于实际协议的研发

    OSI必须具备完整的数据封装(缺少一层都不行),TCP/IP支持跨层封装(OSPF),完整封装(DHCP、RIP)。

    时刻与技术进步,每天一点滴,日久一大步!!! 本博客只为记录,用于学习,如有冒犯,请私信于我。
  • 相关阅读:
    cookie标准话
    thinkphp关联查询
    jq获取表单值与赋值代码
    Github使用.gitignore文件忽略不必要上传的文件 (转)
    python 库 Numpy 中如何求取向量范数 np.linalg.norm(求范数)(向量的第二范数为传统意义上的向量长度),(如何求取向量的单位向量)
    word 使用中 上标符号的实现
    python 编程中的一个关于图片的库 imageio (读取照片RGB内容,转换照片格式)
    交叉熵代价函数(作用及公式推导) ------转载
    cousera 深度学习 吴恩达 第一课 第二周 学习率对优化结果的影响
    python3 读入一个jpg格式的图片,并转换长宽像素个数,然后进行绘制
  • 原文地址:https://www.cnblogs.com/myitnews/p/13790109.html
Copyright © 2011-2022 走看看