HCIA的复习第一天

OSI/RM 开放系统互联参考模型

开放式互联参考模型分7层,从高到低分别是应用层,表示层,会话层,传输层,网络层,数据链路层,物理层。

第七层应用层

应用层提供各种各样的应用层协议,这些协议嵌入在各种我们使用的应用程序中,为用户与网络之间提供一个打交道的接口。

第六层表示层

数据格式进行编译,对收到或发出的数据根据应用层的特征进行处理。

电脑从网卡收到一串数据时,这些数据在电脑中都是都是二进制的格式,我们人类是看不懂二进制的,就需要表示层帮忙将这些二进制转换成我们能够识别的数据(即抽象语言)。

第五层会话层

负责在数据传输中设置和维护电脑网络中两台电脑之间的通信连接。

1、建立会话

2、保持会话(不是所有应用都需要维持)

3、断开会话

第四层传输层

端到端的数据传输 ----- 实现应用对应用的数据传输

服务:即提供某种功能。

设置应该类似于ip地址的端口号,用来区分应用端口,本质是由16位二进制构成,所以范围是0 ---- 655535

0为保留端口号

1-1023:知名端口号,也叫系统端口,这些端口只有系统特许的进程才能使用;

20、21端口:FTP 文件传输服务

22端口:SSH 远程连接服务

23端口:TELNET 终端仿真服务

25端口:SMTP 简单邮件传输服务

53端口:DNS 域名解析服务

80端口:HTTP 超文本传输服务

443端口:HTTPS 加密的超文本传输服务

3306端口:MYSQL数据库端口

3389端口:WIN2003远程登陆

8080端口:TCP服务端

8888端口:Nginx服务器

第三层网络

基于数据包的逻辑地址(ip,变动的地址)进行转发,寻找网络中目的的位置,并在去往目的的多条路径中选择一条最佳的路径。(即逻辑寻址)

在上面传下来的数据包装加上源IP和目标IP(32位二进制)

源地址:发起的这个数据包的那台设备的地址,源IP在传送至目的之前是不会改变的;

目的地址:我要访问的是谁?

第二层数据链路层

他是由2个子层MAC(介质访问控制层) + LLC(逻辑链路控制层)组成

同样进行包装加工添上源MAC地址(48位二级制)和目标MAC地址

介质访问控制层:控制与连接物理层的物理介质

逻辑链路控制层(太抽象,目前不做了解)

第一层物理层

物理层处于整个标准的最底下一层,它与数据链路层一样,工作在单条线路上,只负责线路两端的通信维护

物理层通过各类协议定义了网络的机械特征、电气特征、功能特征和规程特征。

封装

OSI/RM参考模型的许多层都使用特定方式描述信道中来回传达的数据。数据在从高层向低层传达的过程中,每层都对接收到的原始数据添加信息,通常是附加一个报头和报尾,这个过程称为封装。

传输层的TCP和UDP协议

两者区别

1、TCP是面向链接的协议,而UDP是无连接的协议;

2、TCP协议的传输是可靠的,而UDP协议的传输 “尽力而为”;

3、TCP协议可以实现流控,而UDP不行;

4、TCP可以分段,而UDP不行;

5、TCP消耗资源较大,传输效率低。UDP消耗资源较小,速度快;

TCP和UDP的使用场景

TCP协议更适应于对可靠性要求较高,但是对传输效率和资源占用要求较低的场景。UDP更适应于对传输效率要求可靠较高,可靠性要求较低的场景(即时类通信);

区别一

什么是面向连接?

在正式传输之前,先使用预先的协议,建立点到点的链接。

TCP建立的连接实际建立了一个双向的会话连接,即通讯双方都可以向对方发送数据。

什么是无连接?

相当于没有建立连接,直接传输数据。

区别二

TCP协议的传输是可靠的,而UDP协议的传输 “尽力而为”;

TCP协议可靠性:确认机制、重传机制(没有收到对方的确定,一直传输这个数据)、排序机制(保证数据按顺序传输)、流控机制

区别三

TCP协议可以实现流控,而UDP不行;

发送端可以一次发送多个数据包,接收端可以只发送一个ACK。

区别四

TCP可以分段,而UDP不行;

TCP数据有序号,可以分开发送。然后把数据拼起来。

区别五

TCP消耗资源较大,传输效率低。UDP消耗资源较小,速度快;

TCP的三次握手

第一次

第一次握手:建立连接时,客户端发送syn包(seq=x,x为随机值)到服务器,等待服务器确认。

第二次

第二次握手:服务器收到syn包,必须确认客户端的SYN(ack=x+1),同时自己也发送一个SYN包(seq=y,y为随机值),即SYN+ACK包。(x与y不一样,两个不同的随机值)

第三次

第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=y+1),此包发送完毕,客户端和服务器进入TCP连接成功状态,完成三次握手。

完成三次握手,客户端与服务器开始传送数据。

第一次建立连接失败:

客户端:数据丢失 --- 重传;网路延迟 --- 重传 。

服务端:数据丢失 --- 没反应; 网络延迟 --- 收到两次请求,发两次确认包。

第二次失败:

客户端:数据丢失 --- 重发一次的建立连接包;网络延迟 --- 重传。

服务端:数据丢失 --- 重传[SYN,ACK]包;网络延迟 --- 重传 。

第三次失败:

客户端:数据丢失 --- 重发ACK;网络延迟 --- 重传。

服务端:数据丢失 --- 重发一次的建立连接包;网络延迟 --- 重传。

为什么是三次,而不能是两次:

发数据包每次都要对方回复,并且确保两端的信息收发没有问题。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值