HCIA 网络的体系

                一、OSI七层参考模型

二、TCP/IP模型

1、TCP/IP

2、服务常用端口

3、封装解封装

4、TCP/IP各层传输单位

5、TCP与UDP的区别

5、TCP报头、UDP报头、IP报头

6、TCP的三次握手---建立连接

7、TCP的四次挥手---断开连接


一、OSI七层参考模型

应用层

应用程序 接收人类传递的一些参数

表示层

转为二进制

会话层

建立维持和断开一次会话,PC和服务器之间建立的请求

传输层

优化传输—实现端对端的传输,为了区分进程和服务,端口号:由二进制构成,16位二进制构成,65536个。0-1023知名端口号,著名端口号,标定了特定的服务。

网络层

IP地址,实现逻辑寻址

数据链路层

(介质访问控制层—MAC)逻辑访问控制层 LLC—物理寻址

物理层

处理电信号

核心:分层---分层的好处;位于同一层的协议或者设备具备相同或者相似的功能,而不同层次之间的协议或者设备,具有明显的差异。

1.更利于标准化

2.降低层次之间关联性。

每一层都提供自身的服务。

每一层都在下层的基础上提供一些增值服务。

二、TCP/IP模型

1、TCP/IP

TCP/IP(传输控制协议/互联网协议),TCP又称网络通讯协议(Transmission Control Protocol)。是由网络层的IP协议和传输层的TCP协议组成,是一个很大的协议集合。

PDU—协议数据单元

2、服务常用端口

3、封装解封装

①  封装:达到某一层次数据之前封装上对应的功能数据,让它执行相应的功能;从高层向低层数据加工处理的一个过程;过程中数据包将不断的变大。

②  解封装:就是封装的一个逆过程, 数据从低层向高层的一个读取过程;过程中数据包将不断的变小。

4、TCP/IP各层传输单位

应用层:数据报文二进制

传输层:数据段 TCP UDP  

网络层:数据包 IP协议

数据链路层:数据帧 以太网协议

物理层:比特流

5、TCP与UDP的区别

①  TCP是面向连接协议,而UDP是无连接的一种协议。

        TCP有三次握手建立连接。

②  TCP的传输是可靠的,而UDP的传输是不可靠的。

        TCP有排序、确认、超时重传、流控的可靠传输机制。

③  TCP可以进行流控,而UDP不能(滑动窗口机制)。

④  TCP可以进行分段,而UDP不能。

⑤  TCP消耗资源会比较多,传输效率比较低,而UDP消耗资源比较小,传输效率比较高。

⑥  应用场景不同。

        TCP一般运用在对数据可靠性要求比较高,但是对于传输效率要求相对较低 的情况,比如说传输文件/邮件等等。

        UDP一般运用在对数据可靠性要求比较低,但是对于传输效率要求较高的情况,比如说 即时通讯,直播等等。

5、TCP报头、UDP报头、IP报头

①  TCP报头

 ②  UDP报头③  IP报头

标准为20字节,可扩展到60字节

MTU—最大传输单元,默认情况下规定的大小 数据链路层最大不能超过1500字节

MSS—最大段长度—传输层分段后的数据大小——1460字节=MTU(1600)- IP报头(4X5)- TCP报头(4X5)。

6、TCP的三次握手---建立连接

 

第一次握手:主机A发送一个SYN包给主机B,将SYN置为1,并且携带一个Seq序号是随机值,如这里Seq=100;

第二次握手:主机B收到主机A的数据包回复一个确认包(ACK),将ACK置为1,并携带携带一个确认序号(ACKnumber)是主机A发送过来的序号+1,如这里ACKnumber=100+1;同时主机B也要向主机A也要发送SYN包,将SYN置为1,且携带一个Seq序号是随机值,如这里Seq=500向主机A进行回复;

第三次握手:当主机A收到主机B确认包(ACK),主机A也会向主机B回复一个ACK,将ACK置为1,并携带携带一个确认序号(ACKnumber)是主机发B送过来的序号+1,如这里ACKnumber=500+1;同时主机A向主机发送一个上次向主机B发送的序号+1;如这里Seq=100+1。

建立三次握手原因:

第一次握手:客户端向服务器端发送报文,说明客户端的发送能力正常;

第二次握手:服务器端接收到报文并向客户端发送报文,说明服务器端的接收能力、发送能力正常;

第三次握手:客户端向服务器发送报文,说明客户端的接收能力正常。

7、TCP的四次挥手---断开连接

 第一次挥手:客户端向服务器发送一个FIN报文段,将设置seq为100和ack为110,;此时,客户端进入 FIN_WAIT_1状态,这表示客户端没有数据要发送服务器了,请求关闭连接;

第二次挥手:服务器收到了客户端发送的FIN报文段,向客户端回一个ACK报文段,ack设置为1,seq设置为110;服务器进入了CLOSE_WAIT状态,客户端收到服务器返回的ACK报文后,进入FIN_WAIT_2状态;

第三次挥手:服务器会观察自己是否还有数据没有发送给客户端,如果有,先把数据发送给客户端,再发送FIN报文;如果没有,那么服务器直接发送FIN报文给客户端。请求关闭连接,同时服务器进入LAST_ACK状态;

第四次挥手:客户端收到服务器发送的FIN报文段,向服务器发送ACK报文段,将seq设置为101,将ack设置为111,然后客户端进入TIME_WAIT状态;服务器收到客户端的ACK报文段以后,就关闭连接;此时,客户端等待2MSL后依然没有收到回复,则证明Server端已正常关闭,客户端也可以关闭连接了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值