计算机网络协议辅助学习
- 1.ARP协议(网络层/数据链层)
- IP协议(网络层)
- OSPF协议(网络层)
- 1.OSPF协议原则
- 2.OSPF报文
- hello报文
- DD报文
- LSR报文
- LSU报文
- LSAck报文
- 第四,HTTP协议(应用层)
- 5.HTTPS协议(应用层)
- TCP协议(传输层)
- 1.TCP协议原理
- 2.TCP报文
- 3.补充
- TCP与UDP之间的区别
- 索克
- **服务器如何判断不同客户端的连接?(接口通信过程)**
1.ARP协议(网络层/数据链层)
1.ARP协议原理
同一网段
- 需要知道B的Mac地址。广播发送一个arp请求
- B和C都被请求,C发现目标IP不是自己,将A的mac地址保存到自己的Arp表,然后丢弃消息;B发现目标IP是自己,将A的mac地址保存到自己的Arp表,然后回答A
- B将他的Mac地址装入Arp包,然后发送到A
不同网段
- 如果A和B不是网络的同一部分,它们需要通过关口发送一个arp请求。A发送arp请求到关口
- 接入A的Arp请求后,它将源Mac转换成自己的,然后根据路由表发送到下一个,下一个设备将源Mac转换成自己的,直到它到达目标IP并获得目标Mac
- 注:在处理开关/路由器时,源和目的地IP不会改变,只修改源和目的地Mac
补充
- IP地址冲突检测:广播一个源和目的独立的Arp请求,通知其他设备已使用IP地址,并在发生冲突时接收Arp响应
2.ARP报文

IP协议(网络层)
1.IP协议原理
- A 知道B的IP地址,想访问B。 A 将源和目标 IP 包入一个IP数据包,并将其发送到互联网
- 互联网中设备(路由器)接收到IP包后根据目的IP查找路由表,转发给下一个路由器,直到B
- B接收IP包后,逆向源和目的地IP,并发送响应IP包到互联网
- 一旦传输,A接收一个IP包
2.补充
- IP地址:32位,分为网络地址和主机地址
- 子网解码:32位,分网号和主机号,通常在末端连续0位,n连续0位计算主机号(2^n)
- 按接收的地址和网络号码进行IP地址和子网加密
3.IP报文

OSPF协议(网络层)
1.OSPF协议原则
- A组广播一个带有主机路由器-ID(唯一的标识符)的问候包
- B接收A的问候信件,将A添加到本地邻居表,并发送A的问候信件(包含A的信息)
- A接收B的问候信件,将B添加到本地邻居表,发送问候信件到B(包含B信息),并建立AB邻居关系
- 邻国间的条件匹配。不匹配的,会留在邻国关系中,并保持与“问候包”的联系
- 在条件匹配成功后开始建立相邻关系
- 与邻居共享DD包(先发送空的DD包,然后选择主机),并比较本地数据库,找出LSA信息是否本地
- 一个请求没有本地LSA信息,并发送LSR包到B
- 接收LSR包后,B包LSA细节,并发送LSU包到A
- 收到LSU包后,A返回LSAck包到B
邻接条件匹配
- 在点对点网络中(网络段中只能存在两个节点),所有OSPF邻域将直接建立为相邻关系
- 在MA(多路径访问,网络段内无限制的节点数)中,为了避免大量重复的LSA更新,必须进行DR/BDR选择,只有非DR/BDR之间建立邻近关系
DR/BDR
- DR:指定路由器,BDR:可选指定路由器
- 功能:减少在同一广播区域内再发送的LSA
- 选举范围:在广播地区,选择DR/BDR
- 选举规则
- 接口的优先级是高优先级(0-255,0不参加选举),优先级是等的,路由器-ID是高优先级
- 选举前BDR升级为DR
- 非占领者,如在选举开始后增加新设备,不能占领DR/BDR
2.OSPF报文
hello报文
DD报文
- 数据库描述报文,包含本地存储的所有LSA摘要,用于路由间数据库同步(LSA交互)。主从选举:比较双方的router-id,router-id大的一方为主(master),小的一方为从(slave)
LSR报文
- LSA的链状态请求声明(链状态通知)需要请求另一方。
LSU报文
LSAck报文
第四,HTTP协议(应用层)
1.HTTP协议原则
- 主要用于浏览器和服务器之间通信的协议,用于传输超文本。
- 在浏览器和服务器建立连接后,浏览器将HTTP请求包发送给服务器
- 当服务器收到请求包后,它将HTTP响应包返回浏览器
- 浏览器在收到响应消息后显示信息
2.HTTP报文
请求报文

