热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

#运维小白的成长日记第七天OSI七层传输层/应用层精讲!

运维小白的成长日记第七天-OSI七层传输层应用层精讲!1、IP提供了点到点的连续接,通过IP地址可以找到目标主机。但是目标主机有很多应用,服务器到底使用哪个应用来响应客户端?通过端
运维小白的成长日记第七天-OSI七层传输层/应用层精讲!

1、IP提供了点到点的连续接,通过IP地址可以找到目标主机。但是目标主机有很多应用,服务器到底使用哪个应用来响应客户端?通过端口号决定。
2、TCP:传输控制协议。可靠的、面向连接的协议。相当于是打电话的过程,需要建立连接、发送数据、断开连接。
3、UDP:用户数据报协议。不可靠的,非面向连接的协议。相当于是发信息的过程。不需要建立连接,直接发送数据。
4、TCP头部的主要字段:
目标端口号:表明要访问的哪个应用,如80端口表示http
源端口号:标识自己的应用
序列号:上层数据被分成很多段,段的编号
确认号:接收方收到数据段后,要告诉发送方已收到
窗口大小:接收方告知发送发一次可以发多少个段
5、TCP建立连接的过程称作三次握手。
(1)发送方发送SYN=1的数据段给接收方
(2)接收方回应SYN=1,ACK=1的数据段给发送方
(3)发送方发送ACK=1的数据段给接收方
6、TCP发送完数据后,断开连接的过程有4步,叫四次断开
(1)主机A发送FIN=1的数据段给对方B
(2)另外一方B回应ACK=1的数据段给A
(3)B也发送FIN=1的数据段给A
(4)A回应ACK=1的数据段给B
技术分享图片第三次握手的必要性:防止已失效的请求报文段突然又传送到了服务端而造成连接的误判。假如客户端发出连接请求A,由于网络原因,服务端并没有收到A,于是客户端又发送了连接请求B,并建立了连接,完成通信,断开连接。这时候,服务端突然又收到了A,于是看作是一次新的连接请求,进行第二次握手,由于不存在第三次握手,所以这时已经建立了TCP连接。但实际上客户端并没有发起连接,所以不会传递数据,那么这条连接就会变成一条死连接。
技术分享图片
必要性:为保证单向通信的可行性,所以多一次握手。

    1)主动断开方发送FIN时,被动断开方要回复ACK,意思是“我收到你的FIN了”;

    2)主动断开方发送FIN并不意味着立即关闭TCP连接,而是告诉对方自己没有更多的数据要发送了,只有当对方发完自己的数据再发送FIN后,才意味着关闭TCP连接;

    3)被动断开方收到FIN并回复ACK后,此时TCP处于“半关闭”状态,为保证被动断开方可以继续发送数据,所以第二个FIN并不会伴随ACK发送,所以比连接时多一个报文段。

    基于TCP的应用

HTTP:80 WEB服务
HTTPS:443 安全的WEB服务
TELNET:23 远程管理路由器交换机用到
SMTP:25 简单邮件传输协议,用于发邮件
POP3:110 邮局协议第三版,用于收邮件
FTP:21 文件传输协议
DNS:53 域名服务


UDP

TFTP:69 简单文件传输协议
DNS:53 域名服务
NTP:123 网络时间协议,用于同步系统时间
应用层
1、DNS:域名服务,用于将名称解析为IP地址,反之亦然
2、DNS是一个倒置的树形结构。最顶部是根域,用英文句点(.)表示。全球有13个根域服务器,一台主服务器在美国,9台辅助服务器在美国,2台在欧州,一台在日本。
3、根域服务器以下是一级域(顶级域)、二级域、三级域……最多127级
4、百度的域名:baidu.com,达内的域名:tedu.cn
5、主机的完整名称:主机名.域名后缀
FQDN:完全合格域名、完全限定域名、全称域名
技术分享图片

