首页 > 其他 > 详细

计算机网络--->6. 传输层

时间:2020-02-17 15:44:50      阅读:250      评论:0      收藏:0      [点我收藏+]

1. OSI和DOD模型

技术分享图片

  • 说明:RARP就是将ARP反过来

2. 传输层的两个协议

在TCP/IP协议栈,传输层有两个协议TCP和UDP。

2.1 TCP:传输控制协议

在客户端打开一个网页的时候,(1)服务器要将这个网页分成段,封装成多个数据包进行传输。(2)TCP协议要求客户端和服务器之间保持一个会话,用于统计发送了多少个数据包了,还有多少个没发,中途若有丢失的数据包客户端还要要求服务器重新传输,以保证可靠传输。知道数据传输完成,会话才会结束。(3)若服务器给客户端发送的数据过快,客户端来不及处理,客户端会告知服务器暂停一下,等客户端处理完成之后,服务器再继续发。

TCP总结:

  • 将传输的文件分段
  • 客户端与服务器段建立会话保证可靠传输
  • 实现流量控制功能

2.2 UDP:用户数据包协议

(1)上网的时候一般都需要进行域名解析。当在计算机A中输入一个网址的时候,A就要向DNS服务器发一个请求,询问该网址的地址是多少(一个数据包就说明白这件事情),这个时候传输层就用UDP协议;DNS服务器收到数据包后告诉A该域名的ip地址是...,(一个数据包就可以回答A的问题),这也是用UDP协议;之后A通过收到的IP地址访问WEB站点。UDP是不可靠传输,当网络堵塞,数据包发生丢失,即A问了之后,DNS服务器没有回应,那么过1s后,A会再问一遍。A不需要和DNS服务器建立会话
技术分享图片
(2)QQ聊天的时候,发送的聊天信息也是一个数据包可以传完,也是不可靠传输,用的是UDP协议。一来一回聊了很多内容,发送了很多数据包,但是这些数据包之间是没有联系的,所以也不需要编号。有时候会出现一个红色!号表示发送失败,这时我们人为地就会再发一遍
(3)两个人传一份500M的电影,这一个数据包是传不完的,这里用的是TCP协议。
(4)发邮件用的是TCP协议(可能邮件很长还有附件)
(5)利用ftp下载文件使用的是TCP协议,ftp上的文件有大有小
(6)有时候使用多个数据包的通信也是UDP通信:eg:广播屏幕也是属于UDP协议。一个机房里的计算机都连着一个交换机,其中有一台老师的计算机上安装了一个广播软件,这个老师的计算机就在这个局域网中发广播,并不和其他的计算机建立会话,也不使用可靠的通信,若有一台学生电脑相应慢没有收到老师当前的屏幕,老师也不会去管,老师的计算机只管当前电脑屏幕是什么样子就在网上播什么。这样数据包广播或者多播的这里通信也用UDP协议。因为不建立会话,也不保证数据传输的可靠性。

  • 一个数据包就能完成数据通信,不需要分段
  • 客户端和服务器端不需要建立会话(降低了对服务器的性能要求)
  • 不需要流量控制(因为就一个数据包)
  • 进行不可靠传输(没收到就再传一遍)
  • 也会应用于多播和广播

2.3 查看会话

  • netstat -n命令用于查看我电脑当前建立的会话,以下都是TCP协议,这里是看不到UDP协议的,因为UDP协议不建立会话
C:\Users\Ruanc>netstat -n

活动连接

  协议  本地地址          外部地址        状态
  TCP    127.0.0.1:49664        127.0.0.1:59699        ESTABLISHED
  TCP    127.0.0.1:54530        127.0.0.1:64231        ESTABLISHED
  TCP    127.0.0.1:59699        127.0.0.1:49664        ESTABLISHED
  TCP    127.0.0.1:64231        127.0.0.1:54530        ESTABLISHED
  TCP    127.0.0.1:64232        127.0.0.1:64233        ESTABLISHED
  TCP    127.0.0.1:64233        127.0.0.1:64232        ESTABLISHED
  TCP    192.168.43.231:63577   112.34.111.149:80      ESTABLISHED
  TCP    192.168.43.231:63593   40.119.211.203:443     ESTABLISHED
  TCP    192.168.43.231:63597   183.192.192.163:8080   ESTABLISHED
  • netstat -nb用来查看计算机建立会话的进程
    当发现可以的会话后,用这个命令可以直接找到建立这些会话的进程,知道这个进程的名称后,我们在自己的电脑上搜索,如果是木马就把它删掉。