响应报文

3.补充
GET和 POST的比较
- 实质上,没有区别
- 根据 Restful API的要求,GET通常用于访问资源, POST通常用于提交数据
- GET的请求参数包含在URL中(querystring),POST的参数在request body中
- 一般是指浏览器请求
- URL长度有限(浏览器和服务器边界),因此GET参数的长度有限
- POST也可以载入URL上的参数,但在一天结束时,它将被放在身体中
- 两者都不安全(HTTP是明确传输的),但GET更不安全
- GET通常是等效的(重复GET不会影响资源,可以由浏览器缓存), POST通常是等效的(重复 POST影响资源,不能由浏览器缓存)
- 补充: POST将发送两个请求?
- 事实上,它属于不同浏览器的优化,假设如果 POST数据超过一定的大小,它被发送多次,首先发送请求头,服务器接收并决定是否接受(100-继续)或拒绝(4XX-错误)
URI和URL对比
- URI:统一资源标识符,只有一个唯一的标识符
- URL:统一资源定位器,一个URI不仅识别资源,而且提供资源的绝对路径
5.HTTPS协议(应用层)
1.HTTPS协议原则
- 如使用SSL/TLS协议的HTTP协议,请参阅SSL/TLS原则
- 客户端访问服务器,连接到服务器443端口,提供自支持的协议版本、加密方法和随机号码KEY1
- HTTPS服务器拥有CA(证书颁发机构)颁发的证书(包括公共密码和数字签名),服务器对客户端作出回应,向客户端发送证书,确认协议的版本、加密方法和随机号码KEY2
- CA有自己的不对称密钥。在发出证书时,服务器的公共密钥P被散布为摘要,然后用自己的私人密钥加密为数字签名
- 客户端使用CA的公钥Q来解密证书上的数字签名,获取A的摘要,并在证书上的服务器的公钥P上进行相同的散布处理,获取B的摘要,比较A和B,表明服务器的公钥P是好的
- 客户端生成一个随机的KEY3号,使用P加密,并发送到服务器
- 服务器使用自己的私钥P2进行解密后接收KEY3
- 然后,客户端和服务器使用商定的加密方法生成通信键KEY1、KEY2和KEY3
- 然后客户端和服务器通过对称键KEY进行通信
TCP协议(传输层)
1.TCP协议原理
- 与上述HTTP协议(应用层)、IP协议、OSPF协议、ARP协议结合
- 浏览器访问服务器,应用程序层向传输层发送HTTP请求(消息)
- 传输层将TCP头条添加到应用程序层并发送到网络层(消息/数据/TCP/UDP节)
- 网络层将IP消息添加到传输层的子集,并发送到链接层(连接子集/数据包)
- 链层由一个IP包和向目标主机发送的anmac地址帧组成(数据帧)

2.TCP报文

3.补充
TCP与UDP之间的区别
- TCP:以连接为导向,可靠,有序,并基于字节,支持单人、单人、多人、多人和多人交互通信,初始使用20-60字节
- 发送到应用程序层的消息被视作流,并且取决于流量控制和拥挤控制决定该消息段的发送时间。 无论你发送多少次,你发送多少次和接收多少次之间没有区别
- UDP:不连结,不可靠,无序,基于数据的讯息,单一通信,第一个8位空间
- 无论应用程序层发送的信息有多大,它都会直接发送,接收者也一样,一个发送,一个接收
索克
- 应用层与传输层之间的抽象层,由Unix创建的一系列接口,是“打开、读、写、关闭”模式的实现
服务器如何判断不同客户端的连接?(接口通信过程)
- 服务器初始化socket(socket(),新的仅插座标识符),并绑定端子,将IP地址和端口号组合赋给socket)进行监听(listen(),监视接口),等待客户端连接
- 客户端启动接口,连接服务器(connect(),输入客户端接口标识符、服务器接口地址和长度),连接成功(接受(),输入服务器插座标识符A,返回最近连接的接口标识符Bi;服务器通常只有一个A,不同客户端连接会产生多个Bi)后进行读写操作(read()、write()),通信结束后关闭连接(close(),在每次读写操作结束时关闭,让相应的插座标识符 -1 的参考计数器,数值为0时关闭连接)
本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/30462.html。