1、引言
Internet标准:RFC
2、OSI参考模型与TCP/IP协议族
2.1、ISO组织定义了OSI(开放系统互连)参考模型
OSI参考模型定义了网络中设备所遵守的层次结构 对等通信
提供应用程序间通信 7 应用层 APDU 应用层
处理数据格式、数据加密等 6 表示层 PPDU 表示层
建立、维护和管理会话 5 会话层 SPDU 会话层
建立主机端到端链接 4 传输层 Segment(段) 传输层
寻址和路由选择 3 网络层 Packet(包) 网络层
提供介质访问、链路管理等 2 数据链路层 Frame(帧) 数据链路层
比特流传输 1 物理层 Bit 物理层
注:每一层都使用自己的协议;每一层都利用下层提供的服务与对等层通信。每一层可以同时存在多个实体,可以同时存在多个协议。存在通信关系的对等层实体才是对等实体。
PDU(协议数据单元)
数据封装与解封装:
2.2、TCP/IP协议族
TCP/IP模型的层次结构:
7 应用层
6 表示层 应用层 4 (Telnet ,FTP和SMTP,HTTP等)
5 会话层
4 传输层 传输层 3 (TCP和UDP)
3 网络层 网络层 2 (IP,ICMP和IGMP)
2 数据链路层
1 物理层 网络接口层 1 (设备驱动程序及接口ARP,RARP)
链路层:处理与电缆(或其他任何传输媒介)的物理接口细节
网络层:处理分组在网络中的活动,例如分组选路
传输层:为两台主机上的应用程序提供端到端的通讯。
应用层:处理特定的应用程序细节
客户—服务器模型:重复型或并发型
2.3、编址
1、物理地址:链路地址/硬件地址(Mac地址) ==》数据链路层
标识通信节点
2、IP地址:网络地址 ==》网络层
标识通信节点的网络连接
Internet指定
3、端口地址 ==》传输层
标识通信进程
操作系统指定
3、底层网络技术
3.1、传输介质
有线介质—导线管
双绞线,同轴电缆,光纤
无线介质—电磁波
8个频段
3.2、局域网(LAN)
共享介质—广播式
3.3、交换
交换系统:有多个输入和输出的“黑盒子”
电路交换:建立连接,数据传输,拆除链接
分组交换(数据报:传输过程分割数据报,虚电路)
报文交换
3.4、广域网(WAN)
交换网络----点到点式
电路交换,分组交换
3.5、连接设备
(1)、转发器/集线器:物理层
(2)、网桥/交换机(维护一个地址表):物理层、链路层
(3)、路由器:物理层、链路层、网络层
(4)、网关:物理层、链路层、网络层、传输层、会话层、表示层、应用层
4、IP编址
4.1、引言
IP地址----通用标识符
唯一标识互联网上的主机或路由器
4.2、IP地址结构
(1)、32位二进制地址:网络号+主机号
(2)、IP地址表示----点分十进制
(3)、IP地址分类:
A类:0.0.0.0~127.255.255.255 7+24
B类:128.0.0.0~191.255.255.255 14+16
C类:192.0.0.0~223.255.255.255 24+8
D类:224.0.0.0~239.255.255.255 无
E类:240.0.0.0~255.255.255.255 无
(4)、多接口设备
多接口计算机
路由器
(5)、网络地址
(6)、单播地址:可以是A、B、、或C类
(7)、多播地址:D类
(8)、广播地址:本地及
(9)、申请IP地址
标识网络连接的IP地址数目:
A类 网络数 126 主机IP数/网络 2^24 -2
B类 网络数 2^14 主机IP数/网络 2^16 -2
C类 网络数 2^21 主机IP数/网络 2^8 -2
(10)、子网划分:将一个IP类网划分成几个较小的子网
掩码:子网掩码;默认掩码
(11)、掩码表示:确定掩码,就确定了子网的大小
255.255.255.192<==>/26
最小的IP子网的掩码是多少? 255.255.255.252
(12)、IP分组传输环境:多个网络存在差异:通信能力,分组长度,延时
(13)、IP通信----无连接通信
(14)、路由表的大小只与网络的个数有关,与每个网络的大小无关
路由器独立选路,从A到B的路径可能与从B到A的路径不是同一条
只有最后一个路由器才知道目的主机是否存在
(15)、路由表的构成过程:
初始化阶段-----路由发现
维护阶段------路由更新
4、网际协议(IP)
(1)、IP:不可靠(跨越多个异构物理网)无连接(尽最大努力交付)数据报协议
(2)、数据报(Datagram)
报头:20~60字节 数据20~65536字节
(3)、IP协议只有一种报文格式---IP数据报
(4)、IP协议功能:传递数据。缺乏应付可能出现差错的能力
(5)、ICMP为IP提供差错报告机制,为其它层提供辅助功能
(6)、ICMP报文封装在IP中,只能送到指定目的站
(7)、由于IP的无连接性,ICMP只能向源站报告
(8)、源站对ICMP报告可能无能为力
(9)、ICMP在实际中用途较广,但对网络的控制能力较弱
5、UDP
(1)、引言:
传输层功能:
。作为应用程序和网络操作的中介物
。创建进程到进程的通信
。提供差错控制和流控
传输层协议:
。TCP,传输控制协议
。UDP,用户数据报协议
(2)、进程到进程的通信
(3)、通信特点:无连接、不可靠
6、TCP
(1)、提供通用的、可靠的进程到进程的通信服务;提供统一的数据流投递服务接口
(2)、可靠特征:
。面向数据流的传输:无结构字节流:没有边界,内容任意
。虚电路连接---端到端连接
。有缓冲的传送----提高传输效率
。全双工服务
(3)、可靠性保证:
。采用面向连接的通信方式
。滑动窗口协议,以提高通信性能
。捎带确认方式
。TCP只有一种报文格式,完成
(4)、TCP上通信双方抽象的虚电路连接
(5)、报文段格式:
(6)、控制字段:
。报文类型、流控、连接建立和拆除
URG
RST
ACK
SYN
PSH
FIN
(7)、TCP的确认机制
确认机制——带重传的肯定确认。
。接收方收到正确的数据后,向源站回送ACK报文
。发送方重传错误数据(受损报文、丢失报文)
累计确认
。ACK number是接收方希望接收的下一个字节
。对ACK number以前的所有字节的确认
(8)、超时重传机制
发送方发送数据时启动一个定时器
(9)、滑动窗口:拥塞避免
(10)、三次握手:建立连接
(11)、四次握手:拆除连接
TCP与UDP区别总结:
1、TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接
2、TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付
3、TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流;UDP是面向报文的
UDP没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如IP电话,实时视频会议等)
4、每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信
5、TCP首部开销20字节;UDP的首部开销小,只有8个字节
6、TCP的逻辑通信信道是全双工的可靠信道,UDP则是不可靠信道
7、DNS
(1)、名字空间
平面名字空间:无结构的字符序列
层次名字空间:若干部分组成,如域名
(2)、解析:将域名映射为IP地址
1、网络接口层(链路层)的功能
作用是负责将数据转换为数字信号在物理设备之间传输。
带宽10Mb 下载速度最高限制为1.25MB b为bit位 B为Byte字节
全双工模式
MAC地址:
Mac地址就是硬件地址;
当数据走到网络接口层时候,必须要知道目标的mac地址;
网络中的网卡设备都有mac地址,mac地址是不可路由的;
Mac地址是唯一的,可以人为改掉;
Mac地址采用十六进制数表示,共六个字节(48位);如:00:oC:29:1D:94:09
以太网和IEEE 802封装:
主机使用的以太网RFC:894分组
2、网络层
网络层的作用:寻址和路由选择
ARP和RARP协议:
ARP,即地址解析协议,把IP解析为MAC地址。
每台网络设备都有一个动态ARP信息表;
网络在传输数据时,我们直观的感觉是通过IP地址来传输,但实际上,数据在底层传输时,是通过机器能识别的MAC地址来传输数据。
RARP,即反向地址解析,常在DHCP场合应用。
IGMP和ICMP协议:
IGMP,用于组播
ICMP,即控制报文协议,是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制信息,控制信息是指网络通不通,主机是否可达、路由是否可用等网络本身的消息。这些控制信息虽然并不传输给用户数据,但是对于用户数据的传递起着重要的作用。
IP协议:
IP是Internet Protocol,网络之间互联的协议。
在因特网中,它是能使连接到网络上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则,任何厂家生产的计算机系统,只要遵守IP协议就可以与因特网互联互通。
认识IP地址:
IPV4:192.168.100.2 点分10进制,共32位
IPV6:fe8o::55e5:a4d1:ecce:79oc%16 128位
IP的最大特点是:公网地址全球唯一性。
IP地址的分类:
A类:0+7位网络号 主机号24位
1.0.0.0到126.0.0.0 ,0.0.0.0和127.0.0.0保留
B类:10+14位网络号 主机号16位
128.1.0.0到191.254.0.0 ,128.0.0.0和191.255.0.0保留
C类:110+21位网络号 主机号8位
192.0.1.0到223.255.254.0 , 192.0.0.0和223.255.255.0保留
D类:1110
224.0.0.0到239.255.255.255用于多点广播
E类:11110
240.0.0.0到255.255.255.254保留
255.255.255.255用于广播
常见的特殊IP-1
私网IP:
A类:10.0.0.1--10.255.255.254
B类:172.16.0.1--172.31.255.254
C类:192.168.0.1--192.168.255.254
常见的特殊IP-2
本机IP,即回环地址:127.0.0.1,本机内部通讯;
网络地址与广播地址;
169.254.*.*当电脑无法获取到IP时,会自动为自己分配一个;
任意地址:0.0.0.0
IP子网划分:
好处:节省IP资源;方便划分VLAN,分割局域网
IP地址与子网掩码:
子网掩码和IP地址一样也是32位;
子网掩码用于定义网络地址;
默认掩码:
A类:10.0.0.0/8 或者10.0.0.0/255.0.0.0
B类:172.16.0.0/16 或者172.16.0.0/255.255.0.0
C类:192.168.1.0/24 或者192.168.1.0/255.255.255.0
划分子网就是网络位找主机位借位。
**子网划分步骤:(以C类为例:192.168.0.0):
第一步:确定一个子网里准备有多少个主机,假设有45个
第二步:确定子网掩码是什么,256-64=192,即255.255.255.192
第三步:能分成几个子网,256/64 = 4个
第四步:每个子网的起始至结束地址是什么,
a:192.168.0.0-192.168.0.63;
b:192.168.0.64-192.168.0.127;
c:192.168.0.128-192.168.0.191;
d:192.168.0.192-192.168.0.255
第五步:每个子网的网络地址和广播地址是多少(第一个是网络地址,最后一个是广播地址)
第六步:一个子网里可用地址有几个,即减去网络、广播、网关地址
3、传输层
传输层功能:
分段上层数据
建立端到端连接
透明、可靠传输
流量控制
传输层协议:
主要有TCP/IP协议族的TCP协议和UDP协议。
TCP的特点:
。三次握手 。确认机制
》建立可靠连接 》应答接收
。端口号 。序列号
》多路复用 》丢失检查、乱序重排
。完整性校验 。窗口机制
》差错检测 》流量控制
TCP与UDP的对比:
功能项 TCP UDP
连接服务器的类型 面向连接 无连接
维护连接状态 维持端到端的连接 不维护连接状态
对应用层数据的 对应用层数据进行
封装 分段和封装,用端口号 与TCP相同
标识应用层程序
数据传输 通过序列号和应答机制 不确保可靠连接
确保可靠连接
流量控制 使用滑动窗口机制控制 无流量控制机制
流量
4、应用层
常见的服务与默认端口:
端口有TCP与IP之分;
常见的服务端口对应表:
服务 默认端口 相关软件
WEB TCP 80 Apache,Nginx,IIS
FTP TCP 21 VSFTPD,PURE-FTP
DNS UDP 53 bind,powerdns
SMTP TCP 25
POP3 TCP 110
SSH TCP 22 OPENSSH
ROP TCP 3389
.......
关于端口的一些知识:
netstat命令:
更改服务的默认端口(保留号0-1024,自定义端口号1025-65535)。