• OSI五层协议


    应用层(http,ftp,自定义协议):规定应用程序的数据格式

    传输层(tcp和udp协议):网络层的IP帮我们区分子网,以太网层的的mac帮我们找到主机,传输层建立应用程序端口到端口的通信

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

    网络层:引入一套新的地址来区分不同的广播域/子网,即网络地址

        IP协议:规定网络地址的协议叫IP协议,它定义的地址称之为IP地址,广泛采用的V4版本即ipv4,它规定网络地址由32位二进制表示

    范围:0.0.0.0-255.255.255.255

    一个IP地址通常写成4段十进制数,例:172.16.10.1

    ip地址分为两部分:

    网络部分:标识子网

    主机部分:标识主机

    注意:单纯的IP地址段只是标识了IP地址的种类,从网络部分或主机部分都无法辨识一个IP所处的子网

    子网掩码:就是表示子网络特征的一个参数,他在形式上等同于IP地址,也是一个32位二进制数字,他的网络部分全部为1,主机部分全部为0,。如:IP地址172.16.10.1,如果已知网络部分是前24位,主机部分水后面8位,那么子网络掩码就是11111111.11111111.11111111.00000000 写成十进制就是255.255.255.0

    通过子网掩码我们可以判断任意2个IP地址是否处在同一个子网络。方法是将2个IP地址与子网掩码进行AND运算(两个位数都为1,运算结果为1,否则为0),再比较结果是否相同,相同则在同一个子网内。

    IP数据包:分为head和data部分,无需为IP包定义单独的栏位,直接放入以太网包的data部分

    head:长度为20到60字节

    data:最长为65515字节

    数据链路层(以太网层):定义了电信号的分组方式,

    通过APR将IP解析成mac地址(定位主机),用来在子网内部通信

    mac地址(由网卡决定的,是固定且独一无二):用来表示互联网上每一个站点的标识符,采用十六进制数表示,共六个字节(48位),前三个字节是IEEE的注册管理机构的AR分配给不同的厂家,也被称为“”“编制上唯一的标识符”,后三个字节是由各厂家自行派给生产的适配器接口,称为扩展性标识符(唯一性),一个地址块可以生成2个不同的地址。

    又被称为物理地址,硬件地址,用来定义网络设备的位置。

    在子网内部工作原理: 

    ARP工作原理链接:https://wenku.baidu.com/view/32bbf30b83c4bb4cf7ecd14b.html

    当一个基于TCP/IP的应用程序需要从一台主机发送数据给另外一台主机时,它会把信息分割并封装成包,附上目的的主机的IP地址,再去寻找目的IP地址的Mac地址,这需要路由发送ARP广播消息。当路由ARP自己的子网内找到目的主机的MAC地址后,会将目的IP地址的mac地址传回给发送主机,这时发送主机,就可以形成代发送帧的完整以太网帧头。最后通过协议栈将IP包封装到以太网帧中进行传送。

    ARP缓存:

    当主机A要和主机B通信(如主机A Ping主机B)时。主机A会先检查其ARP缓存内是否有主机B的MAC地址。也就是主机B的IP地址。当主机B收到此广播后,会将自己的MAC地址利用ARP响应包传给主机A,并更新自己的ARP缓存,也就是同时将主机A的IP地址/MAC地址对保存起来,以供后面使用。主机A在得到主机B的MAC地址后,就可以与主机B通信了。同时,主机A也将主机B的IP地址/MAC地址对保存在自己的ARP缓存内。

    在每台安装有TCP/IP协议的电脑里都有一个ARP缓存表,表里的IP地址与MAC地址是一一对应的

    不在子网内部工作原理

       首先,进行一次在内部查询的过程,发现目的主机的IP地址与自己不在同一个子网内,这时路由就会将目标IP地址通过路由高速通道向网络上的其他路由节点发送请求,网络中的其他路由节点收到ARP请求后,会对该进行拆分,并且查看内容,会检查自己的ARP列表内是否存在这个IP地址,如果有该节点会首先将源端的MAC地址和IP地址的对应表项添加到自己的ARP列表内,然后给源节点发送一个ARP响应数据报价,告诉对方自己是它要查找的MAC地址节点。

    源节点在收到这个ARP响应数据包后,将得到的目标节点的IP地址和MAC地址对应表项添加到自己的ARP列表中,并利用此信息开始数据的传输。如果源节点一直没有收到ARP响应的数据包,则表示ARP查询失败。

    物理层:

    负责发送电信号bit(会把数据链路层发过来的数据转换成电信号)

    一个非常重要的结论:

    IP+port+mac=>全世界范围内独一无二的一个基于网络通信的软件

    IP+port=>全世界范围内独一无二的一个基于网络通信的软件

    ftp协议:

    FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。此外,由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议。

    默认情况下FTP协议使用TCP端口中的 20和21这两个端口,其中20用于传输数据,21用于传输控制信息。但是,是否使用20作为传输数据的端口与FTP使用的传输模式有关,如果采用主动模式,那么数据传输端口就是20;如果采用被动模式,则具体最终使用哪个端口要服务器端和客户端协商决定。

     
     

     

  • 相关阅读:
    只有标题1没有标题2、3的解决方法
    python函数学习总结
    python基础知识学习总结
    StructuredStreaming中,如果trigger触发时前一批数据还没处理完怎么办?
    StructuredStreaming解析JSON CVS
    StructuredStreaming整合kafka
    kafka--如何选择Kafka的分区数和消费者个数
    kafka中groupid作用
    查看kafka版本
    spark项目java与scala相互调用打包
  • 原文地址:https://www.cnblogs.com/ltyc/p/14455023.html
Copyright © 2020-2023  润新知