计算机网络笔记(第二章)

本章重点关注:

网络应用的原理和实现方面的知识

应用程序所需要的网络服务客户机和服务器进程和运输层接口

详细讨论几种网络应用程序,包括web、电子邮件、DNS、对等文件分发和P2P因特网电话


1.应用层协议原理:

应用程序体系结构:C/S模式 或 P2P体系结构

进程通信:发起通信的进程被标识为客户机,在会话开始时等待联系的进程是服务器。

套接字:套接字是软件接口(应用程序和网络之间的应用程序编程接口,称为API)。打比方:房子就是进程,而套接字就是门,想发送报文时,需要先把报文推出“门”才行。


2.供应用程序使用的运输服务:

套接字是API,这一侧由应用程序通过套接字发送报文,那么另一侧有运输层协议负责将报文发送出去。于是就涉及到了运输层的协议~

运输层协议大体可以为应用程序提供四类服务:可靠数据传输、吞吐量、定时和安全性

可靠数据传输:分组能在计算机网络中丢失的,但是有些应用不允许数据丢失,像电子邮件、文件传输、远程主机访问、Web文档传输以及金融应用等,这些应用一旦数据丢失,后果将非常严重。所以运输层在这方面提供了一种可靠数据传输服务,保证数据能毫无差错的到达接收进程

吞吐量:两个进程在一条网络路径上进行通信会话时,可用吞吐量就是发送进程能够向接受进程交付比特的速率.因为其他会话将共享着该网络路径上的带宽,并且这些其他会话将会到达和离开,所以可用吞吐量是随时间波动的。于是自然就有了一种服务:即运输层协议能够以某种特定的速率提供确保的可用吞吐量。

定时:运输层协议能提供定时保证,如同吞吐量保证一样。(不多累赘)

安全性:运输层能够为应用程序提供一中或多种安全性服务。例如:在发送主机中,运输层协议能够加密由发送进程传输的所有数据,并且在接收进程中解密


3.因特网提供的运输服务:

因特网上的应用使用了两个运输层协议:UDP 和 TCP

UDP特性关键字:面向连接服务、可靠数据传输服务、有握手过程、连接是全双工的、无差错按适当顺序交付发送数据、具有拥塞控制机制;

TCP特性关键字:无连接服务、不可靠数据传输服务、无握手过程、接受进程可能是乱序收到数据、不具有拥塞机制。

电子邮件、远程终端访问、Web、文件传输都是使用TCP协议,主要原因是TCP提供了可靠数据传输,保证所有数据最终到达目的地。

因特网电话使用UDP协议,因为UDP提供了最低传输速率的服务。


4.应用层协议:

应用层协议定义了:交换的报文类型、各种报文类型的语法、字段的语义、进程何时及如何发送报文的规则

区分 网络应用应用层协议:应用层协议只是网络应用的一部分。例如:Web应用是一种C/S应用程序,它包含文档格式的标准(HTML)、Web浏览器(如IE)、Web服务器以及一个应用层协议。Web的应用层协议是HTTP。因此,HTTP只是Web应用的一个部分。


5.HTTP概况:

Web的应用层协议是HTTP(超文本传输协议)。

Web页面是由对象组成的,对象简单说就是文件,如JPEG图形文件、Java小程序或视频片段文件。

这些文件可由一个URL地址寻址。每个URL地址由两个部分组成:存放对象的服务器主机名 和 对象的路径名。

HTTP使用TCP作为它的支撑运输层协议。


6.FTP概况:

FTP也是文件传输协议,也运行在TCP之上。


7.非持久连接和持久连接:

虽然好理解但是不好总结啊,详情见书上P63-P65。


8.Web缓存

旦安装了浏览器,当访问一个对象时,首先转向Web缓存器去请求,若近期访问过该对象,那么Web缓存器就可以直接返回该对象;若近期没有访问过该对象,那么初始服务器会向Web缓存器发送一个具有该对象的HTTP响应。


9.DNS(因特网的目录服务)

为什么需要DNS?

标识因特网上的一台主机有多种方法,可以用主机名来辨别,也可以用IP地址来辨别。人们是喜欢便于记忆的主机名标识,而对于路由器来说,它喜欢定长的、有着层次结构的IP地址。所以我们需要一种能进行主机名向IP地址转换的目录,这就是域名系统(DNS)。

DNS通常由其他应用层协议(包括HTTP、SMTP、FTP)所使用。

DNS除了提供主机名到IP地址的转换外,还提供这些服务:主机别名、邮件服务器别名 和 负载分配。

DNS是分布式存储的,实现分布式数据库的所有DNS服务器共同存储着资源记录(RR),RR提供了主机名到IP的映射。


10.套接字编程不好总结

详见书上P103。

当前提供的参考资料主要集中在《计算机网络》(谢希仁第八版)第四章的习题解答[^1],并未直接涉及第二章的内容。 为了帮助理解《计算机网络》教材中的第二章内容并找到相应的答案或解析,建议采取以下方法: ### 获取官方资源 访问出版社网站或其他合法渠道获取由作者谢希仁编写的《计算机网络》一书的配套学习资料。这些材料通常会提供详细的章节练习及其解释。 ### 利用在线平台 许多教育类网站和论坛提供了针对不同版本教科书的学习指南和服务。例如,在优快云这样的技术社区里,可以搜索是否有其他用户分享过关于该书籍特定章节的理解笔记或是讨论帖。不过需要注意的是,并不是所有的帖子都具有权威性和准确性,因此应当谨慎甄别信息源的质量。 ### 参考相似主题的教学视频 有时候观看一些高质量的教学录像也能加深对于理论知识点的认识,从而有助于解决课后题目。像B站、网易云课堂等平台上都有不少优秀的网课可供选择。 ```python # 示例:如何通过Python脚本自动化查询相关教学资源链接(仅作为思路展示) import requests from bs4 import BeautifulSoup def search_tutorial_links(keyword): url = f"https://www.example.com/search?q={keyword}" response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser') links = [] for item in soup.select('.search-result-item'): title = item.find('h2').get_text() link = item.find('a')['href'] description = item.find('p').get_text() links.append({ "title": title, "link": link, "description": description }) return links[:5] tutorial_links = search_tutorial_links("计算机网络 谢希仁 第二章") for tutorial in tutorial_links: print(f"{tutorial['title']}\n{tutorial['link']}\n{tutorial['description']}\n") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值