2021-1-4学习总结:网络基础流程

网络的实现模型:

应用层 抽象语言—>编码
表示层 编码—>二进制
会话层 提供会话层地址
传输层 TCP/UDP 分段(受MTU限制) 端口号
网络层 IP—internet 协议 --互联网协议 —IP地址
数据链路层 = 逻辑链路控制层LLC+介质访问控制层MAC
物理层 --中继器 集线器

物理层+数据链路层:网桥—交换机 — 工作在介质访问控制层

无线网络要实现的三个需求:
1、 无限的传输距离
2、 没有冲突—所有节点可以同时发送和接收自己的数据
3、 单播—一对一传输数据

大—无限距离、无冲突、单播—交换机—二层设备—MAC地址—洪泛—洪泛的范围—路由器—IP地址 ---- ARP —广播 —广播域(洪泛域)

专业名词解释

MAC地址:物理地址
Ipv4地址: 32位二进制构成 存在网络位和主机位的区分;网络位用于标识所在的范围使用点分十进制标识 192.168.1.1
广播:在一个洪泛范围内,迫使交换机将一个数据进行洪泛转发;
PC访问其他设备时,先基于目标的ip地址判断是否和本地处于同一广播域;若在同一范围,将先通过ARP广播获取对端的mac地址,再进行单播通讯;若与目标不在同一广播域,将封装目标mac地址为本地的网关接口地址,来将流量转发到路由器处,由路由器代为转发;
DNS: :域名解析服务;
HTTP:服务器—超文本传输;
MTU:最大传输单元 默认1500
端口号 :0-65535 1-1023 注明端口 1024-65535 高端口—动态端口
终端设备访问服务器 — 终端设备在动态端口中随机调用一个编号来标识自己的程序
服务器使用注明的端口来标识对应的服务
UDP:用户数据报文协议 –非面向连接的不可靠传输协议
仅完成传输的基本工作—分段、端口号
udp协议下的包

TCP—传输控制协议 – 面向连接的可靠传输协议
在完成了传输层的基础工作以外,还需要保障传输的可靠性
面向连接—3次握手 建立端到端的虚链路
可靠性—4种可靠传输机制— 确认、排序、重传、流控(滑动窗口)

tdp协议下的包

TCP与UDP端口选择的区别:

tcp与udp之间端口的关系

PDU:协议数据单元 对不同层封装的数据单位标识
应用层—数据报文
传输层—段
网络层—包
数据链路层—帧
物理层—比特流

ARP:通过对端的一种地址来获取对端的另一种地址
正向ARP – 已知对端的ip地址,通过广播来获取对端的MAC地址
反向ARP—已知对端的mac地址,来获取对端的ip地址
无故ARP—设备的在刚获取ip地址,或使用ip地址的过程中,对外进行正向ARP行为,但被请求的ip地址为本地使用的地址—地址冲突检测

半双工: 数据流量在一个单点时间内,只能存在一个方向;收、发是分开在不同时间进行
全双工:数据收发可以同时进行;

以上三个特性,交换机可以满足。交换机的工作原理:
1、 当数据帧进入交换机后,交换机先查看数据中的源MAC地址,之后将该数据进入的接口与该mac映射记录到本地的MAC表中;再查看数据帧中的目标mac地址,基于目标mac地址查看本地的mac表;若表中存在记录将仅从该记录的接口转发数据;–单播
2、 若没有目标mac地址对应的接口记录,将洪泛该数据—除流量的进入接口外,其他所有接口复制转出;

7层模型—OSI参考模型 TCP/IP协议栈道模型—真实使用的模型

TCP/IP的三次挥手四次断开

所谓三次握手(Three-Way Handshake)即建立TCP连接,是指建立一个TCP连接时,需要客户端和服务端总共发送3个包以确认连接的建立。在socket编程中,这一过程由客户端执行connect来触发,整个流程如下图所示:
(1)第一次握手:Client将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给Server,Client进入SYN_SENT状态,等待Server确认。

(2)第二次握手:Server收到数据包后由标志位SYN=1知道Client请求建立连接,Server将标志位SYN和ACK都置为1,ack (number )=J+1,随机产生一个值seq=K,并将该数据包发送给Client以确认连接请求,Server进入SYN_RCVD状态。

(3)第三次握手:Client收到确认后,检查ack是否为J+1,ACK是否为1,如果正确则将标志位ACK置为1,ack=K+1,并将该数据包发送给Server,Server检查ack是否为K+1,ACK是否为1,如果正确则连接建立成功,Client和Server进入ESTABLISHED状态,完成三次握手,随后Client与Server之间可以开始传输数据了。

以下为一些名词解释:
(1)序号:Seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记。

(2)确认序号:Ack序号,占32位,只有ACK标志位为1时,确认序号字段才有效,Ack=Seq+1。

(3)标志位:共6个,即URG、ACK、PSH、RST、SYN、FIN等,具体含义如下:

(A)URG:紧急指针(urgent pointer)有效。

(B)ACK:确认序号有效。

(C)PSH:接收方应该尽快将这个报文交给应用层。

(D)RST:重置连接。

(E)SYN:发起一个新连接。

(F)FIN:释放一个连接。
tcp三次挥手示意图
四次挥手:
由于TCP连接时全双工的,因此,每个方向都必须要单独进行关闭,这一原则是当一方完成数据发送任务后,发送一个FIN来终止这一方向的连接,收到一个FIN只是意味着这一方向上没有数据流动了,即不会再收到数据了,但是在这个TCP连接上仍然能够发送数据,直到这一方向也发送了FIN。首先进行关闭的一方将执行主动关闭,而另一方则执行被动关闭,上图描述的即是如此。

(1)第一次挥手:Client发送一个FIN,用来关闭Client到Server的数据传送,Client进入FIN_WAIT_1状态。

(2)第二次挥手:Server收到FIN后,发送一个ACK给Client,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号),Server进入CLOSE_WAIT状态。

(3)第三次挥手:Server发送一个FIN,用来关闭Server到Client的数据传送,Server进入LAST_ACK状态。

(4)第四次挥手:Client收到FIN后,Client进入TIME_WAIT状态,接着发送一个ACK给Server,确认序号为收到序号+1,Server进入CLOSED状态,完成四次挥手。

四次挥手示意图
上述资料来引用自:
通俗大白话来理解TCP协议的三次握手和四次分手
理解TCP/IP三次握手与四次挥手的正确姿势

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值