小记
笔记
计算机网络
OSI分层(7层)
物理层、数据链路层、网络层、运输层、会话层、表示层、应用层
TCP/IP分层(4层)
网络接口层、网络层、运输层、应用层
五层协议(5层)
物理层、数据链路层、网络层、运输层、应用层
从上往下逐层分析
应用层
应用层是干嘛的
为应用程序提供了网络服务
应用层直接和应用程序接口并提供常见的网络应用服务。应用层也向表示层发出请求。
应用层是开放系统的最高层,是直接为应用进程提供服务的。其作用是在实现多个系统应用进程相互通信的同时,完成一系列业务处理所需的服务。
最直观的协议就是HTTP协议,HTTP协议是应用层协议。
应用层中的协议
这里有一篇博客总结的挺好的:
https://blog.csdn.net/qq_28785209/article/details/79335555
简单整理一下:
之前看羊哥的视频,讲到在应中层中DNS协议相对重要
- DNS协议
DNS协议就是用来解析域名的,将域名解析成ip地址,测试:
先输入nslookup查看本机DNS,再输入要解析的域名www.xueit.com,返回该域名的IP地址
-
DHCP协议
这个DHCP协议就是给互联网上的计算机提供动态IP地址的,我们公司中每个员工分配了静态的IP,一般在外面的话我们都是设置的自动获取IP
DHCP客户端请求IP地址的过程(逆arp协议)
需要地址的客户机先在网上发广播包请求地址,DHCP服务器收到广播包后在自己的地址池里选一个地址(包括配套的子网掩码和网关),租给该客户机,该客户机再给DHCP服务器一个确认。
注意:DHCP服务器本身必须是静态地址!!! -
FTP文件传送服务
控制连接:标准端口为21,用于发送FTP命令信息。
数据连接:标准端口为20,用于上传、下载数据。 -
远程终端协议TELNET
只要网络通,就能利用telnet输入命令来远程控制另一台计算机。一般多用来远程配置路由器。使用TCP的23端口。 -
远程桌面协议RDP
它和远程终端协议的功能一样,都是为了远程管理另一台计算机,只不过上面那个telnet通过命令行管理,而这个通过图形界面管理。一般用来远程管理服务器。使用TCP的3389端口。 -
HTTP协议
是用的最多的协议,用来访问网站的协议。使用TCP的80端口。 -
电子邮件服务
发送邮件的协议:SMTP使用TCP的25端口
读取邮件的协议:POP3 使用TCP的110端口和 IMAP使用TCP的143端口
传输层
传输层是干嘛的
负责向两个主机中进程之间的通信提供服务。由于一个主机可同时运行多个进程,因此运输层有复用和分用的功能。
复用:就是多个应用层进程可同时使用下面运输层的服务。
分用:就是把收到的信息分别交付给上面应用层中相应的进程。
定义了一些传输数据的协议和端口号(WWW端口80等)
如:
TCP(transmission control protocol –传输控制协议,传输效率低,可靠性强,用于传输可靠性要求高,数据量大的数据) ;
UDP(user datagram protocol–用户数据报协议,与TCP特性恰恰相反,用于传输可靠性要求不高,数据量小的数据,如QQ聊天数据就是通过这种方式传输的)。
主要是将从下层接收的数据进行分段和传输,到达目的地址后再进行重组。常常把这一层数据叫做段。
传输层中的协议
TCP:面向连接、传输可靠(保证数据正确性,保证数据顺序)、用于传输大量数据(流模式)、速度慢,建立连接需要开销较多(时间,系统资源)。
UDP:面向非连接、传输不可靠、用于传输少量数据(数据包模式)、速度快。
关于TCP是一种流模式的协议,UDP是一种数据报模式的协议,这里要说明一下,TCP是面向连接的,也就是说,在连接持续的过程中,socket中收到的数据都是由同一台主机发出的(劫持什么的不考虑),因此,知道保证数据是有序的到达就行了,至于每次读取多少数据自己看着办。
而UDP是无连接的协议,也就是说,只要知道接收端的IP和端口,且网络是可达的,任何主机都可以向接收端发送数据。这时候,如果一次能读取超过一个报文的数据,则会乱套。比如,主机A向发送了报文P1,主机B发送了报文P2,如果能够读取超过一个报文的数据,那么就会将P1和P2的数据合并在了一起,这样的数据是没有意义的。
网络层
网络层是干嘛的
(1) 负责为分组交换网上的不同主机提供通信服务。 在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组或包进行传送。在TCP/IP体系中,由于网络层使用IP协议,因此分组也叫做IP数据报,或简称为数据报。
(2) 选中合适的路由,使源主机运输层所传下来的分组,能够通过网络中的路由器找到目的主机。
协议:IP,ICMP,IGMP,ARP,RARP
这里有一篇讲路由的博客,生动形象:
https://blog.csdn.net/qq_29344757/article/details/82830912
网络层的协议
ARP协议为IP协议提供服务,IP协议为ICMP协议提供服务,ICMP协议为IGMP协议提供服务。那么我们就挨个来说:
- ARP协议
ARP协议就是根据IP找到MAC(物理地址)
啥是MAC啊?MAC在网络中唯一标识一个网卡,一台设备若存在多个网卡则也须存在多个MAC。 - IP协议
这里有IP协议的详解:
https://www.cnblogs.com/zaijianba/p/11524722.html - ICMP协议
点击这里:
https://blog.csdn.net/baidu_37964071/article/details/80514340
确认IP包是否成功到达目标地址
通知在发送过程中IP包被丢弃的原因
- IGMP
主机通过IGMP通知路由器希望接收或离开某个特定组播组的信息。
路由器通过IGMP周期性地查询局域网内的组播组成员是否处于活动状态,实现所连网段组成员关系的收集与维护。