【重点知识概括】
一、OSI七层模型:
①物理层、②数据链路层、③网络层、④传输层、⑤会话层、⑥表示层、⑦应用层
二、TCP/IP五层(或四层)模型(四层无物理层)
①物理层: 负责光/电信号的传递方式. 比如现在以太网通用的网线(双绞 线)、早期以太网采用的的同轴电缆
(现在主要用于有线电视)、光纤, 现在的wifi无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等.
集线器(Hub)工作在物理层.
②数据链路层: 负责设备之间的数据帧的传送和识别. 例如网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作. 有以太网、令牌环网, 无线LAN等标准.
交换机(Switch)工作在数据链路层.
③网络层: 负责地址管理和路由选择. 例如在IP协议中, 通过IP地址来标识一台主机, 并通过路由表的方式规划出两台主机之间的数据传输的线路(路由).
路由器(Router)工作在网路层.
④传输层: 负责两台主机之间的数据传输. 如传输控制协议 (TCP), 能够确保数据可靠的从源主机发送到目标主机.
⑤应用层: 负责应用程序间沟通,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等. 我们的网络编程主要就是针对应用层.
对于一台主机, 它的操作系统内核实现了从传输层到物理层的内容;
对于一台路由器, 它实现了从网络层到物理层;
对于一台交换机,它实现了从数据链路层到物理层;
三、数据包封装和分用
封装类似发送快递包裹,需要从内往外打包;
分用类似拆快递,需要从外往内拆包。
定位网络中某一台主机,在网络层包装IP地址。用来标识网络中不同主机的地址;
本机IP默认为127.0.0.1 ,前三位为网络号,最后一位是主机号端口号:绑定主机中某一个应用程序,应用程序都是通过在传输层包装端口号发送/接收数据.
五元组:
源IP+源端口号+目的IP+目的端口号+协议号
①IP+端口号:可以定位到网络上具体的某-个应用程序
②发送数据:五元组; 接收端响应数据:
目的IP+ 目的端口号=发送数据包中的源IP +源端口
MAC地址:
用来识别数据链路层中相连的节点;
网卡绑定的物理地址。
IP和MAC的区别:
IP地址描述的是路途总体的起点和终点:
MAC地址描述的是路途上的每一个区间的起点和终点
五、网络互联(了解)
(1)、集线器:只是左数据的转发
如图:主机A发送FTP"下载某个文件"数据包到主机C
查找目的主机MAC地址:
1.查找本机ARP缓存表,通过目的IP查找目的MAC;
2.如果找到,就直接发送数据包(广播)
3.如果找不到,主机A广播一个ARP请求数据包到所有主机接收到ARP数据包;
ARP请求数据包:源MAC+目的MAC(广 播形式的FF…);
其他主机接收到ARP数据包的处理过程:
if(目的ip==自己的ip)响应回自己的mac; else 丢弃数据包
(2)、冲突域:
连接在同一导线上的所有工作站的集合,或者说是同一物理网段上所有节点的集合或以太网上竞争同一带宽的节点集合。
(就比如房间中所有人同时说话, 会让大家互相都听不清)
集线器网络互联存在冲突域,交换机可以解决冲突域
(3)、局域网
①交换机连接:交换机没有进行数据的加工(封装和分用)
②交换机+路由器:
场景:主机1发送FTP“某文件下载”数据包到主机4
发送的数据报:源IP+源MAC+目的IP+目的MAC+协议号
【发送的过程】
1.判断是否本机与目的主机在同一-个网段:
目的IP + 子网掩码(位与操作得到网络号);
2.在同一个网段,走交换机连接的逻辑;
3.不同网段:通过ARP缓存表,查询网关IP对应的MAC
1.路由表:目的IP对应设备的MAC地址 (查找过程和之前类似)
2.数据报的加工(先分用,在重新封装) :
数据包的以太网帧(数据链路层)里边包含的源MAC修改为自己(路由器)的MAC、目的MAC修改为目的主机(主机4)的MAC
3.按目的MAC发数据报:发送到主机4
4.目的主机解析(分用),响应数据报(封装发送) ,和之前发送端的逻辑一样
(3)、广域网:
场景: 主机1请求 https//www.baidu.com/
(1)数据链路层:源MAC修改为自己(路由器A),通过目的IP在路由表查询到下一跳设备的MAC地址,将目的MAC修改为下个设备的MAC;
(路由表可能不知道目的IP的地址,但是可以知道相连设备哪个方向更近)
(2)网络层:源IP由局域网IP (主机1)改为路由器公网IP, NAT技术转换局域网IP和公网IP;
(3)传输层:源端口号由局域网端口(主机1程序) 改为路由器映射端口,NAPT建立ip+ port的局域网;
源端口:主机IP+主机程序端口 映射为 路由器公网IP +路由器公网端口