#网络传输层#端口号#TCP三次握手

1.传输层端口号

传输层

功能:控制收发两者的数据交换数据交换

组成:主要由两个协议组成,

  •  1.传输控制协议transmission control protocol TCP

是一个面向连接的协议,什么叫面向连接,你在传输数据之前。它会在数据收发者之间做一个连接的控制。他首先会看一下这个目的地到底能不能到达。目的地有没有开启相应的服务,他首先会去做测试。如果目的地它是可达的,并且有相应的服务,那么这个目的地,它就会给这个数据的发送者一个应答,那么我们收到这个应答之后,接下来你就能传数据给对方了,在传数据给对方的时候,所有的数据在TCP协议里面都是有编号的,它都是有序号的。那么你传了多少数据给对方?那对方就会给你他的应答,他会告诉你他收到了哪一些数据?要你继续的往下面去传。一旦他有某些数据没有收到,比如说我发了十份数据给对方,那对方只收到了八份。这个时候?第九份和第十份,那么我们就要考虑一些。其他的方式来处理,比如说我们可以把第八第九份和第十份重新传一遍。我们交给应用层,他去做一些差错的处理。这个就是我们传输层TCP协议的这样的一个作用,它会在数据的发送过程中全程监控你的整个过程。

还有一个概念叫窗口。窗口大小制定了一次性可以传多少数据,因为数据的收发这的速度是不一样的,所以就需要窗口大小来计算传输地整个速率了。

总结:提供可靠的面向连接的运输服务,不提供广播或多播服务,开销较多。

  •  2.用户数据报协议 user datagram protocol UDP

其功能不在于我们传输的可靠性。那UDP,它是无连接的,他是不会管接收方能不能收到数据。他是只管把数据往外面去扔。要发数据了,是用UDP的话,就直接把数据给丢出去,让我的网络设备去做数据的转发。这种协议的话,它的好处就在于速度非常快。它的速度非常快,它不保证你的所有的数据都可以到达我的目的地。数据的可靠性由谁来保证,那么就是由更上一层的应用层。你的软件。你软件本身可以做一些处理,就不是协议的功能,你要在应用层自己去写。UDP本身它是没有什么错误的处理方式的

总结:传送数据之前不需要先建立连接,收到udp报后不需要给出任何确认。不提供可靠支付,但是一种最有效的工作方式。

端口号

作用:所有的应用程序,它的数据都是走你的网络接口出去的。那么我们在接收数据的时候。在发送数据的时候,你就必须要在数据上面打上一个标签。这个标签就是对应我这个数据的应用进程是哪一个。我们的计算机收到这个数据之后,他才知道我这个数据应该交给谁去做处理。我们怎么样去区分不同的应用进程。就要用到我们的端口号了。

我们就会给每一个应用进程。给他一个编号,这个编号我们就把它叫做端口号,那通常这个应用协应用进程是对应某一个网络协议的。比如说我们的网页服务。我们的网页,那么它的端口号就是80号端口,那么我们的计算机一看这个是80号端口,那么它就知道是把这个数据提交给我们的网站服务。提交给我们的网站服务软件,他一看这个端口号是20号端口。那20号端口,是我们FTP的数据端口?他就知道,原来这个数据是给FTP的软件去做处理。就是我们的端口号这样的一个作用。那它就是我们的一个应用的抽象点。他把你的应用程序。和我们的数据进行一个逻辑上面的对应。我们在数据传输的时候会涉及到一个目标端口和源端口,以及我们的数据部分数据是由哪个端口发出去的,然后由哪个端口去接收。

  • 作用一:知道对方开了哪些服务(nmap.org诸神之眼(选择windows版本下载),用来网络扫描的,知道你在这个网上有没有存活,开放了哪一些端口)
  • 作用二:封禁端口号(对于网络安全来说,只要把端口号封禁相应的网络服务就没有办法开启)操作:windows defender防火墙,有入站规则和出站规则,想要关掉http服务80号端口,是要设置出站规则(逻辑:对于我这台客户端来说,我自己是没有网站服务的,我的网站服务是在互联网上面的,我是一个数据的请求者,不是服务的提供者。对于我则台计算机来说我自己是没有80号服务的,我是要请求外面的80号服务,这个数据是向外面发送的,就该做出站规则。如果我是一台服务器就应该做入站规则,不让别人来申请我的服务),新建规则,控制端口,tcp端口,指定80号端口,阻止,应用到所有的网络上,而后起个名字tcp-80,完成。

端口号的范围是有区别的:

