一.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