TCP/IP详解 卷1 第一章概述
第一章概述
1.2 分层
网络编程通常分不同层次进行开发,每一层负责不同的通信功能。
一个协议族比如TCP/IP,通常是一组不同层次上多个协议的组合。一般可以认为是是四层协议系统:

链路层:有时也称作数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。协议有以太网协议。
网络层:处理分组在网络中的活动,例如分组的选路。一般协议有ip协议,ICMP协议,IGMP协议、
运输层:有时也叫传输层,为两台主机系统提供端到端的通信。协议有tcp,udp。
应用层:负责特定的应用程序细节。协议有telnet,ftp,ssh,自定义协议等。
假设在同一局域网(LAN)内两个主机通过ftp传输,那么主要过程如下所示:

应用程序通常是在第一层,后三层都是由操作系统做了(在内核中执行)。
应用程序关心具体的细节,不必关心数据在网络中的传输。下面三层也对应用层一无所知。
1.3 TCP/IP的分层
在TCP/IP协议族中有很多中协议,如下图示:

虽然T C P使用不可靠的 I P服务,但它却提供一种可靠的运输层服务。
但是与 T C P不同的是, U D P是不可靠的,它不能保证数据报能安全无误地到达最终目的。
I P是网络层上的主要协议,同时被 T C P和U D P使用。 T C P和U D P的每组数据都通过端系统和每个中间路由器中的I P层在互联网中进行传输。
I C M P是I P协议的附属协议。 I P层用它来与其他主机或路由器交换错误报文和其他重要信息。
I G M P是I n t e r n e t组管理协议。它用来把一个 U D P数据报多播到多个主机。
A R P(地址解析协议)和 R A R P(逆地址解析协议)是某些网络接口(如以太网和令牌环网)使用的特殊协议,用来转换 I P层和网络接口层使用的地址。
1.4 互联网的地址
互联网上每个接口设备必须有唯一的internet地址,称为ip地址。32bit。
可以分为5类:

32位通常可以写成4个十进制的数,称为点分十进制。

互联网洛信息中心(internet network information centre):管理机构,为接入互联网的网络分配ip地址的。
简称InterNIC,InterNIC只分配网络号,主机号的分配由系统管理员来负责。
1.5 域名系统
在TCP/IP领域中,域名系统(DNS)是一个分布的数据库,由它来提供IP地址和主机名之间的映射信息。
任何应用程序可以调用一个标准库函数来查看给定名字的主机的IP地址,也有一个函数可以通过IP地址查到对应的主机名。
1.6 封装
用tcp传送数据时,数据被送入协议栈,然后逐个通过每一层知道被当做一串比特流送入网络。其中每一层对收到的数据都要增加一些首部信息(有时还要增加尾部信息)。如下图:

TCP传给IP的数据单元称为TCP报文段(简称TCP段)
UDP传给IP的数据单元称为UDP数据报(UDP datagram)
IP传给链路层的数据单元称为IP数据报(IP datagram)
通过以太网传输的比特流叫做帧(frame)
1.7 分用(Demultiplexing)
目的主机收到以太网数据帧时,数据就开始从协议栈中由底向上升,同时去掉各层协议加上的报文首部。
每层协议盒都要去检查报文首部中的协议标识,以确定接收数据的上层协议。这个过程叫分用,也就是封装的逆过程。

