首页 > 编程知识 正文

计算机网络基础读书笔记,计算机网络概述笔记

时间:2023-05-06 04:07:26 阅读:265633 作者:2499

概述

1.网络应用的体系结构 a.C/S 客户机/服务器 b.P2P peer to peer c.混合结构
网络应用:微信,QQ,支付宝,web,E-mail,网易云 具体: 网络媒体:传播信息 网络娱乐:音乐,视频,游戏 网络通信:电子邮件和即时 信息检索:网络社区 电子商务: 网络金融:


a.C/S的特点: web 服务器: 1.7*24 2.永久性的域名 3.利用服务器提供可拓展性
客户机: 1.与服务器通信 2.间歇性接入网络 3.可能使用动态ip 4.不会与其他用户直接通信
b.p2p特点: 没有永远在线的服务器 端对端直接传输数据 节点间间歇性接入网络 节点可能改变ip地址
优点:高度可伸缩 缺点:难于管理

c.混合结构 集中前面2种的优点,规避前面2种的缺点 Napster为例子 文件传输使用p2p结构 文件搜索使用C/S结构: 每个节点向中央服务器登记自己的内容 每个节点向中央服务器提交自己的查询请求,查找感兴趣的内容

网络应用的基础:进程间的通信(送信一般) 1.进程:客户端和服务器端 2.寻址进程:IP+端口号 IP是主机地址,端口号是进程的地址, 3.应用层遵循网络协议:a.公开协议:HTTP,STMP b.私有协议:P2P 4.协议里面包括的内容: a.消息的类型(type):请求消息 响应消息 b.消息的语法格式(syntax):消息中有哪些字段? 每个字段如何描述? c.字段的语义(semantics) 字段中信息的含义 d.规则(rules):进程何时发送/响应消息 进程如何发送/响应消息
网络应用对传输服务的需求: 1.数据丢失(data loss): 有些能够允许一定的数据丢失:网络电话 有些不允许:文件传输 2.延迟(delay) 有些应用对延迟有要求:游戏 3.带宽(bandwidth) 相当于水龙头: 有要求的:在线网络视频 没有:e-mail
internet提供的传输服务: TCP服务: 1.面向连接:C/S进程之间需要建立连接 2.可靠的传输 3.提供流量控制和堵塞控制 4.不提供延迟保障和最小带宽保障
UDP: 1.无连接 2.不可靠的数据传输 3.不提供:什么都不提供 、
WEB应用:
www(world wide web)包括 网页与网页间的相互连接 创始人:激情的发带 Berners-lee 网页(web page)包含多个对象(object): html文件 多媒体文件 脚本文件
对象的寻址(addressing): 其实现通过 URL(uniform resource locator)统一资源定位符 格式: scheme://host:port/path
web应用遵循的协议:http(hyper text tranfer protocol) 采用的是C/S结构 其中用户使用的是explorer 服务器使用的是 apache http版本:1.0 RFC1945 1.1 RFC2068
使用TCP传输服务: 服务器在80端口等待客户的请求 客户请求建立TCP连接(创建套接字Socket) 服务器接受TCP连接 客户与服务器交换HTTTP消息
无状态(stateless) 它不会处理你过去发送的请求,每个都是新的
HTTP连接: 2种类型: 1.非持久性连接(nonpersistent http) 每个TCP连接最多允许传输一个对象 1.0版本 2.持久性连接(persistent HTTP) 1.1版本 每建立一个TCP连接,可以传输多个对象 非持久性连接: 具体过程: 用户在浏览器输入地址后:如 www.someschool.edu/someDepartment/home.index 1-http客户端向地址为:www.someschool.edu的服务器进程(端口号80)发TCP请求 2-服务器接受 这里是一个RTT(round trip time) 3-将http请求消息(包含url地址:url表明客户端需要的对象)通过TCP连接的套接字发出 4-接受,产生响应消息,通过套接字发出 这里也是一个RTT 5-服务器关闭TCP连接 6-客户端接收到响应消息,解析html文件,显示出包含10个只想jpeg的超链接 7-重复1-6 10次
响应时间=RTT*11+每次文件传回来的时间



HTTP消息格式:
http协议有2类消息: 1.请求消息 2.相应消息
1.请求消息: 请求行(requrest line)+头行(header line)+回车(barriage return)+消息体(entity body)

输入信息: 2种方式:post:在请求消息的消息体中输入在上传 get:url方式:通过请求行(request line)的url字段上传
2个版本中方法的类型: HTTP 1.0中: POST+ GET+ HEAD(用于测试): 请server雅蠛蝶将所请求对象放入相应消息中 HTTP 2.0中: POST+GET+HEAD+PUT:将消息体中的内容上传到URL字段所指定的路径+DELETE:删除URL字段所指定的文件
2.响应消息: 状态行(status line):+headerline+data(requested html line):响应消息的第一行 状态行代码(在状态行里面): 200 OK 301 move permanently 400 bad request 404 not found 505 HTTP version not supported

