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. 对中文进行MD5加密的注意事项(Java版,编码问题)

    http://blog.csdn.net/tongdao/article/details/20690187 在工作中需要和第三方进行Http通信,在通信内容中有几个参数涉及到了中文.自己在进行MD5加 ...

  2. LA3641 Leonardo's Notebook

    题意 PDF 分析 给出一个26个大写字母的置换B,是否存在A^2 = B 每个置换可以看做若干个循环的乘积.我们可以把这些循环看成中UVa 10294的项链, 循环中的数就相当于项链中的珠子. A^ ...

  3. webpack执行命令参数

    在webpack执行命令之后可以添加一些参数,这些参数都有自己的作用,下面是参数列表: $ webpack --config XXX.js //使用另一份配置文件(比如webpack.config2. ...

  4. 浮动IP(FLOAT IP)

    主要谈一谈关于浮动IP的东西,介绍下浮动IP是什么 1.为什么要有浮动IP这个东西       现在有一个场景,在一台Linux上部署一个web应用,应用跑在tomcat里面,linux网卡上的ip是 ...

  5. Arrays类的使用

    定义 : 此类包含用来操作数组(比如排序和搜索)的各种方法.使用需要导入import java.util.Arrays;包 1.sort方法(对数组进行升序排列) public class Array ...

  6. C# to IL 1 Introduction to Microsoft’s IL(MSIL 介绍)

    The code that we write in a programming language like C#, ASP+ or in any other .NETcompatible langua ...

  7. Redis&MongoDB&Zookeeper&Kafka

    目录 Redis MongoDB Zookeeper Kafka Redis 概念 Redis是NoSQL中比较常典型的一个非关系型数据库,在日常工作中也是最为常见的.Redis是一个由C语言编写的开 ...

  8. Pycharm主题设置以及导入方式

    主题下载链接: http://www.themesmap.com/ pycharm -- 导入主题(theme) and 修改背景颜色(护眼色)   前情提要 众所周知,随着python语言的不断流行 ...

  9. C++ dynamic reflection

    相关想法以及lib Lua 有想过用reflection实现lua binding,但没想过反过来 moc依赖于qt的lib,不考虑了https://github.com/rttrorg/rttr V ...

  10. js实现表单提交 onsubmit

    <!--HTML--> <form role="form" class="form-edit-add edit-form" action=&q ...