27、深入理解计算机系统笔记,网络编程

1、每个网络应用都是基于客户端-服务器模型的。客户端-服务器模型中的基本操作是事务(transaction)(这里的事务与数据库中的事务有区别,没有数据库事务的特性,如原子性,这时原事务仅仅是客户端和服务器之间执行的一系列步骤)。认识到客户端和服务器是进程,而不是在本上下文中常被称为的机器或者主机。

2、网络

wps_clip_image-16243

一个以太网段,包括电缆和集线器;每根电缆都有相同的最大位带宽;集线器不加分辩地将一个端口上收到的每个位复制到其他所有的端口上。因此,每台主机都能看到每个位。

使用电缆和网桥,多个以太网段可以连接成较大的局域网,称为桥接以太网。这些电缆的带宽可以是不同的。

多个不兼容的局域网可以通过叫做路由器的特殊计算机连接起来,组成一个internet互联网络。

3、数据传输

wps_clip_image-32484

PH: internet packet header,FH: frame header

wps_clip_image-17123

4、因为因特网主机可以有不同的主机字节顺序,TCP/IP为任意整数数据项定义了一致的网络字节顺序,大端字节顺序。

5、因特网的连接

套接字(socket)是连接的端点(end-point)。每个套接字都有相应的套接字地址,由一个因特网地址和一个16位的整数端口组成的,用“地址:端口”来表示。

一个连接是由它两端的套接字地址惟一确定的。这对套接字地址叫做套接字对:(cliaddr:cliport, servaddr:servport)

6、套接字接口

套接字接口(socket interface)是一组用来结合unit I/O函数创建网络应用的函数。

wps_clip_image-31011

    从unit内核的角度来看,套接字就是通信的端点;从unix程序的角度来看,套接字就是一个有相应描述符的打开文件。

7、EOF是由内核检测到的一个条件,超出文件末端。

原文地址:https://www.cnblogs.com/mydomain/p/2100544.html