体验一下http 利用telnet登录到某个web服务器 输入一个http请求 查看http服务器所返回的响应消息
cookies: 识别用户,进行session跟踪的储存在用户终端的加密数据 组件: 1.请求消息的头部行 2.响应消息的头部行 3.客户端由浏览器管理cookies 4.服务器端的后台数据库
cookies的原理: 请求消息后在响应消息中返回一个小饼干,如set cookies: 1678 下一次请求消息中就会包含cookies: 1678 然后server 就会进行cookies specific action,然后再发出响应消息
cookies的作用: 身份验证 购物车 推荐 web-email …

web缓存/代理服务器:
功能: 在不访问服务器的前提下满足用户的HTTP请求 诞生的原因: 1.缩短客户请求的响应时间 2.减少组织/机构的流量 3.在大范围内实现有效的内容分发 web缓存/代理服务器由ISP架设
web缓存/代理服务器时一个 中介 1.用户设置通过web缓存 进行web访问 2.如果web缓存有所请求的对象,在返回响应请求 如果web缓存没有,则 web缓存/代理服务器 向原始服务器发送http请求,获取对象,然后返回给客户并保存该对象
web缓存/代理服务器既充当客户端,也充当服务器
Q:web服务器如何保证网页是最新的? A: 通过条件性GET方法: 目标:使得web缓存中的版本为最新* 缓存:字HTTP请求中声明所持有版本的日期:If-modified-since:<date> 服务器: 不是最新则在响应消息中获取对象 如果是最新的则在响应消息中不包含对象,头部行中:HTTP/1.0 304 Not Modified

Email应用的构成组件: 邮件客户端 邮件服务器 SMTP协议(simple mail transfer protocol)
用户发送和接收邮件要通过邮件服务器(Mail Server),他们之间使用SMTP协议 邮件服务器:当发送的时候充当客户端,接受邮件的时候充当服务器
SMTP协议: 因为需要可靠性,所以使用的是TCP连接 应用的端口号为25 传输过程的三个阶段: 握手 传输 关闭 交互模式:请求or命令-响应 交互模式 采用持久性连接 消息必须由7位ASCII码构成 SMTP服务器通过CRLF.CRLF确定消息的结束 与HTTP的对比: HTTP:拉式(pull) SMTP:推式(push) 都是使用请求/响应模式 命令和状态代码都是ASCII码 HTTP:每个对象封装在独立的响应消息中 SMTP:多个对象在多个部分构成的消息中发送
Email的消息格式: SMTP:Email的传输,交换协议 RFC822:文本消息格式标准 头部行(header line) to from subject 消息体(body) 消息本身 只能是ascii码本身 如果不是ascii码,如中文,音频,视频等,要使用MIME:多媒体邮件扩展 RFC 2045,2056 方式:通过在邮件头部增加额外的行以声明MIME的内容类型


使用telnet可以交互地使用email应用 像linux一般 telnet servername 25 服务器返回代码:220 输入以下命令与SMTP服务器交互: HELO MAIL FROM RCPT TO DATA QUIT
访问邮件需要另一种协议:邮件访问协议 1.POP协议(post office protocol)[RFC 1939] 认证/授权和下载 2.IMAP(internet mail access protocol) 更多功能 更加复杂 能够操纵服务器上存储的信息 HTTP:163,QQmail
POP协议展示:


IMAP协议: 所有消息统一保存到一个地方:服务器 允许用户利用文件夹来组织信息 支持跨会话(session)的用户状态: 文件夹的名字 文件夹与消息ID之间的映射???


DNS:Domain name system internet上主机和服务器的识别靠的是: IP地址 域名
DNS服务: 域名向IP地址的翻译 主机别名 邮件服务器别名 负载均衡:web服务器 访问google时,各个服务器轮流
结构:分层分布式 为什么不用集中式? 害怕单点失败 流量过大 距离过远 RTT很大 维护起来比较困难



本地域名服务器不知道映射时,访问根域名服务器 全球有13个根域名服务器
顶级域名服务器(TLD:Top-level domain):负责com, org, net, edu等顶级域名和国家顶级域名:cn,hk,fr network solution负责维护com顶级域名服务器 educause负责维护edu顶级服务器
权威域名服务器:组织的域名服务器 由组织负责维护
本地域名服务器: 不严格属于层级体系 每个ISP都有一个本地域名服务器 他是一个代理,无论是迭代,还是递归查询,都要经过他,并且,对于顶级域名会进行缓存,因此,根域名解析服务器不经常被访问








在应用层实现的internet核心服务 DNS协议: 消息:查询(query)和回复(reply) 消息格式相同


注册域名的方法: 1.向域名管理机构(network solutions)注册域名networkutopia.com a.提供你权威域名服务器的名字和IP地址 b.network solutions向com顶级域名解析服务器中插入2条记录 *(networkutopia.com, dns1.networlutopia.com, NS) *(dns1.networkutopia.com, 212.212.212.1, A) 2.前面的注册完毕后,就要在权威域名解析服务器中为:www.networkutopia.com加入Type A记录,为networkutopia.com加入Type MX记录
DNS记录: 资源记录(RR,resource records) Type=A name:主机域名 value:IP地址 Type=NS name:域 value:该权威域名解析服务器的主机域名 Type=CNAME name:某一真实域名的别名 value:真实域名 Type=MX value是与name向对应的服务器

RR format(name, valur, type, ttl)




版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。