标准TCP/IP协议是用于计算机通信的一组协议,通常被称为TCP/IP协议栈,以它为基础组建的互联网是目前国际上规模最大的计算机网络。正因为互联网的广泛应用,使得TCP/IP成为了事实上的网络标准。
OSI七层模型
oSI参考模型 | 各层的解释 |
应用层 | 为应用程序提供服务 |
表示层 | 数据格式转化、数据加密 |
会话层 | 建立、管理和维护会话 |
传输层 | 建立、管理和维护端到端的连接 |
网络层 | IP选址及路由选择 |
数据链路层 | 提供介质访问和链路管理 |
物理层 | 物理层 |
TCP/IP四层模型
一.OSI七层模型与TCP/IP协议栈模型对应关系
二.各个层对应协议有哪些?
应用层:http dns telnet ftp TFTP 。。。。 传输层:tcp udp 网络层:ip ICMP ARP rarp 数据链路层:ethnet ethnet2 802.3 ppp fr x.25 hdlc 物理层:比特流
应用层: | http dns telnet ftp TFTP https |
传输层: | tcp udp |
网络层: | ip ICMP ARP rarp igmp |
数据链路层: | ethnet ethnet2 802.3 ppp fr x.25 hdlc |
物理层: | 比特流 |
三.TCP/UDP协议的区别及应用场景?
TCP和UDP的对比
TCP | UDP | |
可靠性 | 可靠 | 不可靠 |
建立连接 | 面向连接 | 无连接 |
报文 | 面向字节流 | 面向报文 |
传输方式 | 点对点 | 一对一,一对多,多对多 |
传输效率 | 低 | 高 |
流量控制 | 有(滑动窗口) | 无 |
拥塞控制 | 有 | 无 |
应用场景 | 对传输效率要求低,对传输准确性要求高,要求有连接的场景 | 对传输效率要求高,对准确性要求低 |
TCP适用场景:
当网络硬件失效或者负担太重时,数据包可能就会产生丢失、重复、延时、乱序的现象。这些都会导致我们的通信不正常的时候。如果让应用程序来担负差错控制的工作,无疑将给程序员带来许多复杂的工作,于是,我们使用独立的通信协议来保证通信的可靠性是非常必要的。
TCP一般用于文件传输(FTP HTTP 对数据准确性要求高,速度可以相对慢),发送或接收邮件(POP IMAP SMTP 对数据准确性要求高,非紧急应用),远程登录(TELNET SSH 对数据准确性有一定要求,有连接的概念)等等
UDP适用场景:
1.在高效可靠的网络环境中(不需要考虑网络不好导致的丢包、乱序、延时、重复等问题),因为UDP是无连接的服务,不用消耗不必要的网络资源(TCP中的协议间通信)和处理时间(预期确认需要的时间),从而效率要高的多。
2.在轻权通信中,当需要传输的数据量很小(可以装在一个IP数据包内)时。如果我们使用TCP协议,那么,先建立连接,一共需要发送3个IP数据包,然后数据传输,1个IP数据包,产生一个确认信号的IP包,然后关闭连接,需要传输5个IP数据包。使用TCP协议IP包的利用率为1/10。而使用UDP,只需要发送一个IP数据包。哪怕丢包(服务不成功),也可重新申请服务(重传)。
UDP很适合这种客户机向服务器传送简单服务请求的环境。此类应用层协议包括TFTP , SNMP , DNS ,DHCP等。
3.在对实时性要求很强的通信中:在诸如实时视频直播等对实时性要求很高的环境中,从而允许一定量的丢包的情况下(直播比赛,前面丢失的包,重传出来已经意义不大了),UDP更适合。(可以根据具体需要通过应用层协议提供可靠性,不用像TCP那么严格。)
四.TCP/UDP协议簇都包含哪些协议?知名协议所对应的端口号?
使用TCP协议的常见端口主要有以下几种:
(1) FTP:定义了文件传输协议,使用21端口。常说某某计算机开了FTP服务便是启动了文件传输服务。下载文件,上传主页,都要用到FTP服务。
(2) Telnet:它是一种用于远程登陆的端口,用户可以以自己的身份远程连接到计算机上,通过这种端口可以提供一种基于DOS模式下的通信服务。如以前的BBS是-纯字符界面的,支持BBS的服务器将23端口打开,对外提供服务。
(3) SMTP:定义了简单邮件传送协议,现在很多邮件服务器都用的是这个协议,用于发送邮件。如常见的免费邮件服务中用的就是这个邮件服务端口,所以在电子邮件设置-中常看到有这么SMTP端口设置这个栏,服务器开放的是25号端口。
(4) POP3:它是和SMTP对应,POP3用于接收邮件。通常情况下,POP3协议所用的是110端口。也是说,只要你有相应的使用POP3协议的程序(例如Fo-xmail或Outlook),就可以不以Web方式登陆进邮箱界面,直接用邮件程序就可以收到邮件(如是163邮箱就没有必要先进入网易网站,再进入自己的邮-箱来收信)。
使用UDP协议端口常见的有:
(1) HTTP:这是大家用得最多的协议,它就是常说的"超文本传输协议"。上网浏览网页时,就得在提供网页资源的计算机上打开80号端口以提供服务。常说"WWW服-务"、"Web服务器"用的就是这个端口。
(2) DNS:用于域名解析服务,这种服务在Windows NT系统中用得最多的。因特网上的每一台计算机都有一个网络地址与之对应,这个地址是常说的IP地址,它以纯数字+"."的形式表示。然而这却不便记忆,于是出-现了域名,访问计算机的时候只需要知道域名,域名和IP地址之间的变换由DNS服务器来完成。DNS用的是53号端口。
(3) SNMP:简单网络管理协议,使用161号端口,是用来管理网络设备的。由于网络设备很多,无连接的服务就体现出其优势。
常见协议所对应的端口号:
FTP 20 / 21 文件传输协议
SSH 22 安全外壳协议
Telnet 23 (TCP/IP协议族中的一员)
SMTP 25 邮件传输协议
RDP 3389 远程桌面协议
IMAP 143 交互邮件访问协议
POP3 110 邮局协议版本3
SNMP161 简单网络管理协议
HTTP 80 超文本传输协议
HTTPS443 超文本传输安全协议
SMB 445 服务器信息块
SQL SEVER 3389 sql server 数据库
DNS 53 域名解析协议
DHCP 68/67 动态主机配置协议