zoukankan      html  css  js  c++  java
  • <网络> TCP/IP协议栈 以及IP的相关知识点

    一.TCP/IP协议栈:符合先进后出

    1.图解:

    2.注意:

    ①帧头长度14 帧尾长度4

    以太网数据报范围:46~1500(小于46的时候会自动填充)

    帧长度:64~1548

    ③将网卡设置为“混杂模式”的时候 可以收到经过这个网卡的任意数据包

    二.IP

    1.分类:

    ①公有IP ②私有IP

    2.私有IP分类

    ①A类:“0” IP范围:1.0.0.0~127.255.255.255 子网掩码:255.0.0.0

    ②B类:“1” IP范围:128.0.0.0~191.255.255.255 子网掩码:255.255.0.0

    ③C类:“11” IP范围:192.0.0.0~223.255.255.255 子网掩码:255.255.255.0

    ④D类:“111” IP范围:224.0.0.0~239.255.255.255

    ⑤E类:“1111” IP范围:240.0.0.0~255.255.255.255

    D类和E类多用于多播和广播

    3.网络号和主机号的划分:IP&子网掩码=网络号 (即作与运算)

    ①例1:

    已知IP:192.162.2.1 子网掩码:255.255.255.0

    可以算出网络号:192.168.2.0 其主机号为:1

    该网段内最多有254台主机(原因:全0用作默认网关 全1用作广播 剩下的才可以作为主机IP

    ②例2:

    已知IP:10.21.39.20/26(“/26”表示子网掩码从左到右是26个1 即255.255.255.192(1100 0000))

    该IP网络号为:10.21.39.0 主机号为:20

    IP:10.21.39.160/26

    该IP网络号为:10.21.39.128 主机号为:(160-128=)32

    所以通过网络号可以看出这两个IP不在一个网段上

    4.IP子网划分:

    也是通过下面一道例题来理解:

    已知IP:192.168.2.1 子网掩码:255.255.255.0 可以算出网络号为:192.168.2.0

    ①将其划分为2个网段(使用1位即可):改子网掩码为:255.255.255.128(1000 0000) 划分范围如下:

    192.168.2.0(0000 0000)~192.168.2.127(0111 1111)

    192.168.2.128(1000 0000)~192.168.2.255(1111 1111)

    ②将其划分为4个网段(使用2位即可):改子网掩码为:255.255.255.192(1100 0000) 划分范围如下:

    192.168.2.0(0000 0000)~192.168.2.63(0011 1111)

    192.168.2.64(0100 0000)~192.168.2.127(0111 1111)

    192.168.2.128(1000 0000)~192.168.2.191(1011 1111)

    192.168.2.192(1100 0000)~192.168.2.255(1111 1111)

    ③如果要将其划分为10个网段 那么要使用4位

    虽然有富余出来的 可以有空闲的 但是不能不够 

    5.端口号:

    ①范围:0~65535

    ②分类:

    知名端口号:0~1023

    动态端口号(可选):1024~5000

    预留端口号(可选):>5000

    注:同一协议不能绑定同一端口号 但是不用的协议可以绑定同一个端口号

    6.套接字socket:

    ①阻塞:那倒数据(即完成某件事)或对方下线才返回 即放入缓冲区才返回

    ②非阻塞:到达等待时间返回 即放不放进去都返回

    7.广播的分类:

    ①有限广播:向局域网内任意网段广播 不能跨路由器 255.255.255.255

    注:”需要设置广播权限:setsocketopt();

    ②直接广播:向某指定网段内广播 可跨路由器传输 Ex:192.168.2.255

  • 相关阅读:
    sprintboot+spring security +jwt 实现登录
    IntelliJ IDEA 上传项目到gitlab
    springboot 引入 spring data jpa
    springboot 引入 restTempalte
    StringRedisTemplate与RedisTemplate 区别
    HTTP协议响应篇
    HTTP协议请求篇
    HTTP协议基础篇(帮助理解)
    TP5验证码的使用
    ThinkPHP5的简单使用
  • 原文地址:https://www.cnblogs.com/Aaaaaalei0612/p/9429810.html
Copyright © 2011-2022 走看看