计算机网络

计算机网络历史

 1).50—60年代:单计算机:内部通信,数据处理
 2).60—70年代,计算机互联:数据处理,通信。不同网络体系模型
 3).70—80年代,计算机网络标准化:ARPANET协议
 4).90年代至今,国际化互联网的诞生和发展。MILNET(军网);ARPANET(民网)

网络体系结构

OSI/RM
TCP/IP

OSI/RM模型

 ISO国际标准化组织提出。
 OSI/PM:开放系统互连参考模型

物理层:只负责传输二进制比特流

 为数据链路层提供服务。接收数据,提供数据

数据链路层:上层数据封装成帧

 帧:数据链路层完成从物理层到网络层的过度、准备工作
 1)传输管理:提供低出错率、高可靠性的数据链路;
 2)流量控制:主机和通信设备的数据传输率

网络层:路由寻址和广播

 定向传送数据
 发送消息和接收消息

传输层:可靠端到端链接

 1)建立、维护、撤销传输连接
 2)流量控制、差错控制
 3)数据编号、排序、拼接、重同步功能

会话层:对话控制机制

 1)提供进程间建立、维护和结束会话连接的功能;管理会话
 2)数据传输“中间角色”和“售后服务”
 传输层和会话层一般结合使用

表示层:传输数据转化

 格式化、加密\解密,压缩\解压缩

应用层:展开所有应用程序的网络

 确定进程之间通信的性质;事务处理、文件传输、数据检索、网络管理、加密

计网体系结构通信原理

数据通信原理

 发送端自上而下传输(直到物理层),接收端自下而上传输(直到发送端发起通信的层次)

对等会话原理

 1)发送端和接收端只有在对等层才可以进行通信。
 发送端每经过一层(物理层除外)都要在原数据上进行协议封装,最前面加本层使用协议的协议头。接收端每经过一层都要对原数据进行协议解封,去掉原数据最前面的上层协议头
在这里插入图片描述
在这里插入图片描述

TCP/IP网络接口层

 使得不同计算机之间实现数据通信 ,为计网进一步发展奠定基础。

网络接口层:物理连接、逻辑链路连接

 物理连接(网线和电脑)基础之上,实现逻辑链路(用到的协议)的连接(拨号连接)
 接口卡(网卡):具有物理地址,即MAC地址.每个网卡的硬件地址都是由厂商提供,且每个地址是唯一的,不允许重复。

ARP:地址解析协议

 IP地址对应到MAC

RARP:反向地址解析协议

 MAC地址找到IP地址

SLTP:串行线路IP协议

 串行线路上封装IP数据报,用于拨号连接,没有差错校验机制。
 差错校验机制:每一端必须知道对方的IP地址,没有办法把本端的IP地址通知给另一端。如果一条串行线路用于SLTP,不能同时使用其他协议。

互连层:路由寻址、传递数据报

IP:国际互连协议

  无连接、不可靠(不保证数据有序到达)的协议,负责主机之间寻址

ICMP:因特网控制消息协议

  面向无连接的协议,报告错误(网络错误检测、主机故障);'ping’过程就是ICMP协议工作的过程

传输层:建立应用间的端到端连接

 面向连接:会话建立、数据传输、会话拆除
 无连接:不保证数据有序到达

TCP:传输控制协议

  面向连接(建立连接,使用连接,释放连接)、可靠(三次握手)、速度慢。适用于浏览器、文件传输、邮件发送。首部至少20个字节。面向字节流。
  流量控制(滑动窗口)、拥塞控制、连接管理

UDP:用户数据报协议

 无连接、不可靠、速度快。尽最大可能的交付,但不保证可靠交付。适用于音视频通话、直播。首部8个字节。占16位:首部长度+数据长度。面向报文。

端口号:识别应用层的协议

 不同的应用协议有不同的端口号
 端口通过端口号来标记,只有整数,范围从0—65535
 端口作用:
 一台拥有IP地址的主机可以提供许多服务,这些服务完全可以通过1个IP地址实现
 主机如何区分不同的网络服务
 不能只靠IP地址,因为IP地址与网络服务的关系是一对多的关系。实际上通过“IP地址+端口号”来区分不同服务;服务器一般通过知名端口号识别。cmd输入:netstat -a -n

TCP-序号(SYN)、确认号(ACK)

 SYN—同步请求建立连接
 ACK—确认或者回应

三次握手

 第一次握手。客户端给服务端发送SYN报文,并指明客户端初始化序列号ISN。客户端此时处于SYN_SENT状态
 第二次握手。服务器收到客户端的SYN报文之后,以自己的SYN报文作为应答,同时指定自己的初始化序列号ISN。把客户端的ISN+1作为ACK值。表示自己已经收到。此时服务器处于SYN_RCVD状态
 第三次握手。客户端收到SYN报文之后,发送ACK报文;把服务器的ISN+1作为ACK值,表示已经收到。此时客户端处于ESTABLISHED状态。服务器在收到ACK报文后,也处于ESTABLISHED状态,此时,双方已经建立连接。
在这里插入图片描述

为什么进行三次握手

 第一次握手:客户端发送网络包,服务器收到了。客户端发送能力和服务器接收能力正常
 第二次握手:服务器发送网络包,客户端收到了。客户端的接收、发送能力正常。服务器的接收、发送能力正常。但此时服务器不能确认自己的发送能力和客户端的接收能力正常
 第三次握手:客户端发送网络包,服务器收到了。客户端的接收、发送能力正常。服务器的接收、发送能力也正常。双方确认完毕,可进行数据传输。