ICMP和IGMP的定位其实有尴尬,之前说是和IP同一层的,因为事实上确实是IP的附属协议。
但是在这里,又把它们放在了IP层的上方,这是因为ICMP和IGMP报文都被封装在IP数据报中。
1.8 客户-服务器模型
大部分网络应用程序在编写时都假设一端的client,一段的server。
可以将服务器分为两种类型:
1) 重复型服务器:主要的问题发生在A2步骤,这时不能为其他客户机提供服务。
主要交互步骤如下:
A1:等待一个client请求的到来
A2:处理客户请求
A3:发送响应给发送请求的客户
A4:返回A1 步。
2) 并发型服务器:
主要交互步骤如下:
B1:等待一个client请求的到来
B2:启动一个新的服务器来处理这个客户的请求。可能会有 一个新的进程、服务、线程之类的用来跟客户机通信,处理结束后终止这个服务器。
B3:返回C1
优点:每个客户机都有对应的服务器,如果操作系统允许多任务,那么就可以同时为多个客户服务。
一般来说,TCP服务器是并发的,UDP服务器是重复的。但是也有例外哦
1.9 端口号
采用16bit的端口号来识别应用程序。
服务器一般都是通过知名端口号来识别的,对于每个TCP/IP来说,ftp服务器的端口号都是21,telnet是23,
TFTP(00000000简单文件传送协议)服务器的UDP端口号都是69
知名端口号:1到1023.这些知名端口号都internet号分配机构管理(IANA)
客户端通常对它使用的端口号不关心,只需保证该端口号在本机上是唯一的就可以了。客户端端口号又称作临时端口号。
大部分TCP/IP实现给临时端口分配1024-5000之间的端口号。大于5000的端口号是为其他服务器预留的。
1.10 标准化过程。
有四个小组负责Internet技术:
1) Internet协会(I S O C, Internet Society)是一个推动、支持和促进 I n t e r n e t不断增长和发展的专业组织,它把 I n t e r n e t作为全球研究通信的基础设施。
2) Internet体系结构委员会(I A B, Internet Architecture Board)是一个技术监督和协调的机构。它由国际上来自不同专业的 1 5个志愿者组成,其职能是负责 I n t e r n e t标准的最后编辑和技术审核。 I A B隶属于I S O C。
3) Internet工程专门小组(I E T F, Internet Engineering Task Force)是一个面向近期标准的组织,它分为9个领域(应用、寻径和寻址、安全等等)。 I E T F开发成为I n t e r n e t标准的规范。为帮助IETF主席,又成立了Internet工程指导小组(IESG, Internet Engineering Steering Group)。
4) Internet研究专门小组(IR I F, Internet Research Task Force)主要对长远的项目进行研究。
1.11 RFC
所有关于Interner的正式标准都以RFC(request for comment)文档出版。所有的RFC都可以通过电子邮件或用FTP从Internet上免费获取。
1.12 标准的简单服务
有一些标准的简单服务几乎每种实现都要提供。
1.13 互联网
internet的意思是用一个共同的协议族把多个网络连接在一起。而Internet指的是世界范围内通过TCP/IP互相通信的所有主机集合。
1.14 实现
1.15 应用编程接口
使用TCP/IP协议的应用程序通常采用两种应用编程接口(API):socket和TLI(运输层接口,transport layer interface)
socket:从伯克利版发展而来
TLI:起初由AT&T开发的。
TCP/IP详解 卷1 第一章概述的更多相关文章
- TCP/IP详解 卷一(第一章 概述)
很多不同的厂家生产各种型号的计算机,它们运行完全不同的操作系统,但TCP/IP协议族允许它们相互进行通信. 1.分层 TCP/IP不是一个协议,而是一个协议族,通常它被认为是一个四层的协议系统,下面展 ...
- TCP/IP详解阅读记录----第一章 概述
1.TCP/IP协议族中不同层次的协议 2.五类互联网地址 3.各类IP地址范围 4.数据进入协议栈时的封装过程 5.以太网数据帧的分用过程
- 《TCP/IP详解卷1:协议》第3章 IP:网际协议(2)-读书笔记
章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...
- 《TCP/IP详解卷1:协议》第6章 ICMP:Internet控制报文协议-读书笔记
章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...
- 《TCP/IP详解卷1:协议》第11章 UDP:用户数据报协议-读书笔记
章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...
- 《TCP/IP详解卷1:协议》第17、18章 TCP:传输控制协议(1)-读书笔记
章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...
- 《TCP/IP详解卷1:协议》第17、18章 TCP:传输控制协议(2)-读书笔记
章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...
- 《TCP/IP详解卷1:协议》第1章 概述-读书笔记
章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...
- 《TCP/IP详解卷1:协议》第2章 链路层-读书笔记
章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...
随机推荐
- python之tkinter使用-消息弹框
# messagebox:消息弹框 # 不断点击按钮,切换各种弹窗 import tkinter as tk from tkinter import messagebox from tk_center ...
- Uva101-STL模拟
一道有点复杂的STL模拟题,对STL迭代器不太熟悉改了好久,最后总算A了出来. 感觉用数组更方便...但是为了练习STL嘛 对比白书上的代码,我写的还是傻了点.一开始没有理解四个操作的意思,单纯的模拟 ...
- pip download 只下载不安装命令的使用方法
比如下载 django 1.8.11版本和simplejson 3.14.0版本的包 那么就将所需的包写入 requirement.txt 那么我的requirement.txt内容就是: djan ...
- 洛谷P1973 [NOI2011]Noi嘉年华(动态规划,决策单调性)
洛谷题目传送门 DP题怕是都要大大的脑洞...... 首先,时间那么大没用,直接离散化. 第一问还好.根据题意容易发现,当一堆活动的时间有大量重叠的时候,更好的办法是把它们全部安排到一边去.那么我们转 ...
- 自学Aruba7.3-Aruba安全认证-802.1x认证(web页面配置)
点击返回:自学Aruba之路 自学Aruba7.3-Aruba安全认证-802.1x认证(web页面配置) 步骤1 建立AP Group,命名为test802-group 步骤2 将AP加入到AP ...
- 自学Zabbix之路15.1 Zabbix数据库表结构简单解析-Hosts表、Hosts_groups表、Interface表
点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix之路15.1 Zabbix数据库表结构简单解析-Hosts表.Hosts_grou ...
- Mongodb中经常出现的错误(汇总)child process failed, exited with error number
异常处理汇总-服 务 器 http://www.cnblogs.com/dunitian/p/4522983.html 异常处理汇总-数据库系列 http://www.cnblogs.com/dun ...
- 前端学习 -- Html&Css -- 表格
表格在日常生活中使用的非常的多,比如excel就是专门用来创建表格的工具,表格就是用来表示一些格式化的数据的,比如:课程表.银行对账单.在网页中也可以来创建出不同的表格. 在HTML中,使用table ...
- 【CF1042D】Petya and Array
题目大意:给定一个 N 个数组成的序列,给定一个 T,求有多少个区间满足\(\sum_{i=l}^ra[i]<T\). 题解:区间和问题可以用前缀和优化,即:求有多少个区间满足\(sum[r]- ...
- dijkstra 的优先队列优化
既然要学习算法,就要学习到它的精髓,才能够使用起来得心应手. 我还是远远不够啊. 早就知道,dijkstra 算法可以用优先队列优化,我却一直不知道该怎样优化.当时,我的思路是这样的:假设有n个顶点, ...