HCIA的基础知识

一、什么是网络?

网络是由边连接在一起的节点的集合,节点对应网络中的个体,边是个体之间的相互关联。

网络是由网络连接设备通过传输介质将网络终端设备连接起来,进行资源共享,信息传递的平台。

网络的工作过程:

第一步:通过应用程序将抽象语言转换为编码

第二步:将编码转换为二进制

第三步:将二进制转换为电信号

第四步:处理电信号

二、OSI网络开放式系统互联模型(又称七层模型)

第一层:物理层

定义电气电压

光学特性

接口规范

处理电信号

第二层:数据链路层

LLC -逻辑链路控制子层 --为上层服务提供FCS校验 --封装与解封装(会变化的IP地址)

MAC -媒介访问控制子层 ---根据MAC地址来进行物理寻址(不会变化的ip地址,48位二进制)

ARP-地址解析协议--通过一种地址获取另一种地址

广播和洪泛:从一个端口接入通过多个端口发出(不确定IP洪泛、确定IP广播)

广播和洪泛的区别:

洪泛是被动寻找

广播是主动寻找

第三层:网络层

根据IP地址来进行逻辑寻址 编址、寻址 --IP协议--网际网络协议

互联网的每一个节点,必然会存在一个IP地址

提供逻辑寻址(通过IP地址做逻辑寻址)

第四层:运输层

  1. 通过端口号来区分不同的服务

端口号范围:0-65535

端口号分类:

静态端口号 1-1023 一个端口号对应一个服务,呈永久绑定关系

http --超文本传输协议 80 /8080 (固定的网页端口号)

https --安全 443

域名系统 (DNS)— TCP/UDP 端口 53

超文本传输协议 (HTTP) — TCP 端口 80

简单邮件传输协议 (SMTP)— TCP 端口 25

邮局协议 (POP)— TCP 端口 110

Telnet — TCP 端口 23

动态主机配置协议— UDP 端口 67 和端口 68

文件传输协议 (FTP)— TCP 端口 20 和端口 21

DHCP 端口号

URL:https://www.sogou.com:443--静态端口号被省略掉了

URL--统一资源定位符

动态端口号 1024-65535 一个端口号对应一个服务,呈暂时性绑定关系

0为保留端口号,在网络编程中使用,用于代表所有端口号。(随机的端口号)

  1. 提供可靠的传输 协议--标准,可以对话的标准

TCP 传输控制协议 面向连接的可靠传输协议

UDP 用户数据报文协议 非面向连接的不可靠传输协议

面向连接 --三次握手、四次挥手机制

可靠 --确认 重传 排序 流控

TCP 传输速度---慢

UDP 传输速度---快

  1. 数据分段

MSS最大段长度 1480B

MTU最大传输单元 1500B

单位的换算关系 --字节和位

1字节=8位

数据的封装与解封装

第五层:会话层

建立维护会话链接

产生数据 传递数据

第六层:表示层

表示层:编码 解码 加密 解密

主要将编码转换为二进制

第七层:应用层

通过人机交互来实现各种各样的服务

主要作用:人机交互的窗口,将抽象语言转换为编码

*OSI分层的目的:

- 降低层次之间的关联性,某一层的协议增加或减少不影响其他层次协议的工作。

- 便于标准化的制定。

- 便于学习和了解计算机层次

  1. TCP的三次握手和四次挥手

三次握手:

四次挥手:

封装与解封装:

封装可以理解为各层将每一层的实现数据添加到内容数据之前,解封装是逆过程。**而真正完成这个工作的是工作在各个层次的协议**。

类似于寄信的时候不能可把信纸直接寄出,需要要信封,收件人,发件人,邮编,邮票等东西,这些东西相当于各层的实现数据。

TCP解释:

首先,源端口与目的端口必不可少,没有这个数据就不知道发给那个应用。下来是报文序列号,为什么需要给报文编号呢,当然是解决数据的乱序问题,不编个号怎么确认那个数据是先来的那个是后到的。然后确认序列号,发出去的报文应该有个确认,不然我怎么知道对方收到没收到,如果没收到就应该重传,当然出现损坏也会重传,如果是职场人,凡事有个响应是必要的。TCP是一个可靠传输协议,他面临的网络环境可能很复杂,网络层是没有可靠性保证的,如果网络环境比较差,TCP作为靠谱协议他不能改变网络环境但是他可以通过算法和重传来保证数据传输可靠。

下来的数据偏移指的是首部长度,表示数据开始的地方离TCP段的起始处有多远。由于首部长度不固定,因此数据偏移字段是必要的。以32比特(4字节)为计算单位。最多有60字节的首部,若无选项字段,正常为20字节。Reserved,

保留字段,必须填0。

接下来是一些状态位,syn表示发起一个连接,ack是确认,RST是重新连接,表明TCP连接中出现严重错误(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立连接。FIN表示断开连接。PSH,表示数据应尽快的交付接收应用进程,而不再等待整个缓存都填满了后再向上交付。URG,紧急指针有效标识。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据)。

window表示窗口大小,TCP能够一次发多个数据,而不是一个一个发送,这样效率更高,确认是只需要确认最后一个即可。那么窗口值设置多少好呢,TCP有流控机制,根据双方发送能力和接受能力来,也就是说不能发的太多把对方撑死,也不能太少把对方饿死,TCP还有拥塞机制,如果网络传输拥塞丢包了,他就会降低窗口值减小速度,也就说路上堵车我管不了,我能做的就是不开车骑个单车上班,尽量不迟到,不能改变世界我就改变自己。这里其实就是算法来控制的,大家下去需要查阅资料写在作业里面,TCP的慢启动算法,TCP的拥塞避免算法,快重传算法,快速恢复算法等。

UDP解释:

IP解释:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值