跳到主要内容

计算机网络 - 网络应用

接入网络应用类型

CS 客户/服务器

P2P 对等应用 场景:文件共享 特点:高度可伸缩 难以管理

混合结构: ?Napster 文件传输P2P 文件搜索采用C/S结构

20250920190143

网络应用对传输要求

  • 可靠性
  • 时延
  • 带宽
  • 安全

20250920190156


20250920190215

20250920190229

Web: Http 1.0 Http1.1

Email: SMTP MIME POP3 IMAP (IMAP有状态协议)

域名解析系统DNS

  • 多层命名服务器构成的分布式数据库

  • 应用层协议:完成名字解析

  • DNS服务

    域名翻译 主机别名 邮件服务器别名 负载均衡

Local DNS (如ISP提供的)

Root DNS

TLD DNS (权威域名服务器)

递归查询 (只用一次)

迭代查询(多次)

缓存、更新(TTL过期更新)

DNS记录(RR)

RR format: (name, value, ttl)

  • Type=A Name: 主机域名 Value: IP地址
  • Type=NS Name: 域(如edu.com) Value: 该域权威域名解析服务器的主机域名
  • Type=CNAME Name: 某一真实域名的别名 Value: 真实域名
  • Type=MX Value是与Name相对应的邮件服务器

Q:如何注册一个域名?

A: NS、A 、NS(需要邮件)RR

P2P应用

覆盖网络

洪泛式查询:覆盖网络

20250920190253

层次式覆盖网络

20250920190303

Socket编程

20250920190342

标识通信端点(对外):IP PORT

操作竹编/进程(对内):套接字描述符,进程内的整数索引

# 查询80端口有哪些套接字连接
netstat -ano | findstr ":80"
# 查询所在里程是哪个程序
tasklist /FI "PID eq 6016"

tasklist | findstr 6016

winsocket为例

socketaddr_in

socket

20250920190400

20250920190426

closesocket

20250920190436

bind

20250920190509

20250920190649

20250920190703

listen(server)

20250920190720

connect(client)

20250920190743

TCP调用connect成功了一定可以进行通信,UDP就不一定了。

accept(server)

20250920190805

send sendto

20250920190820

recv recvfrom

20250920190831

setsockopt getsokopt

网络字节顺序

20250920190916

Inet_addr把10进制的IP地址转化成32位的IP地址。

Socket API(TCP)调用基本过程

20250920190932

服务端:解析IP、端口、协议号

TCP客户端:

20250920190945

UDP客户端:

20250920190959

所有内容来自,保留所有课程著作权限。文档仅限学习使用。

如有侵权联系 whalefallcl@icloud.com

https://www.icourse163.org/learn/HIT-154005?tid=1474180488#/learn/announce

协议
本作品代码部分采用 Apache 2.0协议 进行许可。遵循许可的前提下,你可以自由地对代码进行修改,再发布,可以将代码用作商业用途。但要求你:
  • 署名:在原有代码和衍生代码中,保留原作者署名及代码来源信息。
  • 保留许可证:在原有代码和衍生代码中,保留Apache 2.0协议文件。
本作品文档部分采用 知识共享署名 4.0 国际许可协议 进行许可。遵循许可的前提下,你可以自由地共享,包括在任何媒介上以任何形式复制、发行本作品,亦可以自由地演绎、修改、转换或以本作品为基础进行二次创作。但要求你:
  • 署名:应在使用本文档的全部或部分内容时候,注明原作者及来源信息。
  • 非商业性使用:不得用于商业出版或其他任何带有商业性质的行为。如需商业使用,请联系作者。
  • 相同方式共享的条件:在本文档基础上演绎、修改的作品,应当继续以知识共享署名 4.0国际许可协议进行许可。