3. 传输层协议和应用层协议之间的关系

如下图,黄底的是应用层协议,这里只是列出部分。TCP/UDP+端口:可以表示一个应用层协议,如此说来应用层协议非常多
技术分享图片
例如:

  • TCP协议+3389端口:代表远程桌面使用的一个协议,叫做RDP协议

常见的传输层协议和应用层协议之间的关系

  • http = TCP+80端口
  • https = TCP+443端口(访问安全站点的时候用到就是https)
  • RDP=TCP+3389端口(使用远程桌面连服务器的时候用到就是远程桌面协议)
  • ftp = TCP+21端口
  • 访问共享文件夹 = TCP+445端口
  • SMTP = TCP+25端口(发邮件用的协议)
  • POP3 = TCP+110端口(收邮件)
  • telnet = TCP+23端口
  • SQL = TCP+1433端口
  • DNS = UDP+53端口(应用层的域名解析DNS协议,既可以用TCP的53端口,又可以用UDP的53端口,多数用于UDP的,所以可以认为DNS用的是UDP协议)

4. 服务和应用层协议之间的关系

服务:计算机安装服务之后,利用TCP/UDP的端口侦听客户端的请求。

我们可以在计算机中安装很多服务。比如:

  • 安装web服务,那么计算机就是一个web站点了。

  • 安装邮件服务,那么就可以让客户端收发邮件了

  • 当计算机1安装了web服务,只有这个服务一启动,他就使用TCP协议的80端口来侦听客户端的请求。若安装FTP服务,那么该服务一启动,那就用TCP协议的21端口来侦听客户端的请求。安装SMTP发邮件服务,就使用TCP的25端口来侦听客户端的请求。

  • 举例:
    当计算机2要访问WEB站点,就要在网上发一个数据包,数据包在传输层包含信息:目标端口80(明确),源端口1234(随便);到网络层之后加上ip地址:目标ip101,源ip102。到达路由器后,路由器根据ip地址将数据包转发到计算机1的网卡,网卡发现数据包里用的是TCP协议且端口号是80,此时web站点已经启动,且80端口在侦听,那么就用web服务器负责接待,知道对方是来访问网页的,那么就将网页传回去。
    技术分享图片

  • 数据到达计算机1后,访问计算机1的哪个服务,是由目标端口决定的。若计算机上只是安装了web服务,但是没有启动,那么这个80端口是不侦听的,也不会搭理客户端的请求
  • web安装后必须是启动状态,才会侦听客户端的请求
  • 为了安全起见,还可以在计算机1的网卡上设置,什么样的数据包可以进来。若这个网卡只允许目标端口是80的数据可以进来,这样只允许访问网站的数据包可以进来,访问FTP的,SMTP等都进不来,就算在侦听也没有用。网络安全由此产生。

计算机如何实现安全

计算机上如果安装的服务比较多,若服务1有漏洞,通过服务1的漏洞可能会入侵操作系统,之后将其他服务损坏。如何让自己的服务器更安全呢?

  • 将没有用的服务停掉
  • 若害怕停下某个服务导致系统崩溃,那么可以在计算机的网卡上设置安全
  • 网络安全:计算机的网卡上只开发必要的端口
总结服务和应用层协议之间的关系
  • 服务使用TCP\UDP的端口侦听客户端请求
  • 客户端使用IP地址定位服务器
  • 客户端使用目标端口定位服务器中的某个服务
  • 可以在服务器网卡上设置必要的端口,实现服务器网络安全

5. 网络安全(补充内容,不属于计算机网络的内容)

5.1 如何在window上安装服务

安装服务之后,启动,计算机就开始侦听对应的端口

5.2 如何查看服务侦听的端口

  • 命令netstat -a或者netstat -an都可以查看服务侦听的端口
C:\Users\Ruanc>netstat -an

