首页 > 技术文章 > 计算机网络浅析

orangezhangzz 2020-12-08 11:04 原文

LAN: 局域网 local Area Network

WAN:  广域网 Wide Area Network

WAN = LAN +LAN+....+LAN   多个LAN 组成 WAN  

OSI 七层协议 :           TCP/IP协议:             网络协议标准

7 应用层                       4 应用层                   HTTP,FTP , SMTP
6 表现层                                                        POP3  NFS  SSH
5 会话层

=============================================
4 传送层                       3.传送层                    TCP UDP

=============================================
3 网络层                       2 网络层                    IP ICMP

=============================================
2 链接层                                                         LAN WAN   ARP
1 实体层                       1 链接层

=============================================

TCP/IP网络协议由OSI七层协议简化而来

 

 

 

 

 

 

TCP/IP  生命周期 

准备阶段  :

在浏览器输入网址按下enter后,网址列与相关数据会被包裹成一个数据 向应用层传递

LAN: 局域网 local Area Network

WAN:  广域网 Wide Area Network

WAN = LAN +LAN+....+LAN   多个LAN 组成 WAN  

OSI 七层协议 :           TCP/IP协议:             网络协议标准

7 应用层                       4 应用层                   HTTP,FTP , SMTP
6 表现层                                                        POP3  NFS  SSH
5 会话层

=============================================
4 传送层                       3.传送层                    TCP UDP

=============================================
3 网络层                       2 网络层                    IP ICMP

=============================================
2 链接层                                                         LAN WAN   ARP
1 实体层                       1 链接层

=============================================

TCP/IP网络协议由OSI七层协议简化而来

 

 

TCP/IP  生命周期 

准备阶段  :

 应用程序阶段                                                                              在浏览器输入网址按下enter后,网址列与相关数据会被包裹成一个数据 向应用层传递 

============================================

 4 应用层          HTTP,FTP , SMTP   POP3  NFS  SSH            应用层收到数据后,使用HTTP 通信协议 ,将来自浏览器的数据包起来,给予一个应用层表头,传递给传送层

=============================================
3.传送层                    TCP UDP                                                   传送层收到数据后 ,将数据丢入TCP 封包内,并给予一个TCP封包的表头,向网络层传递

=============================================
2 网络层                    IP ICMP                                                     网络层收到数据后,将TCP封包 包进IP的封包内,给予一个IP表头,向链接层传递

============================================

 1 链接层                                                                                   IP根据CSMA/CD 以太网协议标准 包裹进mac 讯框内,给予mac表头 等待转换为位串,利用传输媒体传送到远程主机

 

  

 

 UDP: 用户数据报协议(User Datagram Protocol)。UDP协议是一个面向无连接的协议。传输数据时,不需
要建立连接,不管对方端服务是否启动,直接将数据、数据源和目的地都封装在数据包中,直接发送。每个
数据包的大小限制在64k以内。它是不可靠协议,因为无连接,所以传输速度快,但是容易丢失数据。日常应
用中,例如视频会议、QQ聊天等。

  相同点:tcp和udp都是传输层协议

  不同点:udp 无连接协议,大小有限制,速度快,不靠协议,易丢失

      tcp 面向连接协议,故需要三次握手 所以安全,应用广泛,可用来下载,浏览网页

   3次握手:

TCP封包3次握手:

 

 

正常的TCP连接,都会有三个阶段:1、TCP三次握手;2、数据传送;3、TCP四次挥手

其中在TCP连接和断开连接过程中的关键部分如下:

源端口号:即发送方的端口号,在TCP连接过程中,对于客户端,端口号往往由内核分配,无需进程指定;

目的端口号:即发送目的的端口号;

序号:即为发送的数据段首个字节的序号;

确认序号:在收到对方发来的数据报,发送确认时期待对方下一次发送的数据序号;

SYN:同步序列编号,Synchronize Sequence Numbers;

ACK:确认编号,Acknowledgement Number;

FIN:结束标志,FINish;

 

 

step1. 由客户端向服务器端发起TCP连接请求。Client发送:同步序列编号SYN置为1,发送序号Seq为一个随机数,这里假设为X,确认序号ACK置为0;

step2. 服务器端接收到连接请求。Server响应:同步序列编号SYN置为1,并将确认序号ACK置为X+1,然后生成一个随机数Y作为发送序号Seq(因为所确认的数据报的确认序号未初始化);

step3. 客户端对接收到的确认进行确认。Client发送:将确认序号ACK置为Y+1,然后将发送序号Seq置为X+1(即为接收到的数据报的确认序号);

为什么是三次握手而不是两次对于step3的作用,假设一种情况,客户端A向服务器B发送一个连接请求数据报,然后这个数据报在网络中滞留导致其迟到了,虽然迟到了,但是服务器仍然会接收并发回一个确认数据报。但是A却因为久久收不到B的确认而将发送的请求连接置为失效,等到一段时间后,接到B发送过来的确认,A认为自己现在没有发送连接,而B却一直以为连接成功了,于是一直在等待A的动作,而A将不会有任何的动作了。这会导致服务器资源白白浪费掉了,因此,两次握手是不行的,因此需要再加上一次,对B发过来的确认再进行一次确认,即确认这次连接是有效的,从而建立连接。

对于双方,发送序号的初始化为何值有的系统中是显式的初始化序号是0,但是这种已知的初始化值是非常危险的,因为这会使得一些黑客钻漏洞,发送一些数据报来破坏连接。因此,初始化序号因为取随机数会更好一些,并且是越随机越安全。

 

推荐阅读