计算机网络
目录
• 计算机网络的拓扑结构
• 网络传输的介质
• 计算机网络的分类
• TCP/IP协议
• Wireshark抓包工具的使用
• Fiddler抓包工具的使用
• 应用层HTTP协议
• Session和Cookie介绍
一、计算机网络的拓扑结构
网络的拓扑结构 是指网络中通信线路和站点的几何排列形式。
总线型
• 只有单一的通信线路(称为总线),所有站点直接连接到这条总线上;
• 优点:主要是结构简单、布线容易、成本低廉、易于扩展;
• 缺点:是总线的故障会导致网络瘫痪;
星型:
• 有一个惟一的转接结点,各站点通过点到点的链路直接连接到转接结点上。
• 优点 :是结构简单、易于实现和便于管理。
• 缺点 :是转接结点的故障会导致网络瘫痪。
• 应用 :小型局域网,可以和总线型混合使用。
树型
• 结点按层次进行连接。信息交换主要在上下层结点之间。
• 树型网络中除了叶子结点之外的所有非终端结点都是转接结点。
• 优点是组网灵活、易于扩展。
• 缺点是对根结点的依赖性太大,相邻或同层结点之间不能直接传递信息。
环型
• 各个站点通过通信线路连接成一个闭合的环。
• 优点:是结构简单、传输延时确定。
• 缺点:是扩展、维护不便
• 应用:地铁、高速公路、发电、油厂、气厂、矿山、冶金
二、网络传输的介质
双绞线: 室内局域网常用。便宜,通用性高,短距离的速度较高。
同轴电缆: 抗干扰强,衰减少,适合长距离高速通信。
光纤:通信容量大,传输宽度比电缆线或者铜线的宽度大很多;应用:海底光缆、核心网(跨国)骨干网等
三、计算机网络的分类
Internet
• Internet,国际互联网。它是由那些使用公用语言互相通信的计算机连接而成的全球网络。
• 起源:美国国防部高级研究计划局的前身ARPA建立的ARPAnet,该网于1969年投入使用,具有里程碑意义。
• 目的:允许世界上数以亿计的人们进行通讯和共享信息
Intranet
定义:Intranet是企业内部网。
•特点:
• 相对封闭的网络环境。
• 防火墙保护
• 有权限控制
•目的:使企业内部的秘密或敏感信息受到保护。
三种网络体系结构
1、C/S(Client/Server)架构
• 胖客户端
• 360安全卫士、手机APP
• 优点:
• 客户端与服务器的直接相连,响应速度快。
• 界面多样性,满足客户个性化要求。
• 能实现复杂的业务流程。
• 面对有限群体,高机密性
• 缺点 :
• 客户端安装程序,不能够实现快速部署安装和配置。
• 兼容性差,各操作系统、多版本都要面对。
• 升级成本较高。
2、 B/S(Browser/Server)架构
• 瘦客户端
• WWW浏览器
• 服务器端实现事务逻辑
• 优点
• 具有分布性特点,可以随时随地进行查询、浏览等业务处理。
• 业务扩展简单方便,通过增加网页即可增加服务器功能。
• 维护简单方便,只需要改变网页,即可实现所有用户的同步更新。
• 缺点
• 个性化特点明显降低,无法实现具有个性化的功能要求。
• 操作是以鼠标为最基本的操作方式,无法满足快速操作的要求。
• 页面动态刷新,响应速度明显降低。
3、P2P(Point-to-Point)架构
• 点对点
• 飞秋
认识WEB站点的组成部分
• 协议类型
• 主机名:域名和IP等价
• 端口号
• 页面文件
• 附加部分:URL地址参数
四、TCP/IP协议
1、OSI参考模型
Open System Interconnect 开放式系统互联。
封装与解封装
物理层
• 作用:为传输数据所需要的物理链路进行创建、维持、拆除。
• 常见的物理层设备是:中继器、集线器
•数据单位:比特(bit)。
数据链路层
• 它为网络层提供服务,在不可靠的物理介质上提供可靠的传输。
• 作用包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。
• 常见的链路层设备是:二层交换机、网桥。
•数据的单位:帧(frame)
网络层
• 使数据路由经过大型网络。
• 网络层主要设备:路由器
• 数据的单位:数据包(packet)。
传输层
• 提供终端到终端的可靠连接。
• 数据的单位:数据段(segment)。
会话、表示、应用层
• 会话层:管理主机之间的会话进程,即负责建立、管理、终止进程之间的会话。
• 表示层:编码、加密解密、压缩
• 应用层:DNS、HTTP、邮件服务、文件传送服务等
2、TCP/IP模型
“ transmission Control Protocol/Internet Protocol ” 传输控制协议/互联网络协议
- • 网络访问层 • Internet层 • 传输层 • 应用层
IP协议
• IP —Internet Protocol,是Internet层(网络层)的协议
• 用于将多个包交换网络连接起来,在源地址和目的地址之间传送 数据报。
• IP协议头:
• IP地址:
• IPV4 地址由32位二进制数组成 , 以XXX.XXX.XXX.XXX形式表现,每组XXX代表小于或等于255的10进制数,该表示方法称为点分 十进制 。例如:192.168.22.33
• IPv6 地址为128位长,但通常写作8组,每组四个十六进制数的形式。
例如:2001:0db8:85a3:08d3:1319:8a2e:0370:7344
TCP协议
• 传输层上的协议
• TCP 协议提供了一种端到端的、基于连接的、可靠的通信服务。
• TCP协议头
建立TCP需要三次握手才能建立,而断开连接则需要四次挥手
(如下,理解图)
五、Wireshark抓包工具的使用
- Wireshark工具
1. 安装(略)
2. 抓取包
3. 学会过滤数据包
4. 分析
• 常用的过滤规则如下:
- 过滤源ip、目的ip
查找目的地址为:ip.dst ==192.168.101.8;
查找源地址为:ip.src ==192.168.0.104;
找出与某地址有 发送/接收 的数据包(多用于三次握手):ip.addr == 192.168.0.104 - 过滤80端口
tcp.port == 80
过滤目的端口为80:tcp.dstport == 80
过滤源端口为80:tcp.srcport == 80 - 协议过滤
直接输入:http - http模式过滤
过滤get包:http.request.method==“GET”
过滤post包:http.request.method==“POST” - and连接符(用于链接输入的多条指令)
三次握手的包
四次挥手的包
UDP和TCP
• 定义:UDP(User Data Protocol,用户数据报协议)它是面向非连 接的协议,它不与对方建立连接,而是直接就把数据包发送过去! UDP适用于一次只传送少量数据、对可靠性要求不高的应用环境。
• 对比:与TCP最大的差别在于它在建立连接前不会进行三次握手,属 于不可靠的传输。
• 优点:可以显著地提高性能。
•应用:例如:ping命令、QQ、网络电视
六、Fiddler抓包工具的使用
Fiddler是什么?
• Fiddler是一个HTTP的调试代理,以代理服务器的方式,监听系统的Http网络数据流动(类似于房屋中介这一个角色)。
• 使用Fiddler可以修改请求重新发送的方式,快捷地进行接口测试。
软件主页面介绍
工具栏介绍
会话面板介绍:
会话面板状态
状态栏
监控面板
七、应用层HTTP协议
1、HTTP(hypertext transport protocol)协议简介
• 定义: 规定了浏览器和www服务器之间互相通信的规则,通过Internet传送www文档的数据传送协议。
• 应用层协议
2、HTTP的特点和原理
• HTTP 协议是一种请求-应答式的协议。
• 最显著的特点是客户端发送的每次请求都需要服务器回送响应,在请求结束后,会主动释放连接。从建立连接到关闭连接的过程称为“一次连接”。
• 原理:
- 短连接:用完就释放。
- 需要不断向服务器发起连接请求来保持在线状态。
- 若服务器长时间无法收到客户端的请求,则认为客户端“下线”
- 若客户端长时间无法收到服务器的回复,则认为网络已经断开。
3、Http请求
• 请求:Request,由客户端发送给服务器端
• 请求分类:GET和POST请求
• GET请求主要是数据的获取
• POST请求主要是数据的提交
• 下边是 Fiddler 的GET和POST请求介绍(要求会看懂)
GET请求头
4、Http响应
• 响应:Response,由服务器端返回给客户端
• 响应包含 正常的响应 和 异常的响应。
• HTTP协议通过响应的状态码来进行定义:1xx, 2xx, 3xx(正常),
4xx, 5xx(异常)
• 学生参考文档: HTTP响应状态码
八、Session和Cookie介绍
• Http协议的特点:无连接、无状态
• Cookie是服务器暂存放在用户计算机上的一些资料,好让服务器用来辨认用户的计算机。
• Session:会话,客户端和服务器之间的会话
Cookie
• Cookie应用:
- 保存用户的登录信息,例如用户名和密码
- 用户在上一次浏览网站时的表单输入和操作步骤
• 学会如何查看本机的Cookies信息
C:\Documents and Settings<user name>\ Local Settings\Temporary
Internet Files
• 学会如何清除本机的Cookies
Session
• Session是客户端与服务器之间的会话。
• 当访问网站时,服务器会标示该访问者,给它一个Session ID,当他离开的时候(也就是关闭浏览器的时候)就删除这个Session ID。
• Session ID以响应的方式传递给客户端,客户端在后续的请求中将该Session ID值包含在Cookie字段中回传给服务器,服务器就可以用来对客户端的身份进行验证了。