IP地址的分类
ipv4分类:A,B,C,D,E 根据前8位数字特征来区分的
A类:必须是0开头的 0xxx xxxx 0~127 实际是 1~126
B类:必须是10开头的 10xx xxxx 128~191
C类:必须是110开头的 110x xxxx 192~223
D类:必须是1110开头的 1110 xxxx 224~239
E类:必须是1111开头的 1111 xxxx 240~255
A,B,C三类为单播地址 ---------特点:既可以做源ip,也可以做目标ip使用
规定A类地址的掩码:255.0.0.0
8位掩码
广播域为 2^8次方每一个广播域里面的主机只有2的24次方
B类地址的掩码:255.255.0.0
16位掩码
广播域为 2^16次方每一个广播域里面的主机只有2的16次方
C类地址的掩码:255.255.255.0
24位掩码
广播域为 2^24次方每一个广播域里面的主机只有2的8次方
D类IP地址不分网络地址和主机地址,是一个专门保留的地址。主要用于多点广播(Multicast,也称为多播)之中作为多播组IP地址。
其中,多播组IP地址让源主机能够将分组发送给网络中的一组主机,属于多播组的主机将被分配一个多播组lP地址。由于多播组lP地址标识了一组主机(也称为主机组),因此多播组IP地址只能作为目标地址,源地址总是为单播地址。
E类IP地址为保留地址 此网段的地址不分配使用
注意:现在用的基本都是无类别的分发,不用它规定的A,B,C类,子网掩码可以根据自己更改
特殊IP地址:
127.0.0.1 ~127.255.255.254----------是一个换回地址
127是一个虚拟的ip,用来排错用的
一般排错分以下几步:
1、ping 127.0.0.1 先检查TCP/IP协议栈是否正常。
2、ping 本地ip 检查你网卡是否工作正常。
3、ping 网关地址 检查本地主机与网关的链路是否通畅。
4、ping 远程网站 检查本地主机与外网远程网站关的链路是否通畅。
255.255.255.255------------受限广播地址--------------只能作为目标ip使用
当你不知道目标ip时就可以使用这个地址当做目标ip,逼交换机进行泛洪,但是当数据包发到路由器时,路由器会把这个包丢掉,所有你的数据包不能跨广播域发送。
主机位全1--------直接广播地址--------------只能作为目标ip使用
与受限广播不同的是路由器会转发收到的包
例:pc1向pc3发消息(不同广播域的)
源ip:自己的ip 目标ip:192.168.2.255 源MAC:自己 目标MAC:路由器(广播)
路由器收到后:源ip:pc1的ip 目标ip:192.168.2.55 源MAC:路由器 目标MAC:FFFF—FFFF—FFFF
主机位全0-------------代表一个范围,一个网段
192.168.1.0----------只能作为目标ip使用
169.254.0.0/16 -----------这是一个网段,代表自动私有地址
问别人要ip地址时,没人给ip地址,自动给自己配ip的范围
VLSM---------可变长子网掩码
作用:划分子网
划分网段可以借助网掩码 借一位可以划分2^1个网段 ,借二位可以划分2^2个网段,以此类推。
例1:从192.168.1.0/24 划分出两个网段
192.168.1.0 0000000 /25
划分的地址范围: —192.168.1.0/25 192.168.1.1-192.168.1.126
192.168.1.1 0000000 /25
划分的地址范围:—192.168.1.128/25 192.168.1.129-192.168.1.254
例:172.16.0.0/16---划分出7个网段
172.16.000 00000.00000000 172.16.0.0/19 172.16.0.1 - 172.16.31.254
172.16.001 00000.00000000 172.16.32.0/19 172.16.32.1 - 172.16.63.254
172.16.010 00000.00000000 172.16.64.0/19 172.16.64.1 - 172.16.95.254
172.16.011 00000.00000000 172.16.96.0/19 172.16.96.1 - 172.16.127.254
172.16.100 00000.00000000 172.16.128.0/19 172.16.128.1 - 172.16.159.254
172.16.101 00000.00000000 172.16.160.0/19 172.16.160.1 - 172.16.191.254
172.16.110 00000.00000000 172.16.192.0/19 172.16.192.1 - 172.16.223.254
172.16.111 00000.00000000 172.16.224.0/19 172.16.224.1 - 172.16.255.254
CIDR---------无类域间路由
作用:汇总(把小的网络组成一个更大的网络),用法:取相同,去不同-----针对二进制
例:把下列网段汇总成一个网段
192.168.0.0/24 192.168.000000 00.0/24
192.168.1.0/24 192.168.000000 01.0/24
192.168.2.0/24 192.168.000000 10.0/24
192.168.3.0/24 192.168.000000 11.0/24
最后汇总如下
192.168.000000 00.00000000
192.168.0.0/22
分出来的是一个超网
因为:原来是C类网段(默认24位网络位),现在的网络位变少了,也就是容纳的主机更多了
例2:把下列网段汇总成一个网段
172.16.0.0/24 172.16.1.0/24
172.16.2.0/24 172.16.3.0/24
172.16.0.0/22---------汇总 将多网段,汇合成一个
分出来的是一个子网
判断一个网段到底是子网还是超网,就要看该默认网段是A类网络、还是B类网络、还是C类网络,默认A类子网掩码/8(网络位8位),B类子网掩码是/16(网络位16位),C类子网掩码是/24(网络位24位)。
如果该网段的网络位比默认的网络位长,就是子网,如果该网段的网络位比默认的网络位短,则是超网。
OSI七层参考模型
OSI/RM-----开放式系统互联/参考模型
OSI参考模型是国际标准化组织(ISO)1979年制定的
OSI参考模型的核心思想:分层
什么是分层:属于同一层面的不同功能,其目的和作用相似或相近;不同层面的功能其目的和作用具有明显的差异。每一层都在下面一层提供的服务的基础上在提供增值服务
分层的作用:
1.更易于标准化。
2.降低层次之间的关联性。
3.便于学习或理解。
应用层 ------------抽象语言转换成编码
表示层-------------编码转换成二进制
会话层--------------维持网络应用和应用服务器之间的会话连接。就像qq发消息一样,你可以实时的接收到消息
传输层--------------实现端到端的传输。实现应用到应用之间的传输,端口号-----就是会话层地址,由16位二进制构成,2的16次方 1 ~65535
0一般不用,其中 1-1023称为知名端口号:如http后面跟80端口,
例:访问http服务
源端口号:随机值(555) 目标端口:80 回去的时候:源端口80 目标:555
源ip:1.1 目标ip:10.1
源mac:自己 目标mac:网关
网络层 -----------------路由器 ,ip--------互联网协议
数据链路层 --------包含两个子层 逻辑链路控制层(LLC),介质访问控制层(MAC)
LLC----------可以在数据的末尾增加一个校验盒(FCS帧校验序列)确保数据的完整性,FCS通过crs算法得到(循环冗余算法),防止传输过程中信息篡改,和丢失。
物理层 ----------处理电信号
TCP/IP参考模型
现如今用的参考模型
TCP/IP 是一个协议簇,它组建整个互联网
最主要的是TCP/IP 和这两个协议,所以起名为TCP/IP
TCP/IP四层模型--------TCP/IP标准模型
TCP/IP五层模型---------TCP/IP对等模型
PDU-----------协议数据单元---------数据在不同层中的单位(叫什么)
在OSI模型叫法:
在物理层就叫:L1PDU 依次向上
L2PDU
......
L7PDU
在TCP/IP中叫法:
应用层 -------------数据报文
传输层 -------------数据段
网络层--------------数据包
数据链路层-----------数据帧
物理层---------------比特流
封装和解封装
数据在每一层加工的过程称为封装,封装是从上到下,解封装是从下到上
应用层 ----------一个有端口号的协议就一定是应用层协议
常见的协议:
http(超文本传输协议)------------基于tcp 80端口
FTP(文件传输协议)------------tcp 20 21号端口
telnet(远程登录协议)-----------tcp 23号端口
dhcp(动态主机配置协议)----------UDP 67/68
DNS(域名解析协议)----------------UDP/TCP 53
tftp(简单文件传输协议)----------------UDP 69
tftp跟ftp有什么区别:tftp只能文件上传和下载 ftp有认证
HTTPS-----------------HTTP+SSL(现在叫TLS)是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性-------TCP443号端口
传输层 -------------将端口号添加到数据当中(干事的是协议)TCP/UDP
传输层-------TCP和UDP的区别:
1.TCP协议是面向连接的协议,UDP是无连接的协议
2.TCP的传输时可靠的,UDP的传输“尽力而为”;
3.TCP可以以分段,UDP不行
4.TCP可以实现流控,UDP不行
5.TCP传输速度慢,消耗资源较大;UDP传输速度快,消耗资源小;
TCP和UDP的使用场景
TCP适用于效率要求较低,但准确性要求较高的场景
UDP适用于效率要求较高,但准确性要求较低的场景
什么叫做面向连接,什么是无连接
面向连接就是指设备在传输之前,先使用预备的协议建立点到点的连接,然后在传输数据。
面向连接和无连接的主要区别在于连接时是否有“通讯会话(communication session)”存在,简单来说,区别在于需不需要“拨号等待接通”、“确保对方收到”、还有对方“知不知道有数据发过来”。
TCP的头部
源端口号(16位)、目的端口号(16位)2个字节
计算机上的进程要和其他进程通信是要通过计算机端口的,而一个计算机端口某个时刻只能被一个进程占用,所以通过指定源端口和目标端口,就可以知道是哪两个进程需要通信
序号(32位)4个字节
来标识从 TCP 源端向 TCP 目的端发送的数据字节流,它表示在这个报文段中的第一个数据字节的顺序号。
如果将字节流看作在两个应用程序间的单向流动,则 TCP 用顺序号对每个字节进行计数。序号是 32bit 的无符号数,**序号到达 (2^32) - 1 后又从 0 开始。**当建立一个新的连接时, SYN 标志变 1 ,顺序号字段包含由这个主机选择的该连接的初始顺序号 ISN ( Initial Sequence Number )
进行一个排序的作用,因为它的数据具有分段功能 所以需要由排序,保持原有的顺序
确认序号(32位)4个字节
包含发送确认的一端所期望收到的下一个顺序号。因此,确认序号应当是上次已成功收到数据字节序号加 1
。只有 ACK 标志为 1 时确认序号字段才有效
数据
数据,不定长度,为上层协议封装好的数据
选项
一般是空的,根据需要添加
首部长度(4位)
标识头部,因为头部长度(TCP整个头部)不固定,头部长度最短20个字节
保留(6位)
保留区域,6位,保留给将来使用,目前必须置为 0
URG:
紧急标记位 ,为 1 表示紧急指针有效,为 0 则忽略紧急指针值,配合紧急指针使用
ACK:
为1时,确认号有效,必须置1
PSH:
为 1 表示是带有 PUSH 标志的数据,指示接收方应该尽快将这个报文段交给应用层而不用等待缓冲区装满
RST:
用于复位由于主机崩溃或其他原因而出现错误的连接。它还可以用于拒绝非法的报文段和拒绝连接请求。一般情况下,如果收到一个 RST 为 1 的报文,那么一定发生了某些问题
SYN:
同步序号,为 1 表示连接请求,用于建立连接和使顺序号同步
FIN:
用于释放连接,为 1 表示发送方已经没有数据发送了,即关闭本方数据流
窗口大小(16位)
此字段用来进行流量控制,主要用于解决流控拥塞的问题。单位为字节数,这个值是本机期望一次接收的字节数。
紧急指针(16位)
它是一个偏移量,和序号字段中的值相加表示紧急数据最后一个字节的序号
校验和(16位)
对整个的 TCP 报文段(包括 TCP 头部和 TCP 数据),以 16 位字进行计算所得。这是一个强制性的字段,要求由发送端计算和存储,并由接收端进行验证
确认数据的完整性,这里的是伪头部检验,会校验网络层中12个子节的内容----32位源ip,32位目标ip,8位保留 (都是置0),8位的协议,16位总长度
UDP的头部
头部固定8个字节
源端口号(16位)、目的端口号(16位)2个字节
计算机上的进程要和其他进程通信是要通过计算机端口的,而一个计算机端口某个时刻只能被一个进程占用,所以通过指定源端口和目标端口,就可以知道是哪两个进程需要通信
16位UDP长度
UDP数据报的长度(包括数据和首部),其最小值为8B(即仅有首部没有数据的情况)。
16位校验和
跟tcp校验一样,有时候可以不填
数据
数据,不定长度,为上层协议封装好的数据
网络层--------------把IP地址添加到数据中 --------干事的是IP协议
数据链路层----------MAC地址---------干事的是以太网协议:早期局域网的解决方案,主要依赖MAC地址寻址。以太网主要工作在一、二层。
前导码
(Preamble):由0、1间隔代码组成,用来通知目标站作好接收准备
目标地址
源地址
Type
:网络层的协议类型,上一层用的协议类型
Date
:数据
FSC
:包含长度为4个字节的循环冗余校验值(CRC),由发送设备计算产生,在接收方被重新计算以确定帧在传送过程中是否被损坏。