计算机组成和网络
计算机网络
应用层(http,ftp...)-> 传输层(tcp/udp) -> 网络层(ip)->数据链路层->物理层
封装成帧(帧头部,数据,帧尾部),透明传输,差错检测
最大传输单元:MTU,一般为1500字节
以太网协议:
数据封装格式:[ 目的地址 源地址 类型 帧数据 CRC ]
arp协议:
地址转换协议 ip和mac地址的映射
查看arp缓存:arp -a
icmp协议:
进程与进程间通信,使用端口编辑不同的进程
udp:
用户数据包协议,不合并,不拆分应用层数据
无连接,不可靠,面向报文传输,没有拥塞控制,首部开销很小(源端口,目的端口,udp数据,校验和)
tcp:
数据封装格式:[ tcp首部 tcp数据 ]
tcp首部:
传输控制协议
三次握手:
第一次握手:客户端发送SYN标识,进入发送完成状态,等待服务端确认
第二次握手:服务端接收SYN标识后(此时服务端知道客户端的发送能力正常,自己的接收能力正常),发送ACK信息对这个SYN报文进行确认,并发送自己的SYN请求,将上面请求放到一个报文段发送给客户端,进入发送完成状态
第三次握手:客户端接收到服务端的SYN+ACK报文段(此时客户端知道自己的发送,接收能力正常,服务端的发送,接收能力正常),然后向服务端发送ACK确认报文段,完成三次握手(服务端接收到报文后,知道自己的客户端接收能力正常,自己的发送能力正常)
为什么需要三次握手:
为什么需要等待:
最后一个报文没有确认,
确保发送方的ack可以到达接收方,
2MSL内收到,会重发
确保当前所有报文都已经过期
应用层
dns:
查看本地host,寻找对应域名对应的ip,如果没有,则向本地的DNS服务器寻找,如果依然没有找到对应的 ip,就会向上一层一层向上向13台根服务器寻找
原文地址:https://www.cnblogs.com/huyuan1004/p/12615372.html
- 如何动态加载js?
- 【自然框架】数据访问之精雕细琢(一)存储过程的参数
- 100w条记录分页,可以有多快?—— DataReader分页与SQL语句分页的对比测试(在线演示)
- Mimikatz小实验:黄金票据+dcsync
- 【自然框架】n级下拉列表框的原理
- 【自然框架】分享 n级联动下拉列表框
- GSM Hacking Part ②:使用SDR捕获GSM网络数据并解密
- 【自然框架】之数据访问 —— 再小的类库也需要设计。
- 【自然框架】之表单控件(一)实体类(Class)VS 字典(Dictionary)
- 跨平台后门Mokes现已加入OS X豪华午餐
- 【问底】严澜:数据挖掘入门——分词
- 机器学习-简单线性回归教程
- NSA(美国国安局)泄漏Exploit分析
- 详解Windows Shim的攻防利用
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法