TCP/IP 概述

允许不同厂家的各种型号的计算机使用不同操作系统互相进行通信

真正的开放系统

“全球互联网”或“因特网”的基础

2.分层

网络协议通常分不同层次进行开发,每一层 分别负责不同的通信功能。一个协议族,是一组不同层次上的多个协议的组合。

应用层	    (telnet ftp e-mail等)
运输层 (TCP udp)
网络层 (ip icmp igmp)
链路层 (设备驱动程序及接口卡)

TCP/IP协议族的四个层次

1)链路层/数据链路层/网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。

2)网络层/互联网层,处理分组在网络中大的活动。TCP/IP协议族中,包括IP协议(网际协议),ICMP(互联网控制报文协议),IGMP(internet组管理协议)。

3)运输层主要为两台主机上的应用程序提供端到端的通信。TCP/IP协议族中,有两个互不相同的传输协议:TCP(传输控制协议)、UDP(用户数据报协议)。

TCP为两台主机提供高可靠性的数据通信。

UDP为应用层提供简单数据报分组发送服务。任何必须的可靠性必须由应用层提供。

4)应用层负责处理特定的应用程序细节。

Telnet远程登录、FTP文件传输协议、SMTP简单邮件传送、SNMP简单网络管理协议





TCP/IP协议族中,网络层IP提供的是一种不可靠的服务。就是说,它知识尽可能快的把分组从源结点送到目的结点,但是并不提供任何可靠性保证。另一方面,TCP在不可靠的IP层上提供了一个可靠的运输层。为了提供这种可靠的服务,TCP采用了超时重传、发送和接收端到端的确认分组等机制。由此可见,运输层和网络层分别负责不同的功能。

大多数的TCP/IP实现也允许一个多接口主机来担当路由器的功能,但主机为此必须进行特殊配置。这种情况下,既可以称该系统为主机(当它运行某一应用程序时,如FTP或telnet),也可以称之为路由器(当它把分组从一个网络转发到另一个网络时)。

连接网络的另一个途径是使用网桥。网桥是在链路层上对网络进行互连,而路由器则是在网络层上对网络进行互连。网桥使得多个LAN组合在一起,这样对上层来说就好像一个局域网。

3.TCP/IP的分层

IP是网络层上的主要协议,同时被TCP和UDP使用。TCP和UDP的每组数据都通过端系统和每个中间路由器中的IP层在互联网中进行传输。

ICMP是IP协议的附属协议。IP层用它来与其他主机或路由器交换错误报文和其他重要信息。应用程序也有可能访问他,例如ping和traceroutre.

IGMP是internet组管理协议。用来把一个UDP数据报播到多个主机。

ARP(地址解析协议)和RARP(逆地址解析协议)是某些网络接口(如以太网和令牌环网)使用的特殊协议,用来转换IP层和网络接口层使用的地址。

4.互联网的地址

互联网上的每个接口必须由一个唯一的internet地址(也称IP地址)。IP地址长32bit。



通常写成四个十进制数,每个整数对应一个字节(点分十进制).区分各类地址最简单方法是看它的第一个十进制整数。



由于互联网上的每个接口必须由一个唯一的IP地址,因此必须要有一个管理机构为接入互联网的网络分配IP地址。这个管理机构就是互联网信息中心(internet network information centre),称作InterNIC。InterNIC只分配网络号。主机号的分配由系统管理员来负责。

InterNIC由三部分组成:注册服务(rs.internic.net),目录和数据库服务(ds.internic.net),以及信息服务(is.internic.net)。

三类IP地址:
单播地址(目的为单个主机)
广播地址(目的端为给定网络上的所有主机)
组播地址(目的端为同一组内的所有主机)

5.域名系统

人们喜欢使用主机名来访问主机,TCP/IP领域中,域名系统(DNS)是一个分布的数据库,由它来提供IP地址和主机名之间的映射信息。

6.封装

当应用程序用TCP传送数据时,数据被送入协议栈中,然后逐个通过每一层直到被当作一串比特流送入网络。其中每一层对收到的数据都要增加一些收不信息(有时还要增加尾部信息)。通过以太网传输的数据流称作帧(Frame).

7.分用

当目的主机收到一个以太网数据帧时,数据就开始从协议栈由底向上升,同时去掉各层协议加上的报文首部。每层协议盒都要去检查报文首部中的协议标识,以确定接收数据的上层协议。这个过程称作分用(Demultiplexing).



为协议ICMP和IGMP定位一直是棘手的事情。图1-4,把它们与IP放在同一层上,是因为事实上它们是IP的附属协议。但是在这里,我们又把他们放在IP层的上面,这是因为ICMP和IGMP包报文都被封装在IP数据报中。

对于ARP和RARP,也遇到类似的难题。在这里把它们放在以太网设备驱动程序的上方,这是因为它们和IP数据报一样,都有各自的以太网数据帧类型。

8.客户-服务器模型

分为两种类型:重复型或并发型。

重复型步骤:

1.等待一个客户请求

2.处理客户请求

3.发送响应给发送给发送请求的客户

4.返回第一步

重复型服务器主要的问题发送在2状态。在这个时候,它不能为其他客户机提供服务。

并发服务器步骤:

1.等待一个客户请求

2.启动一个新服务器处理客户请求。在这期间可能生成一个新的进程、任务或线程,并依赖底层操作系统的支持。此步骤进行取决于操作系统。生成的新服务器对客户的全部请求进行处理。处理结束后,终止这个新服务器。

3.返回1步

并发服务器的优点在于它是利用生成其他服务器的方法来处理客户的请求。也就是说,每个客户都有它自己对应的服务器。如果操作系统允许多任务,那么就可以同时为多个客户服务。

