网络协议 阅读笔记

这篇博客详细探讨了网络协议的基础知识,包括网络协议的概念,应用程序上的DNS解析过程,TCP的三次握手机制,以及HTTP协议的工作原理。通过对这些关键概念的解析,读者可以深化对网络通信的理解。
摘要由CSDN通过智能技术生成

网络协议时什么?

网络协议,顾名思义就是一种计算机网络的协议。
计算机网络中的进程很多,终端不同,设备不同,其规定的字符集、协议也都不一样。这样交换信息就需要付出巨大的代价。这些奇奇怪怪的字符集和规定可以看成各地的方言,而网络协议就是普通话。方言太多,各地人都没有办法交流,所以大家都要学习普通话。同理,网络协议就是这个IT中的’普通话‘。

网络协议的三要素
语义:要做啥?
语法:怎么做?
时序:谁先来?

工作方式
正如上边所说,网络上的计算机通过网络协议来维持通信。网络协议是所有网络设备规则的合集。一般网络分为七层,每层基于下一层,且为上一层提供一定的服务。但是上一层对下一层服务的细节 一无所知。
另外,接收方和发出方的同层协议必须保持一致,要不然相互不认识,那就尴尬啦。
Internet上的计算机采用的是TCP/IP协议。( 啥叫TCP/IP协议?
Transmission Control Protocol 和 Internet Protocol,后续再议。

层次结构
网络协议真的是太复杂了,又多,又乱七八糟的,所以咱就把网络这个大难题简单化,层次化。
有要求的:
1.结构中的每一层都需要明确干嘛的,有接口
2.用户的应用层是最高层
3.除了应用层,每层是下一层的客户,又为上一层服务。
4.物理通信线路为底层
所以咱们一般把网络分为七层。 OSI/RM模型(Open System Interconnection/Reference Model)
应用层
表示层 (上三层面向用于)
会话层 建立连接的时候对传输层可以是N对N的连接。
传输层 (完成数据传输)
网络层
数据链路层 (底层)
物理层
每一层都有对应的协议(怎么干)以及服务定义(干嘛的)。

常用协议
TCP/IP 协议,基于internet的计算机网络协议。

划分
举个例子:
物理层: 数据线,猫
数据链路层: wifi
网络层: IP
传输层: TCP
应用层: DNS

关于应用程序上的DNS

dns(域名系统)
是一种分布式数据库,使得IP地址对应网上域名。
主机名转化成IP地址的方法叫做域名解析。

域名结构
主机名.三级域名.二级域名.顶级域名
baike.baidu.com com就是顶级域名;
对于加斜杠/
斜杠就会直接返回网站设置的存放在网站根目录下的默认页面。

什么是TCP三次握手

过程
第一次握手: 客户端向服务器发送SYN包(syn=j),并进入SYN_SENT状态。
第二次握手: 服务器端接受SYN包,确认(ack=j+1),然后向客户端发送SYN包(syn=k)和ACK包,此时进入SYN_RECV状态
第三次握手: 客户端接受SYN包(同步标志)和ACK(确认标志)包,并向服务器端发送ACK(ack=k+1),完成握手,开始传输数据。
类比下相亲,素未谋面,为了确保对象正确。
第一次握手: A向B发送暗码①,开始等待。
第二次握手: B接受了暗码①,为了证明自己收到了暗码①而又使自己发送的暗码不与暗码①重叠,对暗码①加1做细微修改,并又发了个暗码②,处于已接受状态。
第三次握手: A接受到了两个暗码,发送信息给B表示OK了,开始见面。

Backlog参数
一般而言,第二次握手后,如果服务器端许久未收到客户端回应,服务器端会二次重传,但是这有个最大重传次数的限制。超过限制,从半连接队列中删除。

TCP数据结构这里不过多介绍,有兴趣可自行百度。

有关TCP/IP协议

TCP是传输层的协议,负责发现传输的问题,一有问题就报警,要求重来一次。
IP是网络层的协议,因特网每一台联网设备的网络地址。

不同机器中包含的对应层的实体叫做对等进程。
对等进程利用网络协议通信时的行为很好理解,不是对应层之间直接连接通信,而是将信息和规定打包给下一层逐层传递。就好比两栋七层的楼房,一个人要从A的5层到B的5层,要先下A楼再上B楼。

关于IP
IP数据包接受物理层和数据链路层的数据,包含源地址和目的地地址(ICPM),为TCP层提供服务。
而TCP层假设IP层源地址真实有效,这会造成一定程度上的危险。

关于TCP
TCP层通过 三次握手建立连接,通讯完成时拆除连接。
而且TCP会为IP数据包排序,确认。损坏的数据重新发送。

通讯端口
客户端和服务进程信息交流,但是两个系统的多个服务进程如何确认彼此的存在?
通过源地址、目的地地址、源端口、目的端口确认。

IP地址
202.116.0.1。Internet里的IP地址为32位,所以分为4组,每组8位,通过小数点隔开,每组字节在0~255之间。

TCP/IP 的模型
应用层
传输层
网络层
网络接口层

简单介绍下应用层的协议:
FTP: 文件传输协议,数据端口是20H,控制端口是21H
Telnet: 用户远程登录服务,明码传送
DNS: 域名解析服务,提供域名与IP地址之间的转化,端口53
SMTP: 简单邮件传输,端口25
NFS: 网络文件系统
HTTP: 超文本传输协议,用于网站,端口80

优点
独立性强
标准化
IP地址唯一性

缺点
功能和实现方法未明确区分
数据链路层与物理层未区分

什么叫做HTTP协议

Http(Hypertext Transfer Protocol)超文本传输协议。
Http属于应用层协议,基于TCP协议之上。而浏览器与服务器之间的交换数据就是建立在Http基础上的。
Http是基于请求/响应模式的无状态协议。所以如果需要判断是否登录等状态时需要借助其他的技术手段。
浏览器与服务器通信的过程(最初版):
1.浏览器发出连接到服务器
2.浏览器发出请求到服务器
3.服务器发出响应到浏览器
4.连接中断

(进化版):
但是,每次请求/响应都需要创建一次连接(TCP协议如此要求,而Http协议又居于TCP协议基础上),这带来的成本过高,所以进化出了持续连接。
持续连接使得每次请求/响应不必伴随连接的创立和中断,浏览器持续发出请求,服务器一一响应(同样是因为TCP保证)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值