csapp 第十一章 网络编程

csapp 第十一章 网络编程

客户端—服务器编程模型

一个应用是由一个服务器进程和一个或者多个客户端进程组成。一对多的关系。

这个模型的基本操作的基本模型就是:
在这里插入图片描述

举个例子,当我们在去b站看视频,我们看到了一个比较吸引人的封面,想点进去一探究竟。我们点击视频,然后屏幕上播放视频这个过程就是我们客户端–服务器模型。

1、客户端发送请求。就是我们点击视频,准备播放视频的请求。

2、服务器处理请求。服务器(一个程序)接收我们要播放视频的请求,然后从库中取出这个视频。

3、服务器发送响应。服务器把这个视频发送给我们。

4、客户端处理响应。我们的电脑/手机的软件,收到这个视频,然后播放在屏幕上。

一台主机上可以同时运行许多不同的客户端和服务器,而且一个客户端和服务器的事务可以在同一台或者不同的主机上。

网络

  • 从物理上来说,网络是一个按照远近组成的层次系统。最底层是LAN(局域网),范围只有一栋楼或者校园内。目前,最流行的局域网技术是以太网

  • 一个以太网段由一些电缆和一个叫集线器的小盒子组成

  • 使用电缆和网桥的小盒子,可以组成一个较大的局域网,我们称之为桥接以太网。

多个不兼容的局域网可以通过路由器进行连接,组成一个internet(互联网)。路由器可以用来由各种局域网和广域网构建互联网络。

互联网的一个重要的特性就是能由采用完全不同和不兼容技术的各种局域网和广域网组成

互联网兼容如此不同的各种局域网/广域网,是通过协议软件来实现的。

全球IP因特网

在全球因特网下,每个主机运行实现的都是TCP/IP协议(transmission control protocol/internet protocol,暨传输控住协议/互联网网络协议)

  • IP地址结构中存放的地址总是以(大端法)网络字节顺序存放的,我们的主机的字节序为小端法。

连接

因特网客户端和服务器通过在连接上发送和接收字节流来通信,连接是点对点的。这里我们就需要知道一个东西。

套接字 是连接的一个端点。每个套接字都有相应的套接字地址,由一个因特网地址和一个16位的整数端口组成,暨地址+端口。
在这里插入图片描述

​ 像这样我们的手机的app与b站的服务器的就对接上了。

  • 我们的客户端和服务器端使用socket函数来一个套接字描述符
  • 客户端通过connect函数来建立和服务器的连接。
  • 使用bind函数来告诉内核将addr中的服务器套接字地址和套接字描述符sockfd联系起来
  • 服务器用listen函数来对端口进行监听,进而接受来自客户端的连接请求。
  • 服务器通过调用accept函数来等待来自客户端的连接请求。
    在这里插入图片描述

web服务器

web客户端和服务器之间的交互作用的是一个基于文本的应用级协议-----http(超文本协议)

  • URL就是我们俗称的网址。

web客户端和服务器之间的交互作用的是一个基于文本的应用级协议-----http(超文本协议)

  • URL就是我们俗称的网址。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值