网络基础
ISO / OSI 七层模型简介
- ISO:国际标准化组织
- OSI:开放系统互联模型
- OSI 的七层模型
- 应用层 - APDU
- APDU 是应用协议数据单元
- 表示层 - PPDU
- PPDU 是表示层协议数据单元
- 会话层 - SPDU
- SPDU 是会话协议数据单元
- 传输层 - TPDU
- TPDU 是传输协议数据单元
- 网络层 - 报文
- IP 地址负责外网通信
- 数据链路层 - 帧
- MAC 地址负责局域网通信
- 物理层 - 比特
- 应用层 - APDU
- 数据发送时候,从上层向下层传递;数据接收时候,从下层向上层传递。
- OSI 的七层模型
ISO / OSI 七层模型详解
- 应用层 - APDU
- 用户接口
- 表示层 - PPDU
- 数据的表现形式、特定功能的实现如-加密
- 会话层 - SPDU
- 对应用会话的管理、同步
- 传输层 - TPDU
- 可靠与不可靠的传输、传输前的错误检测、流控
- 网络层 - 报文
- 提供逻辑地址、选路
- 数据链路层 - 帧
- 城帧、用 MAC 地址访问媒介、错误检测与修正
- 物理层 - 比特
- 设备之间的比特流的传输、物理接口、电器特征等
TCP / IP 四层模型
- TCP / IP 四层模型
- 应用层 (对应 OSI 模型的应用层、表示层、会话层)
- 应用层对应于 OSI 参考模型的应用层、表示层、会话层,为用户提供所需要的各种服务,例如:FTP、Telnet、DNS、SMTP 等
- 传输层 (对应 OSI 模型的传输层)
- 传输层对应于 OSI 模型的传输层,为应用层实体提供端到端的通信功能,保证了数据包的顺序传送及数据的完整性。该层定义了两个主要的协议:传输控制协议(TCP)和用户数据协议(UDP)
- 网际互联层(对应 OSI 模型的网络层)
- 网际互联对应于 OSI 模型的网络层,主要解决主机到主机的通信问题。它所包含的协议涉及数据包在整个网络上的逻辑传输。该层有三个主要协议:网际协议(IP)、互联网组管理协议(IGMP)和互联网控制报文协议(ICMP)。
- 网络接口层(对应 OSI 模型的数据链路层、物理层)
- 网络接口层与 OSI 模型中的物理层和数据链路层相对应。它负责监视数据在主机和网络之间的交换。事实上,TCP /IP 本身并未定义该层的协议,而由参与互连的各网络使用自己的物理层和数据链路层协议,然后与 TCP / IP 的网络接口层进行连接。地址解析协议(ARP)工作在此层,即 OSI 参考模型的数据链路层。
- 应用层 (对应 OSI 模型的应用层、表示层、会话层)
TCP / IP 三次握手(两军问题)
数据封装过程
应用数据 | 字节流(数据) |
---|---|
应用层 | FTP + 数据 |
传输层 | TCP 头 + FTP + 数据 |
网络层 | IP 头 + TCP 头 + FTP + 数据 |
数据链路层 | 以太帧头 + (IP 头 + TCP 头 + FTP + 数据) = IP 数据报 |
最后 | 以太帧头 + 目的地址 + 源地址 + 包类型 + 包数据(IP 数据报) + CRC |
IP地址详解
- IP 包头
- 第一行
- 版本(4)
- 头部长度(4)
- 优先级和服务类型(8)
- 总长度(16)
- 第二行
- 标识(16)
- 标志(3)
- 片偏移(13)
- 第三行
- 生存时间(8)
- 协议(8)
- 头部校验和(16)
- 第四行
- 源 IP 地址(32)
- 第五行
- 目的 IP 地址(32)
- 第六行
- 选项
- 第七行
- 数据
- 第一行
IP 地址分类
网络类别 | 最大网络数 | IP 地址范围 | 最大主机数 | 私有 IP 地址范围 |
---|---|---|---|---|
A | 126 | 1.0.0.0 – 126.255.255.255 | 2^24-2 | 10.0.0.0 – 10.255.255.255 |
B | 16384 | 128.0.0.0 – 191.255.255.255 | 2^16-2 | 172.16.0.0 – 172.31.255.255 |
C | 2098152 | 192.0.0.0 – 223.255.255.255 | 2^8-2 | 192.168.0.0 – 192.168.255.255 |
子网掩码
网关作用
- 网关(Gateway)又称为网间连接器、协议转换器
- 网关在网络层以上实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连
- 网关既可以用于广域网互连,也可以用于局域网互连
- 网关是一种充当转换重任的服务器或路由器
端口作用
- TCP 协议包头
- 第一行
- 源端口(16)
- 目的端口(16)
- 第二行
- 序列号(32)
- 第三行
- 确认号(32)
- 第四行
- 数据偏移(4)
- 保留(6)
- 标志(6)
- 窗口(16)
- 第五行
- 校验和(16)
- 紧急指针(16)
- 第六行
- 选项
- 第七行
- 数据
- 第一行
- UDP 协议包头
- 第一行
- 源端口(16)
- 目的端口(16)
- 第二行
- 长度(16)
- 校验和(16)
- 第三行
- 数据
- 第一行
常见端口号
- FTP(文件传输协议):20 21
- SSH(安全 Shell 协议):22
- TELNET(远程登录协议):23
- DNS(域名系统):53
- HTTP(超文本传输协议):80
- SMTP(简单邮件传输协议):25
- POP3(邮局协议 3 代):110
查看本机启用的端口
- netstat -an
- -a 查看所有连接和监听端口
- -n 显示 IP 地址和端口号,而不显示域名和服务名
DNS 作用
- DNS 的作用:将域名解析为 IP 地址
- 客户机向 DNS 服务器发送域名查询请求
- DNS 服务器告知客户机 Web 服务器的 IP 地址
- 客户机与 Web 服务器通信
- DNS 的查询类型
- 从查询方式上分
- 递归查询
- 要么做出查询成功响应,要么做出查询失败的响应,一般客户机和服务器之间属于递归查询,即当客户机向 DNS 服务器发出请求后,若 DNS 服务器本身不能解析,则会向另外的 DNS 服务器发出查询请求,得到结果后转交给客户机。
- 迭代查询
- 服务器收到一次迭代查询回复一次结果,这个结果不一定是目标 IP 与域名的映射关系,也可以是其他 DNS 服务器的地址
- 递归查询
- 从查询内容上分
- 正向查询由域名查找 IP 地址
- 反向查询由 IP 地址查找域名
- 从查询方式上分
Linux 网络配置
IP 地址配置
|
|
使用文件配置 IP 地址
网卡信息文件1vim /etc/sysconfig/network-scripts/ifcfg-eth0
主机名文件1vim /etc/sysconfig/network
Linux 网络命令
网络环境查看命令
ifconfig
查看与配置网络状态命令- 只能看到 IP 和子网掩码,看不到网关和 DNS
ifdown 网卡设备名称
禁用指定网卡设备ifup 网卡设置名称
启用指定网卡设备netstat 选项
- -t 列出 TCP 协议端口
- -u 列出 UDP 协议端口
- -n 不使用域名与服务名,而是用 IP 地址和端口号
- -l 仅列出在监听状态网络服务
- -a 列出所有的网络连接
route -n
查看路由列表route add default gw 192.168.1.1
临时设定网关nslookup [主机名或 IP]
进行域名与 IP 地址解析nslookup >server
查看本机 DNS 服务器
网络测试命令
ping [选项] [IP 或域名]
探测指定 IP 或域名的网络状况- -c 次数 指定 ping 包的次数
telnet [域名或 IP] [端口]
远程管理与端口探测命令wget URL
下载命令tcpdump -i eth0 -nnX port 21
- -i 指定网卡接口
- -X 以十六进制和 ASCII 码显示数据包内容
- -nn 将数据包中的域名与服务转为 IP 和端口
- port 指定监听的端口