互联网协议

互联网协议

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


相关推荐

  • 3.1存储管理操作系统

    3.1存储管理操作系统

    2022年1月9日
    49
  • 线程池详解(通俗易懂超级好)「建议收藏」

    线程池详解(通俗易懂超级好)「建议收藏」目标【理解】线程池基本概念【理解】线程池工作原理【掌握】自定义线程池【应用】java内置线程池【应用】使用java内置线程池完成综合案例线程池线程池基础线程池使用线程池综合案例4.学员练习5.线程池总结概念介绍1:什么是线程池2:为什么使用线程池3:线程池有哪些优势什么是池什么是线程池线程池其实就是一种多线程处理形式,处理过程中可以将任务添加到队列中,然后在创建线程后自动启动这些任务。这里的线程就是我们前面学过的线程,这里的任务就是我们前面学过的实现了Runna.

    2022年10月24日
    0
  • keras+resnet34实现车牌识别

    keras+resnet34实现车牌识别1.使用PIL和opencv生成车牌图像数据fromPILimportImageFont,Image,ImageDrawimportcv2importnumpyasnpimportosfrommathimport*#创建生成车牌图像数据的类index={“京”:0,”沪”:1,”津”:2,”渝”:3,”冀”:4,”晋”:5,”蒙”:6,”辽”:7,”吉”:8,”黑”:9,”苏”:10,”浙”:11,”皖”:12,

    2022年9月28日
    0
  • 卡片式电脑介绍

    卡片式电脑介绍

    2021年11月13日
    78
  • ubuntu虚拟机分配多少内存好_ubuntu释放内存命令

    ubuntu虚拟机分配多少内存好_ubuntu释放内存命令https://askubuntu.com/questions/176565/why-does-kworker-cpu-usage-get-so-high

    2022年9月24日
    0
  • win7电脑卡顿严重解决方法_电脑卡顿一下

    win7电脑卡顿严重解决方法_电脑卡顿一下最近有很多游戏玩家和小编说win7电脑玩2D游戏经常发生卡顿,游戏卡顿问题确实让玩家苦恼,因为导致2D游戏经常发生卡顿的原因有很多种,那么win7电脑玩2D游戏经常发生卡顿怎么办?不要着急,针对此问题,下面小编告诉大家造成2D游戏经常发生卡顿的六大解决方法。解决方法一:1、建议下载并安装【百度电脑专家】,2、打开【百度电脑专家】,在搜索框内输入“玩游戏卡”,在搜索结果里面选择第一项的【立即修复】,…

    2022年9月11日
    0

发表回复

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

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