一般来说,TCP服务器是并发的,而UDP服务器是重复的。

9.端口号

服务器一般都是通过知名端口号来识别的。FTP-21,telnet-23,TFTP-69....

客户端通常对它使用的端口号并不关心,只需保证该端口号在本机上是唯一的就可以了。客户段欧豪又称临时端口号。

10.标准化过程

11.RFC

所有关于internet的正式标准都以RFC(Request for Comment)文档出版。另,大量的RFC并不是正式的标准,出版的目的只为提供信息。

12.标准的简单服务



//奇数--NCP(网络控制协议,ARPANET的运输层协议)派生--NCP单工

13.互联网

internet意思是用一个共同的协议族把多个网络连接在一起。而Internet指的是世界范围内通过TCP/IP互相通信的所有主机集合。

14.实现

15.应用编程接口

使用TCP/IP协议的应用程序通常采用两种应用编程接口(API):socket和TLI(运输层接口)

16.测试网络

网络层和运输层区别:网络层(IP)提供点到点的服务,运输层(TCP和UDP)提供端到端的服务。

来源:TCP/IP卷一

01-TCP/IP概述的更多相关文章

  1. TCP/IP概述(网络互联与TCP/IP)

    TCP/IP概述(网络互联与TCP/IP) 用IP实现异构网络互联 从用户角度如何实现异构网络互联: 从用户角度看,实现异构网络互联的关键点就是使各种网络类型之间的差异对自己透明.在TCP/IP协议中 ...

  2. TCP/IP --概述

    分层 网络协议通常分不同层次进行开发,每一层分别负责不同的通信功能.一个协议族,比如T C P / I P,是一组不同层次上的多个协议的组合.T C P / I P通常被认为是一个四层协议系统.,如图 ...

  3. 网络知识02:TCP/IP概述

    一  DOD模型 传输控制协议IRI特网协议(TCP/IP)组是由美国国防部(DOD)所创建的,主要用来确保数据的完整性及在毁灭性战争中保持通信 是由一组不同功能的协议组合在一起的协议簇 利用一组协议 ...

  4. 01:tcp/ip基本知识

    1.1 tcp常识 1.网络七层 2.TCP三层握手 ####1.第一次握手 # 建立连接时,客户端发送SYN包到服务器,其中包含客户端的初始序号seq=x,并进入SYN_SENT状态,等待服务器确认 ...

  5. TCP/IP概述

    1) 链路层,有时也称作数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡.它们一起处理与电缆(或其他任何传输媒介)的物理接口细节. 2) 网络层,有时也称作互联网层, ...

  6. TCP/IP原理浅析

    TCP/IP概述 TCP/IP起源于1969年美国国防部(DOD:The United States Department Of Defense)高级研究项目管理局(APRA:AdvancedRese ...

  7. 《TCP/IP详解》

    TCP/IP概述 Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本 ...

  8. 浅析TCP/IP

    TCP/IP概述 TCP/IP起源于1969年美国国防部(DOD:The United States Department Of Defense)高级研究项目管理局(APRA:AdvancedRese ...

  9. 《TCP/IP详解卷1:协议》第1章 概述-读书笔记

    章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...

随机推荐

  1. 编译Spring源码

    近期,学习Spring源码.会陆续记录这次学习历程. Spring源码下载,环境中需要准备好的东西,git,gradle,eclipse (需要自己安装好) 1.Git clone Spring源码: ...

  2. 直面Java 第002期

    . Java和C++同为面向对象语言,Java和C++主要区别有哪些?双方个有哪些优缺点? 解: C++ 被设计成主要用在系统性应用程序设计上的语言,对C语言进行了扩展.对于C语言这个为运行效率设计的 ...

  3. LG4196 [CQOI2006]凸多边形

    题意 题目描述 逆时针给出n个凸多边形的顶点坐标,求它们交的面积.例如n=2时,两个凸多边形如下图: 则相交部分的面积为5.233. 输入输出格式 输入格式: 第一行有一个整数n,表示凸多边形的个数, ...

  4. centos7安装的mysql无法启动(mysql daemon failed to start)

    不知道是什么原因,启动mysql时一直报这个错误,卸载重装mysql也没用 后来看到网上有人说,执行命令mysql_install_db就可以了 一试还真的行

  5. 普林斯顿数学指南(第二卷) (Timothy Gowers 著)

    第IV部分 数学的各个分支 IV.1 代数数 IV.2 解析数论 IV.3 计算数论 IV.4 代数几何 IV.5 算术几何 IV.6 代数拓扑 IV.7 微分拓扑 IV.8 模空间 IV.9 表示理 ...

  6. Netty 学习资料

    Netty 学习资料 Netty 学习资料 链接网址 说明 Netty 4.x 用户指南 http://wiki.jikexueyuan.com/project/netty-4-user-guide/ ...

  7. Linux rm命令详解

    Linux rm命令 Linux rm命令用于删除一个文件或者目录 语法: rm [options] name... 参数解释: -f, --force 强制删除.忽略不存在的文件,不提示确认 -i ...

  8. RedHat6.5安装zookeeper单机

    版本号: Redhat6.5  zookeeper-3.4.6  JDK1.8 zookeeper下载 官网下载地址:https://mirrors.tuna.tsinghua.edu.cn/apac ...

  9. java中三种for循环之间的对比

    普通for循环语法: for (int i = 0; i < integers.length; i++) { System.out.println(intergers[i]); } foreac ...

  10. php 函数func_get_args()、func_get_arg()与func_num_args()之间的比较

    在PHP的官方文档上的个自定义如下: func_get_args():返回一个包含函数参数列表的数组. func_get_arg():返回指定的参数值. func_num_args():返回调用函数的 ...