原文章 https://www.jianshu.com/p/45d27f3e1196
1.计算机网络体系是计算机网络的各层+其协议的集合定义该计算机网络的所能完成的功能。
2.计算机网络体系结构分为3种:OSI体系结构、TCP/IP体系结构、五层体系结构。
3.OSI体系结构分为七层 物理层、链路层、网络层、传输层、会话层、表示层、应用层。第三层为通信子网,负责数据传输。高三层为资源子网,相当于计算机系统,完成数据处理。传输层承上启下。
4.TCP/IP的体系结构分为四层 网络接口层、网际层(IP)、运输层(TCP、UDP)、应用层(HTTP)。
层级 | 作用 | 传输单位 | 功能 | 具体协议 |
---|---|---|---|---|
网络接口层 | 负责与链路(传输媒介)的数据传输工作 | 帧 | 1.组帧、差错控制、流量控制和传输管理。2.在广播式网络通过 介质访问子层 控制共享信道的访问 | 1.(接口标准)EIA-232C、CCITT的X.21 2.SDLC、HDLC、PPP、STP、帧中继 |
网际层 | 为不同主机提供通信服务:网络层的分组数据从源端传递到目的端 | 数据报 | 1.封装数据成分组/包、路由选择 2.流量控制、拥塞控制、差错控制&网际互连 | 1.IP协议:提供网络节点之间的报文传送服务 2.ARP协议:实现IP地址向物理地址的映射 3.RARP协议:实现物理地址向IP地址的映射 4.ICMP协议:探测&报告传输中产生的错误 5.IGMP协议:管理多播组测成员关系 6.其余:IPX、OSPF |
运输层 | 为不同主机中的进程间提供通信服务 | 报文段(TCP)/用户数据报(UDP) | 为端到端的连接 提供可靠的传输服务/为端到端的连接提供流量控制、差错控制、数据传输管理服务 | TCP协议:提供用户间面向连接、可靠的报文传输服务 UDP协议:提供用户间无连接、不可靠的报文传输服务 |
应用层 | 定义应用进程间 通信&交互的规则(应用进程指主机中运行的程序、交互方式基于C/S方式、交互的数据单元是报文) | / | / | 1.HTTP协议:提供Internet网浏览服务 2.DNS协议:负责域名和IP地址的映射 3.SMTP协议:提供简单的电子邮件发送服务 4.POP协议:提供对邮箱服务器进行远程存取邮件的服务,此功能类似的还有IMAP协议 5.FTP协议:提供应用级文件传输服务 6.SMB协议:提供应用级文件共享传输服务 7.Telnet协议:提供远程登录服务(明文传输) 8.SSH协议:提供远程登录服务(加密) |
5.TCP协议
6.UDP协议(用户数据报协议)属于传输层通信协议,基于UDP的应用层协议有TFTP、SNMP与DNS. 特点是 无连接(不需要建立UDP连接)、不可靠(数据包发送后,不管其是否会到达接收方)、面向报文(数据以数据报文(包)的形式传送)、无拥塞控制(由于是不可靠传输既不管是否到达接收方,故不需拥塞控制).优点速度快,缺点消息易丢失。UDP报文段共有2个字段:数据字段&首部字段。
7.HTTP协议
8.Socket即套接字,是应用层与TCP/IP协议族通信的中间软件抽象层,表现为一个封装了TCP/IP协议族的编程接口(API).通过Socket,我们才层在Android 平台上通过TCP/IP协议进行开发。对于用户来说只需要调用Socket去组织数据,以负责制定的协议,即可通信。
9.在浏览器输入url地址-》显示主页的过程。
1.浏览器查找域名的IP地址(DNS查找过程:浏览器缓存、路由器缓存、DNS缓存)
2.浏览器向Web服务器发送一个HTTP请求(cookies会随着请求发送给服务器)
3.服务器处理请求(请求 处理请求&它的参数、cookies、生成一个HTML响应)
4.服务器发回一个HTML响应
5.浏览器开始显示HTML
9.1使用的协议
DNS:获取域名对应的IP、TCP:与服务器建立TCP连接、IP:建立TCP协议时需要发送数据,发送数据在网络层使用IP协议、OPSF:IP数据包在路由器之间,路由选择使用OPSF协议、ARP:路由器在与服务器通信时,需要将ip地址转换为MAC地址,需要使用ARP协议、HTTP:在TCP建立完成后,使用HTTP协议访问网页
9.2IP地址(ipv4地址)
连接在Internet中每一台主机(或路由器)的全球唯一的标识符
IP地址=32位=网络号+主机号;即IP地址::={<网络号>,<主机号>}
传统的ip地址是分类的地址,分为ABCDE五类,区别在于网络号&主机号占的字节数不同
有一类ip地址用于特殊用途不能做主机ip地址:32位全为0、全为1、主机号全为0、全为1/127.0.0.0
10.ICMP协议 网际控制报文协议 属于IP层协议
作用:更有效地转发ip数据包&提高交付成功的机会,同时允许主机/路由器报告差错&差异情况
分类:ICMP差错报告报文&ICMP询问报文
主要应用:PING(分组网间探测)、Traceroute(跟踪1个分组从源点到终点的路径、原理=源主机向目的主机发送一连串的ip数据报)
10.1Ping的过程 即分组网间探测(是ICMP报文的1个重要应用:使用了IPCM回送请求&回送回答报文,是应用层直接使用网络层ICMP的1个例子,无经过传输层的TCP/UDP)测试两个主机的连通性。
原理:
1.向目的主机发送多个ICMP回送请求报文
2.根据目的主机返回的ICMP回送回答报文中的时间戳,从而计算出往返时间
3.最终显示结果:发送到目的主机的ip地址、发送&收到&丢失的分组数、往返时间的最小、最大和平均值。
10.2 路由器与交换机的区别
路由器:所属OSI模型中网络层,用于识别IP地址&根据ip地址转发数据包、维护着路由表,基于路由表进行最佳路线选择。
交换机:所属osi模型中的数据链路层,用于识别MAC地址&根据MAC地址转发数据帧,维护着桥表,根据桥表上MAC地址和端口的对应关系进行数据帧转发
10.3 Cookie&Session的区别
Cookie是一种客户端机制,记录下在某个网站上输入的内容&选择,下次打开网站时WEB服务器会先看看有无上次的cookie资料,如果有则依据cookie里的内容判断使用者显示特定的网页内容。应用场景是提供个人化服务。原理是通过HTTP协议实现,服务器通过在HTTP的响应头中加上一行特殊的指示以提示。
具体使用:cookie的主要内容是名字、值、过期时间、路径&域,路径与域一起构成cookie的作用范围。若不设置过期时间则生命期=浏览器会话期间。若关闭浏览器窗口,cookie就小时,这种叫会话cookie.
Session是一种客户端的机制,使用散列表的结构来保存信息。当程序需要为某个用户端的请求创建一个session时,服务器首先检查该客户端的请求里是否已包含一个session标识(session id)。若已包含,则把其检索出来使用,若不包含则创建一个并关联session.在交互过程中浏览器可以自动按照规则把这个标识发给服务器,一般这个cookie的名字都是类似于SEEESIONID.
网友评论