互联网协议

互联网协议

## 互联网协议
– 概括:从上到下,越上越接近用户,越下越接近硬件
– 应用层:
    + 规定应用程序的数据格式
    + [HEAD(以太网标头) [HEAD(IP标头) [HEAD(TCP标头) DATA(应用层数据包)]]]

– 传输层(端口到端口的通信): 定义端口号
    + 端口:
        * 0到65535(2^16)的整数
        * 进程使用网卡的编号
        * 通过IP+mac确定主机,只要确定主机+端口(套接字socket),就能进行程序间的通信
    + UDP协议:
        * 数据包中加入端口依赖的新协议
        * 数据包[HEAD(发送、接收mac) [HEAD(发送、接收ip) [HEAD(发送、接收端口) DATA]]]
        * 简单,可靠性差,不知道对方是否接受包
    + TCP协议:
        * 带有确认机制的UDP协议
        * 过程复杂,实现困难,消耗资源
        “`
          tcp/ip connect: tcp/ip的三次握手
                  标有syn的数据包
                  ————->
                  标有syn/ack的数据包
          client  <————-  server
                  标有ack的数据包
                  ————–>
        “`

– 网络层(主机到主机的通信):定义IP
        “`
          tcp/ip finish: tcp/ip的四次握手
                  fin
                  <————-
                  ack
        client    ————-> server
                  fin
                  ————->
                  ack
                  <————-
        “`

– 网络层(主机到主机的通信):
    + IP协议
        * ipv4:
            – 32个二进制位表示,由网络部分和主机部分构成,
            – 子网掩码: 网络部分都为1,主机部分都为0,目的判断ip的网络部分,如255.255.255.0(11111111.11111111.11111111.00000000)
            – IP数据包:标头Head+数据Data,放进以太网数据包的Data部分[HEAD [HEAD DATA]]
            – IP数据包的传递:
                + 非同一网络:无法获得mac地址,发送数据到网关,网关处理
                    – ARP(Address Resolation Protocol): 解析地址协议,通过ip解析mac地址
                + 同一网络:mac地址填写FF:FF:FF:FF:FF:FF:FF,广播数据,对比ip,不符合丢包

– 链接层:定义mac
    + 定义数据包(帧Frame)
        * 标头(Head):数据包的一些说明项, 如发送者、接收者、数据类型
        * 数据(Data):数据包的具体内容
        * 数据包:[HEAD DATA]
    + 定义网卡和网卡唯一的mac地址
        * 以太网规定接入网络的所有终端都应该具有网卡接口,数据包必须是从一个网卡的mac地址到另一网卡接口的mac地址
        * mac全球唯一,16位16位进制组成,前6厂商编号,后6网卡流水号
    + 广播发送数据
        * 向本网络内的所有设备发送数据包,对比接收者mac地址,不是丢包,是接受

– 实体层:物理层
    + 终端(pc,phone,pad…)的物理连接(光缆,电缆,路由…),负责传递0和1信号

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/113825.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 银行的大数据应用

    银行的大数据应用这是系列文章之一。本系列梳理了国内外银行信息化历程,包含区块链、云计算、物联网、移动端、人工智能各方面的应用情况。一、大数据发展简介“大数据”一词据称最早于1980年出现在美国著名未来学家阿尔文·托夫勒所著的《第三次浪潮》一书中,他在书中将“大数据”称为“第三次浪潮的华彩乐章”。在笔者看来,大数据的应用效果主要取决于两部分,一是大数据的技术部分,二是对数据质量和价值有重要影响的数据治理…

  • H3C交换机路由器配置命令大全[通俗易懂]

    H3C交换机路由器配置命令大全[通俗易懂]H3C交换机和路由器的配置命令

  • python抛出异常和捕获异常_python自定义异常

    python抛出异常和捕获异常_python自定义异常主动抛异常1.抛异常有时,程序需要主动抛出异常,因为某些情况下,你需要反馈消息给更上层的调用者,告诉它有一些异常情况发生,而你抛出异常的地方,没有能力处理它,因此需要向上抛出异常。这种情况为什么不让系统自己抛出异常呢?一个原因是上层的调用者本身就希望能够捕获有别于系统异常的自定义异常,二来,有些情况下,程序的逻辑是没有异常的,但是,从业务角度考虑,的确是一个不寻常的情况,因此需要我们主动抛出异常…

    2022年10月10日
  • 大数据:数据采集平台之Fluentd

    大数据:数据采集平台之Fluentd大数据:数据采集平台之Fluentd官网:http://docs.fluentd.org/articles/quickstartFluentd是一个开源的数据收集框架。Fluentd使用C/Ruby开发,使用JSON文件来统一日志数据。它的可插拔架构,支持各种不同种类和格式的数据源和数据输出。最后它也同时提供了高可靠和很好的扩展性。TreasureData,Inc对该产品提供支持和维…

  • 查看sqlite_sqlite数据库手机版

    查看sqlite_sqlite数据库手机版这是什么用于SQLite的数据库浏览器(DB4S)是一种高质量,可视化的开源工具,用于创建,设计和编辑与SQLite兼容的数据库文件。DB4S适用于想要创建,搜索和编辑数据库的用户和开发人员。DB4S使用熟悉的类似电子表格的界面,并且不必学习复杂的SQL命令。控件和向导可供用户使用:创建并压缩数据库文件 创建,定义,修改和删除表 创建,定义和删除索引 浏览,编辑,添加和删除记录 搜索记录 导入和导出记录为文本 从CSV文件导入和导出表格 从/到SQL转储文件导入和导出数据库

  • sql 聚合函数有哪些

    sql 聚合函数有哪些聚合函数是对一组值执行计算并返回单一的值的函数,它经常与SELECT语句的GROUPBY子句一同使用,SQLSERVER中具体有哪些聚合函数呢?我们来一一看一下:1.AVG返回指定组中的平均值,空值被忽略。例:selectprd_no,avg(qty)fromsalesgroupbyprd_no2.COUNT返回指定组中项目的数量。例…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号