6、初期的域名,顶级域只有七个:
com:商业
net:网络
gov:政府
edu:教育
mil:军事
int:国际化
org:组织
7、后来又使用两个字母表示一个国家或地区,成为地理域
8、客户机解析域名的过程
(1)查询自己的缓存
ipconfig/displaydns 查看本机DNS缓存
ipconfig/flushdns 清除本机缓存
(2)查询HOSTS文件
C:\Windows\System32\drivers\etc\ hosts
(3)本地DNS服务器(配置网络参数时指定的)
9、收发邮件
发信客户端被称作MUA(邮件用户代理),服务器被称作MTA(邮件传输代理)
10、实现DNS:windows server中有DNS服务器软件
11、实现http/ftp:IIS(Internet信息服务)
12、FTP有两个端口21和20。21用于控制连接,20用于数据传输。

# 运维小白的成长日记第七天-OSI七层传输层/应用层精讲!


推荐阅读
  • 本文探讨了在一个物理隔离的环境中构建数据交换平台所面临的挑战,包括但不限于数据加密、传输监控及确保文件交换的安全性和可靠性。同时,作者结合自身项目经验,分享了项目规划、实施过程中的关键决策及其背后的思考。 ... [详细]
  • 本文详细介绍了如何在Oracle VM VirtualBox中实现主机与虚拟机之间的数据交换,包括安装Guest Additions增强功能,以及如何利用这些功能进行文件传输、屏幕调整等操作。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 本文详细介绍了JQuery Mobile框架中特有的事件和方法,帮助开发者更好地理解和应用这些特性,提升移动Web开发的效率。 ... [详细]
  • CentOS下ProFTPD的安装与配置指南
    本文详细介绍在CentOS操作系统上安装和配置ProFTPD服务的方法,包括基本配置、安全设置及高级功能的启用。 ... [详细]
  • Web动态服务器Python基本实现
    Web动态服务器Python基本实现 ... [详细]
  • 本文探讨了如何通过优化 DOM 操作来提升 JavaScript 的性能,包括使用 `createElement` 函数、动画元素、理解重绘事件及处理鼠标滚动事件等关键主题。 ... [详细]
  • CSS Border 属性:solid 边框的使用详解
    本文详细介绍了如何在CSS中使用solid边框属性,包括其基本语法、应用场景及高级技巧,适合初学者和进阶用户参考。 ... [详细]
  • 如何在Django框架中实现对象关系映射(ORM)
    本文介绍了Django框架中对象关系映射(ORM)的实现方式,通过ORM,开发者可以通过定义模型类来间接操作数据库表,从而简化数据库操作流程,提高开发效率。 ... [详细]
  • 二维码的实现与应用
    本文介绍了二维码的基本概念、分类及其优缺点,并详细描述了如何使用Java编程语言结合第三方库(如ZXing和qrcode.jar)来实现二维码的生成与解析。 ... [详细]
  • 调试利器SSH隧道
    在开发微信公众号或小程序的时候,由于微信平台规则的限制,部分接口需要通过线上域名才能正常访问。但我们一般都会在本地开发,因为这能快速的看到 ... [详细]
  • 解决PHP项目在服务器无法抓取远程网页内容的问题
    本文探讨了在使用PHP进行后端开发时,遇到的一个常见问题:即在本地环境中能够正常通过CURL获取远程网页内容,但在服务器上却无法实现。我们将分析可能的原因并提供解决方案。 ... [详细]
  • 如题:2017年10月分析:还记得在没有智能手机的年代大概就是12年前吧,手机上都会有WAP浏览器。当时没接触网络原理,也不 ... [详细]
  • 首部|接口类型_OSI 7层模型 & TCP/IP协议首部封装格式解析
    首部|接口类型_OSI 7层模型 & TCP/IP协议首部封装格式解析 ... [详细]
  • DNS服务一、概述1.全称:Domainnamesystem(域名系统)2.作用:1)正向解析: ... [详细]
author-avatar
透明
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有