1. 传输层的两个协议

1.1 TCP和UDP协议的应用场景

(1)TCP协议:如果要传输的内容比较多,需要将发送的内容分成多个数据包发送。这就要求在传输层用TCP协议,在发送方和接收方建立连接,实现可靠传输、流量控制和拥塞避免。(如下载500M电影、QQ好友传输文件、浏览网页、发送电子邮件等)

(2)UDP协议:一个数据包就能发送全部内容不需要持续发送,发送方和接收方不需要建立连接。由于就一个数据包不需要流量控制和拥塞避免,在传输层不需要负责可靠传输。如果数据包发送出去,应用程序没有收到返回的数据包,就再发送一遍,可以认为发送成功与否由应用层来判断(如发送QQ聊天内容、域名解析、多播通信、视频点播

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

(1)两者关系

  ①应用层协议很多,而传输层就两个协议,通常使用传输层协议加一个端口号来标识一个应用层协议

  ②其它常见的应用层协议和端号

    A.HTTPS默认使用TCP的443端口

    B.Windows访问共享资源使用TCP的445端口

    C.MSSQL数据库默认使用TCP的1433端口

    D.MySQL数据库默认使用TCP的3306端口

(2)端口的分类

  ①服务器端使用的端口熟知端口:0~1023,登记端口:1024~49151

  数据包中的目标IP地址是用来在网络中定位某一服务器,而目标端口是用来定位该服务器上的某个服务(如Web服务、SMTP服务和POP3服务等)

  ②客户端使用的端口取值范围为49152~65535

  比如,客户端打开浏览器,窗口A访问百度,窗口B访问51cto,需要建立两个TCP连接,这时客户端计算机会临时为每个窗口分配一个端口(要求本地唯一)。两个网站返回的数据包就根据这两个目标端口不同,提交给相应的窗口来显示

1.3 实战

(1)查看侦听的端口netstat -an (其中a表示查看所有连接和侦听端口n表示以数字显示地址和端口o表示显示进程PIDb表示显示进程名称(需管理员权限)

(2)测试是否开放某个端口telnet 192.168.80.100 3389

(3)更改服务使用的默认端口

  ①如IIS服务器:打开IIS服务管理工具→“默认网站”→右键“属性”→“网站”选项卡中将TCP端口指定成8080等。

  ②远程桌面RDP:HKLM\System\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp\下将PortNumber的值从3389改为4000(10进制)

1.4 端口与网络安全

(1)在路由器上设置访问控制列表(ACL)

(2)开启Windows防火墙只打开特定端口

  ①“控制面板”→“Windows防火墙”→“启用”。

  ②“例外”选项卡→“添加端口”→选择TCP或UDP。这时访问本机该协议和端口的请求将被允许

  ③禁用“Windows防火墙”服务:“控制面板”→“管理工具”→“服务”→禁止“Windows Firewall/Internet Connection Sharing (ICS)”

(3)TCP/IP筛选:

  ①“本地连接”→“Internet协议(TCP/IP)” →“高级”→“选项”选项卡→“TCP/IP筛选” →“属性”

  ②勾选“启用TCP/IP筛选(所有适配器)

  ③在TCP端口UDP端口中选择“只允许”,然后添加相应的端口号。

  ④重启系统(注意:TCP/IP筛选不受“Windows Firewall/Internet Connection Sharing (ICS)服务”是否开启的影响)

最新文章

  1. Centos7 升级内核和应用TCP BBR 算法
  2. java-int类型:int默认为0导致更新操作未赋值的情况下将值更新为0
  3. js 基础
  4. Eclipse中Maven+Spring3.2.17+SpringMVC HelloWorld
  5. 分享一些WinForm数据库连接界面UI
  6. 日志基本概念/rSyslog
  7. 2019-3-22KeyDown,KeyPress 和 KeyUp 事件
  8. 2步安装1个hive docker运行环境[centos7]
  9. Mysql 语句优化
  10. 三台机器之间root用户ssh互信配置
  11. Flask--第三个例子,写一个接口,该接口返回html前端页面,模板的使用
  12. 恒生UFX交易接口基本介绍说明
  13. Python入门 日志打印
  14. C语言一维数组定义及引用时括号[]内容
  15. 关于ARM Linux下的SD卡及U盘的挂载问题
  16. Hessian 源码简单分析
  17. Centos6 下安装Nginx+Mysql+PHP
  18. .Net Core Razor 预编译,动态编译,混合编译
  19. mint-ui 关于有时候官网有时候打不开的问题
  20. JDBC方式执行SQL,支持CRUD返回LIST

热门文章

  1. sofa graphql 2 rest api webhook 试用
  2. vue的watcher 关于数组和对象
  3. Promise实例的then方法
  4. Task.Delay() 和 Thread.Sleep() 区别
  5. Day 38 HTML
  6. [转]Java对象的序列化和反序列化
  7. webpack 4:默认配置
  8. vue监听路由变化
  9. 说明os,sys模块不同?并列举常用的模块方法
  10. petalinux--执行子进程“oe-gnome-terminal-phonehome”失败(没有那个文件或目录)(转)