简介和TCP/IP

简介

概述

要编写通过计算机网络通信的程序,先要确定这些程序相互通信所用的协议
深入设计一个协议细节前,要从高层次决断通信由那个程序发起,及响应何时产生

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

客户和服务器通常是用户进程
而TCP和IP协议通常是内核中协议栈的一部分

在这里插入图片描述

当今最大的广域网是因特网

一个简单的时间获取客户程序

TCP是一个没有记录边界的字节流协议
从TCP套接字读取数据时,总是需要把read编写在某个循环中,
当read返回0(表明对端关闭连接)或负值(表明发生错误)时终止循环.
TCP本身并不提供记录结束标志
如应用程序需要确定记录的边界就要自己去实现

Unix在一个进程终止时总是关闭该进程所有打开的描述符,TCP套接字也用一个描述符标识.

协议无关性

错误处理:包裹函数

一个简单的时间获取服务器程序

迭代服务器:对每个客户都迭代执行一次
并发服务器:同时处理多个客户
服务器进程一般作为守护进程:
能在后台运行,且不跟任何终端关联的进程.一般同时只运行一个进程实例.

本书中客户/服务器程序示例索引表

OSI模型

在这里插入图片描述

-
上面三层处理具体网络应用的所有细节,对通信细节了解少
底下四层对具体网络应用了解不多,却处理所有的通信细节
-
上面三层通常构成用户进程
底下四层通常作为操作系统内核的一部分提供

BSD网络支持历史

在这里插入图片描述

测试用网络及主机

网络拓扑的发现

用于发现某些网络细节的两个基本命令:netstat和ifconfig

netstat

netstat命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,
一般用于检验本机各端口的网络连接情况。
netstat是在内核中访问网络及相关信息的程序,
它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告。
- i 提供网络接口信息
- r 展示路由表

ifconfig

获得每个接口的详细信息

寻找本地网络众多主机的IP地址

从本地接口的广播地址执行ping

Unix标准

简单称Unix标准为POSIX规范.
获取这个统一标准最简易方法通过http://www.UNIX.org/version3

POSIX的背景

POSIX[可移植操作系统接口]是IEEE开发的一系列标准

开放团体的背景

标准的统一

因特网工程任务攻坚组

64位体系结构

在这里插入图片描述

size_t在32位系统是一个32位值
在64位系统是一个64位值

小结

猜你喜欢

转载自blog.csdn.net/x13262608581/article/details/108774766