2023.10.2
目录
网络通信的要素
- 网络通信三要素:
- IP地址(互联网协议地址)
- 公网地址,私有地址(局域网内使用)
- 192.168.0.0---------192.168.255.255(常见的局域网)
- 端口
- 因为我们的端口数是由两个字节(byte)组成的,每个字节8位,16位,2的16次方(65536-1)
- 标识正在计算机设备上运行的进程(程序),被规定为一个 16 位的二进制,范围是 0~65535
- 端口类型:
- 周知端口:0~1023,被预先定义的知名应用占用(如:HTTP占用 80,FTP占用21)
- 注册端口:1024~49151,分配给用户进程或某些应用程序。(如:Tomcat占 用8080,MySQL占用3306)
- 动态端口:49152到65535,之所以称为动态端口,是因为它 一般不固定分配某种进程,而是动态分配
- 协议
- 数据在网络中传输的规则,常见的协议有UDP协议和TCP协议
- UDP(用户数据报协议)用户数据包协议特点:
- 1、UDP是一种无连接、不可靠传输的协议
- 2、将数据源IP、目的地IP和端口封装成数据包,不需要建立连接
- 3、每个数据包的大小限制在64KB内
- 4、发送不管对方是否准备好,接收方收到也不确认,故是不可靠的
- 5、可以广播发送 ,发送数据结束时无需释放资源,开销小,速度快
- UDP协议应用场景:
- 语音通话,视频会话等
- TCP(传输控制协议)传输控制协议的特点:
- 1、使用TCP协议,必须双方先建立连接,它是一种面向连接的可靠通信协议
- 2、传输前,采用“三次握手”方式建立连接,所以是可靠的
- SYN表示请求同步 ,ACK表示应答,seq序列号
- 3、在连接中可进行大数据量的传输
- 通信协议:计算机网络中,连接和通信数据的规则被称为网络通信协议
- TCP协议应用场景:
- 对信息安全要求较高的场景,例如:文件下载、金融等数据通信
- 4、连接、发送数据都需要确认,且传输完毕后,还需释放已建立的连接,通信效率较低
- UDP(用户数据报协议)用户数据包协议特点:
- 数据在网络中传输的规则,常见的协议有UDP协议和TCP协议
- IP地址(互联网协议地址)
网络拓扑
简单网络:
• 点对点连接
两个终端,用一条能承载数据传输的物理介质(也成为传输介质)连接起来,就组成了一个最简单的网络
简单二层网络:
• 星型拓扑
交换机可以提供大量接口,所以多台主机连到交换机上可以实现互联
简单三层网络:
• 树状拓扑
由路由器连接不同的局域网,隔离广播
企业网络基本架构 :
计算机网络概念
计算机网络是利用通信线路和设备,将分散在不同地点、具有独立功能的多个计算机系统互连起来,按网络协议互相通信,在功能完善的网络软件控制下实现网络资源共享和信息交换的系统
网络是现代通信技术与计算机技术结合的产物
简单的来说就是:一些互相连接的、自治的计算机的结合
OSI参考模型
- 各层网络设备
- 物理层:(中继器,集线器,网线,光纤)
- 网络层:(路由器,三层交换机):IP协议
- RARP(反向地址转换协议):RARP 服务器
- 数据链路层:(网桥,二层交换机)
- 应用层
- telnet(23用于远程登录)
- ftp(20\21用于文件传输)
- smtp(25用于电子邮件传输)
- http(80用于Web浏览)
- dns(53用于域名解析)
TCP/IP 协议详解
分层模型– TCP/IP
- TCP/IP 协议的核心部分为传输层和网络层
- 网络层:解决网络之间的逻辑转发问题,路由和寻址
- ARP(地址解析协议):根据IP地址获取物理地址(MAC)
- ARP欺骗
- 根据 IP --> ARP --> MAC(物理地址)
- 地址解析协议是建立在网络中各个主机互相信任的基础上的,局域网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;由此攻击者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗
- RARP(反向地址转换协议)
- 假如一个设备不知道它自己的IP地址,但是知道自己的物理地址
- 物理地址 --> RARP --> IP地址
- ARP欺骗
- ARP(地址解析协议):根据IP地址获取物理地址(MAC)
- 传输层:保证源端到目的端之间的可靠传输(TCP/UDP)
- 应用层:通过各种协议向终端用户提供业务应用
- 网络接口层:提供接口
名称 | 意义 | 名称 | 意义 |
---|---|---|---|
Telnet | 远程终端协议 | IP | 网际互连协议 |
FTP | 文件传输协议 | ICMP | 因特网控制报文协议 |
SMTP | 简单邮件传输协议 | UDP | 用户数据报协议 |
HTTP | 超文本传输协议 | ARP | 地址解析协议 |
DNS | 域名系统 | RARP | 反向地址转换协议 |
OTHERS | 其他 | Network Interface | 网络间接口 |
TCP | 传输控制协议 |
数据链路层
向该层用户提供透明的和可靠的数据传送服务
1、透明性是指该层上传输的数据的内容、格式及编码没有限制,也没有必要解释信息结构的意义
2、可靠的传输使用户免去对丢失信息、干扰信息及顺序不正确等的担心
3、在物理层中这些情况都可能发生,在数据链路层中必须用纠错码来检错与纠错
封装成帧
把网络层数据报加头和尾,封装成帧,帧中包括源MAC地址(S.MAC——source)和目的MAC地址(D.MAC——destination)
- 应用层接收数据——协议数据单元(PDU)
- 传输层:添加TCP报头——数据段(Segment)
- 网络层:添加IP报头——数据包(Packet)
- 网络接口层:封装数据链路层报头——数据帧(Frame),把帧转为比特
以太网
以太网帧格式
名称 | 意义 | 大小 | 备注 |
---|---|---|---|
D.MAC | 目的地址 | 6B | |
S.MAC | 原地址 | 6B | |
LLC | 逻辑链路控制 | / | |
SNAP | 子网络访问协议 | 5B | 3字节的OUI和两字节的协议标识符 |
FCS | 帧校验序列 | 4B |
Ethernet_II 帧格式
Ethernet_II 帧类型值大于等于1536 (0x0600)
以太网数据帧的长度在64-1518字节之间
以太网的MAC地址
MAC地址由两部分组成,分别是供应商代码和序列号
其中前24位代表 该供应商代码,由IEEE管理和分配
剩下的24位序列号由厂商自己分配
发送方式
1、单播
点对点的通信,数据从一个发送者传输到一个明确的接收者
第八个比特为 0 则为单播
2、广播
广播帧的目的MAC地址为十六进制的FF:FF:FF:FF:FF:FF,一对所有,数据从一个发送者传输到网络中的所有设备
会导致带宽利用率降低,进而影响整个网络的性能
3、组播
选择性的广播,发送者将数据发送到一个特殊的组播地址,一对多通信,数据从一个发送者传输到一个接收者组
第八个比特为 1 则为组播
数据帧
数据帧传输
数据链路层基于MAC地址进行帧的传输
数据帧的发送和接收
当主机接收到的数据帧所包含的目的MAC地址是自己时,会把以太网封装剥掉后送往上层协议
网络层
上层协议类型
以太网帧中的Type字段值为0X0800,表示该帧的网络层协议为IP协议
IP报文头部
生存时间
网络通信
IP编址
IP地址分为网络部分和主机部分,由32个二进制位组成,通常用点分十进制形式表示
IP地址类型
私有地址范围
10.0.0.0~10.255.255.255
172.16.0.0~172.31.255.255
192.168.0.0~192.168.255.255
特殊地址
127.0.0.0 ~ 127.255.255.255
0.0.0.0
255.255.255.255
子网掩码
默认子网掩码
地址规划
变长子网掩码
网关
网关用来转发来自不同网段之间的数据包
传输层
传输层定义了主机应用程序之间端到端的连通性。传输层中最为常见的两个协议 分别是传输控制协议TCP(Transmission Control Protocol )和 用户数据包协议 UDP(User Datagram Protocol)
连接方式
面向连接
面向无连接
TCP
TCP是一种面向连接的传输层协议,提供可靠的传输服务
TCP端口号
端口号用来区分不同的网络服务
TCP头部
- URG:表示紧急指针是否有效
- ACK:表示确认号是否有效,携带ACK标志的数据报文段为确认报文段
- PSH:提示接收端的应用程序应该立即从TCP接受缓冲区中读走数据,为接受后数据腾出空间
- RST:表示要求对方重新建立连接,携带RST标志位的TCP报文段称为复位报文段
- SYN:表示请求建立一个连接,携带SYN标志的TCP报文段称为同步报文段
- FIN:通知对方本端要关闭了,带FIN标志的TCP报文段称为结束报文段
TCP建立连接的过程
TCP通过三次握手建立可靠连接
TCP关闭连接
主机在关闭连接之前,要确认收到来自对方的ACK
UDP
UDP是一种面向无连接的传输层协议,传输可靠性没有保证
UDP头部
UDP头部仅占8字节,传输数据时没有确认机制
UDP传输过程
使用UDP传输数据时,由应用程序根据需要提供报文到达确认、排序、 流量控制等功能
UDP不提供重传机制,占用资源小,处理效率高
一些时延敏感的流量,如语音、视频等,通常使用UDP作为传输层协议