通讯设备+传输介质(网线)+计算机(个人pc)=计算机网络
物理层(不可靠传输):传输介质,组网,双绞线,同轴电缆等物理媒介----比特流
数据链路层(可靠传输):MAC地址寻址,数据成帧、检测、重发,ARP协议----帧(数据传输的基本单位)
网络层:将网络地址转化成物理地址,网络地址寻址,路由转发,IP协议
传输层:提供端对端的数据交换、连接机制,端口
会话层:提供点对点之间的通信连接
表示层:数据格式化、翻译
应用层:应用程序提供相关的服务
TCP/IP的五层模型
物理层:物理介质,完成组网操作:光纤,双绞线
数据链路层:数据成帧,封装 以太网包头(双方的MAC地址)
MAC地址:48位二进制数,12十六进制表示,确定设备位置
网络层:
IP层加上双方的IP地址
IP协议: 网络寻址
网络地址、主机地址
IP地址分类: ABCDE、子网划分
子网掩码:与运算
路由
静态路由:手工路由表
动态路由:路由协议学习 OSPF RIP
默认路由:缺省路由 0.0.0.0
路由器、网关
ARP 地址解析 ip------>mac
传输层:
端口:数据包区分,IP+端口
UDP:简单,容易实现,不可靠传输
TCP:可靠传输(报文格式:20字节)
从原地址出发如何到达目的地址(原地址和目的地址不在同一个子网中)
知道目标地址的网关地址
静态路由:手动构造路由表
动态路由:自动学习构造路由表,需要路由协议,如RIP或OSPF
默认路由:数据包中的目的地址找不到存在的其他路由时,路由器所选择的路由
路由器:实现不同子网间的连接
在网络层上的路由,可设置成路由器的地址
ARP协议:以广播的形式寻找该局域网上的IP地址的MAC地址
端口:0-----65535之间的一个整数(0-----1023的端口被系统占用)
Socket:将主机+端口封装起来
UDP:不可靠传输,比较简单,容易实现
第一次握手:建立连接,客户端发送syn包(SYN=1)到服务器,并进入SYN_SENT状态,等待服务器确认
第二次握手:服务器要确认客户的SYN(ACK=1,序号ack=x+1),同时发送一个SYN包(SYN=1,seq=y),即SYN+ACK包,服务器进入SYN_RCVD状态
第三次握手:客户端收到服务器的SYN+ACK包,客户端向服务器发送确认包ACK(ack=y+1),seq=x+1,此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手
客户端在短时间伪造大量的SYN请求连接,服务器回复确认包,并等待客户端的确认,由于源地址不存在,服务器需要不断的重发直至超时,这些伪造的SYN包将长时间占用未连接队列,正常的SYN请求被丢弃,目标系统运行缓慢,严重会使网络瘫痪
第一次挥手:客户端发出连接释放报文,并且停止发送数据。释放数据报文首部,FIN=1,其序号为seq=u,此时,客户端进入FIN-WAIT-1(终止等待1)状态
第二次挥手:服务器收到释放连接请求,发出确认报文,ACK=1,序号为:ack=u+1,并且带上自己的序列号seq=v,此时,服务器进入CLOSE-WAIT(关闭等待)状态。
客户端收到服务器的确认请求后,此时,客户端就进入FIN-WAIT-2(终止等待2)状态
第三次挥手:服务器将最后的数据发送完毕后,向客户端发送连接释放报文,FIN=1,ACK=1,seq=w,ack=u+1,此时,服务器就进入了LAST-ACK(最后确认)状态
第四次挥手:客户端收到服务器的连接释放报文后,必须发出确认,ACK=1,ack=w+1,而自己的序列号是seq=u+1,此时,客户端进入TIME-WAIT(时间等待)状态。此时TCP连接还没有释放,必须经过2MSL(最长报文段寿命)后,客户端撤销相应的TCB后,才进入CLOSED状态。
服务器收到客户端发出的确认,立即进入CLOSED状态。
可以看到,服务器结束TCP连接的时间要比客户端早一些。
第一步:主机向DNS发送请求,DNS服务器做出响应,告诉我们IP地址
第二步:判断本机IP地址和所要访问的IP地址是不是在同一个子网络,用子网掩码与IP地址做与运算。
第三步:确定发送的各种必要参数后,发送数据包
1、应用层数据包,是单纯的数据,没有附带任何信息;假设有一个2080长度的数据包。
2、传输层数据包(TCP/UDP数据包),对应用层的数据包增加我们的TCP/UDP数据包(加上端口号等必要的寻址信息作为头部),包头
TCP标头长度为20字节,加上嵌入的HTTP的数据包,总长度变成2100字节。
3、网络层数据包(IP数据包),嵌入IP数据包需要设置双方的IP地址
IP数据包的标头长度为20字节,加上嵌入的TCP数据包,总长度变为2120字节。
4、数据链路层数据包(以太网数据包),嵌入以太网数据包需要设置双方的MAC地址,发送方为本机的MAC地址,接收方为网关的MAC地址(通过ARP协议得到)
因为以太网数据包的数据部分,最大长度为1500字节,而现在IP数据包长度为2120字节,因此IP数据包必须分割成两个包。因为每个包都有自己的IP标头(20字节),所以两个包的IP数据包的长度分别为1500、540.
所要访问的服务器收到了两个以太网数据包。根据IP标头的序号,将两个包拼起来,取出完整的TCP数据包,读出里面的“HTTP请求”,做出“HTTP响应”,再用TCP协议发回来。本机收到HTTP响应后,可以将网页显示出来,完成一次网络通信。
逻辑上的端口,将连续的端口划分在同一局域网中
将两个网络中的所有VLAN串连起来
显示本机的网络连接,运行端口,路由表等信息
-a:列出系统中所有连接
- t:列出TCP的连接
-u:列出UDP连接
-l:列出所有正在监听的服务
-n:用端口显示服务,而不是服务名
-p:现实服务的进程ID PID
-s:按协议统计
-c:指每隔固定的时间执行的命令
-r:路由信息
Proto RefCnt Flags Type State I-Node Path
协议 连接到的进程数量 连接标识 访问类型 状态 程序文件的节点号 路径
显示当前网络接口状态
-t:tcp协议连接
-u:UDP连接
-l:监听状态的连接
-a:显示所有连接
-p:显示PID
-m:显示连接使用的内存信息
获取当前主机到目标主机经过的路由
-r:以报告的形式显示
-a:设定发送数据包的IP地址
-s:指定ping包大小
--nd --no-directories,忽略目录层级
-r:下载目录结构
-c:断点续传
-o filename:重命名为filename
-q:不输出任何信息
-t num:重试次数num,默认20次 -t 0 不限制次数
--limit-rate=num
-b:后台下载
形式显示
-a:设定发送数据包的IP地址
-s:指定ping包大小
--nd --no-directories,忽略目录层级
-r:下载目录结构
-c:断点续传
-o filename:重命名为filename
-q:不输出任何信息
-t num:重试次数num,默认20次 -t 0 不限制次数
--limit-rate=num
-b:后台下载