三次握手完成之后,主机之间进行数据传输,数据传输完成之后,则进行四次挥手断开连接。

四次挥手

 第一次挥手:主机1向主机2发送FIN报文,并指定序列号。此时主机1处于FIN_WAIT1状态
 第二次挥手:在收到主机1的FIN报文段后,主机2向主机1发送ACK报文,并把主机1的序列值号+1作为ACK报文的序列值号,表示已经收到主机1的报文,此时主机2处于CLOSE_WAIT状态。
 第三次挥手:若主机2也想断开连接,和主机1的第一次挥手一样,向主机1发送FIN报文,并指定序列号。此时主机2处于LAST_ACK状态。
 第四次挥手:主机1收到主机2的FIN报文之后,一样的发送ACK报文作为应答,把主机2的序列号+1作为自己的ACK报文序列值。此时主机1处于CLOSE状态。主机2收到确认回复之后处于CLOSE状态。连接断开。
在这里插入图片描述

为什么进行四次挥手

 第一次挥手:主机1发出FIN报文段;告诉主机2,主机1已经没有数据要发送了,此时主机1还可以接收来自主机2的数据
 第二次挥手:主机2返回ACK报文段;表示主机2已经知道主机1没有数据发送了,但是主机2还可以发送数据到主机1
 第三次挥手:主机2也发送了FIN报文段;表示主机2已经没有数据要发送了
 第四次挥手:主机1知道主机2没有数据发送了,随后断开整个TCP连接

 主机2收到主机1的SYN请求之后,可以直接发送SYN+ACK报文。ACK用来应答,SYN用来同步。关闭连接时,主机2收到主机1的FIN报文时,很可能并不会立即关闭SOCKET,只能先回复ACK报文,告诉主机1,我收到了。等我所有的数据发送完成之后,我才能发送FIN报文,因此不能一起发送。故需要四次挥手。

应用层:负责主机和应用程序之间的通信

 协调设备和软件的多样性问题;解决系统中文件传输问题;

FTP:文件传输协议

HTTP:超文本传输协议

DNS:域名系统

Telnet:远程终端协议

IMAP:Interent邮件访问协议

POP3:邮件协议版本3

HTTP协议和HTTPS协议的区别

 http协议:客户端和服务器请求和应答的标准,浏览器更高效,网络传输减少。
 https协议:建立信息安全通道;确认网站的真实性。
 http是超文本传输协议,信息是明文传输;https是具有安全性的ssl加密传输协议。
 http和https使用完全不同的连接方式,端口也不一样。前者是80,后者是443
 http连接简单,无状态的连接。https是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http安全。

IP地址

IP地址特点

 IP地址为32位长,每组8位,分4组,点隔开。每组数据范围0—255
 10000011 01101011 00000011 00010001
 131.107.3.17
 IP地址由网络位+主机位构成

IP地址分类:A—E类

 可分为A,B,C,D,E类;
在这里插入图片描述
 保留地址
 网络号(不做更改,直接使用)
  10
  127(环路测试,127.0.0.1指本机)
  172.16.0.0-172.31.225.225
  192.168. * . *
 主机号
  全0(表示子网)
  全1(广播)

子网掩码

 使用子网掩码是为了要区分一个IP地址中的网络地址和主机地址。反推属于哪类IP地址
 子网掩码是用来判断任意两台计算机的IP地址是否属于同一子网络
 掩码技术实现方式:从主机位上抽取几位作为0,其余用1掩盖
 特点:由连续的1和0组成,默认的有:255.0.0.0(A) 255.255.0.0(B) 255.255.255.0©
 子网掩码可以出现的数字:0 128 192 224 240 248 252 254 255

IP地址运算

 逻辑运算:与(and) 或(or) 非(not)
 判断两个IP地址是否在同一子网中
  将IP地址和子网掩码转换成二进制
  将IP地址和子网掩码按位进行与运算。得出子网号,判断是否相等
 TCP/IP调试命令。
  检查配置。cmd输入ipconfig或ipconfig/all ;displaydns显示DNS客户解析缓存内容。flushdns:刷新并重设DNS客户解析缓存的内容。DNS在进行解析的时候会生成缓存,以便下次访问同样域名时,加快速度。

TCP/IP五层模型:

 应用层进行进程间通信,http协议(自己发送的微信消息:在吗),不管数据如何传输,将数据直接向下传递给传输层
 传输层接收到数据之后,使用TCP建立通话连接,或者UDP无连接的发送,给数据加上传输层首部向下传递
 网络层接收到上层传输的数据后,使用IP协议,路由器进行路由寻址,寻找下一个要去的目标IP,在首部加上网络层封装将数据向下传递
 数据链路层收到上层数据后,使用ARP协议,进行广播寻找目的主机,获取目的主机的MAC地址,在首部和尾部加上封装向下层传递
 物理层收到上层传输的数据后,通过集线器将传输数据转变为广电信号进行发送。
数据传输后,经目标主机的物理层接收,数据链路层解析数据链路层的封装,向上传输,网络层解析网络层的封装,传输层解析传输层的封装,而后到达应用层,则(微信消息:在吗 传送到对方的应用层,显示在屏幕上,一次会话完成)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值