1 OSI(开放式系统互联) 七层模型.
(1) 应用层 : FTP(文件传送协议) TFTP协议 Telenet(远程登录协议) DNS(域名解析协议) SMTP(邮件传送协议) POP3协议(邮局协议) HTTP(请求-响应协议) SNMP(简单网络管理协议) NAT和NAPT(网络地址转换协议).
(2) 传输层 : UDP(用户数据报协议) TCP(传输控制协议).
(3) 网络层 : IP(网际互连协议) ICMP(控制报文协议 如 ping). 解决的是 网络与网络之间, 即网际的通信问题, 而不是同一网段内部的事.主要功能是提供路由, 即选择到达目标主机的最佳路径, 并沿该路径传送数据包.
(4) 数据链路层 : ARP(地址转换协议) RARP(反向地址转换协议).
(5) IP 和 UDP 无连接不可靠的.
(6) TCP 有连接可靠的.
2 TCP/IP 五层或四层模型.
3 IP / MAC.
(1) MAC是网卡绑定的, 代表 物理地址. 一个设备可以有多个网卡.
(2) IP 逻辑地址, 屏蔽物理地址,代表网络上某台设备.
(3) ARP协议: ip 转换为 MAC.
(4) RARP协议: MAC 转换为 ip.
(5) 网络设备发送数据时, 要知道MAC地址才能发送 (路由器通过路由表中的 IP 查找对应的 MAC 来找到目标设备, ARP技术).
4 五元组: 源IP 源端口号 目的IP 目的端口号 协议号. (ip 定位网络设备, 端口号 定位应用程序. ip+port 对应某个 具体的程序).
数据的封装和分用.
5 访问: http://ip:port.
首先在应用层->浏览器包装数据为http协议格式 传输层->包装数据加上TCP协议头(端口号) 网络层->加上IP协议头(IP) 数据链路层->加上数据帧头(MAC) 物理层->光电信号0/1 从上往下数据封装完之后,从下往上进行数据分用.
6 主机 路由器具有的作用: 1 MAC 和 IP. 2 数据的封装和分用. 3 ARP缓存表: 缓存ARP信息(IP–>MAC).
7 集线器 (物理层): 实实在在的 物理链路. 负责将数据以 比特流 的方式发送和接收, 不生产 数据.
(1) 先封装数据, 然后查询本机 ARP 缓存表通过目的IP找 MAC. 如果找到就发送, 找不到就给集线器广播.
(2) 所有人检查是否和自己的IP一致. 如果一致就 响应MAC. 如果找到了主机就 刷新ARP(记录IP和MAC的映射).
(3) 然后集线器会发送数据到所有主机. 如果接受者检查 目的MAC 和 自己的MAC 一样就用,不一样就丢弃.
(4) 同一时间发送数据会 产生冲突, 而交换机则没有.
8 局域网 (只有交换机 的情况).
(1) 交换机里面有 某个 MAC设备的 端口 和 MAC 映射. 找不到就广播, 和上面一样.
(2) 找到的话, 交换机就会发送数据. 这里是通过 目的MAC 直接找 端口 然后发, 并不是给所有人发送数据, 和上面不一样.
9 子网掩码 的作用: 将 目的ip和子网掩码 进行 位与运算, 得到一个网络号. 和本机网络号比较,可以知道是否在同一个网段.
(1) 如果在就和只有交换机情况一样.
(2) 如果不在就交给路由器处理.
10 判断是否在 同一局域网. 能ping通, ip属于局域网ip. 和是否在同一网段没关系.
11 LAN口 局域网(内网) WAN口 广域网(外网).
12 局域网 (交换机+路由器 的情况). IP地址: 网络号(前三位)+主机号(最后一位)
请求地址 http://192.168.1.90:8080 的过程. 如果 在同一网段就和上面 只有交换机 流程一样.
网关: 又称网间连接器、协议转换器。网关在网络层以上实现网络互连,是复杂的网络互连设备,仅用于两个高层协议不同的网络互连.
不在同一网段: 就交给 网关(有自己的ip)(和路由器相连)处理.
(1) 源端口, 源ip 和 目的端口, 目的ip 都和之前一样.
(2) 源MAC 是主机A. 目的 MAC 先是网关网卡的MAC. 然后数据到另一个网关, 源MAC又变为 这个网关的MAC,目的 MAC 变为主机D的 MAC.
(3) 然后按 交换机 的方式发送数据.
13 广域网数据传输:
访问 http://baidu.com 过程:
1 DNS域名解析: 域名 转化为 IP, 先通过本机DNS缓存 (C:\Windows\System32\drivers\etc\hosts)来找, 找不到–>让网关找–>一级一级向上找 ,路途上的设备可以是 路由器 也可以是 主机.
2 http不输入端口号时, http服务器 默认是 80 端口.
3 子网掩码 进行位与运算, 得出 目的ip是 不同网段的, 发送到 网关.
4 网关可以判断是否处于同一个网络–>路由/路由表: 定方向 可以通过目的ip查找路由表,就知道对应主机的方向.
5 NAPT: 局域网IP / 私网IP(主机A的IP)+ 源端口 转换为 公网IP + 路由器公网端口.
5 百度服务器响应数据包: 目的IP = 路由器A的公网IP. 目的端口: 路由器A的 公网端口 —> 发送到A的某个端口 -> NAPT 转换为 局域网IP+端口 (反向操作).
各层的作用:
传输层: 源端口: 主机A 浏览器程序 端口. 目的端口.
网络层: 源IP: 主机A的私网IP. 目的IP.
链路层: 源MAC 主机A. 目的MAC: 网关网卡MAC.
封装的过程:
(1) 源ip + 源端口, 转换为 公网ip + 公网端口. (NAPT技术转换).
(2) 源MAC 变为 路由器的MAC. 目的MAC: 设置为 正确方向下一个设备 (可能是路由器, 也可能是主机)MAC (基于路由表查询结果).
(3) 路途上修改 (1)和(2). 其中(2) 类似于 路由器+交换机下的局域网 的操作.
14 广域网 和 局域网 传输的区别:
(1) 广域网上的每一台电脑都有一个或多个广域网IP地址, 广域网IP地址 不能重复.
(2) 局域网上的每一台电脑都有一个或多个局域网IP地址. 局域网IP地址是 局域网内部 分配的, 不同局域网的IP地址 可以重复, 不会相互影响.
(3) 广域网 在到达路由器时, 源ip + 源端口, 转换为 公网ip + 公网端口.(NAPT转换). 其它基本一样.