1—1023:全球通用端口号,这个端口号全部的之都已经分配好了的。是由INNA(互联网数字分配结构)负责分配端口号,还负责分配你的IP地址,路由里面的自治域系统(有编号,编号是由INNA负责分配)。这个IP地址你在互联网上面是不能随便去设置的,我们在自己的局域网里面是可以。

1024—49151:注册端口,这个范围。我们internet在后续有很多新的应用。有很多新的应用服务,在这个范围里面加以注册。这个范围里面的端口是给我们的应用服务去用的。注册端口没有全部注册完的可以作为这个短暂端口随机分配端口号。

49152—65536:这个部分就是我们计算机通信的时候。它的一个随机值的范围。我的浏览器要和服务器对方的web服务器进行沟通了,这个时候我的这台计算机的浏览器申请一个临时的端口。这个端口就是你本地生成就可以了,那你数据回来,你本地知道这个数据它到底应该回给哪个浏览器就可以了,那它是不需要你去注册的,这就是由我们的系统自动去生成的。然后你用完了之后它就会系统会自动回收。这就是我们操作系统里面本身固定的功能。你只要装了TCPIP协议,我们的操作系统和协议本身它就会自动的帮你去做这件事情。

查看本机的端口号:cmd—>netstat -ant

常用端口号:

http:服务超文本协议

https:在原来http的基础上加上安全的功能

ftp:20是传输数据的。21是用来控制的(比如ftp的登陆,身份验证)

ssh:远程登录,数据加密。Linux基本用,因为它可以加数字证书

rpc:远程调用windows的某一些功能

smb:服务消息块,Windows域的功能,文件的共享功能

smtp:发邮件---同下

pop:接收邮件---还有其他邮件服务

dns:把一个域名和IP地址做一个映射。比如我们的QQ点com它对应了某个IP地址,那你是需要去DNS服务器上面去询问地址的。

snmp:远程监控你的所有支持snmp协议的设备(如windows,路由器,交换机)。开这个协议的话,就可以同股票协议去监控你设备的运行状态,可以向你设备发送指令

mysql:开源免费的数据库,性能好。很多企业用mysql来做他的数据库后端

rdp:远程桌面,远程地去连接你的windows设备

2.tcp三次握手

在做这个网络服务的请求的时候,或者你要跟别对方进行数据交换的时候,如果你是采用TCP协议的话,那么它就会经过这三次握手的过程。经过了这三次握手之后。我们TCP的连接,就会进入establish(连接)状态,之后相互之间就可以去传输数据了。这个过程也可以用来探测,就进行一二两次握手,我就知道你开了什么端口,而不是真的要传输数据。

第一次握手:客户端去请求服务器,比如说你在浏览器里面输入了服务器的域名。这时候,你的客户端首先会找到服务器的IP地址。和我想要去访问对方的端口号,他首先就会向服务器发送一个第一次握手的数据包。第一次握手数据包里面有一个特征,就是这个SYN位,这一位是在我们的数据封装里面,它有一位值叫做SYN,它有一个位置。如果这个位置它写的是一就说明它是一个同步,做同步的这样的一个数据包,那通常数据包里面是没有任何数据的,它去请求对方的服务。它在请求的时候,它会打开一secrecy。SEQ是一个序列号。前面介绍了你的整个传输过程,每个数据,它都是有一个序列号的。他会监测我到底收到了哪些数据,哪些没有收到,他就是靠这个序列号来标明我们整个传输的过程。所以他会开启自己的序列号,这个序列号它也是一个随机值。他也有可能是从零开始。

第二次握手:就是服务器端收到了请求的报文之后。如果服务器端同意向你提供服务了,这时他就会给你发一个确认的包,首先SYN做同步,这个位还是等于一。它多了一位ACK是等于一。然后确认的(应答的)一个序列号ack,它就会在你原有的序列号上面加一,就是向你请求下一个数据。然后服务器也会为自己开一个序列号seq=y,这个是服务器它发向客户端的序列号。

第三次握手:客户端收到了之后,接下来我们客户端又会回一个ACK。这个时候SYN就等于零了。因为我收到了服务器的同步信号。那么第三次握手就只有ACK这一位是等于一的。我发给服务器的就是服务器想要的X加一。这个是我的序列号,我的序列号就是原来的序列号加一,其实就是下一个数据包,然后我向服务器请求你的下一个包。

x是客户端数据的编号。Y是服务端数据的编号,客户端和服务器是各自有数据的编号了,不是大家共用一个,我的数据包,我有一系列的。序号你的数据包,有你的序号,我向你请求你的下一个,你也向我请求下一个。

3.wireshark网络抓包(过程略,理解就好)

(听老师课的小总结)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值