活动连接

  协议  本地地址          外部地址        状态
  TCP    0.0.0.0:135            0.0.0.0:0              LISTENING
  TCP    0.0.0.0:445            0.0.0.0:0              LISTENING
  TCP    0.0.0.0:5040           0.0.0.0:0              LISTENING
  TCP    0.0.0.0:5357           0.0.0.0:0              LISTENING
  TCP    0.0.0.0:6646           0.0.0.0:0              LISTENING
  TCP    0.0.0.0:7680           0.0.0.0:0              LISTENING
  TCP    0.0.0.0:49664          0.0.0.0:0              LISTENING
  TCP    0.0.0.0:49665          0.0.0.0:0              LISTENING
  TCP    0.0.0.0:49666          0.0.0.0:0              LISTENING
  TCP    0.0.0.0:49667          0.0.0.0:0              LISTENING
  TCP    0.0.0.0:49668          0.0.0.0:0              LISTENING
  TCP    0.0.0.0:49669          0.0.0.0:0              LISTENING
  TCP    0.0.0.0:49671          0.0.0.0:0              LISTENING
  TCP    127.0.0.1:7475         0.0.0.0:0              LISTENING
  TCP    127.0.0.1:10000        0.0.0.0:0              LISTENING
  TCP    127.0.0.1:49184        127.0.0.1:49664        ESTABLISHED
  TCP    127.0.0.1:49664        127.0.0.1:49184        ESTABLISHED
  TCP    127.0.0.1:51308        127.0.0.1:54530        ESTABLISHED
  TCP    127.0.0.1:51309        127.0.0.1:51310        ESTABLISHED
  • 本地地址那一列的冒号就表示本台计算机正在侦听的端口号,我的计算机侦听了445端口,445端口是访问共享资源用到的端口
  • ESTABLISHED表示已经建立会话
  • 说明
  TCP    192.168.43.231:51500   204.79.197.222:443     ESTABLISHED

表面一个ip地址为204.79.197.222的计算机访问我的51500端口,数据包的源端口是443

  • 电信的DNS服务器222.222.222.222;谷歌公司的DNS服务器8.8.8.8

  • 查看建立的会话netstat -n
C:\Users\Ruanc>netstat -n

活动连接

  协议  本地地址          外部地址        状态
  TCP    127.0.0.1:49184        127.0.0.1:49664        ESTABLISHED
  TCP    127.0.0.1:49664        127.0.0.1:49184        ESTABLISHED
  TCP    127.0.0.1:51308        127.0.0.1:54530        ESTABLISHED
  TCP    127.0.0.1:51309        127.0.0.1:51310        ESTABLISHED
  TCP    127.0.0.1:51310        127.0.0.1:51309        ESTABLISHED
  TCP    127.0.0.1:54530        127.0.0.1:51308        ESTABLISHED
  TCP    192.168.43.231:49201   112.34.111.149:80      ESTABLISHED
  TCP    192.168.43.231:50682   40.119.211.203:443     ESTABLISHED
  TCP    192.168.43.231:50701   183.192.192.163:8080   ESTABLISHED
  TCP    192.168.43.231:50719   221.228.75.64:9203     ESTABLISHED
  TCP    192.168.43.231:50900   13.224.161.13:443      ESTABLISHED
  TCP    192.168.43.231:50944   112.34.111.108:443     CLOSE_WAIT
  TCP    192.168.43.231:51373   116.62.230.66:443      ESTABLISHED
  TCP    192.168.43.231:51385   112.34.111.108:443     CLOSE_WAIT
  TCP    192.168.43.231:51457   120.92.219.40:7823     ESTABLISHED
  • netstat -nb:查看建立会话的进程
  • telnet ip port : 查看某一个机器上的某一个端口是否可以访问,如:telnet 114.80.67.193 8080。黑客在允许服务器的时候先进行端口扫描,目的就是看对方的服务器上允许着什么服务,若一扫描看到80端口,就知道对方是一个web服务;看到3389端口,就知道对方是远程桌面服务。再看对方的这个服务是不是有什么漏洞再想办法入侵。

5.3 如何更改服务使用默认端口

可以迷惑黑客,若本台计算机上运行远程桌面服务,那么黑客扫描到我在侦听3389端口,就知道我是远程桌面服务;若将端口改成4000,黑客就不知道这是什么服务。更改端口可以让我们的服务器更安全。

5.4 如何甚至window网络安全

在网卡上只开发必要的端口

6.

计算机网络--->6. 传输层

原文:https://www.cnblogs.com/deer-cen/p/12321250.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!