互联网协议

互联网协议

## 互联网协议
– 概括:从上到下,越上越接近用户,越下越接近硬件
– 应用层:
    + 规定应用程序的数据格式
    + [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信号

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

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

(0)
上一篇 2021年10月10日 下午8:00
下一篇 2021年10月10日 下午9:00


相关推荐

  • JSONObject使用方法详解

    JSONObject使用方法详解/***项目名称:tools*项目包名:com.songfayuantools.json*创建时间:2017年7月31日上午11:58:51*创建者:Administrator-宋发元*创建地点:*/packagecom.songfayuantools.json;importcom.songfayuantools.entity.UserInfo;im

    2022年7月13日
    17
  • Anaconda 配置 Python 环境

    Anaconda 配置 Python 环境原文地址:"Anaconda配置Python环境"0x00环境Anaconda:2019.03Python:3.6.80x01Linux安装Anacon

    2022年7月5日
    30
  • sqlserver数据库同步工具_sql server数据库安装

    sqlserver数据库同步工具_sql server数据库安装 一、确认数据库运行环境是否配置正确打开SQLServerManagementStudio,新建查询: select*fromsys.servers GO //这里可得到原来的计算机名称。然后将其记录下来(复制即可)  看这里的name是否和你的服务器的计算机名称一样,如果一样可以跳到文档(二),否则请按如下操作更改 新建查询:

    2022年10月10日
    8
  • FFTW的使用

    FFTW的使用FFTW 首页 http www fftw org 据说 FFTW 是世界上最快的 FFT 下载地址 http www fftw org download html 一 Windows 安装 FFTW 从网址 http www fftw org install windows html nbsp 上获得 FFTW 的 windowsdll 预编译版本 解压缩文件 打开 wi

    2026年3月19日
    3
  • es6 转es5_es5 es6是什么

    es6 转es5_es5 es6是什么项目js没有用vue的福音情景问题 项目有很多新的js语法es6es7等等 如你所愿市面上很多浏览器已经大部分支持这些与语法了 但是ie就差强人意了直接歇菜如何解决 利用node插件完成语法降级实施情景 #安装babel npminstall–save-dev@babel/core #安装转码规则 npminstall–save-dev@babel/preset-env #规则加入babel.config.json

    2026年3月10日
    5
  • 安卓支付宝抢红包脚本软件

    安卓支付宝抢红包脚本软件软件使用条件 1 安卓手机 2 已经 ROOT3 没有了 ps 软件可能会提示不支持你的分辨率请无视 使用方法 1 下载软件打开 小米手机可能要设置下悬浮窗 2 给予软件 root 权限 3 点启动 4 打开支付宝等到倒计时结束马上按音量 键 5 抢红包结束马上按音量 ps 由于用的是找色代码结束没及时按音量 软件会乱点

    2026年3月19日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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