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

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协议)

1. 传输层的功能

2. 传输层UDP和TCP

3. 网络安全

4. TCP可靠传输的实现

5. TCP流量控制

6. TCP拥塞控制

7. TCP的运输连接管理

猜你喜欢

转载自www.cnblogs.com/deer-cen/p/12321250.html