1.OSI七层模型
简记:物联网叔会使用(倒记)
高层:
①应用层:指用户实际用到的数据,比如声音图片文字
用来定义用户交互的接口,各种各样的软件,例如操作系统
②表示层:通过编码来使得数据能被用户直接使用
用来进行数据的加密解密,压缩解压缩,格式化(编码),电脑上各种各样的格式
③会话层:建立会话与会话之间的连接,比如淘宝只能用支付宝付款
用来建立管理会话,多个浏览器标签页分开
④传输层:建立TCP/UDP传输数据
提供数据分段和重组
提供传输方式:TCP/UDP
提供端口号:1-65535 用于区分不同的服务
C:\Windows\System32\drivers\etc\services
下三层
⑤网络层:基于IP地址进行路由转发
提供了逻辑地址:IP (邮编) 是会随时变化
IP地址用于标识数据的来源和目的地
网络中的节点通过IP地址来判断该数据要去往的大致范围(网络中的路由器通过IP地址将数据发到其所在的局域网)
IP地址相当于信封上的邮政编码
IPv4地址是32位二进制,为了方便记忆,将其写作点分十进制:123.23.43.1
可以看到传输层所用的协议:
TCP(6),UDP(17)
⑥数据链路层:连接各种协议
封装成帧 数据校验 物理编址
有两个子层:MAC层
LLC层
提供了物理地址: MAC (门牌号) 不会轻易改变 相当于人的姓名
MAC地址是在每一张网卡(NIC)出厂的时候烧录进固件,并且全球唯一。
交换机用MAC地址来识别局域网中不同设备
MAC地址是48位二进制,为了方便人们记忆,将其写作16进制:aaaa.bbbb.cccc
查看自己电脑的MAC地址,cmd中运行ipconfig /all
校验数据的完整型,通过在数据链路报文信息中插入帧尾校验序列(FCS)。FCS是通过循环冗余检验(CRC)计算得到的
⑦物理层:网线路由器等等
定义物理传输介质电气标准
物理层我们认为是不可靠的
2.TCP 精确传输
下载文件、传输文件
TCP三次握手
A请求和B同步(A说要给B钱,“老板多少钱扫哪呀?”)
B在确认的同时也请求和A同步(B同意A给他钱,并把收款码亮出)
A需要回复确认(A确认B准备好收钱再把钱给他,“扫这是吧啊,转过去了哈”)
TCP 四次挥手
A请求和B断开(A要和B分手)
B同意断开和A的连接(B同意和A分手)
B请求和A断开(B让A把他联系方式删了)
A同意断开和B的连接(A同意删掉B的联系方式)
为什么是四次挥手不是三次
TCP是全双工的,A发起断开连接操作只能说明A不发送任何数据了(A对B没爱了),B的ACK确认收到断开请求,而B可以选择不断开,继续向A发送数据(B继续当舔狗….)。(此时服务器是 CLOSE-WAIT 状态,TCP连接出于半关闭状态,即A已经没有数据要发送了,但B若发送数据,A仍要接受,这个状态可能会持续一段时间)
如果服务器段将ACK(第二次挥手)和FIN(第三次挥手)合并成一块发过去的话,这就意味着一方关闭,另一方也要被迫关闭,同时代表若此时有服务器继续单向的发送片段给客户端的需求则无法实现。
滑动窗口
UDP
视频电话
4.网络地址
私有地址
A类 10.0.0.0/8, 即10.0.0.0–10.255.255.255
B类 172.16.0.0/12, 即172.16.0.0–172.31.255.255
C类 192.168.0.0/ 16, 即192.168.0.0–192.168.255.255