-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_linuc_Linux network.txt
More file actions
50 lines (42 loc) · 2.16 KB
/
test_linuc_Linux network.txt
File metadata and controls
50 lines (42 loc) · 2.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
Linux网络编程
1.网络协议
物理层:网卡/硬件
数据链路层:以太网驱动程序 ARP RARP
网络层: IPV4/IPV6 ICMP
传输层:UDP TCP
socket抽象层:
应用层:HTTP FTP SMTP POP3...QQ等用户进程
网络数据分析:Wireshark网络分析器
协议图(静态 动态)
网络安全的基础是了解协议
2.网络服务器模型
a.数据通信模块(数据的收发)(单线程/多进程用于数据的处理)
a1.阻塞接受(一般手段) a2. 非阻塞接受(较难实现)a3.IO复用接收(大型网络服务器用的多)(select/poll/epoll) a4. 异步接受(停下来先接受刚发过来的消息)(signal sigation方法处理数据) 优点:实时处理的能力较高 缺点:不稳定性
b. 数据处理模块
b1.多进程数据处理能力(一个进程是一栋大楼,让多个大楼之间形成通信)
b2.多进程的IPC
b3.多线程处理数据的能力(进程比较耗费资源 因为进程有自己独立的栈,堆...,线程是程序运行的单元,一个程序的所有线程共享这个程序进程的所有资源)
b4.多线程共享内存通讯比较简单,但缺点是多线程互斥于同步
比如A要和B实现通信 A写如全局变量TEMP B从全局变量TEMP里面取得 这就实现了A与B之间的通信
互斥是A/B线程同时往全局变量TEMP里面写 这时就会混淆
b5.多线程与多进程(线程池 任务池)来了一个事件,从池里面取,事件结束回到池 避免线程的反复创建释放
3.数据存储(mysql数据库)
4.网络服务器设计框架
a1.reactor框架(高性能、高并发)
a2.practor框架(高性能、高并发)
5.功能协议实现
5.1 http协议
5.2 https协议
5.3 ftp协议
6.功能框架
6.1 web服务器框架
网络协议块
IP TCP UDP
1.从层次上:
物理层:网卡... PCS(物理编码层010101) PMA(物理适配层 转换成光信号/电信号)
LLC层(物理链路层):局域网链路问题(mac地址对接 wifi链接 线连接)
IP层:网络传输问题
TCP层(传输层):进程接受数据的问题 有一个端口号 就是数据传给哪个进程QQ还是web网页..
2.从协议数据:
3/协议图:
4.demo: