网络基础



Linux之网络基础?


网络模型两种基本类型:协议模型和参考模型
TCP/IP 模型描述了 TCP/IP 协议簇中每个协议层实现的功能,因此属于协议模型。
开放式系统互联 (OSI) 模型是最广为人知的网际网络参考模型,用于数据网络设计、操作规范和故障排除。
Linux之网络基础?
Linux之网络基础?


一段数据在任意协议层的表示形式称为协议数据单元 (PDU)

数据 - 一般术语,泛指应用层使用的 PDU
数据段 - 传输层 PDU
数据包 - 网络层 PDU
- 网络接入层 PDU
比特(位) - 通过介质实际传输数据时使用的 PDU
Linux之网络基础?


OSI 参考模型各层功能

应用层:负责为应用程序提供网络服务
表示层:处理数据格式、数据加密等
会话层:建立、维护和管理会话
传输层:建立、维护虚电路,进行差错校验、提供端到端的可靠传输和流量控制
网络层:决定传输报文的最佳路由,其关键问题是确定数据包从源端到目的端如何选择路由
数据链路层:提供介质访问,链路控制等
物理层:涉及在通信信道(Channel)上传输的原始比特流,它定义了传输数据所需要的机械、电气功能及规程等特性。


IP地址分类

A类:1.0.0.0-126.0.0.0
B类:128.1.0.0-191.254.0.0
C类:192.0.1.0-223.255.254.0
D类:224.0.0.0-239.255.255.254(IP 地址通常作为组播地址)
E类:240.0.0.0-255.255.255.255(保留研究所用)
Linux之网络基础?


交换机只隔离冲突域,路由器既隔离广播域又隔离冲突域,集线器都不隔离
集线器工作在物理层,网桥和交换机工作在数据量链路层,路由器工作在网络层


建立TCP连接的三次握手状态有closed, listen,syn-sent,syn-rcvd,established。
Linux之网络基础?
断开TCP连接的四次挥手状态有established,fin-wait1,fin-wait2,close-wait,last-ack,time-wait,closed
Linux之网络基础?
linux中查看网络连接状态命令:

ss -nt
netstat -nt
ab -c 100 -n 2000 http://172.16.0.1 对此ip地址并发发起100个请求,最多发起2000个请求 安装ab命令的工具 yum install httpd-tools
取出状态信息并统计数量
Linux之网络基础?
取出访问前三的ip地址
Linux之网络基础?
linux里的半连接和全连接队列文件,建议设置数值大小为1024以上

ss -lnt
/proc/sys/net/ipv4/tcp_max_syn_backlog半连接
/proc/sys/net/core/someaxconn全连接

TCP拥塞算法

/proc/sys/net/ipv4/tcp_congestion_control

与TCP重传机制有关的内核文件

/proc/sys/net/ipv4/tcp_retries1 默认值是3次,重传
/proc/sys/net/ipv4/tcp_retries2 默认值是15次,重传
/proc/sys/net/ipv4/ip_default_ttl 默认之是64

TCP特性

工作在传输层
面向连接协议
全双工协议
半关闭
错误检查
将数据打包成段,排序
确认机制
数据恢复,重传
流量控制,滑动窗口
拥塞控制,慢启动和拥塞避免算法

UDP特性

工作在传输层
提供不可靠的网络访问
非面向连接协议
有限的错误检查
传输性能高
无数据恢复特性